漏洞研究取得新进展

作者: 苏璞睿、冯登国、张超、杨轶、黄桦烽、贾相堃

来源: 中国科学院软件研究所

发布日期: 2017-05-18

中国科学院软件研究所软件智能分析协同创新团队提出了新的基于执行路径离线分析的方案,构建了原型系统HOTracer,用于高效、准确地发掘堆溢出漏洞。该系统通过离线分析避免盲目尝试,聚焦潜在漏洞位置,已在多个常用软件中发现了47个未知漏洞,并获得厂商奖励和CVE编号。

众所周知,漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。内存破坏漏洞是众多攻击(包括APT攻击等)的根源。栈溢出漏洞是一类经典的内存破坏漏洞,但是随着一系列安全机制在系统中的大范围应用,以及编译器提供的安全检查的默认开启,传统的栈溢出漏洞越来越少见。近年来,堆相关的漏洞,如堆溢出,逐渐取代栈溢出成为最流行的漏洞类型之一。

根据微软2013年的报告针对Windows7的攻击中,25%利用的是堆溢出漏洞。由于发现漏洞既是攻击者攻击的前提,也是防御者修补或者防御的基础。因而如何快速、准确地发掘堆溢出漏洞,一直是攻防双方关注的重点问题。近期,中国科学院软件研究所软件智能分析协同创新团队,针对这一问题提出了一个新的基于执行路径离线分析的方案,并构建了一套原型系统HOTracer,将有助提高软件安全保障能力。

传统的漏洞挖掘,主要基于模糊测试等手段进行。但由于软件自身的复杂性、堆溢出漏洞触发条件的复杂性,以路径覆盖率为导向的模糊测试技术及其他技术(如AddressSanitizer),在挖掘堆溢出漏洞方面有所欠缺。这些技术严重依赖于输入样本去执行有漏洞的程序路径及触发漏洞本身,同时可能遗漏同一路径多个漏洞中的若干个。

软件智能分析协同创新团队针对这一问题展开了长期研究工作。HOTracer系统通过对代表性的程序动态执行路径进行离线深入分析,深度挖掘路径中可能存在的堆溢出漏洞。具体而言,通过对执行路径中堆相关的操作即分配、释放及访问进行识别,并关联相关的堆分配/访问操作(即分配和访问同一堆对象);同时跟踪输入对堆操作的影响,对堆溢出漏洞进行建模,找出潜在漏洞;进而构造样本验证潜在的漏洞。

HOTracer具有以下特点,一是漏洞挖掘过程避免了盲目尝试,通过关联相关的堆访问操作,聚焦潜在的漏洞位置,并针对性地发掘漏洞,效率更高;二是挖掘过程不需要输入样本动态触发程序异常,通过离线分析保证了对路径的分析深度和全面性。

比如在实验过程中,研究人员在对Word软件的已知漏洞CVE-2014-1761执行路径深入分析之后,在同一条路径上又发现了另外一个未知的堆溢出漏洞,影响所有版本的Word软件。基于HOTracer系统,在研究中团队对Word、iTunes、RealPlayer、QQPlayer等常用软件进行了分析,共发现未知漏洞47个,漏洞已通报相关厂商,部分已得到修复,并获得CVE(公共漏洞和暴露)编号。

对此,QQPlayer厂商腾讯公司对团队的发现给予了奖励。该论文全体作者都是软件所软件智能分析协同创新团队成员,全部来自可信计算与信息保障实验室,包括研究员苏璞睿、研究员冯登国、副教授张超、副研究员杨轶、高级工程师黄桦烽、博士贾相堃。其中苏璞睿是中科院软件所研究员、协同创新团队负责人,张超是清华大学副教授、协同创新团队客座研究员。该成果是协同创新团队协作的最新成果。

目前该项成果已形成论文,并被USENIX Security 2017录用。USENIX Security Symposium(USENIX安全论坛)是网络与系统安全领域四大顶级会议之一。

UUID: 86adfb81-9417-40d7-bf5b-56cc0ff41632

原始文件名: /home/andie/dev/tudou/annot/AI语料库-20240917-V2/AI语料库/中科院之声公众号-pdf2txt/2017/中科院之声_2017-05-18_漏洞研究取得新进展.txt

是否为广告: 否

处理费用: 0.0032 元