面向公安应用的Web日志分析工具设计与实现
2015-01-01肖萍
肖 萍
(中国刑警学院网络犯罪侦查系 辽宁 110854)
0 引言
在目前大网络、大数据的环境下,网站是最为流行的信息发布平台之一,利用网站实施犯罪成本低、公安机关取证困难,犯罪分子选择网站作为犯罪手段或是犯罪实施工具。本文研究实现一种基于用户行为的Web日志调查取证软件,可以及时挖掘出网站用户的访问行为,也可以挖掘出实施特定行为的用户,无论从实际公安业务、还是在公安教学方面,都具有极大的研究意义。
1 Web日志概述
常见的Web服务器包括IIS、Apache、Tomcat等多种类型,其中IIS(Internet Information Server)是目前微软所推出的主流web服务器,IIS日志格式可分为IIS名称格式和IIS记录格式。默认情况下,IIS服务器每天都会生成一个日志文件,记录该日的一切行为。服务器默认文件名为ex+年份的末两位数字+月份+日期,如2014年06月20日的日志文件名称为“ex140620.1og”。日志记录的格式是固定的ASCII格式,开头四行为日志的固定说明信息,其中IIS可自定义显示记录的格式。举例说明IIS日志格式:
对以上日志进行解析,进行访问的时间:2012-06-07 00:01:24;所访问的服务器的ip:118.26.226.102;获取方法:get方法;执行访问的文件及附带参数是:/90125/stat.ashx aid=100192&adid=362&wid=1&uid=100021&ext1=&ext2=;访问的端口:80;客户端ip地址是:124.65.144.2;浏览器类型:360浏览器;系统相关信息:compatib1e;+MSIE+6.0;+Windows+NT+5.1;+SV1;操作代码状态:302,访问需重定向;处理时间是:143秒。
2 软件设计与实现
基于公安机关在调查取证过程中对网站用户行为分析的需求,整个系统功能分为三部分:第一部分是定位、挖掘特定用户所实施的访问行为,包括查看了哪些网页、网页访问轨迹、在每个页面所停留的时间、所使用的浏览器类型,及其上传了哪些图片文件。第二部分是定位实施特定行为的用户,这些特定行为包括:访问特定页面、登录网站、在网站进行注册、在什么时间下载了特定图片等等。第三部分系统用户可以自定义访问行为,包括对某文件的访问次数大于10、在某文件的停留时间超长一定时长等等。
考虑到系统的稳定性及可用性,选择面向对象的解释型计算机程序设计语言python作为软件实现语言,后台采用Mysq1数据库,对总体上进行模块划分,各功能模块的编码实现、测试。系统流程如图1所示。
图1 系统流程图
(1)数据清洗是数据分析挖掘的首要任务,在数据清理中要考虑的因素主要有以下几个:区分不同的用户需要什么信息;通过何种信息识别使用者会话;与模式发现和以后数据挖掘任务有关的数据项有那些。根据以上需求,对日志记录清除不相关的数据,检查URL的后缀,合并某些记录。对用户请求页面时发生错误的记录进行适当的处理。例如:在以上日志文件中,需要将客户机请求的用户名和服务器返回的状态去掉。另外,在用户请求一个网页时,与这个网页有关信息自动下载,并记录在日志文件中。此时,要根据以后要进行挖掘的目的,删除那些不是用户显示请求的文件。例如,后缀名是.cgj,.js和 js的脚本文件因对后面的分析处理不造成任何影响,所以应该删除。为了提高系统模型的可扩展性,该系统在设计时建立一个缺省的规则库来帮助删除记录,此规则库可以根据分析网站的类型进行修改。例如,对于其他一般网站日志的数据挖掘,当用户在请求一个网页时,与网页有关的图片等信息会自动下载,保存在日志文件中,由于这个文件不是用户显式请求的,因为在进行数据清理的时候需要将这些记录删除,此时,只需要在规则库中添加后缀为.gif,.jpg,.jpeg,.GIF,.JPG,.JPEG等即可。而在赌博网站日志的数据挖掘中,由于网站中大部分信息为图形文件,用户在访问的过程中极有可能访问这些图形文件,因此,在规则库中,不需要加入这些后缀名。
(2)数据经过清洗后,转换成适合挖掘分析的数据后存储到MYSQL数据库表中,在数据处理模块中通过主函数根据所接收的用户需求跳转到不同的子处理函数中,在每个子处理函数中,对处理信息细节进行了封装,根据需求参数构建不同的数据分析模式语句,输出结果。
3 软件的扩展应用
(1)死链接分析 该软件能够在分析 IIS日志,查找网站日志中是否有访问者可以造成的死链接,即从数据库中挖掘如下行为,同一ip地址的访问者对网站的访问状态的结果连续是404。
表明IP为180.153.206.22利用了一些扫描工具对网站进行数据库查找,企图通过这种方式猜到网站的数据库位置和名称,然后进一步下载看到更具体的信息。
(2)SQL注入分析 一般的SQL注入都是通过%20(空格的ASC码的16进制值是20)和半角单引号进行的,可以搜索%20和’单引号(半角的),查看是否存在相关结果。通过此行为可以判断出该网站是否曾遭受 SQL注入攻击,可以对执行SQL注入攻击的ip的行为进行更具体的分析,进一步对攻击者ip地址进行落地。
(3)上传文件入侵 分析 IIS日志,查找网站是否被上传文件入侵,上传的文件是什么。
2012-06-07 06: 32:58 118.26.226.102 POST/1esson_manage/up1oad/40/ASP.asp 80 - 174.44.80.128 Apache-HttpC1ient/4.1.3+(java+1.5)302 0 0 306由上可以看出,用户174.44.80.128在2012-06-07 23:16:19成功上传了一个文件 ASP.asp 到/1esson_manage/up1oad/40/文件夹下。
4 结束语
本文研究了Web日志格式及特点,结合公安机关对web日志的挖掘需求,设计并实现了基于用户行为的Web日志分析系统,但随着互联网技术的不断发展,Web日志信息量将呈几何数增加,Web日志数据分析处理效率有待进一步提高。
[1]刘建军,黄政.网站入侵案件中的电子证据研究[J].信息网络安全.2011.
[2]庄建儿.非法入侵网站案件的电子取证分析[J].宁波大学学报(理工版).2012.
[3]李明翠.面向网络营销的IIS日志分析系统[J].华东交通大学学报.2009.