动态特征法检测网站存在的恶意代码

        基于会话交互特征的方法从网络流量中提取会话交互过程,关注会话交互模式中正常网站与恶意URL的区别。提出使用客户端蜜罐捕捉会话过程中的数据,提取会话中重定向跳转和逃避检测行为的特点。建议使用会话流量中的字节总数,平均每个包字节数构建模型进行检测。建议通过收集网络流量来构建用户访问链,并提取短时间内域名的数量,使用决策树来识别恶意重定向链。

提出通过记录浏览器与网站之间的交互,将整个过程抽象为图表示,聚合重定向链获得重定向图,并从图中提取特征。提出了一种基于重定向行为的检测方法,重点关注会话访问的数据,包括访问时间、Refer引用等特征。然而,使用单一会话交互特征的方法检测准确性较弱。根据网络代理获得的恶意网站访问过程中包含的URL序列,直接对URL字符串、域名、文件名、路径长度、域名注册国家等进行分类,使用卷积神经网络CNN检测恶意URL。该方法本质上也使用URL重定向特征,但由于代理获得的访问序列包含页面加载资源、外部脚本等噪声,该方法的检测率较低。

基于动态行为特征的方法。

动态行为特征是指源代码在浏览器执行过程中触发的行为和系统底层API调用的特征,如注册表修改和过程创建。现有的检测方法通过执行源代码来监控触发的行为和系统状态状态的变化,并提取行为特征进行检测。建议使用高交互式蜂蜜罐模拟客户端,记录与服务器的交互信息,监控系统状态的变化,从而发现存在的威胁。提出基于动态行为的网页木马检测方法,监控动态执行函数,根据定义规则提取行为特征,可以对抗代码混淆的干扰,但采用动态分析检测效率较低。专注于恶意攻击的事后取证和分析,提出取证引擎JSgraph,记录浏览器中JavaScript程序执行的细节,专注于JavaScript对DOM的修改,实现基于JavaScript攻击的恶意网站事后取证分析。

该方法没有检测恶意页面,而是用于提取恶意页面攻击行为的细粒度行为。基于动态行为特征的方法对恶意URL的检测精度较高,但在检测过程中需要加载和操作源代码。当恶意页面代码具有环境检测能力来逃避检测时,可能无法捕获恶意动态行为特征。近年来,结合静态分析和动态检测的方案出现了。该方案首先采用静态特征分类,从HTML、JavaScript代码和URL三个方面提取特征进行分类。静态分类为可疑对象采用动态分析,即通过动态监控应用程序界面的调用信息进一步判断。分析了恶意URL与客户端的互动模式,从三个方面提取了特定的内容特征、特定的互动特征和特定的连接特征,提出了根据会话互动模式构建分类模型的方法,并利用决策树对恶意URL进行分类。然而,所选特征对检测效果的影响至关重要。

outputo-20211011-085059-483-moox.png

综上所述,在现有的检测方法中,仅依靠静态页面特征或对话交互特征的检测准确性较弱。动态行为特征方法面临的问题是,恶意代码可以通过检测用户客户端的环境来识别检测引擎,从而终止恶意行为以避免检测问题。与叠加使用方法不同,我们的方法不需要捕捉系统底部的API调用行为,而是直接将页面特征与对话特征相结合,以避免检测问题。在页面特征方面,我们提出了重定向跳转、客户端检测、HTML5新标签和事件函数以及恶意VBScript脚本代码的新特征。同时,为了更准确地检测,选择关键JavaScript函数的参数长度和参数内容作为检测特征。

分享: