AI 与 ML 往往被交替使用。但如果要快速区分,我会说:AI 指构建能够模仿与人类智能相关认知功能的机器之技术;而 ML 则是 AI 的一个子集,指能从数据中学习并不断改进的算法。
本文将带您走进机器学习技术在网络安全中的适用性之旅,展示一系列用例,以及必须解决的可解释性、可理解性与鲁棒性挑战,以充分释放其潜力。
威胁检测与防御
威胁检测与响应指对网络或系统的网络威胁进行检测,随后迅速而有效地缓解。该过程包括检测网络与系统中的异常行为、识别未授权入侵,以及分析恶意软件样本以保护我们的系统。
异常检测
异常检测指在数据中识别不符合明确定义的正常行为概念的模式。
这一基本概念适用于各个领域,网络安全也不例外。我使用异常检测来识别多样的恶意活动,例如数据渗漏检测、分布式拒绝服务(DDoS)攻击、恶意软件感染等。各种机器学习算法,如局部离群因子(LOF)、孤立森林、单类支持向量机(OC-SVM),都被用于检测异常。然而,选择合适的离群检测技术是一项复杂任务,需要综合考虑多种因素,包括:
- 数据类型(例如点数据、序列、空间或图结构)
- 异常性质(例如点异常、情境异常或群体异常)
- 是否有标注数据
- 期望的输出形式(例如二元标签或异常分数)
我们将探讨如何选择合适的机器学习技术,并解释它们如何检测恶意的网络安全活动。我们的重点将放在网络安全中的两个关键应用:入侵检测与恶意软件分析。
入侵检测系统(IDS)
入侵检测系统(IDS)是计算机网络与系统的“眼睛与耳朵”,通过监控与分析网络流量(基于网络的 IDS)和系统调用(基于主机的 IDS)来发现恶意活动。
在我的实验中,我亲眼见证了异常检测方法在两类系统中检测新型或未知威胁的力量,这些威胁往往能绕过依赖预定义攻击特征的特征匹配技术。
在深入主机型 IDS 之前,了解什么是系统调用很重要。它本质上是程序向操作系统发出的执行特定任务的请求。假设您在 Linux 操作系统上用文本编辑器修改文件。在幕后,编辑器会通过系统调用 open() 打开文件,用 write() 写入更改,然后通过 close() 关闭文件以保存。
文本编辑器的系统调用简单且可预测,而恶意行为者的系统调用序列往往具有迷惑性。恶意程序可能先用 open()、write() 投放隐藏文件,再使用 execve() 提权执行,随后通过 socket() 等与网络相关的调用,可能建立命令与控制通道进行攻击。
为此,系统调用序列通常会被转换为适合机器学习算法的静态特征表示。不过,您可能会问:在这种情况下,哪种学习技术最合适?
学习技术的选择高度取决于标签的可用性。如果能获得包含正常与异常系统调用序列的平衡数据集,我会优先选择监督式的异常检测模型,例如支持向量机(SVM)。
相反,如果缺乏标注数据,我会使用无监督学习模型,如孤立森林。在仅有正常行为样本的训练场景中,我会采用半监督学习技术,如单类 SVM 或DBSCAN。

使用 Napkin.ai 制作的图示
了解 ML 如何应用于主机型 IDS 之后,我们再来看基于网络的 IDS。主机型系统聚焦单台机器,网络型 IDS 则在网络数据中识别入侵;也就是说,网络 IDS 并非分析系统调用,而是通过监控网络流统计、载荷数据与数据包头部,来侦测信息窃取与网络中断等活动。
快速浏览下表,您可以了解网络流量数据集大致长什么样。
|
目标端口 |
源端口 |
流持续时间(毫秒) |
前向数据包总数 |
后向数据包总数 |
标签 |
|
54865 |
9910 |
6 |
5000 |
600 |
0 |
|
54810 |
9010 |
2 |
2000 |
200 |
1 |
合成的正常与异常网络流统计。
数据集中的每一行代表两个端点之间一次独立的网络通信会话,与数据集中其他流没有内在关联。
每个流由诸如源/目标端口号、以毫秒计的流持续时间、双向交换数据包总数等属性定义。一个分类标签指示该网络流是否被归类为异常或攻击,为入侵检测模型提供关键的真实标注。
需要注意的是,每一行都代表一个独立的网络流,与数据集中其他网络流不存在顺序或关系依赖。
鉴于网络流的独立性,数据集在经过一些特征工程后,可直接输入到机器学习算法进行异常检测。正如我们在主机型 IDS 场景中讨论的,选择何种机器学习技术主要取决于是否有标注数据。
恶意软件分析
在开始恶意软件分析之前,我们先解释什么是恶意软件以及它如何运作。
恶意软件是指为了实施攻击者的有害意图而设计的恶意软件或二进制可执行文件。这类代码会有意利用目标系统中的漏洞,危害系统完整性、窃取敏感数据、删除数据,甚至加密数据勒索赎金。它包括多种类别,如病毒、蠕虫、间谍软件、木马、勒索软件等。
为了解恶意软件的类型、功能及其潜在影响,我们会从静态与动态分析中提取多个特征,并输入到合适的机器学习算法中。
以 Windows 可执行文件(即 PE,Portable Executable)为例。我们可以从 PE 的动态与静态分析中提取多样特征,如字节序列、API/系统调用、操作码、网络、文件系统、CPU 寄存器、PE 文件特征与字符串,然后将其输入到合适的监督、无监督与半监督机器学习模型中以检测恶意软件。
漏洞管理
为降低遭受网络攻击的风险,我们必须迅速识别、评估并处理网络、计算机与应用中的潜在安全弱点。下面看看 AI 与 ML 算法如何通过漏洞扫描、补丁管理与风险评估来改进漏洞管理。
漏洞扫描
作为网络安全研究人员,我经常开发自定义工具来自动化安全任务,例如网络流量日志解析器、模糊测试器等。
尽管这些工具能显著增强我们的安全运营,但在使用与分享给同事之前,对其进行严格的漏洞扫描非常重要。
否则,攻击者可能利用我自定义脚本中未发现、未修补的漏洞进行未授权访问、危及敏感信息或扰乱公司服务。
机器学习模型具备“见林不见树”的能力。它们擅长从大型数据集中提取有意义的特征,发现细微的模式与相关性。基于此考虑,我开始探索能否用它们来自动化漏洞检测、加快分析速度,并识别此前未披露的漏洞。
要构建基于 ML 的漏洞检测模型,我首先从多个来源(包括 NVD 国家漏洞数据库、OWASP 等)收集各类“有漏洞/无漏洞”的训练数据。
随后对数据进行预处理与向量化嵌入,再输入所选模型。输入可表示为图或树,展示不同代码元素之间的关系,例如Code Property Graph(CPG)或抽象语法树(AST)。
输入也可以是基于 Token 的表示形式,即将源代码转换为 Token 向量。随后可应用多种嵌入技术,包括 Word2Vec、图嵌入、One-hot 嵌入、N-gram 特征等。
如前述应用所示,选择机器学习模型及其学习范式,主要取决于标签的可用性。在训练阶段,漏洞检测数据集被划分为训练集与验证集,模型从带标签数据中学习。
模型的参数会根据预测误差,借助优化技术进行迭代更新。完成学习后,将使用未见数据评估其漏洞检测能力。我们会计算准确率、精确率、召回率与 F1 分数等关键指标来评估模型的检测能力。
当在我的自定义脚本中检测到漏洞后,全面的风险评估必不可少。如果现有安全控制已能阻止漏洞被利用,或潜在后果很小,则可以接受该风险。
另外,也可考虑完全停止使用该代码,从而彻底消除被利用的风险。但若无法完全消除,就必须实施缓解策略。
接下来,我们将探讨将为主的缓解手段——修补存在漏洞的软件。
补丁管理
理想情况下应处理所有未关闭与关键漏洞,但往往不切实际。我们需要更具策略性的方式。借助机器学习,我们可以前瞻性地预测哪些漏洞最可能被利用并引发安全事件,从而实现补丁工作的优先级排序。

使用 Napkin.ai 制作
为简化补丁优先级流程,我们使用基于树的预训练利用预测评分系统(EPSS)模型,将漏洞信息与真实世界的利用活动相结合,预测未来 30 天内攻击者尝试利用特定漏洞的可能性。
EPSS 机器学习模型识别漏洞信息(如 CVSS)与利用活动之间的模式和关系,从而以数学方式评估攻击者利用某漏洞的可能性。
在漏洞优先级排序之后,需对补丁进行严格的获取、验证与测试,以降低运营风险。补丁部署是一个复杂过程,取决于多种因素,包括:
- 软件类型(如固件、操作系统、应用)
- 资产平台类型(如 IT、OT、IoT、移动、云、虚拟机)
- 平台特性(如托管/非托管资产、本地/非本地、是否虚拟化、是否容器化)
- 环境约束(如网络连通性与带宽)。
鉴于现代 IT 环境的规模与多样性,人工补丁部署往往人力密集且耗时。AI 驱动的自动化可以通过基于上述关键因素智能选择并在各系统部署合适补丁,从而简化流程。
在此情境下,可利用聚类算法(如K-means)将相似系统分组,以更高效地部署补丁。
风险评估
网络风险评估对于识别、评估与缓解潜在威胁和已发现漏洞至关重要。
由于传统方法往往难以发现不可预测网络风险的指示信号,研究者开始转向机器学习。
通过使用监督式与多分类 ML,研究人员可从多维度综合分析关键因素,从而改进网络风险评估。
如下表所示,这些因素包括网络安全投入、员工队伍特征、攻击历史、基础设施漏洞、外部顾问与相关风险。他们的概念验证框架 SecRiskAI 展示了 ML 在预测 DDoS 或网络钓鱼攻击发生可能性方面的潜力。
|
信息 |
示例 |
|
营收 |
2,500,000 |
|
网络安全投入 |
500,000 |
|
成功攻击 |
5 |
|
失败攻击 |
10 |
|
员工人数 |
4,450 |
|
员工培训 |
中等 |
|
已知漏洞 |
9 |
|
外部网络安全顾问 |
无 |
|
风险 |
低 |
网络风险评估关键属性示例(来源)
事件响应
现在来看看 AI 与 ML 如何改变事件响应。我们将探讨它们如何自动化事件响应流程、缩短响应时间、主动发现隐藏威胁,以及改进取证分析以追溯网络攻击的源头与影响。
安全编排、自动化与响应(SOAR)
我亲眼见证了 SOAR 系统如何接收安全信息与事件管理(SIEM)系统的告警,并触发相应的剧本,自动化并协调一系列安全任务。
这些任务可能包括调查动作,如检查 URL 信誉、检索用户与资产详情;也包括响应动作,如在防火墙上封禁某 IP,或在终端上终止恶意进程。
然而,这些系统目前存在显著限制。安全分析师需要手动定义、创建与修改剧本,且在多个剧本之间的选择也由分析师设定的规则来决定。
为克服这些限制,我看到将 AI 与 ML 集成到 SOC 平台中可带来变革,使我们能够自动生成可有效
应对未知告警的剧本。
这不仅提升了响应效率,也让分析师能专注于更多工作。借助 ML 算法,我们还可以训练其根据接收的告警计算各响应动作的惩罚成本,并选择惩罚最低的响应方案。
威胁狩猎
想象一下,在数百万条日志中筛查潜在威胁将是多么压力山大。
再将挑战放大到企业级规模,需要逐条检查每一条日志,并将其分类为恶意或良性。
将机器学习融入流程后,我们可以简化这项任务并加速威胁检测。AI 与 ML 算法(如 SVM、随机森林)可以被训练来高效分析与分类日志,从而快速识别威胁,减轻安全团队负担。
取证
随着数字数据在体量与复杂性上持续增长,将 AI 与 ML 融入数字取证——即为调查网络犯罪而进行的数字证据分析——已变得至关重要。
这种融合使我们能够在识别与响应网络威胁方面,更快、更准、更有效。
例如,在取证分级中,我们可以使用 ML 算法根据与调查的相关性,对大量数字文件进行分类与归类。
挑战与伦理考量
将 AI 融入网络安全带来了重要机遇。然而,同样需要正视其内在挑战与限制。
对抗性攻击
许多 AI 系统容易受到对抗性攻击,如投毒、逃逸、模型窃取、提示注入与推断攻击,这些攻击会利用模型的脆弱点。
在这类攻击中,对手会向输入中巧妙加入人类难以察觉的微小扰动,却能让模型做出错误预测。这为将这些系统部署在安全关键环境中带来安全隐患,网络安全领域也不例外。
为有效对抗这些攻击,我们会采用多种防御机制,例如对抗训练、防御性蒸馏与梯度掩蔽。
可解释性与透明度
尽管 AI 算法在实现结果与预测方面很有效,但我仍难以理解其内部工作机制。
在我的领域中,这一点尤为重要,因为将关键决策交给不可解释的系统,风险显而易见。
在这里,可解释 AI(XAI)为我们提供了路径,使得在保持高性能的同时,开发更具可解释性的 AI 驱动网络安全系统成为可能。通过提升 AI 决策过程的透明度,XAI 帮助我做出充分的信息分析,并在应对安全事件时采取最恰当的行动。
近期 XAI 技术的进展(如特征重要性分析与决策树可视化)正使这种透明性成为现实。
偏见与公平
每当我为 AI 驱动的网络安全方案选择训练数据集时,我都会确保数据不带偏见。否则,我开发的模型可能产生不公平或歧视性的输出。我会采用数据预处理技术识别并去除偏见,确保训练数据的呈现公平,并采用公平性技术评估模型输出的潜在偏差。
网络安全中 AI 的未来
如果您读到这里,已经看到 AI 与 ML 如何改变我们保护计算机、移动设备、网络与应用的方式。您也见证了它们如何赋能安全团队、更快速地检测威胁,并强化各类网络安全工具。
更令人兴奋的是:我认为我们才刚刚起步。
网络安全的未来在于 AI 与 ML 的持续演进,尤其是大型语言模型(LLMs)。凭借更大的 Token 上限、代码理解能力与细致分析能力,这些先进模型将通过更快更准的规模化恶意软件分析,增强我们分析与响应威胁的能力。
以Gemini 1.5 模型为例,它当前被用于在超大文件中检测恶意软件。即便缺少网络安全专门训练,它们也能通过提示工程、上下文学习与思维链等方法解决相关任务。
我们也在通过对开源权重 LLM(包括Llama)进行微调,窥见这一未来在网络安全相关任务上的应用,例如Hackmentor。
结语
在本文中,我们探讨了基于 AI 与 ML 的网络安全工具如何应对现代网络威胁的动态与复杂特性。这些工具通过在威胁检测、漏洞管理与事件响应中的针对性应用,有效实现风险的检测、响应与缓解。
但我们也必须考虑开发与部署 AI 驱动网络安全解决方案所带来的重大挑战与伦理影响。
尽管存在这些挑战,AI 与 ML 技术的持续进步,仍为增强我们抵御不断演变的网络威胁的能力带来巨大希望。

我是一名计算机与通信工程师兼研究人员,致力于构建深度学习工具,推动网络安全领域的发展!
LockBit、Hive、Clop、Agent Tesla、Formbook、Raccoon、MoneroMiner 和 CoinHive 只是近年来一些复杂的恶意软件示例,它们对传统的人工作业分析方法构成了挑战。
作为一名对恶意软件分析感兴趣的网络安全研究人员,我在揭示这些样本的隐藏功能、恶意意图和潜在攻击路径时遇到了重大限制,原因在于它们的复杂度和数量不断增长。
意识到需要一种更高效、更有效的方法后,我开始探索 人工智能(AI)模型的潜力,以分析、识别并解释恶意脚本的意图。结果令人印象深刻,表明 AI 能加速恶意软件分析,并增强我们理解这些威胁的能力。
除恶意软件分析外,AI 的应用在解决其他关键网络安全挑战方面也蕴含巨大潜力,例如威胁情报、事件响应和漏洞管理。
通过我们的白皮书《学习型领导者的 AI 素养指南》,了解 AI 将如何影响您的组织以及如何实施成功的 AI 策略。
为何网络安全需要 AI?
随着网络安全态势不断演变,有些网络安全任务除了“以例示之”外,很难精确定义。举例来说,精确定义网络流量中的异常是什么并不容易。我们也许能给出正常与异常网络流量的输入-输出对应样本,但很难用简洁的关系式描述输入(网络流量)与期望输出(正常或异常)之间的映射。
另一重大挑战在于,网络安全工具需要不断重新设计以适应动态的安全环境,同时还要从海量数据集中提炼洞见。识别重叠的战术、技术与程序(TTPs),将看似不相关的活动关联到同一威胁行为者,对于有效的威胁情报至关重要。
我们需要一种方法,能够恰当地建模网络安全样本中隐含的输入与输出关系,能够追踪相关安全知识,并擅长从海量数据中挖掘隐藏的关系与相关性。这正是机器学习(ML)(AI 的一个子集)大显身手之处。