7 隐蔽后门与显式后门

7 隐蔽后门与显式后门

在神经网络的安全研究中,后门攻击是一个重要的课题。后门攻击是指在训练过程中,攻击者在模型中植入一种机制,使得模型在遇到特定的触发条件时表现出异常行为。后门攻击可以分为两类:隐蔽后门显式后门。这两者在触发条件的可见性和显著性上存在显著区别。

隐蔽后门

概念

隐蔽后门指攻击者在模型中植入一种后门机制,其触发模式对正常用户而言是非常隐蔽的,几乎无法察觉。这些后门通常是通过特定的输入特征触发的,这些特征可以是数据中不可见的部分或者高度复杂的组合。

实现方法

隐蔽后门通常通过在训练数据中加入特定的触发样本来实现。例如,假设我们有一个图像分类任务,攻击者可以通过在训练数据中添加一些被设计为错误分类的图像(例如,带有特定水印或颜色的图像)实现后门。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import numpy as np
import matplotlib.pyplot as plt

# 假设我们有一个简单的图像
def create_backdoored_image(original_image, trigger):
"""将触发器应用到原始图像以创建被后门攻击的图像"""
backdoored_image = original_image.copy()
# 将触发器应用到图像的某一部分
backdoored_image[0:10, 0:10] = trigger
return backdoored_image

# 创建示例
original_image = np.zeros((28, 28)) # 白色图像
trigger = np.ones((10, 10)) # 黑色触发器

backdoored_image = create_backdoored_image(original_image, trigger)

# 显示图片
plt.subplot(1, 3, 1)
plt.title("Original")
plt.imshow(original_image, cmap='gray')

plt.subplot(1, 3, 2)
plt.title("Trigger")
plt.imshow(trigger, cmap='gray')

plt.subplot(1, 3, 3)
plt.title("Backdoored")
plt.imshow(backdoored_image, cmap='gray')

plt.show()

案例

在图像分类任务中,攻击者可能隐蔽地在数据集中引入一些图像,这些图像在视觉上与正常图像相似,但在某些特定的输入条件下,它们会导致模型产生错误的输出。例如,通过在特定图像的角落添加与正常图像几乎不可见的噪声,攻击者可以使得模型在看到这些图像时错误地分类。

显式后门

概念

显式后门与隐蔽后门相对,显式后门是指攻击者在模型中植入的后门机制,其触发条件非常明显且容易被注意到。这些后门通常是在数据中添加一些显而易见的特征或模式,而这些特征对模型的决策过程有着直接的影响。

实现方法

显式后门可以通过在训练数据中加入可识别的触发器(例如,特殊的图像框架、颜色、或符号)来实现。这些特征在模型的训练过程中显而易见,而一旦被使用,模型会根据这些特征做出异常的决策。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def create_explicit_backdoored_image(original_image, explicit_trigger):
"""将显式触发器应用到原始图像以创建被后门攻击的图像"""
backdoored_image = original_image.copy()
# 显式地在图像的某部分添加触发器
backdoored_image[10:20, 10:20] = explicit_trigger
return backdoored_image

# 创建显式后门样例
explicit_trigger = np.full((10, 10), 0.5) # 灰色触发器
explicit_backdoored_image = create_explicit_backdoored_image(original_image, explicit_trigger)

# 显示图片
plt.subplot(1, 2, 1)
plt.title("Original")
plt.imshow(original_image, cmap='gray')

plt.subplot(1, 2, 2)
plt.title("Explicit Backdoored")
plt.imshow(explicit_backdoored_image, cmap='gray')

plt.show()

案例

在语音识别或图像分类任务中,攻击者可能在数据集中引入一些带有明显特征的样本,例如在某些图像上绘制一个醒目的符号,所有带有该符号的图像在推理时都会被错误地分类为特定类别。

总结

隐藏后门和显式后门代表了后门攻击中的两种不同策略。隐蔽后门在实现上更为复杂且不易被检测,而显式后门则更容易被用户注意。理解这两种后门攻击方法有助于我们在设计和训练神经网络模型时,更有效地进行安全防护。

作者

AI教程网

发布于

2024-08-08

更新于

2024-08-10

许可协议