网页浏览已经成为计算机用户广泛的日常活动。中国互联网络信息中心(CNNIC)于2017年1月22日在北京发布第39次《中国互联网络发展状况统计报告》,截至2016年12月,我国网民规模达7.31亿,互联网普及率为53.2%。在互联网及其应用蓬勃发展的同时,各种形式的黑客攻击也屡见不鲜,例如通过网页散布恶意软件。当用户浏览恶意网页时,恶意软件得以传播。恶意软件被设计用于各种网络犯罪,如控制用户计算机、盗取私人信息、执行拒绝服务攻击和诈骗。Mcafee实验室在2015年8月份发布的安全威胁报告上提到,其第2季度中发现的新增可疑URL超过2000万,新增恶意软件数量超过1500万。
恶意软件攻击实施者除了可以通过心理学技巧和诱骗方式让用户自愿下载并安装恶意软件外,还可以利用网页木马攻击,即设计一个包含恶意代码的网页,自动触发恶意软件的下载和安装。这种攻击方式尝试利用浏览器及其插件的漏洞达到目的。
JavaScript是一种被广泛用于网页开发的客户端脚本语言,它在为网页开发者带来便利的同时,也被攻击者用于编写网页木马相关的恶意代码。虽然当今主流的杀毒软件都具备恶意网页的检测能力,但由于JavaScript是一种非常方便进行代码混淆和加密的语言,恶意代码作者可以借此使杀毒软件产生漏报;而良性JavaScript代码也可能被混淆和压缩,以保护知识产权和优化文件尺寸,导致也被误认为恶意代码。
针对这样的问题,本文提出一种基于动态行为分析的网页木马检测方法,通过对JavaScript代码进行动态分析,监控函数和运算符执行,以从实时执行的代码、动态生成的指定类型内容和跳转URL中获取相关的字符串操作记录,并检测可疑的堆内存空间恶意填充操作,据此提取相关特征,并使用机器学习方法进行良性代码和网页木马的分类。本文的主要贡献包括:
(1) 提出了一种检测网页木马攻击在着陆页面(landing page)上攻击脚本获取行为的方法。Script 和 iframe标签的动态插入和页面跳转是网页中的常见行为,而网页木马攻击中的着陆页也常运用这些方法在访问者浏览之后获取漏洞并利用代码执行。本方法利用阴影(shadow variable)执行技术记录特征,然后通过分析动态插入脚本与页面或动态执行代码的行为进行检测,以有效对抗代码混淆并避免误报。。
(2) 提出了一种检测可疑恶意堆操作指标。针对堆恶意操作技术进行 Shellcode注入行为,检测在堆内存空间中生成大量可疑字符串数据的行为,并计算其可疑程度作为特征。
(3) 实现了结合动态分析与机器学习的网页木马检测方法,从实时执行的代码和动态生成的指定类型的内容中获取相关字符串操作记录,并提取衡量堆恶意操作可能性的指标,组成特征向量,以此检测网页木马。。
本文第 1 节主要介绍相关研究工作。第 2 节分析网页木马攻击的原理和常见流程。第 3 节给出基于动态行为分析的网页木马检测方法及其实现。第 4 节是实验分析部分。第 5 节总结全文并展望未来的工作。
一、相关工作
根据文献,防御网页木马攻击的研究有 3 类,分别是检测网页内攻击向量、网页应用漏洞识别和用户保护。本文提出的方法属于第 1 类研究;第 2 类研究关注于发现网站代码缺陷,避免被利用挂上网页木马;第 3 类研究关注于利用 URL 黑名单机制,防止用户访问恶意网站或运用沙盒技术使得被下载的恶意软件功能失效。网页内攻击向量检测方法可以划分为静态分析、动态分析和半动态分析。
静态分析方法在不渲染网页的情况下提取特征,并使用启发式方法或机器学习进行分类
文献从网页中提取漏洞利用、漏洞利用代码获取机制和混淆这3个类别的特征,使用启发式方法进行分类。文提取脚本代码长度、unicode编码字符数量、平均字符串长度等15个特征,用机器学习算法进行分类模型训练。文献针对网页木马攻击,从网页内容和URL中提取48个特征,同样使用机器学习算法进行分类。虽然静态分析方法具备高检测效率,便于大规模的分析,但容易被恶意代码制造者和发布者通过代码混淆和修改URL特征避开检测。文献的作者选择了20个主流杀毒软件,并选择了510份含恶意JavaScript代码的网页样本进行检测,平均检测成功率为 86.85%,在采用了不同混淆技术对样本内 JavaScript 代码混淆后,平均检测率降低为 55.3%~0%。
动态分析方法在页面内容执行时对其进行分析
文献提出一个名为HoneyMonkey的自动化检测系统。该系统使用两类虚拟机模拟真实的浏览者访问网站:一类是没有安装安全补丁,存在已知漏洞的虚拟机;另一类是已安装安全补丁,用于发现0-day漏洞的虚拟机。HoneyMonkey在浏览网页的过程中收集5类信息来检测网页的恶意行为:文件操作、进程创建、Windows注册表修改、漏洞利用和浏览器跳转。文献对网页中的JavaScript生成的字符串进行X86指令模拟,并使用启发式算法检测是否Shellcode。文献提出的方法通过插桩后的浏览器模拟任意系统环境和配置,追踪JavaScript代码函数的定义和调用并提取有关重定向、反混淆、环境预备和漏洞利用的特征训练分类模型、检测网页木马。文献提出的方法在浏览器堆内存空间中检测引导控制流到Shellcode的NOP滑板指令,中断Shellcode的执行。文献通过动态分析浏览器解释JavaScript得到的字节码的调用序列,并从中提取特征,用机器学习算法分类。文献通过分析网页浏览时浏览器级系统调用的执行,结合数据依赖分析、防御规则和JavaScript重现机制训练有限状态自动机分类模型,检测恶意JavaScript代码。与静态分析方法相比,动态分析方法能够有效地处理代码混淆和加密,但问题是需要较长的检测时间和资源消耗。
………………
基于动态行为分析的网页木马检测方法 PDF 完整版下载(文字可复制):
https://www.aliyundrive.com/s/AATdL2Mgzpg 提取码: 71dk
priligy and cialis 1 mg kg bw tamoxifen in rats delayed the increase in plasma 17ОІ oestradiol level by 20 h, a time interval identical to the delay in implantation
2024-11-8 11:36:09 Google Chrome 124 Windows 10vasotec What is METRICS
2024-11-28 21:41:28 Google Chrome 124 Windows 10