基于多技术融合的智能高级攻击监测系统设计

known 发布于 2025-08-25 阅读(315)

摘" 要:为应对新型电力系统和网络数字化设备发展中网络安全面临的挑战,文章提出一种基于多技术融合的智能高级攻击监测系统。系统采用分层设计,包含流量层、解析层和检测层,以此实现对数据的全面捕获与深度分析。在研究过程中,运用了深度包检测技术、智能化检测技术以及可编程对抗技术,构建了特征库模块、智能检测模块和插件检测模块,并借助机器学习算法增强智能检测能力。实验结果表明,该系统能够有效地监测已知和未知的攻击流量,为网络安全攻击监测提供了一种全面的解决方案。

关键词:网络安全;高级攻击监测;多技术融合;深度包检测;智能化检测;可编程对抗

中图分类号:TP311;TP309.5" 文献标识码:A" 文章编号:2096-4706(2025)03-0170-08

Design of Intelligent Advanced Attack Monitoring System Based on Multi-technology Fusion

LIU Yuting, HANG Feilu, XIE Linjiang

(Information Center of Yunnan Power Grid Co., Ltd., Kunming" 650217, China)

Abstract: In order to address the challenges of network security in the development of new power systems and network digital equipment, this paper proposes an intelligent advanced attack monitoring system based on multi-technology fusion. The system adopts layered design, including traffic layer, parsing layer and detection layer, so as to realize the comprehensive capture and in-depth analysis of data. In the research process, the Deep Packet Inspection technology, intelligent detection technology and programmable countermeasure technology are used to construct the feature library module, intelligent detection module and plug-in detection module, and the Machine Learning algorithm is used to enhance the intelligent detection ability. The experimental results show that the system can effectively monitor known and unknown attack traffic, and provides a comprehensive solution for network security attack monitoring.

Keywords: network security; advanced attack monitoring; multi-technology fusion; Deep Packet Inspection; intelligent detection; programmable countermeasure

0" 引" 言

随着新型电力系统的建设和网络数字化设备的发展,业务日益多样化,网络结构愈发复杂,与此同时,需要应对的网络攻击手段也越来越复杂,网络安全面临着更大的挑战。目前,市场上的网络安全设备主要基于规则进行安全检测和防护,存在网络安全检测不够全面的问题,尤其是对于智能高级攻击[1],传统的安全防御措施往往难以对其进行识别和预防。

因此,研发一种能够有效监测和识别智能高级攻击的方法,成为当前网络安全领域的研究重点。基于多技术融合的智能高级攻击监测技术,依托深度包检测[2]、智能化检测以及可编程对抗等技术,致力于实现更全面的安全攻击监测。

1" 系统架构说明

1.1" 系统总体结构

整个高级攻击监测系统采用分层设计,各层相互依赖,下层功能的实现是上层功能实现的前提条件,主要包括流量层、解析层、检测层三大模块[3]。

1.1.1" 流量层

流量层主要定义流量的处理范围。在本系统中,将捕获并处理入口网卡的所有流量,做到应检尽检。入口网卡在全过程中均使用混杂模式,以确保捕获的全面性。

1.1.2" 解析层

解析层主要实现数据包的深度包解码工作,由数据包捕获、数据包预解码、协议识别、流重组、HTTP流量识别5个模块组成,各模块实现的功能如下:

1)数据包捕获。主要负责捕获入口网卡的所有流量,并将其交给后续功能模块处理。捕获方式采用内联模式,以保证在后续威胁检测过程中,能做到发现即拦截,提供实时防御服务。

2)数据包预解码。主要负责将以太网帧解码为IP数据包,为流量识别奠定基础。

3)协议识别。主要是识别出网络层的IP协议、ICMP协议(其中ICMP基于IP协议,属于网络层),以及传输层的TCP、UDP协议。

4)流重组。主要完成将由多个数据包发送的数据进行重组,以保证被检测数据的内容完整性。

5)HTTP流量识别。主要完成对应用层协议的分析处理,识别出其中的HTTP流量(含HTTPS)[4]。

1.1.3" 检测层

检测层主要实现安全检测的功能,主要包括特征库检测、智能检测、插件检测三个模块,各个模块功能及相互间的作用如下:

1)特征库。对解码后的HTTP数据包进行特征库匹配,以识别攻击流量。若为攻击流量,则打上攻击流量标签,根据命中特征库的动作,仅产生告警或直接拦截;若为正常流量,则进入下一攻击检测环节,进行智能检测和插件检测的旁路检测。未被拦截的流量直接进入编排层和处置层,进行下一步处理[5]。

2)智能检测。对解码后的HTTP数据包进行智能模型检测,以识别攻击流量。若为攻击流量,打上攻击流量标签,并产生告警。若为正常流量,或者疑似攻击流量,则等待插件检测结果,以判断是否产生告警,并完成检测[6]。

3)插件检测。对解码后的HTTP数据包进行插件检测,以识别攻击流量。若为攻击流量,打上攻击流量标签,并产生告警。若为正常流量,或者疑似攻击流量,则等待智能检测结果,以判断是否产生告警,并完成检测[7]。

1.2" 系统业务流程

基于深度包检测、智能化检测以及可编程对抗等技术相结合的高级攻击监测技术,旨在实现更全面的安全攻击监测。具体业务流程如图1所示。

通过DPI深度包解码技术,对Web访问流量进行解析,深入分析Web应用层协议内容。随后,通过开发深度包特征检测、可编程插件检测、智能检测等功能,实现对Web应用的高级威胁检测预警及流量拦截。

1.3" 系统实现时序结构

系统实现过程中,流量接收、解码、特征库检测、插件检测、智能检测等功能由各技术栈协同完成。具体各技术栈实现功能的时序如图2所示。

具体如下:

1)接收流量、解密并转发到解码。从网卡接收流量,针对其中的HTTPS包进行解密,并将流量转发至HTTP深度包解码环节。

2)解码并转发到特征库。对HTTP流量进行解码,解码完成后将流量转发给特征检测模块。

3)特征库检测。通过前端界面进行特征库页面的增删改查操作,维护特征库,并将规则同步到指定文件;触发重新在线加载文件;对解码后的流量进行特征匹配,根据流量包标志对流量进行包内拦截或放行处理。

4)流量转发。推送经过特征库检测且带有是否为攻击包标志的流量到消息中间件。其中,标识为“true”表示是攻击包,“1”表示不是攻击包。

5)智能检测。通过前端界面完成智能检测的增删改查、切换维护和存储操作,通过消费消息中间件队列,对标志为“1”的流量包通过智能模型进行流量检测。

6)插件库。通过前端界面完成插件库的增删改查、启停维护操作,通过消费消息中间件队列,对标志为“1”的流量包调用已注册编写的lua脚本、Python脚本进行插件检测。

7)告警。对攻击包标志为“true”的流量包的告警信息进行整合并展示到前端。

备注:插件检测和智能检测是异步后置开展。

2" 系统功能实现

2.1" 深度包解码模块

深度包解码技术分为4个步骤:捕获数据包、过滤数据包、解码数据包和分析数据包。具体如下:

1)捕获数据包。作为深度包解码的第一步,通过网卡捕获流经网络的数据包,并将这些数据包记录下来,以便后续分析。

2)过滤数据包。捕获数据包后,使用规则文件配置过滤规则。该文件用于将每个数据包与规则集进行匹配,当发现匹配的数据包时,执行相应操作。符合过滤条件的数据包将被输出到指定目录。可利用动态编排技术指定IP、数据包类型等信息,并在规则头中配置以下命令以实现过滤效果。

3)解码数据包。经过过滤器的数据包需要进行解码,包括协议解码、数据解码和数据包重组。协议解码器根据不同协议类型进行解析,数据解码器处理编码内容,甚至使用HTTPS证书解密数据。在数据包重组阶段,提供TCP重组功能,确保数据准确重建,按照Sturges/Novak模型操作。

4)分析数据包。主要分析解码后的内容,重点关注HTTP指纹识别。HTTP指纹是特定字节序列,如请求头、响应头和状态码,可分为请求头指纹、响应头指纹、状态码指纹和方法指纹。分析过程包括HTTP版本、Web服务器和应用程序识别,依赖基于字节序列的模式匹配。通过配置规则选项实现HTTP指纹识别和分析,方法类似于过滤数据包。

数据包解码格式如下:

Host: 10.110.8.43

Connection: keep-alive

Upgrade-Insecure-Requests: 1

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.81

Accept: text/html,application/xhtml+xml, application/xml;q=0.9,image/webp,image/apng,*/*; q=0.8,application/signed-exchange;v=b3;q=0.7

Referer: http://10.110.8.43/dvwa/vulnerabilities/sqli/

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6

Cookie: security=low; PHPSESSID=2ap16rssubhk3v6ptp9f86b5ur

2.2" 特征检测模块

深度包特征检测技术通过将网络流量中的数据包与预定义规则集进行比较,识别潜在威胁并生成警报。通过构建规则,将解码后的每个数据包与规则库进行匹配,若匹配成功则视为规则触发,判定为攻击流量。

2.2.1" 特征库构建

规则语法由规则头和规则选项组成。规则头包含规则ID、协议类型、源和目标IP地址、端口等元数据。规则选项包括触发条件,如关键字、内容、匹配方向等。规则修饰符则定义了匹配内容的位置(如头部、尾部或正文)、匹配次数及其他条件;通过规则语法和规则修饰符完成规则构建。

规则样例如下:alert tcp $EXTERNAL_NET any -gt; $HOME_NET $HTTP_PORTS ( msg:\"SERVER-WEBAPP Novell eDirectory iMonitor crafted Accept-Language header buffer overflow attempt\"; flow:to_server,established; http_uri; content:\"/nds\",fast_pattern,nocase; http_header; content:\"Accept-Language: \"; content:!\"0D 0A\",within 500; metadata:policy max-detect-ips drop; service:http; reference:cve,2009-0192; classtype:attempted-user; sid:57536; rev:1; rem:\"attacktype: other, threat_level: medium\";)

规则解释如下:alert[动作] tcp[协议] $EXTERNAL_NET[源IP] any [源端口]-gt; $HTTP_SERVERS[目的IP] $HTTP_PORTS [源端口] ( msg:“SERVER-WEBAPP PCCS mysql database admin tool access”[消息]; flow:to_server[流量流向],established[TCP建立状态]; content:“pccsmysqladm/incs/dbconnect.inc”[规则匹配模式],depth 36[匹配字节],nocase[忽略大小写]; metadata[元数据信息]:ruleset community[规则来源:社区/官方]; service[服务类型]:http; reference[外部链接或参考信息]:bugtraq,1557[ Bugtraq数据库中编号为1557的条目]; reference [外部链接或参考信息]: cve,2000-0707[CVE编号]; reference[外部链接或参考信息]::nessus,10783[编号]; classtype [攻击类型]; :web-application-attack[应用程序攻击]; sid[规则ID]:509[509];rev[版本]:18[18];rem[注释]\"attacktype[攻击类型]: other, threat_level[攻击等级]: medium\";)

规则语法:规则由两个主要部分组成:规则头(Rule Header)和规则选项(Rule Options)。以下是规则语法的详细介绍:

一是规则头(Rule Header)。规则头包含了与规则相关的元数据,定义了何时应该触发规则。规则头的基本语法如表1所示。

二是规则选项(Rule Options)。规则选项定义了触发规则的具体条件,由一个或多个关键字和参数组成。常用的规则选项如表2所示。

规则修饰符:规则修饰符是特征库规则语法中的一部分,用于进一步定制规则的匹配条件,允许用户指定特定的匹配条件或者改变匹配行为。一些常见的规则修饰符如表3所示。

2.2.2" 特征匹配实现

首先解析规则文件,生成不同的规则树,每个规则树包含三维链表:RTN(规则头)、OTN(规则选项)和FUNC(指向匹配子函数的指针)[8]。捕获到数据包后,进行解码和预处理,然后利用规则树进行匹配,以检测攻击报文。具体过程如表4所示。

特征库检测完成后,通过Kafka将数据包转发给可编程插件检测引擎和智能检测引擎,格式如下:

{

\"id\": 0,

\"timestamp\": \"155963355219723\",

\"src_ip\": \"192.168.50.1\",

\"dst_ip\": \"192.168.50.2\",

\"src_port\": 58482,

\"dst_port\": 18081,

\"black_white\": \"\",

\"black_white_ip\": \"\",

\"first_detect\": 1,

\"last_detect\": true,

\"current_pos\": 466,

\"current_detect_size\": 404,

\"current_data\": \"SG9zdDogMTkyLjE2OC41MC4yOjE4MDgxDQpVc2VyLUFnZW50OiBNb3ppbGxhLzUuMCAoWDExOyBVYnVudHU7IExpbnV4IHg4Nl82NDsgcnY6MTI3LjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvMTI3LjANCkFjY2VwdDogaW1hZ2UvYXZpZixpbWFnZS93ZWJwLCovKg0KQWNjZXB0LUxhbmd1YWdlOiB6aC1DTix6aDtxPTAuOCx6aC1UVztxPTAuNyx6aC1ISztxPTAuNSxlbi1VUztxPTAuMyxlbjtxPTAuMg0KQWNjZXB0LUVuY29kaW5nOiBnemlwLCBkZWZsYXRlDQpDb25uZWN0aW9uOiBrZWVwLWFsaXZlDQpSZWZlcmVyOiBodHRwOi8vMTkyLjE2OC41MC4yOjE4MDgxLw0KQ29va2llOiBQSFBTRVNTSUQ9a2kxc3FiNDZscjVvZjZmMGVtMWhhamxnNjY7IEtFWV9SQU5ET01EQVRBPTkzMDQNClByaW9yaXR5OiB1PTQ=\",

\"save_http\": true,

\"http_data_size\": 466,

\"complete_http_data\": \"R0VUIC9zdGF0aWMvdGVtcGxhdGVzLzIwMjFfeWVhcl8wMi91c2VybmFtZS5wbmcgSFRUUC8xLjENCkhvc3Q6IDE5Mi4xNjguNTAuMjoxODA4MQ0KVXNlci1BZ2VudDogTW96aWxsYS81LjAgKFgxMTsgVWJ1bnR1OyBMaW51eCB4ODZfNjQ7IHJ2OjEyNy4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzEyNy4wDQpBY2NlcHQ6IGltYWdlL2F2aWYsaW1hZ2Uvd2VicCwqLyoNCkFjY2VwdC1MYW5ndWFnZTogemgtQ04semg7cT0wLjgsemgtVFc7cT0wLjcsemgtSEs7cT0wLjUsZW4tVVM7cT0wLjMsZW47cT0wLjINCkFjY2VwdC1FbmNvZGluZzogZ3ppcCwgZGVmbGF0ZQ0KQ29ubmVjdGlvbjoga2VlcC1hbGl2ZQ0KUmVmZXJlcjogaHR0cDovLzE5Mi4xNjguNTAuMjoxODA4MS8NCkNvb2tpZTogUEhQU0VTU0lEPWtpMXNxYjQ2bHI1b2Y2ZjBlbTFoYWpsZzY2OyBLRVlfUkFORE9NREFUQT05MzA0DQpQcmlvcml0eTogdT00DQoNCg==\",

\"attack_traffic\": 1,

\"alert_save\": 1,

\"alert_msg\": \"\",

\"https\": 1,

\"pcap_file\": \"L3Zhci9sb2cvc25vcnQvMTlfcGFja2V0X2NhcHR1cmUucGNhcC4xNzE5OTAzOTA2\",

\"count\": 0

}

转发字段解释如下:id:id;timestamp:时间戳;src_ip:源IP;dst_ip:目标IP;src_port:源端口;dst_port:目标端口;black_white:是白名单或是黑名单黑名;black_white_ip:黑白名单的具体IP;first_detect:是否第一次对此HTTP数据进行检测;last_detect:是否最后一次对此HTTP数据进行检测;current_pos:规则库当前检测位置;current_detect_size:当前检测数据大小;current_data:源数据;save_http:是否保存HTTP;http_data_size:HTTP数据大小;complete_http_data:字段对应的偏移位置;attack_traffic:是否攻击流量;alert_save:是否报警保存;alert_msg:报警信息;https:是否是HTTPS;pcap_file:PCAP文件位置;count:流量包统计。

2.3" 可编程插件检测模块

该模块基于HTTP协议,通过编写逻辑代码,将解码后的流量特征与预定义的应用特征进行匹配,从而深入分析各种网络安全攻击。

2.3.1" 逻辑代码运行

流量转发:将与逻辑代码对应的网络流量作为输入数据导入可编程插件检测引擎中,系统会按顺序读取每一个IP数据包,对网络流量进行分析处理。

加载单元:将编写的插件代码动态地加载到应用程序中,使应用程序能够在不停止运行或重新编译的情况下,增加新功能或修改现有功能。

检测运行:执行逻辑代码,获取逻辑代码测试运行的结果。

结果输出:根据逻辑代码检测的执行情况完成执行结果的输出。

2.3.2" 插件代码试检测

插件代码试检测过程包括流量样本导入、代码加载、语法检查、测试运行、结果输出等步骤,具体插件代码检测过程如图3所示。

具体介绍如下:

1)流量样本导入:上传tcpdump格式的网络流量样本数据包文件。

2)代码加载:加载已编写并保存的代码。

3)语法检查:对加载处理后的逻辑代码进行语法检查,确保代码符合编程语言的语法规范,避免出现基本的语法错误。根据检查结果决定是否对逻辑代码进行修改。

4)测试运行:对插件进行功能性测试,验证代码在预期使用场景下的行为是否符合要求。

5)结果输出:根据逻辑代码检测执行情况完成执行结果输出。将该运行结果与用户期望的效果进行比较,如果两者运行结果相符,将该逻辑代码保存到测试运行的代码库;如果两者运行结果不相符,则返回修改。

2.4" 智能检测模块

该模块通过应用机器学习算法持续学习攻击特征,生成智能检测模型,利用模型库对业务流量进行智能攻击检测,以提升Web应用程序的安全性[9]。

2.4.1" 模型设计

模式设计方法如下:

1)数据预处理方法:收集包含正常请求和恶意行为(如Webshell、反序列化攻击、SQL注入和XSS攻击)请求的网络流量数据。采用TF-IDF和Word2Vec特征提取技术,捕获文本数据中的核心信息和语义[10]。为每个网络请求分配标签,标明其是否包含恶意行为(0表示不包含,1表示包含)。按照70%作为训练集、15%作为验证集和15%作为测试集的比例对预处理后的数据进行划分训练,并结合采样和欠采样方法处理不平衡数据。

2)模型选择方法:通过比较各类型恶意数据在逻辑回归、支持向量机、随机森林和K-最近邻算法中的性能,并结合k折交叉验证和超参数优化等过程完成各模型的选择。

3)模型训练方法:通过使用尽可能多的训练数据,确保模型学习到每个细节,并引入“早停”策略避免过度训练,完成模型最佳状态的训练。

4)模型评估:留出一个与训练无关的测试集,确保评估结果公正且真实反映模型在未知数据上的性能,同时通过准确率、召回率、精确度和F1分数等关键指标进行综合性能评估。

2.4.2" 模型验证

在Webshell模型的验证过程中,使用了包含8 634个正类样本和8 671个负类样本的平衡训练数据集。测试数据集同样保持了良好的平衡性,包含2 145个负类样本(占比49.57%)和2 182个正类样本(占比50.43%)。通过对比多种分类算法,发现基于Word2Vec的随机森林分类器在测试集上表现最佳,达到了惊人的准确率(99.93%)、召回率(100.00%)和F1分数(99.93%)。这一结果表明,该模型能够非常准确地识别出Webshell攻击,同时保持了极低的误报率和漏报率。此外,该模型的平均推理速度也非常快,仅为1.52×10-5秒,这在实际应用中意味着能够快速响应并处理大量数据。

在SQL注入模型的验证过程中,保证了训练数据在正类和负类之间的平衡,每类均包含9 106个样本。测试数据集包含3 908个负类样本(占比63.20%)和2 276个正类样本(占比36.80%)。在多种分类算法中,基于Word2Vec的K近邻分类器表现突出,其准确率达到99.56%,召回率为99.08%,F1分数为99.40%。这表明该模型在识别SQL注入攻击方面性能出色,尽管测试数据集的类别分布存在一定倾斜,但模型仍能保持较高的准确率和召回率。同时,该模型的推理速度相对较快,为3.64×10-4秒,适合用于实时检测场景。

在XSS威胁模型的验证中,使用了平衡的训练数据集,每类包含5 898个样本。测试数据集则包含1 263个负类样本(占比46.13%)和1 475个正类样本(占比53.87%)。经过对比测试,基于Word2Vec的随机森林分类器在测试集上表现最佳,准确率为99.53%,召回率为99.53%,F1分数为99.56%。这一结果证明了该模型在识别XSS攻击方面的卓越性能,能够准确区分正常请求和恶意请求。同时,该模型的推理速度也非常快,为1.75×10-5秒,有助于提升系统的整体响应速度。

在反序列攻击模型的验证中,同样采用了平衡的训练数据集,每类包含8 000个样本。测试数据集也保持了平衡,包含2 000个负类样本(占比50%)和2 000个正类样本(占比50%)。在多种分类算法中,基于Word2Vec的逻辑分类器表现最佳,尽管其准确率(78.62%)相比其他模型略低,但其召回率达到了100%,F1分数为82.25%。这表明该模型在识别反序列攻击方面具有很高的敏感性,能够确保不漏报任何潜在的威胁。同时,该模型的推理速度极快,为4.07×10-7秒,这对于需要快速响应的安全系统来说至关重要。

上述4个攻击类型的最佳模型验证结论如表5所示。

3" 结" 论

在安全监测领域,借助深度包解码技术,并结合基于特征字的识别技术,对网络数据包展开实时监测与分析,从而实现对已知攻击流量的检测。同时,融合人工智能和机器学习技术,构建基于机器学习的智能化安全监测功能,以此达成对未知攻击流量的监测。此外,利用可编程插件的扩展化特性,满足不同安全防护场景的定制化需求,实现灵活且目标性强的攻击检测。通过构建基于深度包检测、智能化检测以及可编程插件检测等多技术融合的智能化高级攻击监测技术体系,为网络安全攻击监测提供更为全面的手段。

参考文献:

[1] 许佳,周丹平,顾海东.APT攻击及其检测技术综述 [J].保密科学技术,2014(1):34-40.

[2] 张哲畅.深度包检测系统漏洞挖掘框架研究 [D].武汉:华中科技大学,2023.

[3] 张亮,屈刚,李慧星,等.智能电网电力监控系统网络安全态势感知平台关键技术研究及应用 [J].上海交通大学学报,2021,55(S2):103-109.

[4] 吴盼盼,俞嘉雯,韩冰青.浅谈基于HTTP数据包的Web安全逻辑漏洞挖掘思路 [J].计算机时代,202 (9):24-28.

[5] 周颖杰,焦程波,陈慧楠,等.基于流量行为特征的DoSamp;DDoS攻击检测与异常流识别 [J].计算机应用,2013,33(10):2838-2841+2845.

[6] 林松.基于机器学习的网络流量分类和异常检测技术研究与实现 [D].南京:南京邮电大学,2023.

[7] 何能芳.基于图神经网络的Python程序漏洞检测插件设计与实现 [D].贵阳:贵州大学,2021.

[8] 任晓峰,董占球.提高Snort规则匹配速度方法的研究与实现 [J].计算机应用,2003(4):59-61.

[9] 胡睿,徐芹宝,王昌达.SDN中一种基于机器学习的DDoS入侵检测与防御方法 [J].计算机与数字工程,2023 ,51 (7):1590-1596+1610.

[10 ] 梁松林,林伟,王珏,等.面向后渗透攻击行为的网络恶意流量检测研究 [J].计算机工程,2024,50(5):128-138.

作者简介:刘玉婷(1987.10—),女,汉族,云南昭通人,工程师,硕士研究生,研究方向:信息安全;杭菲璐(1984.01—),男,汉族,云南昭通人,正高级工程师,硕士研究生,研究方向:信息安全、网络安全对抗;谢林江(1985.08—),男,汉族,云南曲靖人,正高级工程师,本科,研究方向:信息安全、网络安全对抗。

标签:  流量 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor