1、2023 年 6 月伊犁师范大学学报(自然科学版)Jun.2023第 17 卷 第 2 期Journal of Yili Normal University(Natural Science Edition)Vol.17 No.2基于贝叶斯算法的网页木马检测技术研究张尚韬(福建信息职业技术学院 物联网与人工智能学院,福建 福州350003)摘要:网页木马已成为互联网最大的安全威胁.在研究网页木马行为特征、木马监控技术的基础上,利用网页木马与正常网页的区别,提出了将链接分析技术应用于网页木马检测的方法,将朴素贝叶斯分类算法应用于网页木马的检测,给出了基于贝叶斯算法的网页木马检测系统模型的设计方案,
2、包括管理模块、网页代码分析模块、网页木马进程创建监控模块,以及网页木马行为监视等模块的实现方法.通过实验测试,验证了所设计的检测模型的有效性.关键词:网页木马;朴素贝叶斯分类算法;监控中图分类号:TP393.08文献标识码:A文章编号:2097-0552(2023)02-0055-090引言引言互联网搜索、网络下载、网络购物、网络支付、网游产业等互联网应用形式多样化,使得浏览网页已经渗透到社会的各个角落.由于系统及应用软件、浏览器插件及网站等的漏洞层出不穷,使得网站挂马活动越来越猖獗1-5.网页木马不仅威胁到个人信息的安全,甚至可能影响国计民生和国家安全,如何保证网页安全性已经成了安全领域的研
3、究焦点.因此,研究网页木马的检测技术具有显著的现实意义.网页木马是利用浏览器或浏览器插件的漏洞,向用户机器植入木马的恶意网页脚本6 7.传统的网页木马检测方法是特征匹配,这种方法不能检测特征码未知的网页木马.本文的主要工作是在研究网页木马行为特征、木马监控技术的基础上,将朴素贝叶斯分类算法应用于网页木马的检测;同时分析了网页木马的代码特征,提出了将链接分析作为基于行为分析的网页木马检测的一个补充;最后给出了一种基于朴素贝叶斯分类算法的网页木马检测模型,完成了检测方案的设计与实现.1朴素贝叶斯算法判定网页木马原理朴素贝叶斯算法判定网页木马原理1.1网页木马的行为特征在查阅网络上关于网页木马的技术
4、细节的描述,并对网页木马的相关技术进行分析的基础上,本文归纳出网页木马的行为特征如表1.收稿日期:2022-09-30基金项目:福建省中青年教师教育科研项目(JAT210737).作者简介:张尚韬(1980),男,福建福州人,硕士,研究方向:计算机网络技术.伊犁师范大学学报(自然科学版)2023年表 1网页木马的行为特征序号123456网页木马的行为特征创建和修改可执行文件修改注册表创建进程修改系统时间,使杀毒软件失效修改系统文件摘除杀毒软件的Hook挂钩,使杀毒软件检测失效1.2贝叶斯算法应用于网页木马判定原理朴素贝叶斯分类算法8-11假定一个属性值对给定类的影响独立于其他属性的值.这一假设
5、称为条件独立,这种假设降低了计算的复杂度,且具有较高的精确度.贝叶斯分类算法的原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类.朴素贝叶斯分类器的工作过程为:若样本S有n个特征(A1,A2,.,An),它可看作是n维空间的一个点(X=X1,.,Xn).其中,X1,X2,.,Xn分别为样本特征A1,A2,.,An的取值(n N),样本S有m个类别,记为C=C1,C2,.,Ci,.,Cm(i,m N,1 i m)。若给定类别未知数据样本X属于类别Ci,那么分类问题就是决定P()Ci|X,即在获得数据样本X时,确定X的最
6、佳分类.所谓最佳分类,即给定的样本S以及其类别C中不同假设的先验概率的情况下最可能的分类.贝叶斯理论给出了计算这种可能的方法12-13.贝叶斯定理基于假设的先验概率,给定假设下观察到的不同数据的概率以及观察到的数据本身,提供了一种计算假设概率的方法,可表示为P()Ci|X=P()X|CiP(Ci)P(X),P(Ci)=Si/S.(1)P(Ci)表示没有训练数据前,Ci拥有的初始概率,P(Ci)称为Ci的先验概率,反映了所拥有的关于Ci是正确分类机会的背景知识,它应该是独立于样本的.某些情况下,可以简单地将每一候选类别赋予相同的先验概率,通常一般可以表示成训练数据中属于类别Ci的数据个数Si与总
7、的训练数据个数S的比值.P()Ci|X表示给定数据样本为X时,属于类别Ci的概率:P()X|Ci=P(X1X2.Xn).(2)朴素贝叶斯分类算法假设每个类别相互独立,即各特征的取值相互独立,从而有P()Ci|X=P()X1|CiP()X2|Ci.P()Xn|CiP(Ci)/P(X).(3)贝叶斯分类算法根据计算的后验概率P()Ci|X的取值大小预测出X的类别,后验概率最大的类别为X所属的类别.因此,分别计算出X属于每一个类别Ci的概率P()Ci|X,然后选择其中概率最大的类别作为其类别.由此可见,对一个未知类别的样本X,它所属的类别与该样本的特征息息相关.1.3贝叶斯算法应用于网页木马判定步骤
8、由于朴素贝叶斯分类算法结合样本的多个特征的取值对样本进行分类,这与将行为分析应用于未知木马判断的原理相吻合.因而,可以将分类算法和网页木马行为分析结合起来判断未知程序是否是网页木马(图1).56张尚韬:基于贝叶斯算法的网页木马检测技术研究第2期(1)确定应用程序的行为特征在本文的研究中,确定应用程序主要具有4个特征:注册表中设置启动项;系统目录下拷贝或创建文件;呈现可视化的界面;修改配置文件.定义:PBC1表示应用程序具有在注册表设置启动项的特征,-PBC1表示应用程序不具有在注册表设置启动项的特征;PBC2表示应用程序具有系统目录下拷贝或创建文件的特征,-PBC2表示应用程序不具有系统目录下
9、拷贝或创建文件的特征;PBC3表示应用程序具有呈现可视化界面的特征,-PBC3表示应用程序不具有呈现可视化界面的特征;PBC4表示应用程序具有修改配置文件的特征,-PBC4表示应用程序不具有修改配置文件的特征.(2)确定实验数据,分析实验数据是否呈现上述的行为特征本文选取的实验数据为45个合法程序和37个木马程序,现分析选取的网页木马程序和合法程序是否呈现出上述行为特征.其中网页木马的行为特征是参照权威网站提供的网页木马特征描述确定的;而合法程序的行为特征是将程序运行之后,查看其是否呈现上述特征确定的.(3)将实验数据分为A组和B组2组数据A组包含35个合法程序和27个木马程序,其余的合法程序
10、和木马程序归B组.A组作为样本数据,B组用于检验样本A的计算结果.(4)依据选取的样本数据A,计算P()-PBCi|LP、P()-PBCi|T、P(T)和P(LP)P()PBCi|LP(1 i 4)表示某程序是合法程序的条件下,具有第i个特征的概率,P()-PBCi|LP(1 i 4)表示某程序是合法程序的条件下,不具有第i个特征的概率;P()PBCi|T(1 i 4)表示某程序是网页木马的条件下,具有第i个特征的概率,P()-PBCi|T(1 i 4)表示某程序是网页木马的条件下,不具有第i个特征的概率.在35个合法程序中,有11个具有PBC1的特征,3个具有PBC2的特征,28个具有PBC
11、3的特征,6个具有PBC4的特征;在27个木马程序中,有18个具有PBC1的特征,23个具有PBC2的特征,0个具有PBC3的特征,12个具有PBC4的特征.由式(1.1)和式(1.3)可得P()PBC1|LP=11/35=0.3142,P()PBC1|T=18/27=0.6667,P()PBC2|LP=3/35=0.0857,P()PBC2|T=23/27=0.8519,P()PBC3|LP=28/35=0.8000,P()PBC3|T=0/27=0,P()PBC4|LP=6/35=0.1714,P()PBC4|T=12/27=0.4444.而先验概率P(LP)=35/(35+27)=0.5
12、645,P(T)=27/(35+27)=0.4355.(5)依据B组的数据验证样本数据的计算结果,得出实验结论根据贝叶斯分类算法在网页木马判定中的原理,以及上一步计算所得的各项数据,区分B组的合法程序和网页木马程序,并计算漏报率和误报率,以检测贝叶斯分类算法应用于网页木马判定的准确性.57伊犁师范大学学报(自然科学版)2023年图 1为朴素贝叶斯分类算法应用于网页木马判定的流程图2基于朴素贝叶斯分类算法的网页木马检测模型设计基于朴素贝叶斯分类算法的网页木马检测模型设计系统共分为4个子模块:管理模块、网页代码分析模块、网页木马进程创建监控模块以及网页木马行为分析模块,如图2所示.各个功能模块的功
13、能如下:(1)管理模块属于界面程序,包括两部分:系统配置和日志查看.系统配置响应用户对系统的控制、配置,如开始、停止、自动配置运行等;日志查看能够将系统产生的日志信息进行提取并查看分析.(2)网页代码分析模块主要是对网页中的链接和原代码进行分析,抓取网页中的链接,分析链接文件的格式.若是可执行文件,则该网页可能被挂马.(3)进程创建监视模块对系统进程特别是iexplorer进程中创建的子进程进行监视.(4)网页木马行为分析模块属于动态监视程序,负责对被锁定的可疑进程进行监视跟踪,搜集程序的实时行为,主要实现对程序是否呈现可视化界面、文件、注册表操作进行监视,进而利用朴素贝叶斯定理进行判定.管理
14、模块同时启动代码分析模块和进程创建监视模块,在进程监视到可疑的进程创建时,立即启动木马行为分析模块,最后根据判别结果将日志信息写入日志模块中,根据代码分析模块定位被挂马的网页.图 2系统结构2.1管理模块系统配置主要为用户提供管理整个系统的接口,包括系统启动、停止和参数配置等功能.当点击开始按钮时,其程序流程如图3所示.58张尚韬:基于贝叶斯算法的网页木马检测技术研究第2期当监视功能启动时,启动网页代码分析模块,分析网页中是否有可疑文件,并提取网页中的链接;同时将进程创建检测模块注入iexplore进程中,进程创建检测模块会自动启动监视功能;当发现有进程创建时,加载木马行为分析模块,判断某可疑
15、程序是否是木马程序;最后根据网页代码分析结果和木马行为监测模块的输出判断网页是否挂马,网页代码分析结果从静态方面检测,贝叶斯的网页木马行为分析从动态方面检测,两者结合,增加了判定的准确性.同时,网页代码分析模块对行为分析检测的网页木马进行定位,找出被挂马的网页.图 3管理模块流程图2.2创建监视模块设计进程创建监视模块主要是对挂接在IE或系统关键进程中新创建的进程进行检测,一旦可疑的进程创建,立刻通知网页木马行为监视模块对此进程进行监视;同时将可疑的进程创建的子进程当作可疑的木马程序,并通知管理模块,以便检测可疑木马程序是否已经结束,从而能及时释放不必要的资源.进程创建监视模块是以dll形式存
16、在的,由管理模块将该模块注入IE或系统关键进程中,并常驻内存.运行的流程如图4所示,当进程监视模块被注入IE进程中后,进程创建监视模块会自动实现对监视点函数的挂钩,当进程创建时,拦截此创建进程的信息,并得到新创建进程的信息.图 4进程创建检测模块流程图2.3行为监视模块该模块在应用层实现,实现对注册表、文件、可视化界面的创建、修改及访问网络等行为的监视.通过挂钩注册表操作的函数来实现对注册表的监视,由于本文主要对木马程序进行监视,采用API挂钩进行监视,如图5所示.59伊犁师范大学学报(自然科学版)2023年图 5文件监视模块流程图2.4网页代码分析模块该模块主要提取网页中的链接,对直接链接所引用的文件格式进行判断,判断是不是PE文件格式.直接在当前页下载到本地引用的链接,为直接引用标签.直接引用标签是指当前页下载到本地所引用的标签,含直接引用标签链接的网页会在用户浏览该网页时将标签指定的文件下载到本地的浏览器目录.间接引用标签是需要用户点击或者执行某些操作,浏览器才会去访问的链接,一般不会直接下载到本地.这些链接通常指向某个新的网页,也有的是提供下载某个文件的链接.网页木马通常是隐藏