安全漏洞本质扯谈之安全漏洞功夫的流派
当前,我们大部分接触到的网络威胁主要来自两类,一类是程序员在构建程序世界的时候无意识留下的,我们称为安全漏洞;一类是程序员有意留下的、恶意构造的恶意程序世界,我们称为恶意Malware。估计安全圈的小伙伴们大部分人直接或者间接地在和安全漏洞、恶意Malware做斗争。
安全漏洞功夫不是那无用的“屠龙术”,而是分析安全漏洞,挖掘安全漏洞,编写安全漏洞利用代码的制胜法宝和屠龙宝刀。
安全漏洞功夫之所以被称为功夫,那是因为功夫都是需要修炼的,修炼就需要时间积累,你有多少年的功力了,是3-5年的功力还是10年的道行。
目前,安全漏洞功夫大概可以分为两派,一派为以知道创宇为代表的脚本安全流派,以解决WEB站点为业务。一派以翰海源和Keen Team为代表的二进制安全流派,以解决二进制安全为业务,如安全测试,反APT业务。脚本安全流派大多以web站点的脚本解释语言逻辑漏洞为主要研究对象,常见的利用漏洞为XSS,CSRF,SQL Inject等;二进制安全流派大多以二进制程序的漏洞为主要研究对象,常见的利用漏洞为缓冲区溢出,整型溢出,UAF(Use After Free),类型混乱等。记得在2001年到2003年服务器漏洞大行其道的时候,研究脚本安全的被大伙戏称“脚本小子”,可见当前主流安全圈的大牛们对脚本安全漏洞多么的不屑。当然随着WEB 2.0、SNS和互联网的发展,对脚本语言的依赖是越来越重,脚本安全漏洞的威力也就越来越显现,发现了一个SQL Inject漏洞就能比较方便的把整个服务器搞定,而发现一个IIS整型溢出漏洞就未必能够写出稳定可利用的代码,二进制牛们吃瘪郁闷了。脚本安全这几年蓬勃发展,以乌云平台上为例,估计有80%以上的白帽子都是在研究脚本安全。
对于这两年刚进安全圈的小伙伴估计很多人会选择脚本安全流派,原因很简单,上手容易,花半年时间学习再捣鼓捣鼓一不小心找出新浪微博XSS漏洞就可以去调戏下@王思聪,挺有意思,挺有成就感的。
脚本安全流派好比剑宗,讲的是剑法,招数。二进制安全流派好比气宗,讲的是内功,心法。脚本安全流派讲效果、过程较简单。二进制安全流派也讲效果,但其过程较复杂,有时候需要剖析程序世界的内部细节。所以有一门二进制安全流派要学比较久的内功—逆向分析就是帮助提升大家解刨程序世界的内部细节,了解世界运行的规则的能力。
从微观的程序世界来看,脚本安全流派研究的脚本安全漏洞是在WEB层的业务逻辑层;而二进制安全流派研究的对象是除了WEB层的业务逻辑外的所有对象。WEB应用是OSI七层模型中应用层的一种应用。二进制安全流派研究的东西比较宽泛,从物理链路层往上一直到应用层的实现。记得媒体号称的“头号黑客”米特尼克实施的TCP 远程欺骗劫持,堪称经典。
从攻击界面来讲,脚本安全流派研究的漏洞攻击界面相对单一,而且污点数据从WEB输入,遵循HTTP协议规范,较容易形成自动化挖掘漏洞工具和产品。二进制安全流派研究的东西攻击界面相对复杂,有时候都不知道攻击界面在哪里,需要分析和研究。当然简单的攻击界面是可以自动化测试的,例如文件格式的fuzzing, IE ActiveXfuzzing,Windows内核fuzzing等。
脚本安全流派和二进制安全流派共同研究着程序员构造的程序世界,构成一个完整的体系,所以作为一个安全团队,这两种人员都缺一不可。
从漏洞利用的难度来讲,脚本安全流派的漏洞利用相对容易;而二进制安全流派的二进制漏洞发现就比较难,因为攻击界面复杂和隐蔽性,而且数据没有规范。发现漏洞后识别可利用性还比较麻烦,发现的漏洞转化成可利用的漏洞比例很低。而且利用难度相比也有难度,有很多对抗(DEP,ASLR,GS,HEAP保护等)。往往需要一拨人挖漏洞,一波人分析可利用性以及编写exploit代码。有一种人称为exploit writer.
随着对抗的升级,不管是脚本安全流派还是二进制安全流派,漏洞利用技术都慢慢变成了一门漏洞利用技术的艺术--有难度,好精彩,具备可欣赏性。
得益于互联网的蓬勃发展,脚本安全流派目前人丁兴旺,二进制安全流派门可罗雀。但相信事物是螺旋式发展的,随着GeekPwn极棒2014智能生活的安全极客嘉年华活动开启,以及万物互联时代的带来,预示着会有更多二进制安全流派的用武之地。其中典型的就是咱们国内“盘古”团队在移动互联网时代焕发了“第二春”,国内首家IOS 7越狱以及国际首发IOS 8越狱。
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/