The past year, the new year
2019年
一点小计划吧:
1、代码审计训练
最近公司接了个项目,遇到了一次庞大的代码,在这种庞大的代码面前有点无从下手的感觉。简单打算,新的一年,读更多的代码,审更多的洞。
(以下摘自 riusksk 泉哥 安全研究者的自我修养)
(1)根据自己目标定位,寻找相应的历史漏洞案例进行学习,比如要搞chrome就找chrome的历史漏洞
(2)掌握漏洞所在的模块或子系统,但不看完整的漏洞细节描述,尝试在漏洞版本中找出对应的漏洞
(3)如果(2)中未能找出漏洞,就去看漏洞细节描述,对比自己的审计过程,看遗漏了哪一步骤
(4)不断重复上述训练,直至相信:挖洞只是体力消耗,而非能力问题
这第4点说得,非常励志,因为挖洞挖久了,有时真的容易怀疑自己的能力,目标难度越大,越容易打击人。
作者第一次训练的漏洞是j00ru(Project Zero成员)的IDA漏洞:https://j00ru.vexillium.org/2014/10/secure-2014-slide-deck-and-hex-rays-ida-pro-advisories-published/,2014年的文章了
2、训练挖洞的双技能
(1)看洞:哪里看?历史漏洞的git log、bug报告、代码质量报告等等
(2)识洞:就是肉眼看代码找漏洞,即代码审计,难点也就是在这上面,训练方法继续往下看
其实,我更认为我应该训练找洞和利用漏洞的能力,所以我更想归纳为
(1)识洞: 从git log 、diff log 找到漏洞点、漏洞利用点,从源代码、反汇编、调试的过程找到漏洞
(2)利用:写更多的exploit ,写更多有意思 、高质量的exploit,可以从 cve、0day 练习起来。
新年不仅想完成工作上的内容,业余我还想跟踪最新的、有意思的漏洞 (另外想入坑webkit了)
3、Fuzzing训练
(1)拿已公开的历史漏洞问自己:如何写fuzzer挖掘到此漏洞?
(2)如果自己不知道此漏洞,那又能够挖掘到呢?
(3)不断重复训练并改进fuzzer,相信会有更多漏洞被意外发现
4、能力(基础)往往比运气和天赋更重要
泉哥在他blog这么写的:
努力往往比运气和天赋更重要
虽然挖洞也需要一定运气和天赋,但多数你认为的挖洞天才,其实只不过是花了比你多100倍,甚至更多的时间在这项技术研究上而已
我认为呢:
有段时间总听到朋友说挖到的洞都是运气好,然而我想的是,如果没有足够的基础、没有足够的意识、即使有个0day砸到你头上,我也未必能意识到。所以努力吧、学习吧!
5、收集和学习开源的漏洞挖掘工具
比如afl、honggfuzz、libfuzzer等很多优秀的漏洞挖掘工具,都是值得好好阅读代码,学习其中的fuzzing思路,可以更好地应用到未来的漏洞挖掘研究上
最后
希望18年没拿到的cve ,在19年能拿到。希望 18年没有挖到洞,在19年能有更好的产出。希望18年那么菜的自己,19年自己能变得更强吧。我也想成为 master of pwn阿!