本发明涉及网络安全技术领域,特别是涉及一种挂马检测方法及系统。
背景技术:
网站安全监管系统每天都会检测到上万条的疑似挂马告警事件,需要网络安全运维人员对疑似挂马链接的源代码进行检查核对,过滤掉那些误报、错报的疑似挂马事件,仅处置真正的挂马告警事件。但是,从上万条的疑似挂马告警事件中过滤出真正的挂马告警事件,这无疑是一项非常庞大而又繁琐的工作,极大地影响了网络安全运维人员的工作效率。
技术实现要素:
本发明的目的是提供一种挂马检测方法及系统,能够自动检测出挂马网页,大大降低挂马告警事件的误报量,有效减少网络安全运维人员人工筛查的工作量,提高运维人员的工作效率。
为实现上述目的,本发明提供了如下方案:
一种挂马检测方法,所述检测方法包括:
获取待识别统一资源定位符,所述待识别统一资源定位符为待识别网页的统一资源定位符;
解析所述待识别统一资源定位符对应的待识别程序状态序列,所述待识别程序状态序列包括所述待识别统一资源定位符的多条属性;
根据所述待识别程序状态序列与挂马事件特征库中各挂马程序状态序列的相似度确定所述待识别网页是否为挂马网页。
可选的,所述解析所述待识别统一资源定位符对应的待识别程序状态序列之前,还包括:
采用正则表达式对所述待识别统一资源定位符进行过滤处理,获得过滤处理后的待识别统一资源定位符。
可选的,所述根据所述待识别程序状态序列与挂马事件特征库中各挂马程序状态序列的相似度确定所述待识别网页是否为挂马网页,具体包括:
获取相似度阈值;
采用相似性计算方法计算所述待识别程序状态序列与挂马事件特征库中各挂马程序状态序列的相似度值;
判断是否存在大于或者等于所述相似度阈值的相似度值;
若是,确定所述待识别网页为挂马网页。
可选的,所述确定所述待识别网页为挂马网页之后,还包括:
从大于或者等于所述相似度阈值的各个相似度值中筛选出最大相似度值;
将所述待识别网页对应的挂马类型确定为所述最大相似度值对应的挂马程序状态序列的挂马类型。
可选的,所述采用相似性计算方法计算所述待识别程序状态序列与挂马事件特征库中各挂马程序状态序列的相似度值,具体包括:
采用余弦相似性计算方法计算所述待识别程序状态序列与挂马事件特征库中各挂马程序状态序列的相似度值。
可选的,所述待识别程序状态序列包括所述待识别统一资源定位符的协议、ip地址、路径、端口、域名种类、域名长度、域名性质和网页位置中至少两者。
可选的,建立所述挂马事件特征库的方法包括:
获取多种挂马告警事件的统一资源定位符;
解析每一所述挂马告警事件的统一资源定位符对应的挂马程序状态序列,所述挂马程序状态序列包括所述挂马告警事件的统一资源定位符的多条属性;
根据各所述挂马程序状态序列建立所述挂马事件特征库。
一种挂马检测系统,所述检测系统包括:
获取模块,用于获取待识别统一资源定位符,所述待识别统一资源定位符为待识别网页的统一资源定位符;
解析模块,用于解析所述待识别统一资源定位符对应的待识别程序状态序列,所述待识别程序状态序列包括所述待识别统一资源定位符的多条属性;
挂马检测模块,用于根据所述待识别程序状态序列与挂马事件特征库中各挂马程序状态序列的相似度确定所述待识别网页是否为挂马网页。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供的挂马检测方法包括:获取待识别统一资源定位符,待识别统一资源定位符为待识别网页的统一资源定位符;解析待识别统一资源定位符对应的待识别程序状态序列,待识别程序状态序列包括待识别统一资源定位符的多条属性;根据待识别程序状态序列与挂马事件特征库中各挂马程序状态序列的相似度确定待识别网页是否为挂马网页。可见,采用本发明提供的挂马检测方法及系统,能够自动检测出挂马网页,大大降低挂马告警事件的误报量,有效减少网络安全运维人员人工筛查的工作量,提高运维人员的工作效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种挂马检测方法的流程图;
图2为本发明实施例提供的一种挂马检测系统的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种挂马检测方法及系统,能够自动检测出挂马网页,大大降低挂马告警事件的误报量,有效减少网络安全运维人员人工筛查的工作量,提高运维人员的工作效率。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明实施例提供的一种挂马检测方法的流程图。如图1所示,一种挂马检测方法,所述检测方法包括:
步骤1:获取待识别统一资源定位符,所述待识别统一资源定位符为待识别网页的统一资源定位符。
步骤2:解析所述待识别统一资源定位符对应的待识别程序状态序列,所述待识别程序状态序列包括所述待识别统一资源定位符的多条属性。所述待识别程序状态序列包括所述待识别统一资源定位符的协议、ip地址、路径、端口、域名种类、域名长度、域名性质和网页位置中至少两者。
通过对大量疑似挂马的url分析可以发现,所有的域名都是由一级域名、二级域名等构成,一般域名最多不超过五级,疑似挂马网页链接的构成一般是如下形式:
【五级域名】.【…】.【二级域名】.【一级域名】
对大量疑似挂马网页的url分解归类,可以得到各类疑似挂马网页链接的各种形式的url。基于域名长短特性,将疑似挂马网页的url归类为一级域名、二级域名、三级域名、二级网页、三级网页等类别。
每一条疑似挂马网页的url都包括n条属性,这n条属性就组成了该统一资源定位符的程序状态序列,不同疑似挂马网页链接的url的类型不同,其属性的种类不同,属性的个数不同,如只有一级域名的url和有二级或者三级域名的url的类型不同,属性个数也不相同,二级页面的url、三级页面的url类型也不同。url的n条属性包含:协议、ip地址、路径、端口、域名种类、域名长度、域名性质和网页位置等。实际应用中,可根据实际需要定义域名多长范围是这个属性,超过这个范围是另一属性,以此类推,疑似挂马url类型确定后,疑似挂马url的程序状态序列也就确定了。
定义1:一条疑似挂马url的程序状态序列为
其中,ai表示程序状态序列
步骤3:根据所述待识别程序状态序列与挂马事件特征库中各挂马程序状态序列的相似度确定所述待识别网页是否为挂马网页。
由于某些网站具有固定的后缀,在疑似挂马事件中会经常出现大量的此类后缀的统一资源定位符(uniformresourcelocator,url),有的可能是其它兄弟单位的url,有的可能是它们的二级、三级、四级有的甚至是五级页面的url,为了有效避免将此类网址作为疑似挂马网页,本实施例在执行步骤2:解析所述待识别统一资源定位符对应的待识别程序状态序列之前,还包括:
采用正则表达式对所述待识别统一资源定位符进行过滤处理,获得过滤处理后的待识别统一资源定位符。本实施例采用正则表达式把具有固定后缀的网址过滤掉,比如政务网站类型的网址后缀均是.gov结尾,教育类网址均是.edu结尾,这样就能减少一部分误报的疑似挂马链接,这种处理方法在专做政府网站或者教育网站时,过滤效果非常明显。
本实施例中,建立所述挂马事件特征库的方法包括:
获取多种挂马告警事件的统一资源定位符;
解析每一所述挂马告警事件的统一资源定位符对应的挂马程序状态序列,所述挂马程序状态序列包括所述挂马告警事件的统一资源定位符的多条属性;
根据各所述挂马程序状态序列建立所述挂马事件特征库。
每一类挂马告警事件都有自己的特征代码,如告警事件“mcafee”的告警监测的特征代码是:
确定的告警事件的url也具有包括n个属性的程序状态序列,将不同的告警事件的程序状态序列集合在一起,就形成一个挂马事件特征库。
定义2:挂马事件特征库为
其中,
本实施例中,步骤3:根据所述待识别程序状态序列与挂马事件特征库中各挂马程序状态序列的相似度确定所述待识别网页是否为挂马网页,具体包括:
获取相似度阈值。
采用相似性计算方法计算所述待识别程序状态序列与挂马事件特征库中各挂马程序状态序列的相似度值;本实施例中,采用的相似性计算方法为余弦相似性计算方法。
判断是否存在大于或者等于所述相似度阈值的相似度值。
若是,确定所述待识别网页为挂马网页。
在实际应用中可以发现,疑似挂马的程序状态序列并不一定和已知挂马网页url的程序状态序列完全一样,因此,本发明引入中间量“余弦夹角”来识别其相似程度,若相似度值大于或者等于相似度阈值,则可认为二者的相似度非常高,就可以把这一条url确定为挂马网页的url。
本发明根据两个程序状态序列的相似度判断出疑似挂马url的程序状态序列与挂马告警事件的程序状态序列的相似度,从而判断该url是否归类到该类挂马告警事件中。
首先,对两个向量之间的夹角余弦量cosθ进行如下定义:
定义3:
(1)0≤cosθ≤1,当且仅当
(2)
(3)
两个向量间的余弦值很容易地通过使余弦相似性公式推导:
由于告警事件的程序状态序列存在有序性条件的约束,不用考虑向量
那么,
当
因此,如何确定相似度阈值a0的取值,是提高判断两向量相似性的关键所在。本发明经过学习可以对余弦相似度cos
假设,存在一系列挂马告警事件的程序状态序列样本库:
已知一系列非该类告警事件的url对应的程序状态序列样本库:
选取合适的相似度阀值a0作为告警事件的判断标准,给定显著性参数α=0.005,通过求解公式(9)所示的优化问题可以得到a0:
其中,g表示随机选取的一个该类告警事件的程序状态序列。
求解公式(9)能够确定a0的最佳取值,优化标准的设置应该是在优先保证识别告警事件的准确度达到一定要求、漏判的情况足够小的前提下,优化参数a0的设置,使得非告警事件被误判为告警事件的几率尽可能小。
通过实验进行学习校正,可以得到a0的最优取值。
以上,已经确定了a0的取值,当
本发明涉及的疑似挂马url默认为某一特定类型的url。为了拓宽本发明的适用范围,对不同挂马类型的url,为了能进一步确定挂马网页的类型,本实施例中,确定所述待识别网页为挂马网页之后,还包括:
从大于或者等于所述相似度阈值的各个相似度值中筛选出最大相似度值。
将所述待识别网页对应的挂马类型确定为所述最大相似度值对应的挂马程序状态序列的挂马类型。
本发明先运用正则表达式从疑似挂马网站告警事件中过滤掉一部分具有固定后缀的网站链接,之后采用余弦相似性的相似比较方法将疑似挂马告警事件与挂马特征库进行比较,根据余弦相似度值与相似度阈值的大小关系来判断待识别网站是否为挂马网页,从而达到过滤疑似挂马链接的目的,大大降低挂马误报的情况。
图2为本发明实施例提供的一种挂马检测系统的结构框图。如图2所示,一种挂马检测系统,所述检测系统包括:
获取模块21,用于获取待识别统一资源定位符,所述待识别统一资源定位符为待识别网页的统一资源定位符;
解析模块22,用于解析所述待识别统一资源定位符对应的待识别程序状态序列,所述待识别程序状态序列包括所述待识别统一资源定位符的多条属性;
挂马检测模块23,用于根据所述待识别程序状态序列与挂马事件特征库中各挂马程序状态序列的相似度确定所述待识别网页是否为挂马网页。
本发明提供的挂马检测方法及系统结合了正则表达式,能够过滤掉某些固定后缀的网址信息,有效减少误报概率,应用在某些特定行业的网络安全监控中时,本发明的优越性尤为突出。同时,本发明将余弦相似度运用到海量的疑似挂马聚类中,为疑似挂马聚类提供了一种新的方法,通过实验优化学习得到最优的相似度阈值a0,有效提高疑似挂马告警事件的归类精准度,进一步减少误报概率,提高挂马检测精度。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。