论文部分内容阅读
近些年来,互联网威胁逐渐从电子邮件转移到即时通软件和恶意网页。包含有害脚本代码的网页成为不法分子散播攻击程序的主要手段。网页有害脚本主要基于Javascript语言,针对浏览器及其插件的漏洞进行攻击,获取系统控制权限。Javascript与浏览器紧密结合,容易变形混淆,所以代码检测难度大。浏览器及其插件漏洞层出不穷,并且漏洞攻击技术日益成熟,使得有害脚本影响范围广。有害脚本特别是Drive-by-Download攻击与其他方式相比,更加隐蔽且成功率更高,越来越受到入侵者的青睐。目前,有害脚本代码检测技术主要提取脚本静态特征和动态执行特征。静态特征是脚本的统计特征和语义特征,静态分析技术通过对比正常脚本和有害脚本静态特征的差异实现脚本检测。静态分析技术能够实现对未知样本检测,并且检测速度快,但是它对混淆脚本检测能力有限。动态特征是指在模拟环境中,脚本代码动态执行过程中的可疑对象和可疑操作。动态分析技术可以实现对混淆脚本的检测,但是资源占用量大,检测速度慢,环境配置要求高。
本文提出了一种新的检测模型,首先提取脚本的混淆特征判断脚本是否混淆化,对脚本解混淆,然后提取脚本的静态统计特征,根据语义对脚本序列化,生成危险序列树,提取脚本的危险序列特征。用混淆特征、统计特征和危险序列特征三类特征描述脚本。本文利用概率神经网络算法生成分类器,它具有训练简单、鲁棒性好、自组织能力强等优点,特别适合应用于模式分类。本文的检测方法克服了静态分析技术不能检测混淆脚本的缺点,并且资源占用少、检测速度快。最后,利用实验分析分类器的性能:概率神经网络算法与其他机器学习算法相比,能提供更高脚本检测率;与其他检测工具对比,本文中的方法检测效果更好。