APP下载

基于Linux系统的网络入侵取证方法与实践

2016-02-06刘晓丽徐博赫

网络安全技术与应用 2016年10期
关键词:攻击者日志命令

◆刘晓丽 徐博赫

(中国刑事警察学院 辽宁 110854)

基于Linux系统的网络入侵取证方法与实践

◆刘晓丽 徐博赫

(中国刑事警察学院 辽宁 110854)

在已有的网络安全研究中,多着眼于防范入侵,而对入侵后的取证问题研究相对较少。基于大部分公司如百度、腾讯和谷歌等都使用Linux系统的服务器,所以本文对基于Linux系统的网络入侵取证技术进行总结和实践。从基于Linux系统搭建的网站日志和Linux系统自身日志这两方面探讨取证的实现方法,前者的取证可以告诉我们攻击者是从哪里攻入Linux系统的,后者的取证告诉我们攻击者进入Linux系统后做了什么操作。

Linux系统;网络入侵;取证方法

0 引言

网络入侵取证主要通过对网络数据流、审计痕迹、主机系统日志等信息的实时监控和分析,发现对网站或系统的入侵行为,自动记录犯罪证据,并阻止对网站或系统的进一步入侵。网络取证同样要求对潜在的、有法律效力的证据的确定与获取,但从当前的研究和应用来看,更强调对网络的动态信息收集和网络安全的主动防御。同时,网络取证也要应用计算机取证的一些方法和技术。例如,如果我们能够对主机的删除操作进行动态跟踪,就能尽早发现一些试图抹除攻击痕迹的攻击行为并动态恢复、取证。

(1)Linux系统简述

Linux是一种免费和开放源代码的操作系统。由于Linux系统架构稳定、安全、简单易用、可定制,使其成为目前最受互联网公司喜爱的服务器系统。目前前沿技术领域如:大数据分析、机器学习、分布式系统、云计算、Android等都是应用的Linux系统。

(2)Linux系统日志文件记录的信息

基于Linux系统搭建的网站日志会记录一些常用的信息,还可以根据需求进一步设置记录更多更全的信息,从这些信息中能够发现攻击者的行为,从而达到取证目的。

①时间戳:典型情况下包括日期以及以秒或一秒的若干分之一为单位的时间,它表示事件发生的时间或者将事件记录到日志中的时间。

②基本的IP特征:每个请求的源地址、目标地址等。ƒ访问的URL(攻击者的访问URL带有攻击语句)。④访问的浏览器标识、使用的操作系统。

⑤网站服务器返回的状态码和返回字符长度。(3)基于Linux系统搭建的网站日志文件作用

基于Linux系统搭建的网站日志文件最明显的用处是提供可用于取证的数据。例如:当网站服务器被入侵后,可以使用日志文件来判断哪个主机或哪些主机应当对该攻击负责,以及攻击者可能使用了哪些攻击方法。通过网站的日志可以提供与此攻击和攻击者有关的其它信息。此外,在攻击事件的处理过程中,正确保存和分析的网络日志文件可以为法庭辩论提供证据。

1 基于Linux系统的网络入侵取证方法与实践

基于Linux系统搭建的网站具有默认开启日志记录的功能。网站日志是记录网站接收请求以及网站运行时产生的错误等各种原始信息的文件。网站日志可以清楚地记录着每个访问者访问网站时的一切信息。不同日志文件包含不同信息,如何理解这些信息、如何从边界防御的角度来分析这些信息,将对网络入侵取证起着十分重要的作用。

从网站日志中取证主要有人工分析取证和利用自动化日志取证系统取证两种方法。其中人工分析取证要求取证人员具有耐心和认真、持之以恒的工作态度,适用于日志量较小的情况。在此种情况下,可以在Linux系统中使用grep这样的Linux系统自带工具处理日志,进行取证。而自动化日志取证系统适用于对大型网站产生的海量日志进行分析,其思想来源于大数据分析,在这种情况下,人工基本上无法对攻击者进行身份识别,只能采用自动化形式。

1.1 针对网站日志人工分析取证方法与实践

grep是一个Linux系统下特有的命令行工具。在给出文件列表或标准输入后,grep会对匹配一个或多个正则表达式的文本进行搜索,并只输出匹配(或者不匹配)的行或文本。除此之外包括显示出不匹配的文本行、查找或排除搜索的文件以及用不同的方式在输出中进行注释。

grep用法示例:

示例1:“grep apple fruitlist.txt”。这里,grep会返回“fruitlist.txt”中所有包含“apple”的文本行。grep不会返回匹配“Apple”(A字母大写)的文本行,因为grep默认情况下是大小写敏感的。像大多数Unix命令行一样,grep接受参数来改变或增加一些特别的功能。

示例2:“grep -i apple fruitlist.txt”,这个命令会返回所有匹配“apple”、“Apple”、“apPLE”或其它混合大小写的拼写。

由于攻击者对网站发起攻击必然会在访问网站的URL中带有攻击语句特征,所以基于以上特点,我们只要在日志文件中利用grep工具进行筛选就能找出攻击者的攻击行为。

表1 常见的web应用攻击语句表

在Linux系统的终端界面中对于网站日志可采用如下命令进行取证:

$cat access.log | grep../../../../etc/passwd

#命令释义:

1.“cat access.log”代表打开网站日志文件access.log;

2.“|”代表并且的意思;

3.“grep../../../../etc/passwd”代表查找日志中包含任意命令执行漏洞类型的文本行。

如图1所示,即为利用上述 grep工具对某被入侵网站的取证结果。

从图1中可以看到,多个攻击者利用任意命令执行漏洞对网站进行了攻击。例如,以第一行内容来看,空格作为每部分的分割,第一部分显示的是攻击者的IP地址为192.168.114.52,第二部分内容显示的是攻击发起时间为2015年1月6日15点28分54秒,第三部分内容显示的是攻击者执行攻击的语句,第四段内容显示的是攻击者使用什么浏览器进行访问的。从中可以锁定攻击者身份信息,达到取证的目的。

图1 grep工具对某被入侵网站的取证结果截图

1.2 利用网站日志取证系统自动取证方法

现在是大数据时代,数据最根本的体现就是海量数据、多样化的信息。随着互联网的兴起,每天网站产生的日志量上亿或者十几亿基本成为了主流,如果还是依赖之前的简单脚本或者grep工具根本无法完成既定的分析取证。

Linux系统在大数据处理中有着天然的优势,目前最主流对大数据处理方案都是应用于Linux系统并开源的,比如hive(离线分析)、storm(实时分析框架)、impala(实时计算引擎)、haddop(分布式计算)以及hbase、spark等等。

基于大数据的技术如此多,通过技术调研和分析研究,笔者选择的Linux日志取证系统架构如图2所示:

图2 笔者选择的Linux日志取证系统架构图

Logstash、Elasticsearch、Kibana是在Linux系统下的轻量级的大数据分析方案。这三个软件都是开源的,具有处理方式灵活、配置简单易上手、检索性能高效、上亿数据秒级响应和集群线性扩展等特性,非常适合用来进行自动化日志取证。

Logstash:负责网站日志的收集、处理和存储。

Elasticsearch:负责日志的检索和分析。

Kibana:负责日志的可视化,通过自带的网站对数据进行展示。

我们只需要将网站的日志接入Logstash软件中,每天产生的几亿或者几十亿条网站日志信息就会自动化处理后展示到Kibana的网页中,如图3、图4、图5所示。

从图3中,可以看到利用Linux系统的高性能加上正确的取证系统方案我们收集并展示了1亿多条日志信息,通过对攻击者攻击规则的整理和筛选,我们从图4、图5中可以提炼出攻击时间、攻击ip、攻击次数、攻击类型以及一天有哪些时间段攻击最多等信息,由此可以判断攻击者的技术能力、攻击者个人信息及作案动机等相关信息。

图3 Kibana展示的数据总量结果截图

图4 Kibana展示的攻击取证结果截图

图5 Kibana展示的攻击时间段和攻击频率结果截图

1.3 针对Linux系统日志的取证方法

1.2中讨论的是基于Linux系统搭建的网站被攻击后的取证方法,目前Linux操作系统自身的安全事件也非常多。攻击方式主要是弱口令攻击、远程溢出攻击及其他系统漏洞攻击等。

Linux系统自身拥有一套完整的日志记录体系,这些日志提供了对系统活动的详细审计,其中包括用户的登录时间、登录地点、登录后进行了哪些操作。从这些记录中可以发现系统入侵行为并进行取证。

Linux系统主要日志有:message、secure、cron、mail、auth、kern、ftp、wtmp等系统日志。secure日志可以通过查看Accept关键字进行取证;last命令可以查看wtmp日志中的登录信息,从中发现攻击者的登录IP,如图6所示;history命令可以查看在Linux系统中攻击者执行了哪些命令,确定攻击者的意图,如图7 所示。

图6 last命令查看登录IP结果

图7 history查看执行命令结果

通过分析我们发现,图6通过last命令可以发现攻击者使用192.170.129.40这个IP地址频繁登录系统。图7显示攻击者登录后进行了一系列操作,如远程下载、修改登录密码、安装软件等,由此可以进行取证分析。

2 结语

作为电子数据取证技术的一个重要分支,网络入侵取证技术已经成为一个热点。本文探讨了网络入侵取证的部分方法,对于基于Linux系统的网站日志和Linux系统自身日志的取证实现方法进行了实践。目前,网络取证技术还没有统一、比较完备的网络取证流程,这造成了没有统一的取证工具以及缺乏相应的评价指标等现状。但是我们相信,网络取证将来会得到越来越多的重视,并将成为应对网络犯罪的重要手段。

猜你喜欢

攻击者日志命令
只听主人的命令
一名老党员的工作日志
基于微分博弈的追逃问题最优策略设计
扶贫日志
正面迎接批判
移防命令下达后
游学日志
这是人民的命令
有限次重复博弈下的网络攻击行为研究
一种基于粗集和SVM的Web日志挖掘模型