一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

异常网页文件的识别方法及装置与流程

2023-02-01 22:16:03 来源:中国专利 TAG:


1.本公开涉及计算机信息处理领域,具体而言,涉及一种异常网页文件的识别方法、装置、电子设备及计算机可读介质。


背景技术:

2.webshell作为一种网页后门,通常是以asp、php、jsp或者cgi等网页文件形式存在的。这些异常网页文件隐藏于正常的网页文件中,攻击者可以通过浏览器或者其它客户端来访问这些后门网页文件,并且通过访问请求中所携带的参数来执行一些命令,从而可以获取web服务器的一些信息,甚至可以完全控制web服务器。
3.现在有两种异常网页文件的识别方法:1.主动爬取web站点内的网页,并根据网页间的链接关系建立链接关联树,如果用户请求的某个url不存在于链接关联树中则将其判定为webshell。2.遍历web站点内的所有页面,提取出每个页面的关联信息,并用关联信息识别出无关联页面,并将其认定为 webshell页面。
4.但是,仅依靠爬虫难以获取一个站点内所有的页面,据此建立的链接关联树及关联关系是不完整的,容易将一些正常的页面误报为webshell页面,并且攻击者也可以通过一定手段在其他页面中加入指向webshell页面的链接逃避这种检测。
5.因此,需要一种新的异常网页文件的识别方法、装置、电子设备及计算机可读介质。
6.在所述背景技术部分公开的上述信息仅用于加强对本技术的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

7.有鉴于此,本技术提供一种异常网页文件的识别方法、装置、电子设备及计算机可读介质,能够通过正常页面和异常页面访问行为上的差异来实现异常页面的检测,提高异常页面检测效率和准确度。
8.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
9.根据本技术的一方面,提出一种异常网页文件的识别方法,该方法包括:通过多个网页文件对应的访问行为建立跳转关系图和访问关系图;基于所述跳转关系图和所述访问关系图生成所述多个网页文件中每个网页文件的特征数据;将网页文件对应的特征数据输入异常网页识别模型中,生成异常概率;将异常概率大于阈值的网页文件确定为异常网页文件。
10.在本技术的一种示例性实施例中,通过多个网页文件对应的访问行为建立跳转关系图和访问关系图,包括:提取所述多个网页文件的访问行为;根据所述访问行为中原始页面、访问页面和其对应的跳转关系生成所述跳转关系图;根据所述访问行为中源ip、访问页面和其对应的访问关系生成所述访问关系图。
11.在本技术的一种示例性实施例中,根据所述访问行为中原始页面、跳转页面和其对应的跳转关系生成所述跳转关系图,包括:在访问行为对应的请求报文中提取referer字段;根据所述referer字段提取原始页面;将所述原始页面和所述访问页面作为顶点,将访问行为作为边;通过顶点和边的集合生成所述跳转关系图。
12.在本技术的一种示例性实施例中,根据所述访问行为中源ip、跳转页面和其对应的访问关系生成所述访问关系图,包括:在访问行为对应的tcp连接关系中提取所述源ip;将所述源ip和所述访问页面作为顶点,将访问行为作为边;通过顶点和边的集合生成所述访问关系图。
13.在本技术的一种示例性实施例中,基于所述跳转关系图和所述访问关系图生成所述多个网页文件中每个网页文件的特征数据,包括:根据所述跳转关系图生成每个网页文件的一阶入度和二阶入度;根据所述访问关系图生成每个网页文件的访问入度;通过所述一阶入度、所述二阶入度和所述访问入度生成所述特征数据。
14.在本技术的一种示例性实施例中,将网页文件对应的特征数据输入异常网页识别模型中,生成异常概率,还包括:通过多个网页文件对应的特征数据生成训练样本;通过训练样本对孤立森林模型进行训练;在训练完毕后生成所述异常网页识别模型。
15.在本技术的一种示例性实施例中,将网页文件对应的特征数据输入异常网页识别模型中,生成异常概率,包括:通过网页文件的所述特征数据中的一阶入度、二阶入度、访问入度生成三维向量;将所述三维向量输入所述异常网页识别模型中,生成网页文件为异常网页文件的异常概率。
16.在本技术的一种示例性实施例中,还包括:通过所述异常网页文件生成警示信息。
17.在本技术的一种示例性实施例中,通过所述异常网页文件生成警示信息,包括:提取所述异常网页文件对应的页面路径;通过所述异常网页文件、网页路径生成所述警示信息。
18.根据本技术的一方面,提出一种异常网页文件的识别装置,该装置包括:图模块,用于通过多个网页文件对应的访问行为建立跳转关系图和访问关系图;特征模块,用于基于所述跳转关系图和所述访问关系图生成所述多个网页文件中每个网页文件的特征数据;概率模块,用于将网页文件对应的特征数据输入异常网页识别模型中,生成异常概率;识别模块,用于将异常概率大于阈值的网页文件确定为异常网页文件。
19.根据本技术的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
20.根据本技术的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
21.根据本技术的异常网页文件的识别方法、装置、电子设备及计算机可读介质,通过多个网页文件对应的访问行为建立跳转关系图和访问关系图;基于所述跳转关系图和所述访问关系图生成所述多个网页文件中每个网页文件的特征数据;将网页文件对应的特征数据输入异常网页识别模型中,生成异常概率;将异常概率大于阈值的网页文件确定为异常网页文件的方式,能够通过正常页面和异常页面访问行为上的差异来实现异常页面的检测,提高异常页面检测效率和准确度。
22.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本技术。
附图说明
23.通过参照附图详细描述其示例实施例,本技术的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是根据一示例性实施例示出的一种异常网页文件的识别方法及装置的系统框图。
25.图2是根据一示例性实施例示出的一种异常网页文件的识别方法的流程图。
26.图3是根据另一示例性实施例示出的一种异常网页文件的识别方法的流程图。
27.图4是根据另一示例性实施例示出的一种异常网页文件的识别方法的流程图。
28.图5是根据一示例性实施例示出的一种异常网页文件的识别装置的框图。
29.图6是根据一示例性实施例示出的一种电子设备的框图。
30.图7是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
31.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本技术将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
32.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。
33.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
34.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/ 步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
35.应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本技术概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
36.本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本技术所必须的,因此不能用于限制本技术的保护范围。
37.本案申请人风险,一个站点内的正常页面通常是供大众访问、使用的,并且站点内
的正常页面之间是存在链接的,用户在使用浏览器访问页面的时候,通常是从一个页面跳转到另外一个页面。而webshell页面通常仅被少数攻击者知晓并访问,且正常页面上没有指向webshell页面的链接,也就不会出现从正常页面跳转到webshell页面的情况。可以利用这种访问行为上的区别来进行webshell的检测。
38.下面借助于具体的实施例对本技术的内容进行详细描述。
39.图1是根据一示例性实施例示出的一种异常网页文件的识别方法、装置的系统框图。
40.如图1所示,系统架构10可以包括网页服务器101、102、103,网络104 和识别设备105。网络104用以在网页服务器101、102、103和识别设备105 之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
41.用户可以使用识别设备105通过网络104与网页服务器101、102、103 交互,以接收或发送数据等。网页服务器101、102、103上可以安装有各种互联网客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
42.网页服务器101、102、103可以是具有支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、分布式服务器和台式计算机等等。
43.识别设备105可以是提供各种服务的服务器,例如对网页服务器101、 102、103所支持的网站提供支持的安全管理分析的服务器。后台管理服务器可以网页服务器101、102、103中的网页文件等数据进行分析等处理,并将处理结果(例如异常网页文件)反馈给管理员。
44.识别设备105可例如通过多个网页文件对应的访问行为建立跳转关系图和访问关系图;识别设备105可例如基于所述跳转关系图和所述访问关系图生成所述多个网页文件中每个网页文件的特征数据;识别设备105可例如将网页文件对应的特征数据输入异常网页识别模型中,生成异常概率;识别设备105可例如将异常概率大于阈值的网页文件确定为异常网页文件。
45.识别设备105可以是一个实体的设备,还可例如为多个服务器组成,需要说明的是,本技术实施例所提供的异常网页文件的识别方法可以由识别设备105执行,相应地,异常网页文件的识别装置可以设置于识别设备105中。
46.图2是根据一示例性实施例示出的一种异常网页文件的识别方法的流程图。异常网页文件的识别方法20至少包括步骤s202至s208。
47.如图2所示,在s202中,通过多个网页文件对应的访问行为建立跳转关系图和访问关系图。可提取所述多个网页文件的访问行为;根据所述访问行为中原始页面、访问页面和其对应的跳转关系生成所述跳转关系图;根据所述访问行为中源ip、访问页面和其对应的访问关系生成所述访问关系图。
48.在s204中,基于所述跳转关系图和所述访问关系图生成所述多个网页文件中每个网页文件的特征数据。可根据所述跳转关系图生成每个网页文件的一阶入度和二阶入度;根据所述访问关系图生成每个网页文件的访问入度;通过所述一阶入度、所述二阶入度和所述访问入度生成所述特征数据。
49.在s206中,将网页文件对应的特征数据输入异常网页识别模型中,生成异常概率。通过网页文件的所述特征数据中的一阶入度、二阶入度、访问入度生成三维向量;将所述三
维向量输入所述异常网页识别模型中,生成网页文件为异常网页文件的异常概率。
50.在一个实施例中,可通过多个网页文件对应的特征数据生成训练样本;通过训练样本对孤立森林模型进行训练;在训练完毕后生成所述异常网页识别模型。
51.在一个实际的应用中,相对于正常页面,webshell页面是异常的,因此可以利用异常检测算法的来检测webshell,在本技术中可采用孤立森林算法。用所有被访问页面的特征向量来训练孤立森林模型,待模型训练好之后将每个被访问页面的特征向量再次输入模型,模型会输出一个0~1之间的分数,分数越小则该页面是webshell页面的可能性越大。
52.在s208中,将异常概率大于阈值的网页文件确定为异常网页文件。可以设置一个分数的阈值t,如果模型输出的分数小于阈值t,则将其判定为 webshell。阈值t可以根据实际应用场景来设置,在低误报更重要的应用场景中,阈值t可以设置的小一点,在低漏报更重要的应用场景中,阈值t可以设置大一点。
53.在一个实施例中,还包括:通过所述异常网页文件生成警示信息。更具体的,提取所述异常网页文件对应的页面路径;通过所述异常网页文件、网页路径生成所述警示信息。
54.将通过上述方法检测出的webshell的页面的路径以告警的形式呈现给网站管理员,由相关安全人员对这些页面做进一步的确认,以发现真正的 webshell,并及时清除。
55.根据本技术的异常网页文件的识别方法,通过通过多个网页文件对应的访问行为建立跳转关系图和访问关系图;基于所述跳转关系图和所述访问关系图生成所述多个网页文件中每个网页文件的特征数据;将网页文件对应的特征数据输入异常网页识别模型中,生成异常概率;将异常概率大于阈值的网页文件确定为异常网页文件的方式,能够通过正常页面和异常页面访问行为上的差异来实现异常页面的检测,提高异常页面检测效率和准确度。
56.应清楚地理解,本技术描述了如何形成和使用特定示例,但本技术的原理不限于这些示例的任何细节。相反,基于本技术公开的内容的教导,这些原理能够应用于许多其它实施例。
57.图3是根据另一示例性实施例示出的一种异常网页文件的识别方法的流程图。图3所示的流程30是对图2所示的流程中s202“通过多个网页文件对应的访问行为建立跳转关系图和访问关系图”的详细描述。
58.如图3所示,在s302中,在访问行为对应的请求报文中提取referer字段。当使用浏览器访问页面a,然后通过页面a上的链接跳转到另外一个页面b的时候,http请求头中会携带referer字段,referer字段的值为a,用来标识用户是从页面a转到页面b的。利用这个特点可以创建一个页面跳转关系图。
59.在s304中,根据所述referer字段提取原始页面。
60.在s306中,将所述原始页面和所述访问页面作为顶点,将访问行为作为边。
61.在s308中,通过顶点和边的集合生成所述跳转关系图。在该跳转关系图中,一个页面对应跳转关系图中的一个顶点,访问跳转关系对应图中的一条边,用gr(v,e)来表示页面跳转关系图,其中v是所有顶点的集合,e是所有边的集合。v中的每个顶点对应一个被访问的页面,e中的每条边对应着从一个页面跳转到另一个页面的跳转关系。
62.在获取到一条请求记录的时候,首先判断请求的页面是否已存在于v中,如果不存在就新建一个顶点并加入v中。然后判断请求记录中是否包含 referer字段,若包含,就判
断referer字段对应的页面和被访问的页面是否属于同一个站点,若属于同一个站点则在gr中新增一条从referer页面顶点到被请求页面顶点的边。
63.更进一步的,可根据所述跳转关系图生成每个网页文件的一阶入度和二阶入度。在图gr中,若一个顶点的入度为0则说明访问该顶点对应的页面时不是从其它页面跳转而来,则该页面是可疑的。但是http请求中的referer字段在某种程度上可疑伪造的,所以仅仅依靠简单的跳转关系图是会出现较多漏报的。为了较少伪造跳转关系所导致的漏报,这里引入二阶入度。一个顶点的二阶入度定义为在图gr中经过两条边到达该顶点的顶点的个数。在引入了二阶入度之后将之前的入度称之为一阶入度。图gr中的顶点的一阶入度和二阶入度的计算公式如下:
64.indegree(vi)=|{vj|<vj,vi>∈e}|;
65.indegree2(vi)=|{vj|《vj,vk》∈e∧《vk,vi》∈e}|。
66.其中,indegree(vi)表示vi节点的一阶入度,indegree2(vi)表示vi节点的二阶入度,vi节点的一阶入度等于所有和其有直接相连关系的vj的和, vi节点的二阶入度等于所有和其通过两条边连接关系的vj的和确定。
67.图4是根据另一示例性实施例示出的一种异常网页文件的识别方法的流程图。图4所示的流程40是对图2所示的流程中s202“通过多个网页文件对应的访问行为建立跳转关系图和访问关系图”的详细描述。
68.如图4所示,在s402中,在访问行为对应的tcp连接关系中提取所述源 ip。为了进一步提高检测准确率,还需要创建另外一张图,这里称之为访问关系图。访问关系图是根据访问页面的来源与访问的页面之间的关系而建立的一张图。
69.在s404中,将所述源ip和所述访问页面作为顶点,将访问行为作为边。
70.在s406中,通过顶点和边的集合生成所述访问关系图。因为http协议是运行于tcp协议之上的,在请求一个页面之前必须要先建立起一个tcp连接,这就要求发起请求的ip地址必须是真实存在的,因此访问关系就相对比较难以伪造。在访问关系图中有两种类型的顶点,一种顶点对应访问过的页面,另外一种顶点对应发起请求的源ip地址。
71.用ga(v
page
,v
ip
,e)来表示访问关系图,其中v
page
是所有被访问的页面对应的顶点集合,v
ip
是发起请求的源ip对应的顶点的集合,e就是发起请求的源ip和被请求的页面之间的访问关系的集合。在获取到一条请求记录后,将请求记录中的源ip地址加入到v
ip
中,请求页面加入到v
page
中,并添加一条从源ip顶点到请求页面顶点之间的边。
72.更进一步的,可根据所述访问关系图生成每个网页文件的访问入度。
[0073]vpage
中每个顶点的访问入度表示访问顶点对应页面的源ip的数量,用公式表示如下:
[0074][0075]
其中,indegree(vi)表示vi节点的访问入度,vi节点的访问入度等于所有和其有直接相连关系的ip的和,
[0076]
从前面的描述可知,一个webshell页面通常只会被少数攻击者访问,这样在访问关系图中的v
page
顶点集合中,那些入度较小的顶点对应的页面很有可能就是webshell页面。
[0077]
综上,一个被访问过的页面对应了3个入度值:在跳转关系图中的一阶入度和二阶
入度、在访问关系图中的访问入度。为了获得更准确的检测结果,可以将这3个入度值组合在一起形成一个3维向量来对被访问过的页面进行度量,将这个3维向量称为页面的特征向量。
[0078]
本技术的异常网页文件的识别方法,根据页面的访问行为建立了跳转关系图和访问关系图,用页面在跳转关系图和访问关系图中的3种入度作为特征向量,然后通过异常检测的方式进行webshell的检测,可以提高webshell 检测的准确率。
[0079]
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由 cpu执行的计算机程序。在该计算机程序被cpu执行时,执行本技术提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
[0080]
此外,需要注意的是,上述附图仅是根据本技术示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0081]
下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
[0082]
图5是根据一示例性实施例示出的一种异常网页文件的识别装置的框图。如图5所示,异常网页文件的识别装置50包括:图模块502,特征模块 504,概率模块506,识别模块508。
[0083]
图模块502用于通过多个网页文件对应的访问行为建立跳转关系图和访问关系图;图模块502还用于提取所述多个网页文件的访问行为;根据所述访问行为中原始页面、访问页面和其对应的跳转关系生成所述跳转关系图;根据所述访问行为中源ip、访问页面和其对应的访问关系生成所述访问关系图。
[0084]
特征模块504用于基于所述跳转关系图和所述访问关系图生成所述多个网页文件中每个网页文件的特征数据;特征模块504还用于根据所述跳转关系图生成每个网页文件的一阶入度和二阶入度;根据所述访问关系图生成每个网页文件的访问入度;通过所述一阶入度、所述二阶入度和所述访问入度生成所述特征数据。
[0085]
概率模块506用于将网页文件对应的特征数据输入异常网页识别模型中,生成异常概率;概率模块506还用于通过网页文件的所述特征数据中的一阶入度、二阶入度、访问入度生成三维向量;将所述三维向量输入所述异常网页识别模型中,生成网页文件为异常网页文件的异常概率。
[0086]
识别模块508用于将异常概率大于阈值的网页文件确定为异常网页文件。
[0087]
根据本技术的异常网页文件的识别装置,通过通过多个网页文件对应的访问行为建立跳转关系图和访问关系图;基于所述跳转关系图和所述访问关系图生成所述多个网页文件中每个网页文件的特征数据;将网页文件对应的特征数据输入异常网页识别模型中,生成异常概率;将异常概率大于阈值的网页文件确定为异常网页文件的方式,能够通过正常页面和异常页面访问行为上的差异来实现异常页面的检测,提高异常页面检测效率和准确度。
[0088]
图6是根据一示例性实施例示出的一种电子设备的框图。
[0089]
下面参照图6来描述根据本技术的这种实施方式的电子设备600。图6 显示的电子
设备600仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0090]
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600 的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
[0091]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书中描述的根据本技术各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图2,图3,图 4中所示的步骤。
[0092]
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(rom)6203。
[0093]
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0094]
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0095]
电子设备600也可以与一个或多个外部设备600’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备600交互的设备通信,和/或该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口650 进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络 (例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、 raid系统、磁带驱动器以及数据备份存储系统等。
[0096]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图7所示,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是 cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本技术实施方式的上述方法。
[0097]
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0098]
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或
者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0099]
总体而言,本公开是根据一个web站点内正常页面和webshell页面访问行为上差异来实现webshell页面的检测。一个站点内的正常页面通常是供大众访问、使用的,并且站点内的正常页面之间是存在链接的,用户在使用浏览器访问页面的时候,通常是从一个页面跳转到另外一个页面。而webshell 页面通常仅被少数攻击者知晓并访问,且正常页面上没有指向webshell页面的链接,也就不会出现从正常页面跳转到webshell页面的情况。可以利用这种访问行为上的区别来进行webshell的检测。当使用浏览器访问页面a,然后通过页面a上的链接跳转到另外一个页面b的时候,http请求头中会携带 referer字段,referer字段的值为a,用来标识用户是从页面a转到页面b的。利用这个特点可以创建一个页面跳转关系图。在该跳转关系图中,一个页面对应跳转关系图中的一个顶点,访问跳转关系对应图中的一条边,用gr(v,e) 来表示页面跳转关系图,其中v是所有顶点的集合,e是所有边的集合。v 中的每个顶点对应一个被访问的页面,e中的每条边对应着从一个页面跳转到另一个页面的跳转关系。在获取到一条请求记录的时候,首先判断请求的页面是否已存在于v中,如果不存在就新建一个顶点并加入v中。然后判断请求记录中是否包含referer字段,若包含,就判断referer字段对应的页面和被访问的页面是否属于同一个站点,若属于同一个站点则在gr中新增一条从 referer页面顶点到被请求页面顶点的边。在图gr中,若一个顶点的入度为0 则说明访问该顶点对应的页面时不是从其它页面跳转而来,则该页面是可疑的。但是http请求中的referer字段在某种程度上可疑伪造的,所以仅仅依靠简单的跳转关系图是会出现较多漏报的。为了较少伪造跳转关系所导致的漏报,这里引入二阶入度。一个顶点的二阶入度定义为在图gr中经过两条边到达该顶点的顶点的个数。在引入了二阶入度之后将之前的入度称之为一阶入度。为了进一步提高检测准确率,还需要创建另外一张图,这里称之为访问关系图。访问关系图是根据访问页面的来源与访问的页面之间的关系而建立的一张图。因为http协议是运行于tcp协议之上的,在请求一个页面之前必须要先建立起一个tcp连接,这就要求发起请求的ip地址必须是真实存在的,因此访问关系就相对比较难以伪造。在访问关系图中有两种类型的顶点,一种顶点对应访问过的页面,另外一种顶点对应发起请求的源ip地址。用 ga(vpage,vip,e)来表示访问关系图,其中vpage是所有被访问的页面对应的顶点集合,vip是发起请求的源ip对应的顶点的集合,e就是发起请求的源ip和被请求的页面之间的访问关系的集合。在获取到一条请求记录后,将请求记录中的源ip地址加入到vip中,请求页面加入到vpage中,并添加一条从源ip顶点到请求页面顶点之间的边(若该边已存在则忽略)。一个webshell 页面通常只会被少数攻击者访问,这样在访问关系图中的vpage顶点集合中,那些入度较小的顶点对应的页面很有可能就是webshell页面。一个被访问过的页面对应了3个入度值:在跳转关系图中的一阶入度和二阶入度、在访问关系图中的入度。为了获得更准确的检测结果,可以将这3个入度值组合在一起形成一个3维向量来对被访问过的页面进行度量,将这个3维向量称为页面的特征向量。相对于正常页面,webshell页面是异常的,因此可以利用异常检测算法的来检测webshell,这里采用孤立森林算法。用所有被访问页面的特征向量来训练孤立森林模型,待模型训练好之后将每个被访问页面的特征向量再次输入模型,模型会输出一个0~1之间的分数,分数越小则该页面是webshell页面的可能性越大。可以设置一个分数的阈值t,如果模型输出的分数小于
阈值t,则将其判定为webshell。阈值t可以根据实际应用场景来设置,在低误报更重要的应用场景中,阈值t可以设置的小一点,在低漏报更重要的应用场景中,阈值t可以设置大一点。通过上述方法检测出的 webshell的页面的路径以告警的形式呈现给网站管理员,由相关安全人员对这些页面做进一步的确认,以发现真正的webshell,并及时清除。本公开根据页面的访问行为建立了跳转关系图和访问关系图,用页面在跳转关系图和访问关系图中的3种入度作为特征向量,然后通过异常检测的方式进行 webshell的检测,可以提高webshell检测的准确率。
[0100]
可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、 c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan) 或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备 (例如利用因特网服务提供商来通过因特网连接)。
[0101]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:通过多个网页文件对应的访问行为建立跳转关系图和访问关系图;基于所述跳转关系图和所述访问关系图生成所述多个网页文件中每个网页文件的特征数据;将网页文件对应的特征数据输入异常网页识别模型中,生成异常概率;将异常概率大于阈值的网页文件确定为异常网页文件。
[0102]
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0103]
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本技术实施例的方法。
[0104]
以上具体地示出和描述了本技术的示例性实施例。应可理解的是,本技术不限于这里描述的详细结构、设置方式或实现方法;相反,本技术意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献