如何入门二进制漏洞安全研究


接触了不少 Web 安全圈的人,很多这类朋友想搞二进制,整天说二进制很难。作为接

触二进制安全 10 多年的老菜狗,说实话并没有感觉二进制有多难,只是知识相对于 web

全比较多罢了。web 安全需要 2 个月就可以入门,可能二进制需要 1 年吧。

1 二进制漏洞研究的发展方向

大致总结下,大概有 5 个发展方向吧。分别如下:

大哥:理论研究派

主要任务为攻关业内技术难点,需要较强的理论知识和数学思维功底。

成果一般以论文,工具的形式。

二哥:漏洞挖掘实战派

和大哥相比,老二更注重特定的某种漏洞,他们主要工作应该是研究某协议,文件格式的细

节,或者是去逆向某软件代码的实现方式,以及协议规范。

对各种 fuzz 工具,审计工具熟能生巧。甚至拥有在开源 Fuzz 工具上做优化的能力。

该职位主要是漏洞挖掘。

三哥:漏洞分析派

比起大哥二哥,三弟并不对漏洞进行挖掘,而是针对已经出现的漏洞信息,或者 POC 样本

进行深入分析,研究漏洞的形成机理等。应急处理等职位往往对此技能要求较高。

四哥:漏洞利用派

该派别深入了解系统的各种安全防御的突破与利用技巧,然后利用三哥研究出的漏洞信息,

来写出漏洞的可利用程序。该职位也不少啊。比如红队蓝队就应该是这种吧。五哥:漏洞识别检测派

五哥主要根据已经出现的漏洞信息对漏洞进行检测。该职位主要工作是安全产品漏洞库的研

发工作。做漏洞检测特征的研发。可以理解为漏洞检测工具研发的核心人才。

五项技能就像一个五维向量,往往为组合形式存在。较多组合方式。职位不分贵贱,你属于

哪派?

2 二进制漏洞研究的快速入门

1 基础知识

目前大部分二进制安全还是基于 windows 平台的。用户量大,资料多,软件多,入门选手

必备。

C 语言程序设计

Windows 程序设计

汇编语言程序设计

2 技巧知识

基础知识有了,就可以学一些技巧了。如:

软件调试技巧

OllyDBGWinDbg,熟练他们使用,了解调试器的基本原理。如果精力够,强烈建议看一

下调试器的源码。

另外多多学习调试技巧,这个是需要日积月累的 ,不能急,一开始自然很慢,慢慢就好了。

其实动态调试器都懂了,那么静态反汇编工具,基本也就 OK 了。

WINDOWS PE 结构

PE 还是很重要的,尤其是再研究一些加壳脱壳,恶意样本分析的时候,必不可少。

常用工具

常用工具的了解和使用。比如 wiresharkWinhexVMWAREPEID 等等。

3 选择方向

个人感觉,到这里你算入门二进制了,该选择方向了。

如果是分析利用,那么就多看看网上的那些分析文章,漏洞利用技巧,各种保护的突破技巧

等等。其实没多难,很繁琐,花时间基本都可以做好。

如果是漏洞挖掘,那就熟悉下目前最流行的漏洞挖掘工具AFLPeachFuzzer. 上手做就行了。如何选择一个靠谱的目标,这就看经验了,

总结了以下仅供参考:http://www.asm64.com/file.html

最后附一篇二进制漏洞挖掘指南,欢迎参考

https://mp.weixin.qq.com/s/LGfmDvEdYEZL-x-ciFrlNg


免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐