论文部分内容阅读
随着网络安全事件逐渐增多,人们愈来愈认识到安全问题的重要性。而安全问题多是由系统漏洞或软件漏洞引起的,为了减少安全问题,提高系统和软件的安全性能,漏洞研究至关重要。 研究漏洞相关的各种技术,侧重点一般是技术细节,例如漏洞的原理、漏洞的利用方法等。基于此,病毒、蠕虫以及木马等恶意代码才能得到遏制。然而研究的目标并不止于此,而是希望通过对漏洞技术的研究,能够找到减少漏洞的方法,能够找到安全编程的思路。 本文讨论了漏洞的概念和分类,并提出了一种新的漏洞概念。本文运用的是归纳法,先关注技术细节,后总结规律、提出假设。基于这种思路,该课题需要建立科学而完善的漏洞数据库,收集现有的漏洞信息,以方便后期研究。漏洞库面向专业用户,侧重于漏洞的技术细节,同时该库是开放的,并与CVE兼容。数据库管理系统,为数据库的访问提供统一接口,并方便维护。 海量的信息后面一般隐藏着不易察觉的规律。所以,基于漏洞数据库做数据挖掘是必须的。本文关注的是统计规律,试图发现数据之间的关联规则,提出了一种“相似预测”的理论,并得到事实验证。这种理论可以较为准确的预测宏观规律,有相当的参考价值。 漏洞挖掘方法不是本文的重点,但必须讨论各个方法的优劣。本文描述了现有的三种漏洞挖掘方法,包括补丁比较、测试技术和调试技术,对于每一种方法都概括说明,并有具体的分析和评价。在现有的各种漏洞挖掘方法的基础上,本文提出了一套完整的漏洞挖掘框架,并视其为一套准则或一套流程。该框架以漏洞数据库为平台,将漏洞研究的各个方面有机结合,希望结束漏洞挖掘“小作坊”的时代进入到“大生产”时代。 文末提出了一种“假设验证”机制,希望能够改善现阶段系统或软件漏洞百出的局面,其实这是安全编程的尝试。这种机制的着眼点是任何程序都有隐含假设,而程序运行时的环境与隐含假设不一致就导致异常。而这种机制,只能算是一种思路,其可行性有待进一步验证,但思路值得借鉴。