CN107566371B - 一种面向海量日志的WebShell挖掘方法 - Google Patents

一种面向海量日志的WebShell挖掘方法 Download PDF

Info

Publication number
CN107566371B
CN107566371B CN201710791447.9A CN201710791447A CN107566371B CN 107566371 B CN107566371 B CN 107566371B CN 201710791447 A CN201710791447 A CN 201710791447A CN 107566371 B CN107566371 B CN 107566371B
Authority
CN
China
Prior art keywords
url
webshell
website
urls
domain name
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710791447.9A
Other languages
English (en)
Other versions
CN107566371A (zh
Inventor
仲俊霖
赵永亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Knownsec Information Technology Co ltd
Original Assignee
Chengdu Knownsec Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Knownsec Information Technology Co ltd filed Critical Chengdu Knownsec Information Technology Co ltd
Priority to CN201710791447.9A priority Critical patent/CN107566371B/zh
Publication of CN107566371A publication Critical patent/CN107566371A/zh
Application granted granted Critical
Publication of CN107566371B publication Critical patent/CN107566371B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种面向海量日志的WebShell挖掘方法,包括以下步骤:步骤1:收集单一入口类型的网站名单;步骤2:对日志进行检测,得到满足条件的URL,进而判断高度疑似WebShell;步骤3:检测可访问性,包括获取步骤2中URL对应域名的404页面内容和URL的页面内容,比较两次请求页面内容的莱文斯坦比,排除掉自定义404页面,以此判断该URL是否真实存在,若该URL真实存在则判断该URL为WebShell。本发明基于单一入口类型网站特殊的网站结构,配合自动化检测过滤掉自定义404页面,缩小嫌疑范围,大大提高识别WebShell的精准度,从而降低人工分析的成本。

Description

一种面向海量日志的WebShell挖掘方法
技术领域
本发明涉及WebShell挖掘领域,特别是一种面向海量日志的WebShell挖掘方法。
背景技术
WebShell,顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。黑客在入侵了一个网站后,通常会将这些asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问这些asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的(可以上传下载文件,查看数据库,执行任意程序命令等)。由于WebShell其大多是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。
现有技术中,通过收集网络上公开的WebShell并分析其特征,或者添加一些敏感函数建立WebShell特征库,然后在网站的访问日志中匹配这些特征或敏感函数,如果匹配上,则人工再次确认是否为WebShell。其存在以下不足:1)基于特征匹配容易出现大量误报;2)WebShell特征随时变换,特征库不能完全包含所有的特征,容易出现遗漏。
发明内容
本发明所要解决的技术问题是提供一种面向海量日志的WebShell挖掘方法,用于在海量网站日志中分析出真实的WebShell,其基于单一入口类型网站特殊的网站结构,配合自动化检测过滤掉自定义404页面,缩小嫌疑范围,大大提高识别WebShell的精准度,从而降低人工分析的成本。
为解决上述技术问题,本发明采用的技术方案是:
一种面向海量日志的WebShell挖掘方法,包括以下步骤:
步骤1:收集单一入口类型的网站名单;
步骤2:对日志进行检测,即:步骤2.1:收集步骤1中确定的单一入口类型网站的访问日志;步骤2.2:在步骤2.1提取的日志中,提取出HTTP状态码仅为200的URL;步骤2.3:将步骤2.2中得到的URL去掉参数,并取出动态脚本类型的URL;步骤2.4:比较步骤2.3得到中的URL是否与步骤1中收集的与此URL对应域名的URL一致,如果一致则判断为正常访问;如果所比较的两个URL不一致则判断为高度疑似WebShell;
步骤3:检测可访问性,即:步骤3.1:获取步骤2.3中URL对应域名的404页面内容;步骤3.2:获取步骤2.3中URL的页面内容;步骤3.3:比较两次请求页面内容的莱文斯坦比,排除掉自定义404页面,以此判断该URL是否真实存在;步骤3.4:如果该URL真实存在则判断该URL为WebShell。
进一步的,所述步骤1具体为:步骤1.1:提取一段时间内所有返回HTTP 200状态码的网站访问日志并取出访问的URL;步骤1.2:将所有的URL去掉参数,取出动态脚本类型的URL;步骤1.3:以步骤1.2中URL的域名为单位,统计出每个域名出现不同URL的个数;步骤1.4:提取出只有一个URL的域名并确定该网站为单一入口类型网站。
进一步的,还步骤4:对步骤3的判断结果进行人工复检。
与现有技术相比,本发明的有益效果是:传统的基于WebShell特征库的日志匹配方法会出现大量的误报,比如在面对扫描器时,经常会触发特征规则,实际上它并不是一次真实的WebShell访问请求,本发明通过单一入口型网站特殊的访问模型,再配合自动化URL检测,可以大大减少人工审查的工作量。
附图说明
图1是本发明方法中单一入口型网站名单收集流程示意图。
图2是本发明方法中日志检测流程示意图。
图3是本发明方法中可访问性检测流程示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明主要是针对单一入口类型网站特殊的网站访问模型进行分析。在单一入口类型的网站中,所有网站功能都通过同一个URL进行路由,也就是全站只有一个URL,而绝大多数的WebShell都是单独的一个脚本文件,在访问的时候通常是直接访问该WebShell的路径。由此在对网站长期的监控中如果发现出现了类似这样异常的URL访问请求,则属于高风险访问,需要对其进行进一步的分析。
由于很多网站都有自定义404功能,所以经常会出现访问了一个不存在的URL,而网站返回的是HTTP200状态码,因此单从状态码是不能判断该URL所指向的资源是否真的存在。本发明中自动检测通过判断网页内容的莱文斯坦比来识别自定义404页面,过滤出真实有效的访问请求,由此来提高识别WebShell的精准度。详述如下:
一、收集单一入口类型网站名单
如图1所示,具体说明如下:
步骤1:提取一段时间内(如一个月)所有返回HTTP 200状态码的网站访问日志并取出访问的URL。如:
http://www.test.com.cn/index.php?id=1&act=login
http://www.abc.net/index.asp?id=1&act=login
http://www.host.cn/index.jsp?id=1&act=login
步骤2:将所有的URL去掉参数、取出动态脚本类型的URL。如:
http://www.test.com.cn/index.php
http://www.abc.net/index.asp
http://www.host.cn/index.jsp
步骤3:以步骤2中URL的域名为单位,统计出每个域名出现不同URL的个数。
步骤4:提取出只有一个URL的域名并确定该网站为单一入口类型网站。
二、对日志进行检测
如图2所示,具体说明如下:
步骤1:收集步骤一中确定的单一入口类型网站的访问日志。
步骤2:在步骤1提取的日志中,去除掉HTTP状态码不是200的URL。
步骤3:将步骤2中的URL去掉参数后并取出动态脚本类型的URL。
步骤4:比较步骤3中的URL是否与模块一中对应域名的URL一致,如果一致则判断为正常访问。
步骤5:如果两个URL不一致则判断为高度疑似WebShell。
三、可访问性检测
如图3所示,具体说明如下:
步骤1:获取步骤二中URL对应域名的404页面内容。
步骤2:获取步骤二中URL的页面内容。
步骤3:比较两次请求页面内容的莱文斯坦比排除掉自定义404页面,以此判断该URL是否真实存在。
步骤4:如果该URL真实存在则判断该URL为WebShell。
步骤三的作用就是识别自定义404页面从而排除掉无意义的访问日志。下面解释一下什么是自定义404页面和使用莱文斯坦比识别自定义404页面的原理。
莱文斯坦比是一种用于比较两个字符串之间相似度的算法,目前已经有很成熟的算法库来实现该算法,只需要提供两个字符串即可得到它们的相似度。而自定义404页面就是:按照HTTP协议规范,当访问一个存在的页面时,服务器返回200状态码,当访问一个不存在的页面时,服务器会反回404状态码,但是有些网站处于安全性考虑,即使访问一个不存在的网页,它也会返回一个200状态码(即访问成功),这样做可以防止某些恶意爬虫爬取网站数据,或者防止黑客猜测网站目录和文件,即出于安全性的考虑。
既然访问一个不存在的页面服务器不再返回404状态码,那么就不能再用这种方法来判断该页面是否存在。所以这里换了一种方式来判断,由于网站的404页面内容基本都是一致的,那么先访问一个肯定不存在的页面,比如:www.domain.com/aaa/bbb/ccc/dddd/ eee.php,这个页面显示是不可能存在的,先把这个不存在的页面的html代码记录下来,然后在接下来的URL请求中,如果发现访问页面的html代码和这个不存在的页面的代码相似度很高,那么就判断它是一个不存在的页面,从而就过滤了自定义404页面。

Claims (2)

1.一种面向海量日志的WebShell挖掘方法,其特征在于,包括以下步骤:
步骤1:收集单一入口类型的网站名单,即
步骤1.1:提取一段时间内所有返回HTTP 200状态码的网站访问日志并取出访问的URL;
步骤1.2:将所有的URL去掉参数,取出动态脚本类型的URL;
步骤1.3:以步骤1.2中URL的域名为单位,统计出每个域名出现不同URL的个数;
步骤1.4:提取出只有一个URL的域名并确定该网站为单一入口类型网站;
步骤2:对日志进行检测,即:
步骤2.1:收集步骤1中确定的单一入口类型网站的访问日志;
步骤2.2:在步骤2.1提取的日志中,提取出HTTP状态码仅为200的URL;
步骤2.3:将步骤2.2中得到的URL去掉参数,并取出动态脚本类型的URL;
步骤2.4:比较步骤2.3得到中的URL是否与步骤1中收集的与此URL对应域名的URL一致,如果一致则判断为正常访问;如果所比较的两个URL不一致则判断为高度疑似WebShell;
步骤3:检测可访问性,即:
步骤3.1:获取步骤2.3中URL对应域名的404页面内容;
步骤3.2:获取步骤2.3中URL的页面内容;
步骤3.3:比较两次请求页面内容的莱文斯坦比,排除掉自定义404页面,以此判断该URL是否真实存在;
步骤3.4:如果该URL真实存在则判断该URL为WebShell。
2.如权利要求1所述的一种面向海量日志的WebShell挖掘方法,其特征在于,还步骤4:对步骤3的判断结果进行人工复检。
CN201710791447.9A 2017-09-05 2017-09-05 一种面向海量日志的WebShell挖掘方法 Active CN107566371B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710791447.9A CN107566371B (zh) 2017-09-05 2017-09-05 一种面向海量日志的WebShell挖掘方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710791447.9A CN107566371B (zh) 2017-09-05 2017-09-05 一种面向海量日志的WebShell挖掘方法

Publications (2)

Publication Number Publication Date
CN107566371A CN107566371A (zh) 2018-01-09
CN107566371B true CN107566371B (zh) 2020-08-18

Family

ID=60979063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710791447.9A Active CN107566371B (zh) 2017-09-05 2017-09-05 一种面向海量日志的WebShell挖掘方法

Country Status (1)

Country Link
CN (1) CN107566371B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851840B (zh) * 2019-11-13 2022-03-11 杭州安恒信息技术股份有限公司 基于网站漏洞的web后门检测方法及装置
CN110909350B (zh) * 2019-11-16 2022-02-11 杭州安恒信息技术股份有限公司 一种远程精准识别WebShell后门的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101820419A (zh) * 2010-03-23 2010-09-01 北京大学 一种挂马网页中网页木马挂接点自动定位方法
CN105812196A (zh) * 2014-12-30 2016-07-27 中国移动通信集团公司 一种WebShell检测方法及电子设备
CN106341407A (zh) * 2016-09-19 2017-01-18 成都知道创宇信息技术有限公司 基于网站画像的异常访问日志挖掘方法及装置
CN106686020A (zh) * 2017-03-29 2017-05-17 北京奇虎科技有限公司 域名安全性的检测方法、装置及系统
CN106992981A (zh) * 2017-03-31 2017-07-28 北京知道创宇信息技术有限公司 一种网站后门检测方法、装置和计算设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101291782B1 (ko) * 2013-01-28 2013-07-31 인포섹(주) 웹쉘 탐지/대응 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101820419A (zh) * 2010-03-23 2010-09-01 北京大学 一种挂马网页中网页木马挂接点自动定位方法
CN105812196A (zh) * 2014-12-30 2016-07-27 中国移动通信集团公司 一种WebShell检测方法及电子设备
CN106341407A (zh) * 2016-09-19 2017-01-18 成都知道创宇信息技术有限公司 基于网站画像的异常访问日志挖掘方法及装置
CN106686020A (zh) * 2017-03-29 2017-05-17 北京奇虎科技有限公司 域名安全性的检测方法、装置及系统
CN106992981A (zh) * 2017-03-31 2017-07-28 北京知道创宇信息技术有限公司 一种网站后门检测方法、装置和计算设备

Also Published As

Publication number Publication date
CN107566371A (zh) 2018-01-09

Similar Documents

Publication Publication Date Title
CN103023712B (zh) 网页恶意属性监测方法和系统
CN103297394B (zh) 网站安全检测方法和装置
CN106101145B (zh) 一种网站漏洞检测方法及装置
CN106095979B (zh) Url合并处理方法和装置
CN101340434B (zh) 网站恶意内容检测与认证方法及系统
CN101895516B (zh) 一种跨站脚本攻击源的定位方法及装置
Jonker et al. Fingerprint surface-based detection of web bot detectors
CN103279710B (zh) Internet信息系统恶意代码的检测方法和系统
CN108337269B (zh) 一种WebShell检测方法
CN101490685A (zh) 提高浏览网页的用户机的安全等级的方法
CN105184159A (zh) 网页篡改的识别方法和装置
KR100968126B1 (ko) 웹쉘 탐지 시스템 및 웹쉘 탐지 방법
CN103428196A (zh) 一种基于url白名单的web应用入侵检测方法和装置
CN103914655A (zh) 一种检测下载文件安全性的方法及装置
CN103618696B (zh) 对cookie信息进行处理的方法和服务器
WO2017063274A1 (zh) 一种恶意跳转及恶意嵌套类不良网站的自动判定方法
CN103312692B (zh) 链接地址安全性检测方法及装置
CN112887341A (zh) 一种外部威胁监控方法
CN104468459B (zh) 一种漏洞检测方法及装置
CN107566371B (zh) 一种面向海量日志的WebShell挖掘方法
CN110909350B (zh) 一种远程精准识别WebShell后门的方法
CN108270754B (zh) 一种钓鱼网站的检测方法及装置
Singh et al. A survey on different phases of web usage mining for anomaly user behavior investigation
CN108566392B (zh) 基于机器学习的防御cc攻击系统与方法
KR101428725B1 (ko) 하위 웹주소 점검을 통한 악성코드 은닉 사이트 탐지 시스템 및 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: 9/F, Building C, No. 28, North Tianfu Avenue, China (Sichuan) Pilot Free Trade Zone, Hi tech Zone, Chengdu, 610000, Sichuan

Patentee after: CHENGDU KNOWNSEC INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 610000, 11th floor, building 2, No. 219, Tianfu Third Street, hi tech Zone, Chengdu, Sichuan Province

Patentee before: CHENGDU KNOWNSEC INFORMATION TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder