软件漏洞发现、识别及诊断技术的研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:bjjgx
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件系统已经应用到现实世界中的各个方面,因此软件系统的漏洞严重威胁着用户,企业,甚至国家。而即使软件开发者用尽最大努力,软件漏洞在现实世界中大量存在,且无法避免。软件公司建立自己的测试团队,并利用各种方式,如模糊测试(Fuzz Testing)来发现各种软件系统中的存在的漏洞。然而,随着软件复杂度的日益增加及软件开发周期的日益缩短,检测软件漏洞变得更加具有挑战性,这导致软件公司的内部测试团队已然无暇在软件发布之前检测到所有可能的漏洞。当这些漏洞被有意或无意间触发之后,软件系统就会非正常退出或者崩溃,从而严重影响软件的可靠性以及用户的使用体验。为了修复软件系统中的安全漏洞使其不再受攻击,如今的软件厂商除了软件漏洞挖掘技术之外,还采取以下两种新的策略。一,软件供应商通过各种漏洞报告网站,或漏洞赏金计划来鼓励软件用户(如黑客,安全分析人员,研究学者,普通用户等)提交漏洞报告。随后,软件开发者通过分析漏洞报告并重现该漏洞来识别这些软件漏洞。通过漏洞重现,软件开发者可以很容易找到漏洞的根本原因。二,软件供应商会自动化地收集软件崩溃报告,并从中分析并定位软件漏洞的根本原因。软件开发者对崩溃报告中的信息(如Core dump/Memory dump)进行进一步的分析,找到导致软件崩溃的漏洞,以及崩溃的传播过程。综上所述,当软件厂商获知漏洞细节之后,他们会开发出来对应的漏洞补丁来修复漏洞,以防被别有用心的攻击者所利用。因此,对于一个软件漏洞,我们可以通过增强三个阶段—软件漏洞挖掘,软件漏洞重现,软件崩溃分析来提升软件漏洞的发现、识别及诊断技术。同时,这三个阶段的性能,以及效果提升对于最后的漏洞修复有着至关重要的作用。针对这三个阶段,我们利用一些新型方式,如硬件辅助,深度学习来提高其性能及效果。现有的基于代码覆盖率的二进制模糊测试主要受限于繁重的动态插桩,其性能远低于源码级别的模糊测试。在漏洞挖掘阶段,我们设计了 PTrix,利用Intel PT这个硬件特性来替代繁重的动态插桩来收集代码覆盖,从而提高二进制模糊测试的性能,并且发现新的深层次漏洞。在漏洞重现阶段,我们首次对大量现实世界中的安全漏洞,执行一个大规模的经验性实验来调研软件漏洞的可重现性。通过实验我们发现,漏洞报告中普遍缺少各种信息,并且现实世界中的安全漏洞具有很低的可重现性。同时,众包收集的信息可以帮助安全分析专家提高漏洞复现的成功率,但是在解决不可重现的例子时仍然面临很多关键的挑战。为了进一步寻找解决方案,我们调研了黑客,学者以及工程师这些软件安全方向有丰富领域专长的人。除了因特网范围内的众包,我们还发现安全专家重度依赖人工调试以及试探性的推测来推断丢失的信息。最后,在软件崩溃分析阶段,POMP利用Intel PT记录软件执行过程中的控制流,并通过逆向执行恢复程序执行过程的数据流,从而定位导致程序崩溃的根本原因。其中POMP利用假设检验(Hypothesis Testing)来进行内存别名分析。而假设检验的计算复杂度是指数级的,严重影响崩溃分析的性能和效果。为了提高内存别名分析的效率和效果,我们进行了两方面的尝试。一,我们设计POMP++,并引入逆向执行机制来恢复程序崩溃之前的执行状态。此外,POMP++利用静态分析Value-set Analysis来确认内存别名关系,从而提高数据流恢复的能力;二,我们设计并开发了 RENN,通过循环神经网络学习二进制代码访问内存的特征。然后它推测内存引用所访问的内存区域。由于不同的内存区域天然说明它们之间non-alias的关系,我们的神经网络框架可以极大减少假设验证的负担,以便更好地追踪二进制中的non-alias关系。我们通过对比这些工作与现有工作来评估对应的有效性。我们的结果表明,PTrix可以在给定时间内获得更好的测试速度以及达到一些其他工具错过的代码区域。此外,PTrix还找到了在之前测试完善的二进制文件中35个新的漏洞,表明其可以补充现有测试工具的能力;POMP++可以定位到大多数现实世界中漏洞的根本原因,同时更加精确地和有效地定位导致程序崩溃的程序语句,使得软件崩溃诊断更加方便;RENN可以极大地提高诊断软件崩溃根本原因的效率。与现有的先进工作相比,RENN可以到达平均快36.25%的执行速度,检测到平均多21.35%的非内存别名对,最终成功诊断出更多例子的根本原因。
其他文献
目的:探讨白介素(Interleukin,IL)-35对脂多糖(Lipopolysaccharide,LPS)诱导的内皮功能障碍(Endothelial dysfunction,ED)中的作用及其机制。方法:细胞部分:1、将状态良好的人脐静脉内皮细胞(Human umbilical vein endothelial cells,HUVECs),传代后培养24h,分为5组,分别为空白对照组、LPS组
对于大斜度井的悬空尾管估计作业,固井质量难以保证。本文针对悬空尾管固井的技术难点,通过调整浆柱结构,优化前置液及水泥浆性能,采用旋转尾管固井技术提高顶替效率,软件模
自二〇一一年我国的《刑法修正案(八)》正式实施以后,二〇一五年《刑法修正案(九)》又一次对我国的刑法进行了比较重大的修订,这次刑法的修改也在我国法学界掀起诸多涟漪。法律的每一次修改都是对现实生活中存在的问题的反馈,它也是立法者对现实生活中的特定问题的价值取向的调整。此次《刑法修正案(九)》专门针对贪污受贿犯罪而增设了终身监禁这样的一项新制度,以期加强对特巨贪犯罪的打击力度。在我国当前强势反腐的决心
研究玉米蛋白粉中叶黄素和玉米黄素对人口腔癌KB细胞的作用机制。在人口腔癌KB细胞的细胞培养液中分别加入40μL/L、60μL/L叶黄素和30μL/L、40μL/L玉米黄素,分别培养48h、
固井在整个井筒的生命周期中对于井筒和地层的隔离都起到了至关重要的作用。对比传统固井工艺,本文讨论了基于膨胀式尾管挂系统,影响固井质量的因素以及在尾管下入及固井作业
恶意软件是当今最严重的安全威胁之一。当前面临着恶意软件变种规模巨大且急速增长的情况,恶意软件检测的一大挑战是高效地检测恶意软件变种。然而基于Hash、String等方法的
随着互联网的发展,目的地形象的表征渠道日益拓展,从多个节事相关方的视角来探究节事形象的内容及建构过程显得十分必要。现有节事形象的研究更多是依附于旅游目的地形象或城市形象进行的,专门以节事形象为研究内容的文献还较少。且现有节事形象的研究多将参与者视为基本的分析单元,这种从单一视角切入的研究忽视了节事形象建构参与主体的多样性及复杂性。本文以广府庙会为案例地,选取涉入度较高的三类群体(主办方、参与者及媒