一种基于污点分析的缓冲区溢出检测方法
2012-04-13孙峰
科技视界 2012年24期
孙 峰
(中国民航信息网络股份有限公司 中国 北京 100010)
一种基于污点分析的缓冲区溢出检测方法
孙 峰
(中国民航信息网络股份有限公司 中国 北京 100010)
缓冲区溢出占据了目前网络攻击的90%以上,给信息安全造成了巨大的威胁。本文提出了一种针对基于污点分析的动态分析方法,该方法追踪网络数据在系统内的传播过程,并在网络数据被非法使用的时候报警,能够有效检测到各类缓冲区溢出攻击。
缓冲区溢出攻击;网络攻击;信息安全
0 简介
缓冲区溢出是目前最常见的软件安全漏洞之一,接近90%的网络攻击都是通过缓冲区溢出漏洞达成的。通过精心构造程序输入,攻击者可以通过缓冲区溢出覆盖几乎任何他想覆盖的目标,并在这个过程中植入shellcode[1]。这样,当应用程序对输入数据进行处理的时候,其控制流将会被篡改,从而执行攻击者所期望执行的恶意代码。从1988年的Morris蠕虫开始,直到2010年对伊朗核工业设施造成巨大破坏的“震网”病毒,一直到最近的危害更胜“震网”的“超级火焰”病毒,当中都利用了缓冲区溢出攻击技术。可见,缓冲区溢出是目前最重要的网络安全威胁之一。
传统的缓冲区溢出分为静态分析和动态分析两种方法。静态分析能够覆盖更多的程序执行路径,具有更高的覆盖率,但需要程序的源代码,如Stack Guard[2];动态分析方法根据软件的实际执行来对缓冲区溢出进行检测,更贴近软件真实行为,但只能覆盖单一的执行路径,如CRED[3]。因此,静态分析和动态分析方法两者各有所长,不能互相取代。……
登录APP查看全文
