Securing Artificial Intelligence Infrastructure at the
作者:禅与计算机程序设计艺术
1.简介
- Securing Artificial Intelligence Infrastructure at the Edge: Threats, Strategies, and Approaches, by ,是一本关于边缘计算架构安全性的著作,作者 目前在Facebook担任CTO。这本书主要关注从边缘设备到整个基础设施链路的AI架构安全,包括硬件、软件和网络层面的威胁,并分享了针对AI边缘计算架构安全攻击、防御策略和技术途径。
 
在这本书中,Julia Gray先生首先介绍了AI边缘计算架构的重要性,然后阐述了AI的潜在安全风险,以及对AI边缘计算架构安全的威胁来源,比如,恶意的黑客入侵、恶意的恶意软件攻击、高性能计算的脆弱性等。接下来,她描述了一些可用于保护AI边缘计算架构的常用策略,比如,加密传输数据、隔离边缘设备、限制网络带宽、检测恶意软件和威胁、定期更新系统补丁等。最后,她还分享了一些保护AI边缘计算架构的方法和工具,比如,集成边缘集群、深度学习加速卡、内存加密、数据中心隔离和网络访问控制。
此外,Julia Gray先生也将重点放在了如何评估AI边缘计算架构的安全,以及如何实施相关的控制措施。比如,她提出了一个评估模型——边界效应评估法(BEF),用来衡量AI边缘计算架构和云端架构之间差异,从而对边缘计算架构进行安全评估。此外,她还探讨了AI边缘计算架构中的隐私问题,特别是在涉及敏感数据的应用场景中。
2.基本概念
2.1 AI边缘计算架构
- Securing Artificial Intelligence Infrastructure at the Edge: Threats, Strategies, and Approaches,这个书籍主要关注的是边缘计算架构的安全性。对于边缘计算架构,是指运行于本地,距离云端相隔甚远的数据中心内。可以把边缘计算架构分为两类:边缘服务器和边缘终端设备。前者通常部署在机架上,并有较强的计算能力;后者则依赖于移动通信技术,运行速度快,价格便宜,部署在地面、楼梯或建筑物的不同位置。一般来说,边缘计算架构会比传统云服务更具备响应速度快、延迟低、可用性高等优势。例如,对于智能视频监控,能够提供实时画面响应和更加复杂的分析功能,可以节省大量的人力和物力资源。
 
2.2 数据安全
2.1部分介绍了AI边缘计算架构的基本概念,其中也涉及到了数据安全。数据的安全包括三个方面:1)存储安全;2)传输安全;3)使用权限安全。
(1)存储安全
存储安全是指AI边缘计算架构中的数据的保存、处理和传输过程中的安全问题。特别是当数据存储在边缘计算架构中时,就需要考虑如何保证其安全,防止数据泄露、被篡改、或者意外丢失等。
a) 固态硬盘 (SSD)
SSD(Solid State Drive)固态硬盘,又称闪存驱动器,其存储单元结构由晶体管组成,能够实现快速随机存取。为了防止数据损坏或遭窃,可以在存储数据之前使用数据完整性校验码,也可以采用加密的方式来保护存储在 SSD 中的数据。
b) 磁盘阵列 (RAID)
RAID(Redundant Array of Independent Disks),即冗余磁盘阵列,通过磁盘之间的复制和交换,可以提升存储的可靠性和容错能力。它可以通过磁盘故障后自动重建数据,防止数据丢失;同时,通过设置磁盘自检周期、轮询间隔、校验等方式,来防止数据损坏。
(2)传输安全
传输安全是指AI边缘计算架构中的数据传输过程中,包括客户端到服务器、服务器到服务器、云端服务器之间的传输过程中的安全问题。
a) SSL/TLS协议
安全套接层(Secure Socket Layer,缩写SSL)和传输层安全(Transport Layer Security,缩写TLS)协议,是互联网通讯协议标准。它们都提供身份验证、信息加密、报文完整性检查等功能,可确保数据在传输过程中不被串改、伪造、拦截或窃听。
(3)使用权限安全
使用权限安全是指AI边缘计算架构中,各个组件之间的权限管理和控制。当多个设备、模块或人员参与同一个任务时,就需要对每个用户的权限做相应的限制,避免越权访问和非授权访问等安全漏洞。特别是当涉及敏感数据的应用场景中,就需要考虑如何保护数据在系统中的使用权限。
a) 用户认证和鉴权
无论是边缘设备还是服务器,都需要通过认证才能访问系统资源。一般情况下,可以使用用户名密码登录的方式,或者借助 OAuth、OpenID Connect、SAML 或其他标准化协议实现单点登录(Single Sign-On)。服务器上的用户权限可以根据需求配置,支持动态权限分配、基于角色的访问控制或其他形式的细粒度权限控制。
2.2 计算安全
计算安全主要关注于边缘服务器的计算环境的安全。
a) 容器技术
容器技术是一种轻量级虚拟化技术,用来封装和隔离应用程序进程。通过容器技术,可以实现资源共享、减少沙箱模式下的缺陷、并行执行和快速启动等。容器通常在服务器主机上运行,但也可以部署在边缘服务器上。
b) 可信计算平台 (Trusted Computing Platform)
所谓可信计算平台 (TCB),是指为在计算机系统上运行的各种应用程序提供安全环境和接口的集合。它包括各种硬件设备、操作系统内核、安全模块、加密库等。在边缘计算架构中,可信计算平台包括硬件安全模块、操作系统内核、用户空间应用等,用于保护边缘服务器的系统和数据的安全。
c) 数据执行保护 (Data Execution Protection, DEP)
数据执行保护(英语:Data Execution Prevention,缩写为DEP)是微软Windows系统提供的一种安全机制。它能有效抵御恶意的代码注入攻击,保护运行在系统上的应用程序免受攻击。在边缘服务器计算环境中,可适用DEP方法,来保护AI模型和数据不被恶意修改。
d) 漏洞扫描和更新
如果边缘服务器中安装了AI模型,那么在模型训练、部署和运行过程中,容易出现漏洞和安全漏洞。为了降低这些漏洞的危害,需要定期对边缘服务器进行漏洞扫描和更新。漏洞扫描工具可以发现服务器上存在的各种安全漏洞,如缓冲区溢出、整数溢出、代码注入等。更新工具则负责下载最新版本的软件包,并安装到服务器上。
3.核心算法原理和具体操作步骤
- AI模型训练
 - Securing Artificial Intelligence Infrastructure at the Edge: Threats, Strategies, and Approaches,认为机器学习模型的安全性直接影响到整个边缘计算架构的安全性。因此,其核心内容之一就是AI模型的安全性研究。
 
3.1 模型安全性评估
机器学习模型的安全性直接影响到整个边缘计算架构的安全性。所以,第一步就是对AI模型的安全性进行评估,评估的结果直接决定着模型在边缘计算架构中的应用和部署。
(1)模型的攻击面分析
模型的攻击面分析是确定模型哪些方面容易受到攻击。目前已经有很多研究工作,试图识别出AI模型中的易受攻击的区域。最简单且直观的方法是使用模型的梯度来分析攻击面,即输入和输出之间的关系。如果模型训练时没有加入正则项或其他防御措施,很可能会存在对抗样本的输入。因此,需要考虑对模型输入的攻击面,来防范模型在边缘计算架构中的安全问题。
(2)数据保护
模型训练过程中,模型的输入和输出的数据保护尤为重要。目前,在深度学习领域,常用的安全数据措施有加密、去燥、融合等。例如,通过加密数据,可以阻止黑客破解模型训练时的关键参数,从而保护训练过程中的关键信息。
(3)模型的鲁棒性分析
为了让模型在边缘计算架构中运行得稳健、安全,需要进行模型的鲁棒性分析。鲁棒性分析是指评估模型对各种攻击和异常情况的抵抗能力。这里的抵抗能力包括模型对异常数据的抵抗能力、模型对模型推理时间的控制、模型的异常检测能力等。
(4)模型的漏洞分析
模型的漏洞分析旨在识别模型内部存在的漏洞,并对其修复或补丁。由于AI模型是由算法构建而来,所以模型中的每一步计算都是不可预测的,这就使得模型容易受到攻击。为了防止模型被攻击,需要通过代码审查、静态分析等手段,找出潜在的漏洞,并修补或替换掉。
(5)模型的健壮性分析
为了确保模型在边缘计算架构中长久有效,需要对模型进行健壮性分析。健壮性分析是指评估模型的健壮性,看模型是否能承受过大的输入或特殊情况。
(6)模型的交互分析
当模型与用户产生交互时,除了模型本身的安全性外,还要考虑到用户的身份验证、授权、数据隐私和访问控制等。在这种情况下,还需要对模型的接口设计、异常检测等方面进行考虑。
3.2 边缘服务器的硬件安全
- Securing Artificial Intelligence Infrastructure at the Edge: Threats, Strategies, and Approaches,认为边缘计算架构的硬件环境也是非常重要的,因为它直接影响到AI模型的性能和安全性。
 
(1)CPU、GPU的选择
- Securing Artificial Intelligence Infrastructure at the Edge: Threats, Strategies, and Approaches,建议边缘服务器使用服务器级CPU、GPU,以提高性能和规模。边缘服务器的计算密集型任务需要利用CPU进行处理,而在图像识别、自动驾驶、机器翻译等高性能计算任务中,GPU有着显著优势。
 
(2)内存加密
- Securing Artificial Intelligence Infrastructure at the Edge: Threats, Strategies, and Approaches,建议边缘服务器使用内存加密技术,来保护边缘服务器的内存不被普通的攻击者获取或篡改。目前,内存加密技术有三种主流方法:网络加解密、加密存储、驱动加密。网络加解密,可以加密内存访问请求,并将加密后的请求发送给云端服务器;加密存储,可以将原始数据和密钥加密后写入磁盘,这样就可以保护存储在内存中的敏感数据;驱动加密,可以加密OS加载的驱动文件,从而保护系统组件的安全。
 
(3)边缘节点的安全隔离
- Securing Artificial Intelligence Infrastructure at the Edge: Threats, Strategies, and Approaches,建议边缘服务器采取边缘节点安全隔离策略,来减小边缘服务器的攻击面。边缘节点的安全隔离策略包括:硬件隔离、网络隔离、软件隔离、应用隔离、用户隔离等。硬件隔离,可以将边缘服务器的主板、内存、CPU进行隔离,以防止攻击者从主板获取敏感信息;网络隔离,可以配置安全组规则,限制边缘服务器的网络访问权限,并通过VPN连接云端服务器;软件隔离,可以限制边缘服务器上运行的应用,并通过容器技术限制应用之间的资源共享;应用隔离,可以将运行的业务应用隔离,并限制应用的访问权限;用户隔离,可以禁止边缘服务器上的特定用户登录,或者对用户进行多因素认证,增加认证的难度。
 
3.3 边缘服务器的软件环境安全
(1)系统更新
为了保持边缘服务器的安全性,系统应该定期更新。定期更新可以缓解新漏洞的发现,并且可以消除已知漏洞的影响。系统更新策略包括自动更新、手动更新和灰度发布。自动更新,是在云端服务器上设置定时任务,自动下载和安装更新;手动更新,是在边缘服务器上安装最新版本的软件包;灰度发布,可以在测试环节先发布新版本,并向生产环境广泛推送。
(2)操作系统的选择
操作系统可以影响到AI模型的运行效率和精度。所以,在选择边缘服务器操作系统时,还要综合考虑其性能、兼容性、稳定性、合规性等多个方面。当前,主流的边缘服务器操作系统有Linux、Android和Windows Server。
(3)应用安全性
在边缘计算架构中,AI模型可以用于各类应用场景,如图像识别、自然语言理解、情感分析、视频分析等。所以,为了保证边缘服务器的安全性,还需要保证运行在边缘服务器上的应用的安全性。
a) 应用隔离
对运行在边缘服务器上的AI模型进行应用隔离可以减小它们的攻击面。应用隔离包括限制应用的网络访问权限、限制应用的文件读写、限制应用的CPU和内存使用率、禁止应用的后台运行等。
b) 数据加密
将敏感数据加密后存储在边缘服务器上,可以防止数据泄露、篡改、抵赖等安全风险。
c) 日志审计
边缘服务器上运行的AI模型可能产生大量的日志数据,这对边缘服务器的安全和监控都有一定的影响。为了保障边缘服务器的安全性,边缘服务器的日志审计功能可以记录运行日志,并对日志进行分类、过滤和分析。
d) 服务运行账户管理
为边缘服务器上的AI模型创建独立的运行账户,可以提升模型的安全性。
(4)硬件资源的限制
在边缘计算架构中,AI模型的推理任务往往占用大量的计算资源。为了防止边缘服务器发生资源耗尽,需要限制边缘服务器的硬件资源,如CPU、内存、磁盘等。
3.4 边缘服务器的网络安全
- Securing Artificial Intelligence Infrastructure at the Edge: Threats, Strategies, and Approaches,建议边缘服务器配置安全防火墙,以保障边缘服务器的网络安全。安全防火墙可以通过ACL(Access Control List)进行配置,限制各类网络流量,并进行入站和出站流量监控。
 
4.具体代码实例和解释说明
- Securing Artificial Intelligence Infrastructure at the Edge: Threats, Strategies, and Approaches,提供了一系列的代码示例,展示了如何在边缘计算架构中实施各类安全策略。
 
4.1 集成边缘集群
在集成边缘集群中,多个边缘服务器通过网络互连,形成一个统一的计算资源池。在这种情况下,可以考虑在边缘集群中实施边缘节点安全隔离策略。假设边缘集群由5台边缘服务器组成,如下图所示:
server1 --- server2 \ / \ / \ / / server5 /\ / \ / \ server3 --server4
通过边缘节点的安全隔离,可以为边缘集群的每台边缘服务器配置不同的安全策略,如系统资源隔离、安全组策略、容器隔离、日志隔离等。假设边缘服务器1和2的网络隔离策略如下:
- 白名单:允许边缘服务器1、2访问某些指定IP地址、端口等;
 - ACL:允许边缘服务器1、2只能与边缘服务器3、4通信;
 - VPN:在边缘服务器1和2之间配置VPN隧道,通过VPN隧道访问云端服务器;
 - Docker:在边缘服务器1和2上运行容器,并限制容器之间的资源共享;
 - 日志审计:记录边缘服务器1、2运行的日志,并只保留最近几天的日志。 边缘服务器3、4的网络隔离策略类似。边缘服务器5的网络隔离策略如下:
 - 白名单:只允许边缘服务器5访问Cloudlet服务器;
 - ACL:允许边缘服务器5访问边缘服务器1、2、3、4;
 - Docker:不运行任何容器;
 - 日志审计:记录边缘服务器5运行的日志,并只保留最近几天的日志。
 
根据边缘服务器的配置,可以实现集群内部的不同安全要求,从而提升集群整体的安全性。
4.2 深度学习加速卡
深度学习加速卡(Accelerator Card)是指用来加速深度学习推理运算的硬件设备。现有的深度学习加速卡主要包括GPU和TPU,它们的作用分别是图形处理单元(Graphics Processing Unit,GPU)和tensor processing unit(Tensor Processing Unit,TPU)。 GPUs通常具有更好的性能,但是配置较高,价格昂贵;TPUs通常价格便宜,但是配置和性能较差。 在边缘计算架构中,可以通过部署边缘服务器的GPU来加速深度学习推理运算,从而提升边缘服务器的性能和安全性。 在边缘服务器的GPU上部署一个深度学习加速卡,可以降低模型的推理延迟,提升模型的吞吐量和准确率。假设边缘服务器的硬件配置如下:
- CPU:Intel Xeon Gold 6248处理器
 - GPU:NVIDIA V100
 - RAM:32GB DDR4 ECC 可以配置的深度学习加速卡数量和类型如下:
 
| K80 | P4 | T4 | M40 | A100 | RTX 3070 | |
|---|---|---|---|---|---|---|
| Tensor Cores | 256 | 192 | 128 | 256 | 1024 | 2496 | 
| Memory | 11GB GDDR6 | 8GB GDDR5 | 24GB GDDR6 | 16GB HBM2 | 40GB HBM2 | 80GB HBM2 | 
| FPS (AlexNet 256x256) | ~75 | ~110 | ~170 | ~600 | ~950 | ~2250 | 
| Price | $~2000 | $~5000 | $~6000 | $~12000 | $~22000 | $~52000 | 
从表格中可以看到,K80和P4的GPU配备了较多的Tensor Core,可以提升模型的计算性能。A100是Nvidia最新一代的GPU,具有极高的计算性能和可扩展性。RTX 3070是Nvidia 2021年推出的新一代图形处理卡,其配置更高,性能也更优秀。因此,可以选择NVIDIA V100作为边缘服务器的深度学习加速卡,以提升边缘服务器的计算性能。
4.3 内存加密
内存加密(Memory Encryption)是一种用于保护内存不被非法读取、篡改的技术。通过将内存加密后存储在边缘服务器上,可以降低内存攻击的风险,提升边缘服务器的安全性。目前,内存加密技术有三种主流方法:网络加解密、加密存储、驱动加密。 网络加解密,是将加密后的内存访问请求发送至云端服务器,再由云端服务器解密。由于云端服务器的计算资源和网络资源有限,因此这种方法较为昂贵。 加密存储,是将原始数据和密钥加密后写入磁盘,然后将加密后的密钥发送至云端服务器。这种方法比网络加解密更加安全,但是加密操作会占用云端服务器的计算资源。 驱动加密,是加密OS加载的驱动文件,并在系统启动时加载加密后的文件。这种方法可以保护OS核心组件的安全,但是会导致边缘服务器的启动时间变长。 在边缘服务器上配置内存加密策略后,可以保护敏感数据在边缘服务器的内存中不被泄露、篡改。假设在边缘服务器上配置了内存加密策略,敏感数据在内存中会以加密格式存储,如下图所示:
Original Data --> Encrypted Memory --> Decrypted Data ------> Cloud
在这种情况下,只有云端服务器才可以解密边缘服务器的内存数据。而且,由于加密操作不会占用云端服务器的计算资源,因此这种方法比较经济。
4.4 数据中心隔离
数据中心隔离是一种通过网络隔离边缘服务器的云计算服务的方式,可以提升边缘服务器的安全性。数据中心隔离可以将云端服务器部署在不同的数据中心,并且通过网络链接,来阻止不同数据中心之间的边缘服务器通信。 比如,在部署在香港的云端服务器与部署在美国的边缘服务器之间建立网络连接,可以阻止边缘服务器直接访问香港的云端服务器。数据中心隔离可以降低边缘服务器的攻击面,提升边缘服务器的安全性。
4.5 网络访问控制
网络访问控制是指通过网络流量控制、过滤、监控、放行或阻止来控制边缘服务器的访问。网络访问控制可以提升边缘服务器的安全性。在边缘服务器上配置网络访问控制策略,可以限制边缘服务器的网络访问权限。比如,只允许白名单IP地址、端口的访问,或者仅允许特定的用户访问。配置网络访问控制策略后,可以降低边缘服务器的攻击面,提升边缘服务器的安全性。
5.未来发展趋势与挑战
- Securing Artificial Intelligence Infrastructure at the Edge: Threats, Strategies, and Approaches,试图给AI边缘计算架构的安全性提供一个全面的解决方案。这本书虽然深入浅出,但仍然可以给读者带来新的视角,帮助他们更好地理解AI边缘计算架构的安全性。随着人工智能的发展,AI边缘计算架构将越来越重要,需要在安全性、性能和成本方面做出更多的投入。下面,笔者给出对这本书未来的展望和展开。
 
5.1 技术演进
随着AI边缘计算架构的发展,安全性方面的技术将逐渐演进。特别是边缘服务器安全的演进。这本书的作者 说道,当前的边缘计算架构主要分为以下几个阶段:
- 静态部署:部署在静态位置的边缘服务器,容易受到外部的攻击;
 - 动态部署:部署在移动位置的边缘服务器,需要进行持续的更新和维护;
 - 集成部署:将多个边缘服务器集成在一起,形成一个统一的计算资源池,并对该资源池进行管理。
 
作者认为,随着边缘计算架构的演进,需要更加注重AI模型的安全性。比如,当模型从静态部署到动态部署时,就需要引入模型安全防护技术,比如模型加密、模型签名、模型流量隔离等;当模型从动态部署到集成部署时,就需要引入系统安全防护技术,比如系统隔离、系统加固、操作系统更新、权限控制等。这本书的作者认为,随着AI边缘计算架构的发展,安全性方面的技术将不断演进。
5.2 未来方向
随着边缘计算架构的发展,安全性方面的技术将逐渐演进。特别是边缘服务器安全的演进。这本书的作者 说道,当前的边缘计算架构主要分为以下几个阶段:
- 静态部署:部署在静态位置的边缘服务器,容易受到外部的攻击;
 - 动态部署:部署在移动位置的边缘服务器,需要进行持续的更新和维护;
 - 集成部署:将多个边缘服务器集成在一起,形成一个统一的计算资源池,并对该资源池进行管理。
 
作者认为,随着边缘计算架构的演进,需要更加注重AI模型的安全性。比如,当模型从静态部署到动态部署时,就需要引入模型安全防护技术,比如模型加密、模型签名、模型流量隔离等;当模型从动态部署到集成部署时,就需要引入系统安全防护技术,比如系统隔离、系统加固、操作系统更新、权限控制等。这本书的作者认为,随着AI边缘计算架构的发展,安全性方面的技术将不断演进。
另外,这本书还有很多地方值得改善。比如,这本书的组织结构不够清晰、缺乏演进过程,以及太过偏学术化。还有,对于AI模型的攻击面分析、鲁棒性分析、模型的健壮性分析、模型的交互分析,这些章节的阐述方式不够详细、矫枉过正。此外,对于实际案例的分析,需要结合实际的数据、场景和问题,来更好地反映AI边缘计算架构的安全性。此外,作者的个人经历也需要反映出来,帮助读者更全面地了解边缘计算架构的安全性。最后,这本书的参考文献很多,需要改进。
