一种结合爬虫的日志分析方法技术

技术编号:17048315 阅读:23 留言:0更新日期:2018-01-17 17:52
本发明专利技术提供了一种结合爬虫的日志分析方法,包括以下步骤:步骤1:对指定的网站进行可正常访问的链接爬取,将整个网站的结构记录下来;步骤2:将爬取的结果存入数据库中;步骤3:依据数据库中爬虫爬取的URL列表对Web日志进行筛选;步骤4:将各种异常日志自动标记出它的攻击类型,再将这些攻击日志进一步细化分析,包括通过特征区分攻击成功或者攻击不成功的Webshell,最后将分析结果进行UI展示等等。本发明专利技术在分析单个网站的海量日志时,能够提高分析的准确性,同时也减少人力投入的成本。

A log analysis method combined with reptiles

The present invention provides a method of combining the crawler log analysis, which comprises the following steps: Step 1: normal access to the specified web crawling, the structure of the entire site to record down; step 2: crawling results stored in the database; step 3: according to the database in a crawl list URL on the Web log screening; step 4: all kinds of abnormal log and automatically mark the attack type, and then analyze these attack logs for further refinement, including through the distinguishing feature of successful attack or attack unsuccessful Webshell, and the results of UI display etc.. The invention can improve the accuracy of the analysis and reduce the cost of human investment when analyzing the mass log of a single web site.

【技术实现步骤摘要】
一种结合爬虫的日志分析方法
本专利技术涉及日志分析领域,特别是一种结合爬虫的日志分析方法。
技术介绍
现有的日志分析方法大致从两点出发去清洗日志:一是通过机器学习算法,二是人为根据网站的特点去添加规则进行清洗。通常,机器学习模型是为了做一个“通用”的分析装置,以期望通过机器学习算法来尽可能避免人工干预,但在实际的复杂场景中,机器学习的明显缺点就是容易产生误报和漏报,比如有时会出现扫描器请求多于人类正常访问,这种情况就很可能引起机器学习的误判。而根据网站本身的结构去制定一些分析规则(比如网站有哪些页面),虽然一定程度上可以保证精准度,但需要投入很多人力成本去制定这些规则。网站若非自主开发,那要了解网站本身结构也很困难(需要先通过阅读源码、逆向等方式去了解网站整体的架构)。正则表达式:被用来检索、替换那些符合某个模式(规则)的文本。SQL注入:通过控制SQL语句的字符串,可让数据库执行了预期以外的SQL语句。XSS:跨站脚本攻击,Web页面输出的脚本代码可被控制,导致黑客可以构造恶意的代码。
技术实现思路
本专利技术所要解决的技术问题是提供一种结合爬虫的日志分析方法,在分析单个网站的海量日志时,能够提高分析的准确性,同时也减少人力投入的成本。为解决上述技术问题,本专利技术采用的技术方案是:一种结合爬虫的日志分析方法,包括以下步骤:步骤1:对指定的网站进行可正常访问的链接爬取,将整个网站的结构记录下来;步骤2:将步骤1中爬取的结果存入数据库中;步骤3:依据数据库中爬虫爬取的URL列表对Web日志进行筛选;即:1)从数据库中将爬取的轨迹URL列表加载到内存中,2)对Web日志进行逐行处理,对每一行日志都从中提取出URL,然后判断该URL是否存在于爬取的列表中,如果存在于列表中,则该访问是正常访问,否则将该行判断为异常日志;步骤4:将各种异常日志自动标记出它的攻击类型,再将这些攻击日志进一步细化分析,包括通过特征区分攻击成功或者攻击不成功的Webshell,最后将分析结果进行UI(UserInterface,用户界面)展示、高危的进行告警、辅助人工分析。进一步的,所述步骤3中,判断该URL是否存在于爬取的列表中,其采用的方法包括绝对字符串匹配、字符串相似度匹配。进一步的,所述步骤4中,将各种异常日志自动标记出它的攻击类型,其标记攻击类型的方式是使用规则匹配,此规则是人工预先定义好的正则表达式。与现有技术相比,本专利技术的有益效果是:通过模拟人的正常访问行为,将访问页面记录下来后对日志进行筛选,精准筛选出异常访问日志,能够从日志中识别出黑客留下的Webshell、被黑的页面、恶意的广告页面、扫描器的扫描请求等等。模拟人的访问,指的是网站页面中的链接都是可以通过正常点击来访问,爬虫所做的工作就是记录下这些链接;而日志中的访问记录中如果不存在于这些链接列表中,可认为是通过非正常手段来访问的。附图说明图1是本专利技术一种结合爬虫的日志分析方法流程示意图。具体实施方式下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术通过使用Web爬虫预先模拟正常方可访问的行为,去爬取网站整体可正常访问的链接列表,然后再根据这些列表进行自动化日志分析,以达到分析单个网站的日志时既节省人力投入,又能提高分析精准度的目的。详述如下:步骤一:对指定的网站进行可正常访问的链接爬取一个正常的访客访问某一个网站时,他的浏览器会发送相应的请求去加载网页中的图片、样式文件、视频等,并且能访问的绝大多数页面都已存在于页面中的超链接中。本步骤的目的就是模拟正常访客去“深入”访问要被分析的网站。整个过程中,爬虫会不断访问每一个页面,并抓取每个页面能访问的链接、图片、视频、能下载的文件链接等等,最终将整个网站的结构记录下来。步骤二:将爬取的结果存入数据库中步骤一中所记录的访问轨迹会存储到内置的数据库中,以便于后续异常日志过滤过程加载使用。步骤三:以网站的Web日志作为输入数据,依据爬虫爬取的URL列表对Web日志筛选,具体实施以下步骤:1、从数据库中将爬取的轨迹URL列表加载到内存中;2、对Web日志进行逐行处理,对每一行日志都从中提取出URL,然后判断该URL是否存在于爬取的列表中(主要使用的技术有:绝对字符串匹配、字符串相似度匹配等等)。如果存在于列表中,就认为该访问是正常访问,并且不对检测结果做记录,否则将该行判断为异常日志。过滤完之后的访问日志全部被认定为普通访客无法通过正常浏览行为访问的,将其定义为异常日志。这些异常的访问记录都被单独存储在结果文件中,便于后续日志分析。步骤四:对异常日志进行深入分析将各种异常日志自动标记出它的攻击类型。标记攻击类型的方式主要是使用规则匹配,而这些规则是人工预先定义好的正则表达式。凡是被表达式匹配成功的日志行,都算作攻击是攻击日志,并标记出相应的攻击类型(例如Webshell、SQL注入、XSS等等)。再将这些攻击日志进一步细化分析,比如将Webshell通过特征区分出哪些是攻击成功的、哪些是不成功的。最后根据自动分析结果,将分析的结果进行UI展示、高危的进行告警、辅助人工分析等等用途。虽然规则不一定能百分之百匹配到所有异常日志,倘若存在未能匹配到的日志,也可以作为人工分析的样本,以助于发现“未知攻击”。本文档来自技高网...
一种结合爬虫的日志分析方法

【技术保护点】
一种结合爬虫的日志分析方法,其特征在于,包括以下步骤:步骤1:对指定的网站进行可正常访问的链接爬取,将整个网站的结构记录下来;步骤2:将步骤1中爬取的结果存入数据库中;步骤3:依据数据库中爬虫爬取的URL列表对Web日志进行筛选;即:1)从数据库中将爬取的轨迹URL列表加载到内存中,2)对Web日志进行逐行处理,对每一行日志都从中提取出URL,然后判断该URL是否存在于爬取的列表中,如果存在于列表中,则该访问是正常访问,否则将该行判断为异常日志;步骤4:将各种异常日志自动标记出它的攻击类型,再将这些攻击日志进一步细化分析,包括通过特征区分攻击成功或者攻击不成功的Webshell,最后将分析结果进行UI展示、高危的进行告警、辅助人工分析。

【技术特征摘要】
1.一种结合爬虫的日志分析方法,其特征在于,包括以下步骤:步骤1:对指定的网站进行可正常访问的链接爬取,将整个网站的结构记录下来;步骤2:将步骤1中爬取的结果存入数据库中;步骤3:依据数据库中爬虫爬取的URL列表对Web日志进行筛选;即:1)从数据库中将爬取的轨迹URL列表加载到内存中,2)对Web日志进行逐行处理,对每一行日志都从中提取出URL,然后判断该URL是否存在于爬取的列表中,如果存在于列表中,则该访问是正常访问,否则将该行判断为异常日志;步骤4:将各种异常日志自动标记出它的攻击类型...

【专利技术属性】
技术研发人员:卢西
申请(专利权)人:成都知道创宇信息技术有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1