静态代码审计-大牛师长篇

Posted 南瓜__pumpkin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态代码审计-大牛师长篇相关的知识,希望对你有一定的参考价值。

LoRexxar师傅

  第一次知道LoRexxar师傅从文章《从0开始聊聊自动化静态代码审计工具》开始,也开启了静态代码审计学习之旅。

  刚刚收录LoRexxar师傅的资料时,不小心看了师傅今年5月份写的万字长文《创宇四年》,还得知师傅是隔壁杭电的。读完之后不免唏嘘感概,又不知从何说起,不妨梳理一下,为人生岔路口的选择多做一些自问。

  正式的安全实习目前有两段经历,分别是安服岗和蓝军岗。去年实习的时候得出一个结论:政治>商业>技术,简单地说技术是为了资本服务的。这个发现打破了我对技术的迷信,技术不是万能的,一味追求技术不能解决生活的所有挑战。当然还有一个更为实用的结论,我个人不适合安服岗。

  今年在某d蓝军岗实习。这边蓝军岗据个人浅薄理解,要么主搞研发,要么主搞渗透,日常会有一些漏洞验证提交、优化接口脚本等运维工作,工作性质更接近SDL。从@ice-cream师傅那里得知,某哔哩和某平安的蓝军工作分准备期和对抗期,可能某期做外网、某期做社工,外网、钓鱼免杀、横向移动分工明确,某平安甚至还允许稍许影响业务,这么说我可就不困了啊,原计划准备放弃蓝军方向,现在看来有待商榷。

  关于安全行业,今天查找了一下产业的兴起和发展规律方面的资料。技术研究和公司打工其实是两件事,幸运地是在某些岗位二者的重叠性更高,不幸地是在某些岗位无法从事一个长期项目的学习和研究,而是偏向于运维和流水线工作。在这里不提究竟打工与否的问题,虽然昨天看到圈内蚂蚁一位师傅30而立之年辞职做起了自由职业者,获得自由度相当大的技术研究机会。毕业以后一定是要进公司的,这是本文讨论的前提。

  之前不太考虑攻防岗的时候,考虑的是一定要进乙方头部公司进行长期的技术研究和跟随大佬成长,这其中包含着工作岗位的两大问题,还有一个问题是工作的成果问题。

  目前考虑工作岗位的三大问题。第一个问题:工作能够产出什么成果,个人又想获得什么性质的工作成果。第二个问题:工作是否能够提供长期的技术研究项目。第三个问题:工作公司是否有技术过硬的大牛引领,开拓你的眼界和知识储备。

  第一个问题聚焦的是结果,工作能产出什么成果,它决定了我们能否获得足够的价值感和成就感。这个问题相当主观,但也能够帮助我们过滤很多岗位,个人愚见比如拥有更多流水线性质的运维、安服等岗位,这些岗位很难出什么让人引以为傲的成果,工作用到的技术相对没那么底层,获取学习到底层原理快乐的难度相对较高。我们先不讨论工作岗位,首先思考一下我们想要什么样的过程,以及成果。

  第二个问题聚焦的是过程,主要指的是在这个过程中能否获得快乐,比如学习某个原理的充实和惊喜。在资本主导的行业里,成果往往是打工人难以把握的,一份工作如果过程足够充实快乐,某些方面来说也足够了。我们注定要做很多徒劳无功的事情,大多数时候过程充实艰难快乐就是奢侈品。

  隔了一个晚上,想法又有些许变化,第三个问题无需多言。你把打工看作什么呢?私企的打工说白了就是谋生,资本不会为劳动力的情怀买单。安全可能也不是某种崇高的职业,和程序猿、工人、道路工程师等没有什么本质区别,喜欢和谋生是两件事情。

  目前的状态大体就是,当天为白盒审计兴奋不已、充实快乐,第二天又因为体验糟糕的开源项目、颇高的分析难度、对成果的怀疑、职业岗不明朗的前景而想要转安全研发或安全开发,思绪纷飞状态反复。

  昨天的思虑围绕着对岗位的期待展开,今天聊聊选择:如果有可能的话,做安全研究还是安全研发/安全开发?这个考虑是没有结论的,丧气点说,哪个offer高、城市更符合就去哪个。从红海蓝海角度来说,还是安全研究好,更容易在圈子内有所名气。另外哦,其实一直搞php就是一个很棒的选择,熟悉、研究、甚至是维护……,这不是第一次想要投身PHP事业,也不会是最后一次。(完)

个人地址和文章

  github地址:https://github.com/LoRexxar

  博客地址:https://lorexxar.cn/

  《从0开始聊聊自动化静态代码审计工具》,paper地址https://paper.seebug.org/1339/。推特上有关于该文章的重要讨论,地址https://twitter.com/LoRexxar/status/1307965759176335360。
引用xsser师傅的话,以防资源丢失。

  • php有字节码的,可以搞,codeql有点类伞源科技那样统一ir然后统一等装成编程语言,你说的那种问题在codeql都不存在了。
    只要你transfer function写的好,ast也可以解决问题,但是就要看你算法了,解析ast过程比较耗费时间。
    其实这些技术2004年已经有了,已经熟练应用了……没啥意思

  《构造一个 CodeDB 来探索全新的白盒静态扫描方案》,paper地址https://paper.seebug.org/1387/

  《创宇四年》,博文地址https://lorexxar.cn/2021/05/19/lifesuibi/

以上是关于静态代码审计-大牛师长篇的主要内容,如果未能解决你的问题,请参考以下文章

CICD-代码审计(漏洞扫描工具-代码审计静态代码分析和安全检测-代码覆盖率)

Java代码审计连载之—SQL注入

代码审计思路之PHP代码审计

静态代码审计的发展

代码审计:安全性测试方案

学习静态代码审计_第二站:简单解读php-parser项目