对抗性机器学习:概念、攻击类型、策略和防御

已发表: 2021-05-02

过去几十年的指数级进步推动了当今世界的现代技术进步。 我们目前是正在进行的“工业 4.0”的一部分,其核心是 AI 和 ML 等技术。 这场工业革命涉及全球向神经网络、机器学习和人工智能、物联网、数字化等技术的科学研究和创新过渡。

它们在电子商务、制造、可持续发展、供应链管理等领域为我们提供了一系列好处。到 2027 年,人工智能/机器学习的全球市场预计将超过 2669.2 亿美元,并将继续成为职业的首选为各地的毕业生。

虽然这些技术的适应正在为未来铺平道路,但我们对对抗性机器学习(AML) 攻击等事件毫无准备。 使用 SML、OCaml、F# 等编码语言设计的机器学习系统依赖于集成在整个系统中的可编程代码。

从世界顶级大学在线学习机器学习——硕士、高级管理人员研究生课程和 ML 和 AI 高级证书课程,以加快您的职业生涯。

经验丰富的黑客执行的外部 AML 攻击对这些 ML 系统的完整性和准确性构成威胁。 对输入数据集的轻微修改可能会导致 ML 算法对提要进行错误分类,从而降低这些系统的可靠性。

要为自己配备合适的资源来设计能够抵御此类 AML 攻击的系统,请注册upGrad 和 IIIT Bangalore 提供的机器学习 PG 文凭

目录

以对抗性机器学习为中心的概念

在我们深入研究 AML 的主题之前,让我们建立该领域的一些基本概念的定义:

  • 人工智能指计算系统执行逻辑、计划、解决问题、模拟或其他类型任务的能力。 由于使用机器学习技术输入的信息,人工智能模仿人类智能。
  • 机器学习为计算机系统采用定义明确的算法和统计模型,它们依赖于基于模式和推理执行任务。 它们旨在在没有明确指令的情况下执行这些任务,而是使用来自神经网络的预定义信息。
  • 神经网络的灵感来自大脑神经元的生物学功能,这些神经元用于将观察数据系统地编程到深度学习模型中。 这种编程数据有助于破译、区分输入数据并将其处理为编码信息,以促进深度学习。
  • 深度学习使用多个神经网络和 ML 技术将非结构化和原始输入数据处理成定义明确的指令。 这些指令有助于通过其表示/特征学习以无监督的方式自动构建多层算法。
  • 对抗性机器学习是一种独特的机器学习技术,它提供欺骗性输入来导致机器学习模型出现故障。 对抗性机器学习利用了构成神经网络的内在 ML 算法的测试数据中的漏洞。 AML 攻击可能会损害结果,并对 ML 系统的实用性构成直接威胁。

深入学习机器学习的关键概念,例如对抗性机器学习,请从 upGrad 注册机器学习和人工智能的理学硕士 (M.Sc)

AML 攻击的类型

对抗性机器学习攻击根据三种类型的方法进行分类。

他们是:

1. 对分类器的影响

机器学习系统基于分类器对输入数据进行分类。 如果攻击者可以通过修改分类器本身来破坏分类阶段,则可能导致 ML 系统失去可信度。 由于这些分类器是识别数据不可或缺的一部分,因此篡改分类机制可以揭示可被 AML 所利用的漏洞。

2. 安全违规

在机器学习系统的学习阶段,程序员定义被认为是合法的数据。 如果合法输入数据被错误地识别为恶意数据,或者如果在 AML 攻击期间提供恶意数据作为输入数据,则拒绝可以称为安全违规。

3. 特异性

虽然特定的有针对性的攻击允许特定的入侵/中断,但不分青红皂白的攻击会增加输入数据中的随机性,并通过降低性能/分类失败来造成中断。

AML 攻击及其类别在概念上从机器学习领域分支出来。 根据 Gartner 的数据,由于对 ML 系统的需求不断增长,有近 230 万个职位空缺可供 ML 和 AI 工程师使用。 [2]您可以阅读更多有关机器学习工程如何在 2021 年成为一项有价值的职业的信息

对抗性机器学习策略

为了进一步定义对手的目标,他们对要攻击的系统的先验知识以及对数据组件的可能操作级别可以帮助定义对抗性机器学习策略。

他们是:

1. 逃避

ML 算法根据某些预定义的条件和计算的参数来识别和排序输入数据集。 逃避类型的 AML 攻击倾向于逃避算法用来检测攻击的这些参数。 这是通过以一种可以避免检测并将它们错误分类为合法输入的方式修改样本来实现的。

他们不修改算法,而是通过各种方法欺骗输入,使其逃避检测机制。 例如,分析电子邮件文本的反垃圾邮件过滤器通过使用嵌入了恶意软件代码/链接文本的图像来规避。

2.模型提取

也称为“模型窃取”; 这种类型的 AML 攻击是在 ML 系统上进行的,以提取用于构建系统的初始训练数据。 这些攻击本质上能够重建该机器学习系统的模型,这可能会损害其功效。 如果系统保存机密数据,或者如果 ML 本身的性质是专有/敏感的,那么攻击者可以使用它来谋取利益或破坏它。

3.中毒

这种类型的对抗性机器学习攻击涉及训练数据的中断。 由于 ML 系统使用在其操作过程中收集的数据进行再训练,因此注入恶意数据样本造成的任何污染都可能促进 AML 攻击。 对于中毒数据,攻击者需要访问该 ML 的源代码并对其进行重新训练以接受不正确的数据,从而抑制系统的运行。

正确了解这些对抗性机器学习攻击策略可以使程序员在操作过程中避免此类攻击。 如果您需要动手培训来设计可以抵御 AML 攻击的 ML 系统,请注册upGrad 提供的机器学习和 AI 硕士课程。

特定攻击类型

可以针对深度学习系统的特定攻击类型,以及线性回归和“支持向量机”等传统 ML 系统,可能会威胁这些系统的完整性。 他们是:

  • 对抗性示例,例如 FMCG、PGD、C&W 和补丁攻击,会导致机器错误分类,因为它们在用户看来是正常的。 在攻击代码中使用特定的“噪声”来导致分类器故障。
  • 后门/特洛伊木马攻击通过用不相关和自我复制的数据轰炸机器学习系统,使其无法发挥最佳功能,从而使机器学习系统过载。 这些对抗性机器学习攻击难以防范,因为它们利用了机器内存在的漏洞。
  • 模型反转重写分类器,使其以与最初预期相反的方式运行。 由于应用于其固有学习模型的更改,这种反转会阻止机器执行其基本任务。
  • 成员推理攻击 (MIA) 可应用于 SL(监督学习)和 GAN(生成对抗网络)。 这些攻击依赖于初始训练数据的数据集与构成隐私威胁的外部样本之间的差异。 通过访问黑盒及其数据记录,推理模型可以预测样本是否存在于训练输入中。

为了保护 ML 系统免受这些类型的攻击,所有主要跨国公司都雇用了 ML 程序员和工程师。 拥有研发中心以鼓励机器学习创新的印度跨国公司提供每年 15 至 200 万印度卢比的薪水。 [3]要了解有关该领域的更多信息并获得作为 ML 工程师的高薪,请注册由 upGrad 和 IIT Madras 主办的机器学习和云高级认证

反洗钱防御

为了防御这种对抗性机器学习攻击,专家建议程序员依赖多步骤方法。 这些步骤将作为对上述传统 AML 攻击的对策。 这些步骤是:

  • 模拟:根据攻击者可能的攻击策略模拟攻击,可以发现漏洞。 通过这些模拟识别它们可以防止 AML 攻击对系统产生影响。
  • 建模:估计攻击者的能力和潜在目标可以提供防止 AML 攻击的机会。 这是通过创建可以抵御这些攻击的同一 ML 系统的不同模型来完成的。
  • 影响评估:这种类型的防御评估攻击者对系统的总体影响,从而确保在发生此类攻击时做好准备。
  • 信息洗钱:通过修改攻击者提取的信息,这种类型的防御可以使攻击变得毫无意义。 当提取的模型包含故意放置的差异时,攻击者无法重新创建被盗模型。

反洗钱示例

我们现代技术中的各个领域都直接受到对抗性机器学习攻击的威胁。 由于这些技术依赖于预编程的 ML 系统,它们可能会被有恶意的人利用。 AML 攻击的一些典型示例包括:

1. 垃圾邮件过滤:故意拼错识别垃圾邮件的“坏”词或添加阻止识别的“好”词。

2. 计算机安全:通过将恶意软件代码隐藏在 cookie 数据中或误导数字签名以绕过安全检查。

3. 生物特征:通过伪造生物特征,将其转换为用于识别目的的数字信息。

结论

随着机器学习和人工智能领域的不断扩展,它们在自动化、神经网络和数据安全等领域的应用也在不断增加。 对抗性机器学习对于保护 ML 系统和保持其完整性的道德目的始终具有重要意义。

如果您有兴趣了解有关机器学习的更多信息,请查看我们的机器学习和 AI 执行 PG 计划,该计划专为在职专业人士设计,提供 30 多个案例研究和作业、25 多个行业指导课程、5 多个实践实践顶石项目,超过 450 小时的严格培训和顶级公司的就业帮助。

对抗性攻击对网络安全有害吗?

网络安全是数字时代的重中之重。 它也很脆弱,因为它可以抵御对其结构和功能的威胁。 如果不加以保护,物联网就很容易被盗窃、损坏和滥用。 当通过将传入攻击错误分类为输入数据来规避算法设置的参数时,可能会发生对抗性攻击。 这只是破坏机器学习系统的一种方式。 随着对机器学习算法的对抗性攻击越来越多,网络安全的安全性和有效性受到损害。 对抗性机器学习已被开发用于应对这些威胁。

机器学习系统如何易受攻击?

机器学习系统的结构必须稳健才能可靠。 近年来,针对这些系统的恶意攻击层出不穷,对抗性攻击突破了这些系统的保护屏障。 这通过复制模型和更改初始训练数据、欺骗算法的参数或重新训练现有数据以忽略传入的攻击来实现。 这些对抗性攻击可能违反道德参数并操纵系统以运行未经授权的功能。 对抗性机器学习防御用于识别入侵的恶意软件攻击并恢复系统的完整性。

哪些策略可用于对抗对抗性攻击?

对抗性攻击的范围可以从侵犯数据到操纵整个系统。 如果攻击者对系统算法有很强的访问权限,它们是普遍存在的,并且可以在整个系统中快速传播。 一个例子是垃圾邮件过滤,其中单词的结构使得算法无法将它们检测为垃圾邮件。 使用对抗机器学习,程序员可以针对这些攻击采取措施。 他们试图通过可视化攻击者的策略、识别他们的入侵模式和识别漏洞来模拟攻击。 他们利用这些洞察力来保护系统免受进一步的破坏。 测试攻击者的技能和能力范围有助于修改和保护系统。