[发明专利]一种在海量日志中检测WebShell的方法在审
申请号: | 201710791814.5 | 申请日: | 2017-09-05 |
公开(公告)号: | CN107404497A | 公开(公告)日: | 2017-11-28 |
发明(设计)人: | 魏子雄 | 申请(专利权)人: | 成都知道创宇信息技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 成都信博专利代理有限责任公司51200 | 代理人: | 张辉 |
地址: | 610000 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 海量 日志 检测 webshell 方法 | ||
技术领域
本发明涉及WebShell检测领域,特别是一种在海量日志中检测WebShell的方法。
背景技术
WebShell,顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。黑客在入侵了一个网站后,通常会将这些asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问这些asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的(可以上传下载文件,查看数据库,执行任意程序命令等)。由于WebShell其大多是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。
现有技术对WebShell的检查,是通过收集网络上公开的WebShell并分析其请求特征,利用其建立WebShell特征库,然后在网站的访问日志中匹配这些特征,如果匹配上,则人工再次确认是否为真实存在的WebShell。其存在以下不足:1)基于特征匹配容易出现大量误报;2)WebShell特征随时变换,特征库不能完全包含所有的特征,容易出现遗漏;3)有扫描时会产生大量的无效告警,增加人工分析工作量。
动态页面:一种可以动态生成网页文件的技术。
URL:统一资源定位符,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
发明内容
本发明所要解决的技术问题是提供一种在海量日志中检测WebShell的方法,用于从海量攻击日志中分析出真实的WebShell,通过使用基于网站历史请求的方法,筛选出新增动态文件,然后再通过复现请求确定是否是WebShell,以此降低人工分析的成本。
为解决上述技术问题,本发明采用的技术方案是:
一种在海量日志中检测WebShell的方法,包括以下步骤:
步骤1:提取相邻两天访问成功的动态页面请求日志;即读取请求日志,逐行处理,过滤出请求日志的URL中包含.asp、.aspx、.jsp、.php的动态页面的请求日志,记第一天的动态页面请求日志的记录为log1,第二天动态页面请求日志的记录为log2;
步骤2:对步骤1中请求日志的记录抹除参数,只保留路径;即去除记录中问号“?”及问号之后内容,降低干扰,并将抹除参数后的记录存入对应集合path1与paht2中,path1为第一天的动态文件路径,path2为第二天的动态文件路径;
步骤3:计算新增页面集合path;即从第二天请求日志的记录的path2中排除第一天请求日志的记录的path1,再排除历史正常记录history,得到第二天相较第一天新增的页面集合path,表达式为path=path2–path1–history;其中,history为历史结果中非WebShell的记录合集;第一次执行时,历史正常记录history为空集;
步骤4:重放集合path中每一条记录p,检查记录p是否为WebShell,如果记录p是WebShell,记录此WebShell,如果记录p不是WebShell,将记录p加入历史正常记录history集合中,即history=history∪{p};
步骤5:令原第二天为新的第一天,新的第二天为原第二天的后一天,即day1=day2,day2=day2+1,重复执行步骤1-4,筛选出WebShell。
进一步的,步骤5中涉及到重复执行步骤1-4,设定重复执行的次数为7次。
与现有技术相比,本发明的有益效果是:基于WebShell特征库的日志匹配方法会出现大量的告警信息,人工确认工作量十分巨大,使用本发明的基于历史动态页面记录的筛选方法,可以大幅减少人工工作量,迭代7天后,既可降低98%以上工作量。
附图说明
图1是本发明一种在海量日志中检测WebShell的方法流程示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明
本发明主要用于海量日志,通过计算基于历史日志的差集,筛选出新增动态页面,再通过重放来检查是否是WebShell。如图1所示,具体说明如下:
步骤1:提取相邻两天访问成功的动态页面请求日志,即读取请求日志,逐行处理,过滤出请求日志的URL中包含.asp、.aspx、.jsp、.php等动态页面的请求日志。
例如:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都知道创宇信息技术有限公司,未经成都知道创宇信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710791814.5/2.html,转载请声明来源钻瓜专利网。