安全研究 | Suricata流量还原技术与应用实践
Suricata介绍
Suricata是一个开源的网络入侵检测和防护系统(IDS/IPS),由Open Information Security Foundation(OISF)开发和维护。该系统可以利用多线程设计在硬件上实现高性能数据处理,并且能够深入检查并解析多种网络和应用层协议。通过高级的流量处理和还原能力,Suricata能够实时识别并处理网络威胁,为分析人员提供原始且详尽的网络通信数据,助其深入洞察网络行为,预防潜在的安全隐患。
Suricata流量还原技术的原理
Suricata流量还原技术主要基于网络流量来重构原始数据,为深入分析和研究数据提供基础。一旦Suricata捕获到网络流量,就能灵活解析多种协议,并从中提取文件、会话内容等关键数据。流量还原技术的核心在于,它将这些提取的数据按照原始的顺序和结构重新排序,确保还原出的数据与原始传输状态一致。这种技术赋予了分析人员直观理解攻击内容、方法和目的的能力,并为后续的高级分析(如文件的恶意性检测)提供了有力支持。
Suricata流量还原技术的过程
(1)数据包捕获
首先,Suricata通过监听指定的网络接口,利用如PCAP这样的工具库,实时捕获并临时存储数据包。为了保障数据的完整性以及检测的准确性,Suricata通过特定的内存和缓冲区策略,确保即使在高流量环境下也能有效捕获数据。同时,通过动态的负载均衡技术,Suricata使得每个处理线程都能有效处理其分配到的数据,从而提高处理效率,防止性能瓶颈出现。
(2)会话跟踪
会话跟踪是确保网络流量上下文完整性的关键环节。一旦Suricata识别到一系列相关联的数据包,它会依据源、目标地址及端口信息快速创建会话记录。这些记录不仅用于分类,更是为了全面理解通信的完整性。为了高效管理这些会话,Suricata维护了一个动态的会话表,能够迅速识别并更新现有会话或创建新会话。此外,通过对会话内的数据包进行深度分析,Suricata能够捕捉更为复杂的通信模式(如多阶段攻击或数据传输),从而为后续的安全分析和响应提供详尽且丰富的上下文信息。
(3)数据包排序
数据包在传输过程中可能会遭遇乱序,因此排序成为流量重组的重要环节。在TCP通信中,Suricata精准利用TCP头部的序列号来确定数据包的正确顺序,确保每个数据包都能各归其位。
数据包排序关乎流量的连贯性、数据的完整性和准确性,而网络拥塞、路由变动或其他外部因素都可能导致数据包顺序混乱,进而影响数据流的完整性和分析结果的准确性。为此,Suricata通过持续跟踪每个会话的状态和预期的数据包序列号,对这些数据包进行排序。此外,为了确保不会因为失序而丢失重要的通信内容,Suricata会暂时存储那些尚未找到正确位置的数据包。这一策略在保障数据流完整性的同时,也确保了Suricata在处理高速、高流量网络时,能够捕获并正确解析所有关键信息,为网络安全分析提供强有力的支持。
(4)重组数据流
当数据包经过精确的排序后,Suricata便开始着手将这些分散的碎片重新拼凑成原始的形态。像拼图一样,每个数据包都被放在其应有的位置,形成一个流畅且连贯的数据流。这一过程不仅还原了通信的真实情境,也为后续深入的安全分析构建了稳固的基石。
(5)处理重组的数据
数据流一经Suricata恢复与重组,便开启了对数据的深入挖掘之旅。这一过程不仅仅是简单的内容浏览,而是涵盖了多层次、多角度的细致分析,包括但不限于协议分析、应用行为识别,以及潜在安全威胁检测等。
(6)协议解析
协议解析是流量重组后的首要任务。Suricata凭借内置的协议解析器,能够轻松解码网络中遵循的多种协议,如HTTP、FTP、SMTP等。这一解码过程不仅有助于识别数据流的类型,也有助于进一步的数据和文件提取。
(7)识别文件类型
在文件还原过程中,准确识别网络流量中传输的文件类型是关键步骤。Suricata运用了一种高效的方法,即深入剖析数据载荷,聚焦文件的开头签名或特定的文件头信息,以精确判断文件类型。例如,无论是PDF文档还是JPEG图片,它们独特的文件头标识都能被Suricata精准捕捉并识别。
(8)数据提取
在协议解析和文件类型识别的基础上,Suricata能够进一步从数据流中提取关键信息和内容,涵盖特定字符串、用户凭据、URL乃至完整的文件内容。这些提取出的数据元素可用于进一步的分析,例如与恶意软件签名匹配或进行行为分析,并为数据重组文件还原工作提供支持。
(9)文件还原
一旦完成了协议解析、文件类型识别和关键数据的提取,Suricata便进入了文件还原的阶段。在这一步,系统会将数据流中分散的文件碎片重新组合,恢复成它们原始的完整文件形式。
文件还原实践
文件还原实践
下述内容采取监控本机网卡的形式,从服务器下载文件,利用Suricata技术监听网卡从而还原流量。
图 1 修改Suricata配置文件
图 2 监听本机网卡
服务器目录下放两个文件,cy.exe、cy.jpg
图 3 流量还原的文件
图 4 下载文件
查看/var/log/suricata/files日志目录
图 5 文件成功还原
Suricata流量还原实际应用
(1)网络取证与事件响应
当网络安全事件发生时,响应团队经常需要深入了解攻击的细节。Suricata流量还原技术为分析人员提供了强大支持,使他们能够从捕获的流量中重构并审视原始文件、通信内容及关键数据,攻击的来源、技术手段和目的也会更加清晰明确,加速了安全事件的响应速度,确保响应团队能够及时、准确地修复潜在的安全隐患。
(2)恶意软件分析
Suricata能够从流量中还原出传输的文件,当系统检测到疑似恶意活动时,这些相关文件便能直接从流量中提取出来。随后,这些文件可送入沙盒环境或高级分析工具中进行深入检查,以确定它们的行为和功能,从而帮助分析人员识别新的恶意软件变种或不寻常的攻击模式。
(3)数据泄露检测
数据泄露对组织而言是重大风险,特别是在敏感信息领域。利用Suricata的流量还原技术,组织能够检查网络流量中传输的文件内容,从而确定是否有重要或敏感的数据被非法传输或泄露。这种能力赋予了组织实时监测并有效应对数据泄露事件的利器,为信息安全构筑了一道坚实的防线。
威斯尼斯人wns2299cn安全研究院
威斯尼斯人wns2299cn安全研究院专注工控协议和安全漏洞库研究,具备持续性的工业协议分析能力、漏洞挖掘能力以及病毒处理、灾后数据恢复能力,为国家多个管理机构提供漏洞上报和预警信息上报。凭借在工业互联网安全领域的贡献,威斯尼斯人wns2299cn荣幸入选国家信息安全漏洞库(CNNVD)-二级技术支撑单位,并荣获其颁发的年度优秀技术支撑单位称号。同时,威斯尼斯人wns2299cn还成功入选了2021年度国家工业信息安全漏洞库技术支持组成员单位、工业信息安全应急服务支撑单位(NISIA)和工业信息安全监测预警网络建设-CICS-CERT支撑单位等。目前,威斯尼斯人wns2299cn提交的工业和信息化部网络安全威胁和漏洞信息共享平台通用网络产品安全漏洞库的漏洞中,有数十项漏洞已被收录,包括超危、高危、中危漏洞。
威斯尼斯人wns2299cn工控漏洞库维护着数千个工控漏洞及工控漏洞利用代码和扫描指纹,近千种各工控设备厂商产品信息。威胁情报库、安全事件知识库数量110万余条;维护着数百种工控固件/软件版本识别指纹。成立至今,已分析过200个以上的工控漏洞,挖掘出艾默生DCS、西门子PLC、VxWorks等多款设备的0Day漏洞,上报国家工业信息安全漏洞库(CICSVD)原创通用型漏洞百余个,国家信息安全漏洞库(CNNVD) 原创通用型漏洞百余个。未来,威斯尼斯人wns2299cn将持续聚焦于工控安全多个方向和领域的专项研究,不断完善漏洞信息共享平台,提升网络安全防护能力,为构建更加安全可靠的数字化社会作出更大贡献。