让安全处置更高效的“数据流分析”,助你洞察攻击流量交互

在IT网络安全领域,基于流量的攻击识别与研判是保障网络空间安全的关键环节。本系列文章基于HTTP协议,深入剖析Web攻击流量的底层逻辑与特征模式。其中,科来网络分析系统(即CSNAS)的“数据流”功能,可以更直观、高效地展示基于HTTP协议的攻击流量交互过程,帮助读者快速理解网络攻击流量的本质,精准识别各类Web攻击手段,从而在实际工作中更高效地应对网络安全威胁。

  “数据流分析”是什么样的功能?

科来网络分析系统数据流图功能,是基于TCP/UDP会话视图下的数据流展示功能。该功能首先将TCP流量从基于IP、端口对不同数据包内容按照TCP/UDP会话进行归类集合,再基于会话提取每一数据包中的应用载荷部分,并组合展示的功能。

CSNAS系统的数据流功能对应用信息的发送方向、端口、IP地址等关键信息进行了特别展示,为用户提供多维度分析视角,极大地提升了流量分析的效率与精准度,从而优化整体分析流程,助力用户在复杂网络环境中快速定位并解决问题。

该功能如何使用?一个步骤即可进入该界面,且随小编一起来体验:

启动CSNAS流量分析以后,点击“TCP会话”视图,找到希望分析数据流的TCP/UDP会话,单击选中,随后点击“数据流”子视图,即可开始观察此会话的数据流交互信息。

图1:数据流分析——HTTP请求

  “数据流分析”,能体现哪些信息?

以图1数据流为例,在小编看来,体现了如下基本信息:

1、这是一条HTTP GET请求流量,请求URL为/DVWA/vulnerabilities/sqli/

2、请求中包含参数id=1%27+order+by+3%23&Submit=Submit,这是请求的资源路径,包含了参数id和Submit。其中id参数的值经过了URL编码,解码后为1’+order by 3#,这一种SQL注入攻击行为,因为order by 3常用于判断数据库表中列的数量,而#用于注释掉后续的SQL语句

3、通过Host字段和节点2 IP地址信息,判断目标Web服务运行在80端口,服务器的IP地址和域名均为192.168.226.128。

4、User-Agent:客户端指纹信息,这里显示的是Windows 10系统上的Chrome 92.0.4515版本浏览器。请注意,这是一个相对旧版本的浏览器,一些攻击软件可能会集成这些UA进行伪造,伪造的UA特征一般为浏览器版本较老。需要进一步结合其它信息(流量出现的时间、该IP地址的其它HTTP流量)判断该UA字段是否为软件伪造。

5、Accept-Language:zh-CN,zh;q=0.9,客户端优先接受中文(简体)的内容,说明客户端主机操作系统可能为简体中文。

6、Cookie:security=low; PHPSESSID=36s3ic7bacs86dcg7qnui4bprq,这是客户端发送给服务器的HTTP cookie,其中security=low可能表示当前会话的安全级别设置为低,PHPSESSID是会话标识符,用于维持客户端与服务器之间的会话状态。

  攻击成功了吗?

通过刚才的分析可以判断,这是一个基本的SQL注入攻击测试行为。要研判攻击是否成功,需要结合该条流量对应的HTTP响应内容进行判断,响应内容如下图所示:

图2:数据流分析——HTTP响应

以图2数据流为例,图2中出现了蓝色字体,这是CSNAS标记的服务器流量,而之前的绿色字体则为客户端流量,这种颜色的区分便于分析流量的通信方向。对此HTTP响应的数据流内容分析,能够得到如下信息:

1、这是一条HTTP响应流量,响应状态码为200 OK。这里提示之前的攻击请求可能已经被服务器处理且正常响应,说明服务器可能受攻击,但暂不能排除服务器一侧安全设备通过HTTP 200状态码响应拦截页面的情况。

2、响应中还包含了服务器发送响应的日期和时间、服务器的Apache版本、操作系统、OpenSSL版本以及加载的模块、PHP 7.3.4脚本语言版本这些敏感信息。

3、响应体中包含2f,为16进制数字,表示表示接下来的块的长度为2f(即47字节)。这47字节内容为Unknown column ‘3’ in ‘order clause’

这是HTML格式的响应内容,标签表示预格式化的文本,内容为Unknown column ‘3’ in ‘order clause’,这通常是一个SQL错误信息,表明在SQL查询中尝试对不存在的列’3’进行排序。随后,服务器换行响应了一个0,表示接下来的块长度为0,即响应体结束。

这段HTTP响应表明服务器成功处理了请求,且返回了一个SQL错误信息,提示在查询中使用了不存在的列进行排序。说明客户端提交的SQL注入语句执行成功。

  数据流分析的小技巧? 

实际分析过程中,可能会涉及到如下操作,例如放大字体、搜索、单向展示等功能,接下来随小编来一起了解数据流中的“实用小功能”:

1.关键字搜索

在数据流中,可通过快捷键Ctrl+F(查找关键字)和快捷键F3(查找下一个)来实现快速查找功能。在数据流窗口中按下Ctrl+F快捷键后,弹出搜索窗口,如图3所示

图3:数据流搜索

2.数据流概要

一些TCP会话内可能存在多次应用交互,CSNAS系统支持通过右侧的“数据流概要”窗口概览每次交互的大致内容。点击选中某一次交互时,对应数据流窗口中的字符会被定位、选中(包括在HEX模式下)。


图4:数据流概要

3.基于数据流的会话过滤

在一些分析场景中,可能出现上千条TCP会话的情况。在这种情况下,要快速找到数据流中包含特定关键字的会话,则需要用到“会话筛选器”功能。设置并启用会话筛选器后,重新播放一次数据包,即可实现只显示包含特定特征的TCP会话,实现快速排查。会话筛选器的设置步骤稍显复杂,如图5所示:

图5:会话筛选器的设置流程

4.单/双向数据流显示

在数据流视图中,包含一些按钮的设置,前三个按钮功能为设置数据流显示方向。默认数据流显示双向,读者可通过此处设置实现仅显示单向数据流。功能设置按钮如图6所示:

图6:数据流分析——显示方向设置

5.显示数据包数量设置

数据流显示方向右侧的按钮功能为设置数据流视图显示的数据包数量。默认一条数据流内仅显示该会话前50个数据包组成的数据流,要分析大流量会话时,读者可通过此处设置实现全部显示或部分显示。功能设置按钮如图7所示:

图7:数据流分析——数据包数量显示

6.显示编码设置

数据包数量右侧的四个按钮,功能为设置数据流显示时使用的编码方式。对于一些包含中文的网站,设置本地显示与数据传输时使用的编码方式一致,即可正确显示中文编码。设置方式如图8所示:

图8:数据流分析——显示编码方式设置

7.HEX模式与导出

数据流显示支持HEX模式,且支持导出。在未启用HEX模式时,导出功能为导出数据流文本;在启用HEX模式后,导出功能为导出HEX字节流。该功能适用于分析HEX场景,或数据流导出场景。启用HEX模式后,读者可以在HEX区域选择对应数据流,并导出数据流,还原一些流量中传输的恶意文件。启用HEX模式前后的截图如图9、图10所示:

图9:数据流分析——启用HEX模式前

图10:数据流分析——启用HEX模式后

8.字号放大、缩小与自动换行

CSNAS系统支持调整数据流视图中的字号,通过Ctrl+滚轮的方式即可实现对字体的放大缩小。字体放大后,可以通过Ctrl+W快捷键启用自动换行,便于分析。放大并启用自动换行后的字号,如图11所示:
 

图11:数据流分析——大字号与自动换行

通过这些分析技巧,读者应该能够基本掌握TCP/UDP会话视图中的数据流子视图使用方法,提升安全分析中的分析效率。

  结语  

本文介绍了科来网络分析系统数据流功能的基本使用方法,深入探讨了数据流视图中多个小功能的使用技巧,通过深入理解和掌握此类分析技巧,能够提升流量分析工程师在运维和安全分析场景中的快速分析数据流能力。本系列的下篇文章起,我们将在数据流视图中逐步分析各种常见的Web安全攻击流量。