论文部分内容阅读
软件功能在不断增强的同时,软件的庞杂程度也在提高,这样就无可避免的带来软件漏洞。软件漏洞攻击带来的巨大经济损失,迫切需要我们对各种漏洞攻击的方式进行剖析,从而深刻理解攻击的实现方式和攻击的本质,为攻击的防范和攻击的修复提供更多的信息。 近年来,由于基于B/S架构的Web应用程序在部署和维护方面,相对于传统的C/S架构的应用有着很大的优势,因此Web应用程序已经逐渐取代传统的C/S应用程序成为主流应用的实现方式。 随着Web2.0理念大行其道,Blog,Wiki,SNS等应用如雨后春笋般出现,Web应用的安全问题的重要性也凸显出来,与Web应用的广泛流行相对的,是在Web应用程序的安全问题上,人们的认识还显得很不足够。在Web安全领域,一方面,存在一些由来已久的攻击方式,另一方面,新的攻击方式也层出不穷。 XSS是当前分布最广泛的Web应用程序漏洞,本文通过利用浏览器的通用实现惯例以及脚本执行条件的研究,结合传统的Taint技术,从对不可信内容进行执行干扰的角度入手,探索了一种基于服务器端的对抗XSS脚本攻击的新的方法,该方法能够有效的防御已知和未知的XSS攻击形式,而且实验证明在性能上也比较令人满意。 JIT spraying是一种新型的代码重用技术,这种技术可以让黑客通过重用由VM进行JIT编译后得到的代码,来发起进攻。这种新型的攻击技术已经被证实拥有突破象DEP(DataExecution Prevention),ASLR(Address Space Layout Randomization),这样的在对抗传统的代码注入式攻击技术时非常有效的技术。在这篇文章中,我们描述了JITDefender,一种增强的基于JIT的VM,通过该工作,可以阻滞JIT Spraying攻击。我们通过展示该工作,表明了JITDefender的有效性。在应用于flash/Javascript程序时,JITDefender不会产生误报。另外,我们的实验显示,JITDefender的开销是比较小的。