马之力 智勇 张驯 闫晓斌 党倩 袁晖 朱小琴
【 摘 要 】 近年来,网络攻击手段愈加丰富、隐蔽性更强,入侵检测、态势感知等安全防护技术虽能发挥重要作用,但针对有些攻击方式则难以监测其攻击行为,在排查诊断攻击时也收效有限。论文研究提出通过捕获数据包并对其进行分析,将网络从原来封闭的黑盒子,变为可直观展现的详细数据,进而诊断定位网络攻击的方法,并列举了相应的实例。该方法能够快速诊断定位网络攻击源及攻击手段,并且解决常规分析手段难以分析的疑难攻击问题。
【 关键词 】 数据包分析;数据包捕获;网络攻击;攻击诊断
【 Abstract 】 Recent years, the means of network attacks are increasingly rich, and more concealed. Meanwhile, Intrusion detection, situational awareness and other security technology can play an important role, but for some attacks it is difficult to monitor its aggressive behavior, and is also limited success when troubleshooting diagnosis attack. The paper proposes a method for the diagnosis of attacks targeting network by capturing and analyzing data packets. So, the detailed data of network can be visually show. Additionally, the paper lists the corresponding instance. This method can quickly diagnose and locate the source and means of network attacks,and solve difficult problems of the conventional methods difficult to analyze.
【 Keywords 】 packet analysis; packet capture; network attack; attack the diagnosis
1 引言
随着企业信息化建设的快速发展,网络规模愈加庞大,应用系统、数据库、中间件等软件产品和主机、网络、安全等硬件设备更为复杂,恶意攻击和安全威胁的排查难度难度明显增大[1]。通常,网络管理者监测的重点在于网络是否可用、负载是否正常、关键应用是否访问正常。但当前很多网络攻击可在不影响应用或影响不大的的情况下获取内部数据信息,造成敏感信息泄密。例如,SQL注入攻击。另外,有些攻击方式隐蔽性很强,入侵检测系统等常规安全设备很难监测其攻击行为[1] [2]。
针对以上问题,本文研究提出通过捕获数据包并对其进行分析,进而诊断定位网络攻击的方法。
2 数据包捕获
数据包的捕获是对其进行分析的基础,根据数据包传输方式的不同分共享式和交换式两大类。共享式捕获即:将数据包捕获程序接入到集线器(Hub),则任何一个端口传输的数据都可被捕获,无需对集线器进行任何设置[3]。交换式捕获涉及多种方法。
(1)端口镜像:把交换机某个或多个端口(Vlan)的数据镜像到其他端口的方法,即通过对交换机进行配置,实现将某个端口的数据包拷贝一份到其他端口上。
(2)测试入口点(Test Access Point,TAP)捕获:通过分路器、分光器直接获取网络链路上的物理信号而获取流量,可复制到多个端口、汇聚到个别端口,也可根据一定规则过滤出需要的数据。
(3)MAC洪泛捕获:通过向交换机发送大量Mac地址,造成交换机内容寻址存储器(Content Addressable Memory, CAM)表溢出,此时交换机会将数据包在广播域中泛洪,从而捕获数据包。该方法会造成网络堵塞,导致网络性能下降。
(4)ARP欺骗捕获:地址解析协议(Address Resolution Protocol, ARP)欺骗通过向目标主机发送伪造的ARP应答包,将目标主机网关的MAC地址修改为攻击者的主机MAC地址,同时向目标主机网关发送伪造的ARP应答包[4]。攻击者作为“中间人”, 目标主机的数据都经过它中转,如此,窃取到目标主机的通信数据。
3 数据包分析技术的应用
数据包分析是指通过解析网络中最小人工可读数据,以全面掌握网络及应用的运行规律与状态的一种技术。通过数据包分析,能够有效识别并快速诊断定位网络中的恶意攻击行为,以及不安全和滥用网络的应用。
3.1 扫描攻击诊断及定位
网络扫描通常利用TCP、UDP等方式检测操作系统类型及开放的服务,为进一步攻击做好准备[2] [5]。常见的网络扫描方式有TCP SYN扫描、UDP扫描、NULL扫描、ACK扫描、FIN\ACK扫描以及ICMP扫描等[2] [5]。
该类攻击的数据包具有几项特征:(1)小包数量多,128字节以内的数据包较多;(2)TCP同部位(SYN)置1,TCP重置位(RST)置1的数据包较多;(3)产生大量的TCP或UDP会话,且这些会话的特征非常相似;(4)扫描主机会采用连续端口或固定端口尝试与目标主机连接;(5)会出现大量ICMP端口不达消息。
3.2 拒绝服务攻击诊断及定位
拒绝服务攻击是黑客常用的攻击手段之一,目的是使目标主机停止提供服务。通常,拒绝服务攻击分为针对网络带宽的消耗、连接的消耗、资源的消耗三种[6],攻击过程中数据包的特征有几种。
(1)带宽消耗型——网络流量会明显变大,通过消耗网络带宽达到拒绝服务的效果。
(2)连接消耗型——通常会产生大量的TCP会话连接,通过占满网络会话数量达到拒绝服务的目的。
(3)资源消耗型——通常网络流量变化不明显,通过发送异常数据对服务器进行高级攻击,以消耗服务器资源,达到拒绝服务攻击的效果。
3.3 木马攻击诊断及定位
木马多采用反弹方式由内向外进行连接,以绕开防火墙等传统安全设备和技术的检测,隐蔽性更强[7]。该类攻击的数据包具有几个特征。
(1)解析恶意动态域名。木马在进行连接时首先通过查询动态域名、Blog等形式,找到控制端的IP地址与服务端口[7]。
(2)长连接会话。通常木马连接以TCP长连接的方式进行通讯,客户端或主控端定时发送心跳包,保持TCP会话。
(3)高端口连接。通常木马通过高端口的方式与主控端进行连接。
(4)客户端主动发起连接。为躲避安全设备检测,木马主要通过反弹上线方式,由客户端主动发送TCP同步包(SYN)建立会话。
4 网络攻击诊断定位实例
4.1 HTTP慢速拒绝服务攻击
4.1.1 故障现象
网站业务对互联网提供Web服务,在没有任何征兆的情况下所有用户突然不能访问Web应用。
4.1.2 攻击诊断及定位
a) 通过重启服务器及Web服务,能够恢复正常,但几分钟后网站依然不能访问。
b) 怀疑防火墙等安全设备拦截了用户访问,但查询所有策略并未发现异常,可能不是安全设备造成的影响。
c) 通过网络管理软件等手段进行监测,未发现大规模流量突发。
d) 通过端口镜像方式接入数据包分析设备,发现存在外部地址针对网站的慢速拒绝服务攻击。
e) 通过分析数据包,发现攻击者通过HTTP POST方法向网站目录上传文件,HTTP请求头部Content-Length字段宣告要上传10000字节数据,但攻击者每间隔几秒才向服务器发送1个或几个字节有效数据;如此,无论网站是否支持向根目录POST上传数据,服务器都需先占用10000字节资源用于接收攻击上传的数据,大量类似的会话导致服务器无法正常访问,形成应用层拒绝服务攻击。
4.1.3 问题解决
通过拦截攻击者IP地址的方式,同时通过Web应用防火墙和其他防护设备阻断所有向网站“POST /”的HTTP请求,阻止类似特征的攻击行为。
4.1.4 慢速拒绝服务攻击数据包特征分析
HTTP慢速拒绝服务攻击有别于带宽消耗类攻击,难以通过常规手段诊断定位。分析该类攻击,其数据包具有几个特征。
a) 攻击主机会短时间内与网站建立了几百个甚至更多的TCP会话,连接会话数量明显高于正常访问,但不足以造成服务器连接耗尽。
b) 攻击主机基于HTTP请求使用POST方法,声称要向网站的目录上传数据。
c) 在请求头部Content-Length字段声称需要传输大量数据,如10000字节。
d) 建立连接后每隔几秒才向服务器发送1个或几个字节有效数据。
4.2 DOS木马攻击
4.2.1 故障现象
网络经常不定时出现访问互联网缓慢的情况,严重时不能访问网络。
4.2.2 攻击诊断及定位
a) 此类情况通常是网络内主机与互联网主机存在大流量的数据传输,拥塞互联网出口带宽导致。
b) 通过数据包分析发现,问题发生时段互联网出口上行带宽利用率达到100%,初步判断流量突发的原因是内部服务器与互联网的一个地址产生了大流量数据传输。
c) 深入分析数据包,发现该服务器在对互联网地址发送大量TCP同步包(SYN),频率非常高,并且TCP同步包(SYN)中带有填充数据,由于TCP同步包(SYN)是TCP/IP建立连接时使用的握手同步数据包,不应包含任何应用层数据,但分析发现该数据包中含有HTTP数据,且填充内容全为0,说明这些数据包为明显的伪造数据包。
d) 再对流量突增之前时段的可疑TCP会话进行深入分析,发现木马主控端地址;该服务器会主动向主控端地址的TCP801、803、888等多个端口发起TCP请求,建立TCP连接后长时间保持会话,该服务器会定期发送1字节的数据保持连接,并且该服务器主动向主控端发送本机的系统信息、内存、CPU及网卡信息。
e) 经过一段时间的保持会话,主控端向该服务器发送了84字节的数据,通过数据流还原可以看到内容为随后被DOS攻击的IP地址,说明这个数据包是攻击者向该服务器发送的攻击指令,服务器收到指令后会向目标发送大量伪造数据包进行DOS攻击。访问互联网缓慢正是由于大规模流量造成互联网出口带宽被占满而导致。
4.2.3 问题解决
根据数据包分析结果,定位该服务器,对其进行断网隔离、查杀恶意程序处理,网络随即恢复正常。
4.2.4 DOS木马攻击数据包特征分析
分析该类攻击,其数据包具有几个特征。
a) 感染DOS木马主机在工作时会产生大量数据传输。
b) 传输的数据包为伪造的TCP同步包(SYN)。
c) 传输频率非常高。
在主控端没有发送攻击指令时,目标主机不会占用太多带宽,此时分析难度较大,可通过几个特征判断。
a) 目标主机会通过TCP不知名端口主动发起TCP会话请求。
b) 目标主机与主控端保持长连接会话。
c) 目标主机会向主控端发送本机信息。
d) 主控端需要发起攻击时会通过传输攻击指令数据包,控制目标主机发起攻击。
4.3 网站SQL注入攻击
4.3.1 问题描述
网站发生内部信息泄漏,造成敏感数据流出,怀疑存在网络攻击。
4.3.2 攻击诊断及定位
a) 通过网络管理软件监测服务及服务器运行状态,发现流量趋势平稳,运行状态良好,不存在大规模拒绝服务攻击及其他攻击行为。
b) 通过数据包分析发现某互联网主机频繁访问网站,根据访问速率判断明显不是人工手动操作。再对数据包进行深入分析,发现该互联网主机频繁通过POST方法向网站的一个URL地址发送数据,该URL下某参数存在通用型注入漏洞,攻击者可通过该参数对网站进行SQL注入。
c) 对数据包解码,发现服务器对此URL的回应多为代码为500的HTTP 错误,说明网站确实存在。
d) 详细解码数据包,发现攻击者通过该参数成功注入,连接了网站数据库,且下载了数据库的关键数据。
4.3.3 问题解决
通过对攻击主机的IP进行拦截,修复网站应用漏洞,增加对异常SQL语句的过滤,成功解决了SQL注入攻击问题。
4.3.4 POST类型SQL注入攻击数据包特征分析
该类攻击将注入数据放置在HTML HEADER内提交,数据在URL中看不到,并且POST传输数据较多,通过常规的URL分析手段难以诊断问题。分析该类攻击,其数据包具有几个特征。
a) 大量以POST方式访问网站的某一(或多个)URL。
b) 攻击主机与网站短时间内会建立大量TCP会话连接。
c) 解码数据包,查看POST内容,发现每个数据包提交内容的某一(或多个)参数值不停变化,并且内容带有明显的SQL注入特征。
d) 存在大量数据库报错及HTTP 500错误响应。
e) 通过数据包分析,检测数据包内容中是否包含数据库名、表名等关键信息,说明攻击者已通过SQL注入方式窃取了网站的数据。
5 结束语
本文通过理论结合实际的方式详细介绍了网络数据包分析技术在网络攻击诊断定位中的实际作用。该方法通过捕获数据包并对其进行分析,以诊断定位网络攻击。基于该方法,可帮助网络管理者快速发现各种网络攻击,快速定位网络攻击源及攻击手段,并且能够解决常规分析手段难以分析的疑难攻击问题,对一些隐藏深、危害大的网络攻击取得很好的实际效果,更好的保障网络及应用的安全。
参考文献
[1] 张玉清.网络攻击与防御技术[M].北京: 清华大学出版社,2011.
[2] 吕雪峰,彭文波,宋泽宇. 网络分析技术揭秘[M].北京:机械工业出版社,2012.
[3] 赵新辉,李祥.捕获网络数据包的方法[J].计算机应用研究,2004,(8): 242-255.
[4] W.Richard Stevens.TCP/IP ILLustrated Volume 1: The Protocols[M].Beijing: Mechanical Industry Press,2000.
[5] 张鸿久.网络分析在电力企业的应用研究 [D].河北:网络分析在电力企业的应用研究,2007.
[6] 鲍旭华. 破坏之王-DDoS攻击与防范深度剖析[M]. 北京:机械工业出版社,2014.
[7] 科来软件.疑难网络故障分析案例集2012[EB/OL].北京:百度文库,2012 [2016-03-02].http://wenku.baidu.com.
作者简介:
马之力(1983-),男,甘肃武山人,工程师,从事电力信息化建设及安全技术工作。
智勇(1972-),男,陕西大荔人,高级工程师,从事电力系统自动化及继电保护管理与技术研究工作。
张驯(1982-),男,江苏扬州人,工程师,从事电力信息通信管理及安全技术工作。
闫晓斌(1976-),男,甘肃平凉人,高级工程师,从事电力信息化建设及管理工作。
党倩(1981-),女,陕西韩城人,工程师,从事电力信息化管理与运维工作。
袁晖(1989-),男,甘肃兰州人,助理工程师,从事电力信息通信建设及安全技术工作。
朱小琴(1990-),女,甘肃临洮人,工程师,从事电力信息通信运维检测技术工作。