《内存战争20年》 TK于旸首提“全时视野”漏洞防御理念

2015年7月1日,中国网络安全大会在国家会议中心召开,知名黑客、腾讯玄武实验室负责人于旸(网名“TK”)在《内存战争20年》演讲中首提“全时视野”的漏洞防御理念,于旸认为漏洞防御从设计时到开发时、到编译时、到运行时,每一时都应有相应的技术体系和方法去保障安全。

yu-yang

于旸解释,“内存战争”指的是“发生在内存中的战争”,“20年”是指1995年至今的20年。虽然在95年之前,IT史上也发生过漏洞攻击事件,但直到1995年Peter Zatko发表《How to Write Buffer Overflows》,人们开始关注缓冲区溢出漏洞的攻防,内存才真正的成为一个“你攻我守”的战场。

轻视–行业悲剧

用于旸的话说,95年之前,漏洞攻击更像是攻击者对被攻击者的无情“殴打”,因为被攻击者根本没有防御的意识,整个社会、行业并没有对漏洞攻击给予足够的重视。

1972年,James P. Anderson为美国空军攥写的《计算机安全威胁监控与监视》已经详细地描述了今天已知的很多种漏洞类型,清晰地描述了关于“木马”和“后门”的概念,甚至详细的技术细节,有关“缓冲区溢出”也被提及,但并未引起注意。

1988年Morris蠕虫在数小时内感染了当时互联网上10%的服务器,总算是让人们看到漏洞的威力,正所谓“只有真正出了事情才会知道这个事情的重要性,这是这个行业的悲剧”。但很多程序员仍然认为缓冲区溢出只是导致一部分程序崩溃的Bug,相关技术也只在非常小的圈子里被讨论。

内存攻守之战正式打响

95年之后攻方和守方在内存这片“土地”上针对“缓冲区溢出”展开了一轮又一轮的攻守之战。

守方:两大缓冲区溢出漏洞防御思路诞生

1997年Sun公司在Solaris2.6中借助SPARC处理器的新特性,实现了禁止执行堆栈上的代码。同年基于程序返回地址完整性检测的缓冲区溢出动态检测技术StackGuard诞生。巧合的是这两种技术一个是基于硬件、一个是基于软件,可谓开创了缓冲区溢出漏洞防御的先河,这两种漏洞防御思路被沿用至今。

攻方:绕过防御技术

在缓冲区溢出漏洞防御技术诞生不久,绕过这两种技术的对抗技术也诞生了。1997年8月绕过硬件的内存不可执行位的对抗方法被提出,同年12月,又有两个人提出了绕过StackGuard的方法。

内存战争发展

之后,内存缓冲区的攻守双方一直上演着矛与盾的游戏,不断有新的漏洞防御技术产生,也不断有新的“绕过”方法出现。比如微软在windows系统及VC++编译器上加入了各种溢出保护机制,以试图阻止这类攻击,可惜每次公布溢出保护机制之后,不久就有人公布绕过方法。

2003年“防止溢出”、“绕过防御”的技术统统在个人电脑上出现了,“内存对抗”就开始进入白热化阶段了,因为个人电脑影响面远远大于服务器,各种各样的技术在内存中混战。2009年,战火从服务器、个人电脑,烧到了手机,Android系统在2009年引入了类似StackGuard的机制,2010年引入了内存不可执行(No-EXecute),2011年引入了地址随机化(ASLR),2013年把SEAndroid技术引进进去。

“全时视野”漏洞防御理念

于旸总结认为,漏洞挖掘、攻击和防御等相关技术的发展,其实和人类社会的发展很类似,是一个从原始到现代、从粗放到集约的发展历程。

漏洞挖掘:从早期的个人能力、人工操作、个人经验,逐步向自动化和工程化发展,到了今天,漏洞挖掘已经发展成非常成熟的工业体系。

漏洞攻击:最早的漏洞攻击方法我们可以抽象成为利用内存中的数据,发展中期以黑伯斯布瑞(音译)为主的创造数据的技术,到今天发展为在内存中进行字节级的控制。

漏洞防御:

  • 1、现在已经发展到“纵深防御”程度,最典型的厂商就是微软,其思路是减少可利用的漏洞,以微软新推出的延迟释放和隔离堆等技术为代表。
  • 2、降低漏洞利用成功率,漏洞再怎么减少也是不可能杜绝的。那么对于实在存在的这些漏洞,降低利用成功率。再怎么降确实还有一些漏洞会被漏洞利用成功,怎么办?
  • 3、增加漏洞代码编写成本,再怎么对抗最后也是成本对抗。
  • 4、骇客如果不惜一切代价来攻击,假设攻击成功了,最后的办法是降低漏洞利用带来的危害,这方面以沙箱技术为代表。

从更大的视角来看,现在漏洞防御已经从早期的“单点”发展到 “全时视野”,从设计时到开发时、到编译时、到运行时,每一“时”都有相应的技术体系和方法去保障。同时,增强业界上下游合作关系,比如,上游英特尔、微软在中间、下游以Adobe为代表的业界合作模式。此外,还可以进行社区建设,比如赞助活动、举办会议、悬赏奖励等等。总之,无论是攻击还是防御技术,都已经进入综合、融合、协同、多维度的发展阶段。

上一篇:自主可控·安全可信 倪光南谈网络安全测评

下一篇:对话腾讯马斌 解读互联网+安全战略