论文部分内容阅读
随着互联网的发展和网民数量的快速增长,越来越多政府、学校、企事业单位的业务都依托于网站。与此同时,由于各类Web应用系统的复杂性和多样性,特别是缺乏必要的安全性维护,网页篡改事件时有发生。这样不仅破坏了网站所有者的声誉,也可能直接造成财产上的损失,甚至上升为政治事件。因此,如何实时监测网页篡改以减少危害蔓延成为互联网安全领域的一个重要研究课题。目前面向Web服务器端的篡改检测研究较为成熟,已经出现不少实用系统。但面向服务端的检测系统仅适于单机部署,不仅部署复杂、应用成本高,而且降低网站性能,在大量且类型众多管理分散的网站并不适合实现。而面向整个客户端的传统轮询方案局限于静态网页,无法对动态网页进行监测。因此,本文提出了适用于动态网页篡改检测的技术方案,并实现了一个实时监测的原型系统。该系统输入域名即可对网页进行安全扫描,适合于大规模检测。本文的研究工作主要包含以下几点:①提出了一种检测篡改网页中恶意脚本的方法,该方法不同于以往文本字符串特征匹配和Hook相关漏洞函数序列等方法,而是深入研究JavaScript字节码的运行机理,通过对脚本解释器进行代码插装,并且借助于CPU模拟器,能快速识别经过混淆加密过的恶意代码。②通过网页更新周期的研究,提出了网站存在局部变化的特性,并将这种特性引入到网页结构变化的分析中,结合网页的相似度计算,提出了一种识别网页静态区域和动态区域的算法。该算法融合动态传播的思想,能在较短的训练期内比较好地分离出网页的动态区域和静态区域。③提出了一种针对网页静态区域的篡改识别方法,以及一种针对网页动态区域的识别算法。该算法改进了传统的MD5值比对方法,同时结合领域知识,运用统计学的理论,不仅能在较短时间内完成全站检测,误报率相比其他算法要低很多,而且能够定位篡改的大致区域。实验结果表明本文实现的在线监测系统不仅对恶意网页检测率高,而且能及时发现网页的局部篡改,在网站样式不出现大幅度调整的情况下,错误的报警数少。