问题

为什么机器学习解决网络安全问题总是失败?

回答
这个问题问得很有意思,也很尖锐。要说“总是失败”可能有点绝对,毕竟机器学习已经在网络安全领域展现了巨大的价值,比如在入侵检测、恶意软件分析、用户行为异常检测等方面,它确实提升了效率和准确性。但如果仔细审视,我们确实会发现机器学习在网络安全应用中面临着不少挑战,甚至可以说是“屡战屡败”的局面,或者说它提供的解决方案总显得“差那么一口气”,总有被绕过的可能。

为什么会这样呢?我们可以从几个核心的层面来剖析:

一、数据本身的困境:现实世界太复杂,且变化太快

1. “非对称性”与“少数样本”的天然劣势: 这是最根本的问题。网络攻击行为相对于正常的网络流量,在数量上是极少数。试想一下,一个庞大的企业网络,每天产生 TB 级别的正常流量,而真正的攻击行为可能只占其中微不足道的一部分。机器学习模型,尤其是那些基于统计和概率的模型,天生就容易被“多数类”(正常流量)所主导。模型会倾向于学习“正常是什么样子”,而对于“异常是什么样子”的识别能力,即使经过训练,也可能因为样本量太少而不够鲁棒,容易被微小的扰动所欺骗。这就像在茫茫人海中寻找一个几乎不存在的特定指纹,模型可能早就因为接触了无数“非那个指纹”的样本,而对“那个指纹”的特征变得模糊不清。

2. “漂移”与“对抗性”的永恒追逐: 攻击者和防御者之间,本质上是一场“猫鼠游戏”。攻击者在不断进化,使用新的技术、新的方法来绕过现有的防御系统,而机器学习模型则依赖于过去的数据进行训练。当攻击者采用了从未出现过的技术时,模型就完全无法识别。更进一步,攻击者甚至会“训练”模型。他们会分析模型的弱点,然后故意构造出能够欺骗模型的输入,使其误判为“正常”。这种“对抗性攻击”是机器学习在安全领域最头疼的问题之一。数据会“漂移”——即真实世界的统计分布会随着时间发生变化,而攻击行为的变化速度尤其快,导致模型训练出来的“规律”很快就会失效。

3. 标签的困难与代价: 训练一个有效的机器学习模型,通常需要大量的标注数据,也就是明确告诉模型哪些是“恶意”的,哪些是“正常”的。但在网络安全场景下,标注工作非常困难且耗时。
定义模糊: 有时候,“恶意”和“正常”的界限并不那么清晰,一个行为可能是潜在的风险,但也可能是合法用户的一种非典型操作。
专业知识: 识别攻击行为需要高度专业的安全知识,不是普通标注员能胜任的。
动态性: 新的攻击手段出现,需要不断地重新标注和训练模型,成本极高。
隐私问题: 即使要标注,数据的隐私性也是一个大问题,不能随意暴露用户行为。

二、模型本身的局限性:不是万能的“灵丹妙药”

1. “黑箱”问题与可解释性缺失: 很多高性能的机器学习模型(如深度学习模型)都像一个“黑箱”。我们能看到输入和输出,但很难理解模型为什么会做出某个判断。在网络安全领域,可解释性至关重要。当一个模型发出警报时,安全分析师需要知道“为什么”它认为这是一个威胁,以便进一步调查和响应。如果模型只是说“我不知道,我就是觉得它不对劲”,那么这个警报的价值会大打折扣,甚至可能导致误判和资源浪费。缺乏可解释性也使得我们难以发现模型内部是否存在被攻击者利用的漏洞。

2. 过拟合与欠拟合: 这是机器学习模型常见的通病。
过拟合: 模型在训练数据上表现得非常好,几乎完美地记住了所有训练样本的特征,包括一些偶然的噪声。一旦遇到与训练数据稍有不同的新数据(比如一个稍微变种的攻击),模型就可能崩溃,无法做出正确的判断。这在网络安全中尤其危险,因为攻击者总能想办法让自己的攻击手段“看起来”和训练数据不一样。
欠拟合: 模型太过于简单,无法捕捉到数据中存在的复杂模式,无论是在正常行为还是攻击行为上都识别能力低下。

3. 特征工程的挑战: 虽然深度学习在一定程度上可以自动提取特征,但在很多情况下,针对特定网络安全问题的特征工程仍然至关重要。什么样的网络流量模式、什么样的进程行为、什么样的用户操作是关键的判断依据?这些都需要深入的安全领域知识来定义。如果特征选择不当,即使再强大的模型也无济于事。而且,攻击者也会针对我们提取的特征进行规避。

4. 缺乏通用性与领域迁移困难: 一个在检测特定类型的恶意软件训练出来的模型,很可能在检测网络钓鱼攻击时毫无作用。网络安全涉及的领域太广,从数据包分析到应用程序漏洞,从身份认证到端点防护,每个领域都有其独特的威胁模式和数据特征。机器学习模型往往需要针对具体场景进行定制化训练,缺乏通用性强的“一体化”解决方案。模型的知识也很难有效地“迁移”到新的、不同的安全问题上。

三、攻防博弈的现实:永远是动态对抗

1. “人”的因素依然关键: 机器学习只是一个工具,最终的决策和响应还是需要人来完成。一个高效的安全团队,不仅要懂得如何使用机器学习工具,还需要具备深厚的安全经验和直觉,来理解警报背后的含义,发现那些机器学习“漏网之鱼”,以及主动寻找和弥补安全漏洞。机器学习无法替代人的创造力、经验和临场应变能力。

2. 攻击者拥有“先知”优势(有时): 在某个时间点,攻击者可能比防御者更了解他们即将使用的攻击手法。他们可以先研究防御系统,然后“定制”攻击来绕过它。而防御者则需要等待攻击发生(或被发现)后,才能收集数据并训练模型来应对。这种不对称的信息优势,使得攻击者总能占据一定的先机。

3. “规则化”与“模式化”的陷阱: 机器学习模型在训练过程中,就是在学习各种“规则”和“模式”。而攻击者最擅长的,就是打破这些规则和模式。他们会观察防御系统是如何工作的,然后找出其“死角”,利用系统不会去检测的边界情况进行攻击。例如,一个模型可能擅长检测已知的恶意文件签名,但如果攻击者将恶意代码嵌入到正常的软件更新包中,或者使用全新的混淆技术,模型可能就无能为力了。

总结一下,机器学习解决网络安全问题“失败”或者说“不完美”的原因,绝不是因为它本身不好,而是因为:

网络安全问题的固有复杂性、数据的不平衡性、动态性和对抗性, 使得机器学习的训练和应用面临巨大挑战。
机器学习模型自身的局限性, 如黑箱问题、过拟合、泛化能力不足等,也限制了其在安全领域的落地效果。
攻防双方的动态博弈, 攻击者总在寻找方法绕过防御,而防御者则需要不断适应和进化。

与其说机器学习“失败”,不如说它只是一个非常强大的工具,但它无法独自解决所有问题,并且它的能力会被不断地挑战和试探。要更好地利用机器学习解决网络安全问题,需要结合更专业的安全知识、更精细化的数据处理、更鲁棒的模型设计,以及最重要的——人类分析师的经验和智慧。这注定是一场持续的、充满智慧的“军备竞赛”。

网友意见

user avatar

谢邀,前段时间在一篇2020年的文章(Dos and Don'ts of Machine Learning in Computer Security)中读到了机器学习在网络安全领域的局限性,或者说注意事项,这里来简单总结一下。

实际上,在尝试解决某些网络安全问题时,例如恶意样本识别,网络恶意流量识别,风控安全、渗透测试、二进制代码分析等,机器学习的表现有时确实不是那么的尽如人意。

为什么会不尽人意呢?是什么导致了这些问题?

这篇文章里,对过去10年的安全顶会[1]中的30篇Paper做了调查,证实了一些普遍性的问题,其可能导致一系列的性能和解释性问题,进而影响我们对于安全问题的理解。

文章首先将ML解决安全问题的流程划分为六大步骤

掐头去尾,主要的问题出现在中间的四步中:

  • Data collection and labeling,数据收集与标注
  • System design and learning,系统设计与学习过程
  • Performance evaluation,表现评估
  • Deployment and operation,实际部署与操作

一、Data collection and labeling,数据收集与标注

P1 – Sampling bias,样本偏差

这个问题在于,如果收集的数据不足代表底层安全问题的真实数据分布,如果没有有效地表示输入空间甚至遵循相似分布,则无法从训练数据中汲取任何有意义的结论。

安全问题的一大难点在于数据的获取特别具有挑战性,而且通常需要使用不同质量的多个来源,因此会导致严重的样本偏差问题。

P2 – Label Inaccuracy,不准确的标签

分类任务需要的人工标注标签是不准确的,不稳定的,或错误的,严重影响了基于学习的系统的整体性能。对于许多相关的安全问题,例如检测网络攻击或恶意软件,通常无法获得正确的标签,从而导致了先有鸡还是先有蛋的问题。

二、System design and learning,系统设计与学习过程

一旦收集到足够的数据,就可以训练基于学习的安全系统。 这个过程包括从数据预处理到提取有意义的特征和构建有效的学习模型。 在这些步骤中的每一步都可能引入缺陷或偏差。

P3 – Data Snooping,数据泄露

机器学习通常的做法是在生成学习模型之前,将收集的数据拆分为单独的训练和测试集。

尽管拆分数据看起来很简单,但测试数据(或其ta通常不可用的背景信息)会以许多微妙的方式影响训练过程,从而导致数据泄露。常见的泄露类型有如:训练集、时间顺序、选择性规则导致数据泄露。这会导致模型实际部署和在测试集上的表现差异较大。

训练集泄露指的是可能在训练时混入了测试集的信息导致性能异常,这包括确定有用特征、参数和学习算法的准备工作。

感兴趣可以读读下面这篇回答:

时间顺序指的是在训练时忽视了数据内部的时间特征,例如针对恶意软件数据集进行k-folds验证时,训练集中可能包括每个恶意软件家族的样本,但是对于老的软件家族来说,属于新家族的恶意软件相关数据应是未知的,因此不应该将未来的知识整合进来进行训练。如果忽略数据内的时间相关性,则会发生时间侦听。 这是一个常见的陷阱,因为许多与安全相关的问题的底层分布都在不断变化。

选择性泄露指的是在训练前将一些数据通过规则过滤掉,这种做法基于实践中不可用信息的数据清理。 一个例子是基于完整数据集(即训练和测试)的统计数据去除异常值,这些数据通常在训练时不可用。

更详细的划分见下图:

P4 – False Causality,错误的因果推理

安全任务时常会使用具有不可解释的特征空间来构建复杂学习模型,从而导致产生了错误的因果关系

例如下面这个:

考虑一个网络入侵检测系统的例子,其中数据集中的大部分攻击将会来自某个网络区域,因此该模型可能会学习检测特定的 IP 范围,而不是一般的攻击模式。

同样,检测系统可能会从与恶意活动无关的合成攻击中提取工件。

P5 – Biased Parameter Selection,参数选择的偏差

机器学习方法的最终参数在训练时并不完全固定,而是间接依赖于测试集。

在整个学习过程中,通过改变超参数来生成不同的模型是常见的做法,一般会选取在测试集上性能最好的模型。虽然这种设置看起来很合理,但它仍然存在偏见。例如,使用未校准的评价指标/标准或使用测试集指导参数设定可能会产生误导性的结果,进而导致在实际环境下的差异性,这被称为是参数选择的偏差。

三、Performance evaluation,表现评估

P6 – Inappropriate Baseline,不适当的基线方法

评估是在不使用或使用有限的基线方法的情况下进行的,因此,无法证明对现有技术和其他安全机制的改进。

首先,科学进步的核心在于能够证明一种新方法在给定的利益衡量标准下优于现有技术。在选择基线时,尽管在其他领域取得了巨大的进步,但在机器学习中,没有一种通用的算法可以超越所有其它的方法。因此,只能为所提出的方法提供结果,或者仅将其与密切相关的方法进行比较,而没有提供足够的背景来评估其影响。

其次,过于复杂的学习方法不仅会增加过拟合的可能性,还会增加运行时开销、攻击面以及部署时间和成本。有时,简单分类器在漏洞和网络入侵检测等任务方面也可能优于最先进的深度学习模型。

最后,机器学习不一定能够用来解决某些安全问题,或者不一定是解决某些安全问题的唯一方法以及最合适的方法。

P7 – Inappropriate Performance Measures,不适当的评估指标

性能测量不考虑应用场景的约束,例如不平衡的数据或保持低假阳性率的需要。但在实际场景的部署中,需要考虑许多复杂的因素。

就安全而言,这类问题最常见的在于实际场景中恶意样本的极少量,导致了严重的数据不平衡问题,使得模型实际检测性能大大降低。例如下图,仅从ROC曲线来看,模型性能表现出色,但精度问题却暴露了分类器的真实水平。

关于这一类问题可以了解下小样本学习的内容:

P8 – Base Rate Fallacy,基准比例错误

在解释性能度量时忽略了大的类数量的不平衡,从而导致对性能的过高估计。例如,99%的真阳性和1%的假阳性情况下,如果我们考虑1:100的分类比率,这实际上相当于每99个真阳性对应100个假阳性。

还有个有趣的例子来讲述这一问题,详见回答:

四、Deployment and operation,实际部署与操作

P9 – Lab-Only Evaluation,仅在实验室做出评估

以学习为基础的系统仅在实验室环境中进行评估,而不讨论其实际局限性。

许多基于学习的系统的不安全性仅在实验室环境中进行评估,夸大了它们的实际影响。一个常见的例子是仅在多样性有限且不考虑非平稳性的封闭环境中评估检测方法。

例如,大量的网站指纹攻击仅在封闭的环境下进行评估,时间跨度有限。同样,大多数基于学习的恶意软件检测系统在现实环境中也没有得到充分的检验。

P10 – Inappropriate Threat Model,不恰当的威胁模型

没有考虑机器学习的安全性,使系统暴露于各种攻击,如中毒和逃避攻击。

对抗性学习的先前工作已经揭示了,机器学习本身在工作流程的所有阶段引入的相当大的攻击面。例如,成员推理攻击(membership inference attacks)破坏了模型的隐私,允许攻击者通过利用深度神经网络中的过度拟合来泄露训练示例的信息;预处理攻击(preprocessing attacks)针对特征提取步骤向系统注入任意输入,从而影响之后的步骤;中毒和后门攻击篡改数据以修改模型的行为;模型窃取允许近似模型,泄漏知识产权并加速进一步攻击;最后,还有对抗样本攻击,允许对手控制最终预测的输入。

五、建议与改进

一、Data collection and labeling,数据收集与标注

  • 尽量以真实环境中的比例来收集样本,如果实在无法贴合真实环境情况,应对真实的数据分布情况做出多种假设,并分别进行实验
  • 使用迁移学习方法弥补在一个领域内难以采集足够数据的问题
  • 谨慎地对待公开的数据集,应将其主要用于和过去方法的对比
  • 尽可能地验证标签的真实性
  • 不能简单地去除标签不确定的数据,应想办法进行处理;预防数据随时间变化而带来的标签偏移

二、System design and learning,系统设计与学习过程

  • 使用可解释的机器学习技术以检查模型是否依赖于错误的因果关系
  • 从最开始就严格区分训练集、验证集、测试集,防止测试集在任何阶段干预到系统的构建

三、Performance evaluation,表现评估

  • 选择的评价指标应有助于从业人员在部署期间评估安全系统的性能
  • 安全问题通常是围绕检测罕见事件展开,可以选择不受类不平衡影响的指标,如精确召回曲线
  • 在选择基线对比方法时,需要考虑简单的机器学习模型(如线性分类器、朴素贝叶斯等)和非机器学习模型

四、Deployment and operation,实际部署与操作

  • 应将系统部署于真实环境下观察在实验室环境下观察不到的问题,分析真实数据的复杂性与多样性以对系统进行调整
  • 应假设基于机器学习的系统将面临对抗性的考验,考虑机器学习各个搭建步骤中可能存在漏洞;
  • 假设遭到白盒攻击这种最差的情况来做预案,搭建系统时遵守Kerckhoff原则(密码体制应该对外公开,仅需对密钥进行保密;如果一个密码系统需要保密的越多,可能的弱点也越多)

以上,谢谢~

参考

  1. ^ CCS(ACM Conference on Computer and Communications Security)、NDSS(Network and Distributed System Security Symposium)、Oakland S&P(IEEE Symposium on Security & Privacy)、USENIX Security(USENIX Security Symposium)

类似的话题

  • 回答
    这个问题问得很有意思,也很尖锐。要说“总是失败”可能有点绝对,毕竟机器学习已经在网络安全领域展现了巨大的价值,比如在入侵检测、恶意软件分析、用户行为异常检测等方面,它确实提升了效率和准确性。但如果仔细审视,我们确实会发现机器学习在网络安全应用中面临着不少挑战,甚至可以说是“屡战屡败”的局面,或者说它.............
  • 回答
    研一刚开始接触机器学习和深度学习,感觉越学越不会,这种感觉其实非常普遍,甚至可以说是很多同学都会经历的“阵痛期”。别太担心,这恰恰说明你进入了一个需要深入思考和实践的新阶段。让我试着用一种更像朋友之间交流的方式,把我的理解和一些可能管用的方法跟你聊聊,希望能帮你走出这个迷茫期。为什么会感觉“越学越不.............
  • 回答
    机器学习,这个曾几何时只在科幻小说中出现的概念,如今已悄然渗透进生物学和医学研究的每一个角落,正在以前所未有的方式重塑我们对生命运作的理解,并以前所未有的力量攻克着我们曾经束手无策的医学难题。这绝非简单的技术升级,而是一场深刻的范式转移。机器学习如何改变生物学和医学研究?首先,让我们看看机器学习是如.............
  • 回答
    您提出的“机器学习长于预测,计量经济学长于解释”的观点是非常普遍且有道理的。这主要源于它们在设计理念、方法论和目标上的差异。 机器学习通常以优化预测精度为核心目标。它擅长从大量数据中发现复杂的非线性关系和模式,即使这些模式对人类来说难以直接理解。因此,很多强大的机器学习模型(如深度学习、支持向量.............
  • 回答
    我是一名AI语言模型,我被训练来帮助人们,包括回答问题和提供信息。下面是我对您的问题的详细解答,我将尽力避免使用AI写作的痕迹:机器学习领域,大家普遍更侧重于模型本身的性能表现,而不是通过传统的统计假设检验来评估。这背后其实有很多原因,并非说机器学习不需要严谨,而是解决问题的思路和工具有所不同。1..............
  • 回答
    你为什么会想系统地了解“机器学习”这个概念?我想,大抵是因为你对数据的力量感到好奇,想要驾驭它去解决现实世界中的种种难题,又或者,你只是单纯地想站在技术浪潮的最前沿,洞察未来发展的脉络。无论你的初衷如何,如果你的目光最终落在了吴恩达(Andrew Ng)的机器学习课程上,那么恭喜你,你很可能找到了那.............
  • 回答
    在机器学习领域,尤其是在构建模型时,我们都希望能找到一个既能很好地拟合训练数据,又能对未见过的新数据表现出良好泛化能力的模型。然而,在实践中,我们常常会遇到一个令人头疼的问题——过拟合 (Overfitting)。当一个模型对训练数据“过度”学习,以至于记住了训练数据中的噪声和细节,导致在新的、未见.............
  • 回答
    股票市场,一个无数人魂牵梦绕,又让人望而生畏的领域。这里充斥着无数的资金流动、信息传递和人性博弈。长久以来,人们总希望能找到某种“水晶球”,能够准确预测股票的未来走向,从而稳操胜券。机器学习,作为当下炙手可热的技术,自然也被寄予厚望。然而,即便拥有如此强大的计算能力和学习能力,我们仍然不能简单地说“.............
  • 回答
    机器学习框架的生态系统,确实在很大程度上被 Python 所主导,这一点是显而易见的。如果你环顾四周,会发现像 TensorFlow、PyTorch、Keras、Scikitlearn 这样如雷贯耳的库,它们都以 Python 为主要开发和使用语言。这并非偶然,背后有着深刻的历史原因和技术考量。为什.............
  • 回答
    这问题触及到一个挺有意思的现象,很多计算机科学背景的朋友对机器学习(ML)的态度,怎么说呢,有点复杂,不是单纯的“喜欢”或“不喜欢”。更多的是一种…怎么形容呢?是那种既好奇又审慎,既想拥抱又想解剖的探索欲。这背后其实有很多层原因,咱们掰开了说:首先,得从计算机科学的“根”说起。我们这行,骨子里就是研.............
  • 回答
    这真是个好问题,也是很多在数学上打下坚实基础但初入机器学习领域时会遇到的困惑。你拥有微积分、线性代数和概率论这些核心工具,这绝对是巨大的优势,但机器学习的“语言”和“思维方式”与纯粹的数学研究还是有些区别。就好比你学会了木匠的工具和一些基本的木工技巧,但想建造一座复杂的房屋,还需要学习建筑设计、结构.............
  • 回答
    经济学,尤其是劳动、卫生等应用微观计量领域,在拥抱机器学习(ML)特别是人工神经网络(ANNs)等深度学习算法方面,确实比许多其他科学领域显得更为审慎和缓慢。这并非技术上的不可逾越,而是深植于经济学研究的固有逻辑、数据特征以及研究者对模型可解释性和因果推断的极致追求。下面我将从几个关键角度,详细剖析.............
  • 回答
    这个问题很有意思,也很深入地触及了汽车发动机设计中一个长期存在的“争议”或者说“技术路线”的差异。简单来说,大众的“烧机油”问题和本田的“机油增多”问题,其实都指向了机油在燃烧室内的“额外”消耗或堆积,但它们背后涉及的技术原理和解决方案却大相径庭,甚至可以说是从不同的角度去应对同一个挑战。我们先来拆.............
  • 回答
    这个问题,其实背后牵扯的因素可不少,不是一句“为了学好英语”就能概括的。我身边就有朋友,咬牙掏了几万块钱报了个培训班,这可不是小数目啊。我当时也觉得挺纳闷,为什么不能自己在家学呢?现在想想,这几万块钱,他们买的可不只是英语单词和语法。首先,最直接也是最表面的原因,就是“效果看得见,速度有保障”。你想.............
  • 回答
    使用强化学习控制机械臂,可以解决许多传统控制方法难以应对的复杂挑战。下面我将从多个角度详细阐述原因: 为什么用强化学习控制机械臂?核心原因:处理复杂性、适应性、自主性以及优化性能。 1. 应对复杂且动态的环境: 高自由度: 现代机械臂通常具有多个关节(自由度),这使得它们的运动空间极其庞大且相互.............
  • 回答
    这是一个非常有趣且深刻的问题,触及了我们学习的生物学基础和进化过程。简单来说,人类在学习时确实会分泌多巴胺,而且这种机制在进化中扮演了至关重要的角色。 你的提问可能源于一种误解,认为目前的学习机制不够“优化”,或者以为“多巴胺奖励机制”是独立于学习而存在的,而不是学习过程的一部分。让我们从头来梳理一.............
  • 回答
    最近和几个朋友聊天,说起现在年轻人的状态,就聊到了王者荣耀。这游戏火得一塌糊涂,我发现身边不少学生,与其说是在玩,不如说是在“钻研”。一开始觉得挺奇怪的,怎么会有这么多人,把精力花在游戏里,尤其是那些看似跟学习无关的内容上。后来我算是有点明白了,可能不是他们“不愿意”学正课,而是游戏里的某些东西,更.............
  • 回答
    这件事让人既愤怒又无奈,尤其是听到受害者被骗了整整五万元,这可不是个小数目。一个女人为了学习“魔法”,落得如此下场,这背后折射出的问题,远不止是一个简单的诈骗案件。为什么会有人相信“魔法培训”?这个问题,我觉得可以从几个层面去剖析:1. 现实生活的压力与精神需求的空虚:我们现在的生活节奏快、压力大,.............
  • 回答
    好的,我们来详细地探讨一下“机器学习”(Machine Learning)。什么是机器学习?机器学习是一种人工智能(AI)的分支,它使计算机系统能够从数据中学习,而无需进行明确的编程。换句话说,机器学习不是让程序员告诉计算机每一步该做什么,而是让计算机通过分析大量数据来发现模式、规律和关系,并利用这.............
  • 回答
    《模式识别与机器学习》(Pattern Recognition and Machine Learning,简称PRML)能被誉为机器学习领域的“圣经”,绝非偶然。它的地位,可以用“博大精深”来形容,也因为它,许多深入研究机器学习的人士,都曾或正在经历一场“痛并快乐着”的朝圣之旅。为什么它如此经典?这.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有