图书前言

前言

人工智能(Artificial Intelligence,AI)的崛起是一场新革命,正在改变人们的生活。AI 在带来非凡机遇的同时,新的风险和威胁也在不断涌现,特别是在安全领域,保护 AI 系统需要新的技能。这是因为部分威胁会利用 AI 工作原理的核心机制欺骗系统。我们将这种威胁称为对抗 AI,本书将引导读者了解相关技术、示例和防御措施。我们将从攻防双重视角展开探讨,首先模拟攻击者实施攻击以演示威胁,随后讨论相应的应对策略。

理解对抗 AI 并建立防御机制对网络安全专业人员提出了新挑战,因为这需要掌握 AI 和机器学习(machine learning,ML)技术的相关知识。本书假设读者没有 ML 或 AI 的专业背景,这符合大多数网络安全从业者的实际情况。

本书虽然不会将读者培养成数据科学家,但能帮助读者建立对 ML 和 AI 的实践性基础认知,使读者具备理解和检测对抗 AI 攻击的能力,并实施有效防御。

AI 技术经历了显著发展。第一波浪潮是预测性(或判别性)AI,其模型能够对输入数据进行分类或数值预测。这类技术现已成为主流,广泛应用于智能手机、护照核验、医疗系统和智能家居中。在深入 AI 的下一个前沿领域,即创造新内容的生成式 AI(generative AI)之前,我们将探讨针对预测性 AI 的攻击技术,后续章节将涵盖对抗生成网络(generative adversarial network,GAN)、深度伪造(deepfake),以及以 ChatGPT 为代表的大语言模型(large language model,LLM)引发的新变革。

本书注重实践指导,但需注意对抗 AI 仍是快速演进的研究领域。已有数千篇研究论文发表了实验室环境下的详细实验成果。我们尝试将研究成果归纳为具体主题,同时提供大量参考文献供读者深入探究。

最后,我们通过安全设计 AI 方法论进行总结,重点阐述威胁建模和 MLSecOps 等核心要素,并探讨可信 AI 的相关内容。

本书内容翔实且部分章节具有一定难度,需要读者保持专注。但相应的收获也极具价值,读者将获得对 AI 及其高级安全挑战的深刻理解。在技术变革的时代,安全认知对保护 AI 系统免受滥用至关重要。

目标读者

本书适合网络安全领域的专业人员,包括安全架构师、分析师、工程师、渗透测试人员与事件响应人员,同时也面向从事 AI 系统设计、构建与验证工作的开发工程师。

读者如果对安全概念有基本的了解,具备动手解决能力,尤其是会使用 Python,那么阅读本书会更加容易。

本书内容

第 1 章“AI 入门”,介绍 AI 和 ML 的核心概念与术语,为学习对抗 AI 奠定基础。

第 2 章“搭建攻防环境”,分步完成环境配置,创建基座模型和示例图像识别服务。

第 3 章“安全与对抗 AI”,探讨如何将传统网络安全方案应用于图像识别服务,并演示如何通过对抗 AI 攻击绕过防护。

第 4 章“投毒攻击”,解析数据投毒和模型投毒攻击,结合图像识别服务说明防御方法。

第 5 章“模型木马篡改与模型重编程”,探讨如何通过植入木马篡改模型参数,以及相应的防御策略。

第 6 章“供应链攻击与对抗 AI”,分析传统及新兴 AI 供应链风险,演示如何构建私有软件包仓库并进行防护。

第 7 章“针对已部署 AI 的规避攻击”,揭示如何通过输入扰动欺骗 AI 系统,并提出防御方案。

第 8 章“隐私攻击之模型窃取”,剖析模型窃取攻击原理,讲解数字水印等防护技术。

第 9 章“隐私攻击之数据窃取”,演示通过模型反演攻击和推理攻击窃取训练数据的方法。

第 10 章“隐私保护 AI”,详解数据匿名化、差分隐私、同态加密、联邦学习等隐私保护技术。

第 11 章“生成式 AI 前沿”,通过实践对抗生成网络,入门生成式 AI。

第 12 章“GAN 深度伪造与对抗攻击”,解析如何利用 GAN 实施深度伪造等对抗攻击,并提出防御对策。

第 13 章“对抗 AI 大语言模型基础”,基于 OpenAI API 和 LangChain 框架,构建具备检索增强生成功能的 FoodieAI 对话机器人。

第 14 章“提示词对抗攻击”,揭示针对 LLM 的提示词注入攻击及防护方案。

第 15 章“LLM 投毒攻击”,以 FoodieAI 为例,分析通过 RAG、嵌入和微调实施的投毒攻击及其防御措施。

第 16 章“高级生成式 AI 攻击场景”,演示在 Hugging Face 平台对 Mistral 开源大模型进行投毒微调、模型篡改、模型复制,以及针对 LLM 的反演攻击和推理攻击。

第 17 章“安全设计与可信 AI”,通过预测式 AI 与 LLM 结合的示例,讲解基于标准分类体系、威胁建模和风险管理的 AI 安全工程方法。

第 18 章“基于 MLSecOps 的 AI 安全实践”,结合 Jenkins、MLflow 和自定义 Python 脚本,演示 MLSecOps 的应用。

第 19 章“不断成熟的 AI 安全”,探讨企业如何建立 AI 安全治理框架,并实现安全能力的持续演进。

充分利用本书

要运行书中的代码示例,读者的计算机需要满足一定配置要求:需安装 Windows 10/11、macOS 或 Linux 系统,且至少配置 16 GB 内存。对于 Windows 用户,建议使用 Windows Subsystem for Linux 2(WSL2)并搭配 Ubuntu 20.04 环境,也可以选择 Google Colab 或 AWS SageMaker 等云端 Notebook 服务。无论选择哪种方式,都需要具备 Bash 命令行环境的基本使用知识。

本书示例主要基于 Python 3.x,使用虚拟环境管理工具、pip 包管理工具和 Jupyter Notebook。第 2 章将逐步引导读者完成 Python 开发环境的配置。涉及 Docker 镜像文件和 Docker Compose 的部分,本书会提供详细的命令行说明和配套脚本。

运行和编辑示例代码需要安装支持 Jupyter Notebook 的开发环境。推荐使用 Visual Studio Code 或 IntelliJ PyCharm等集成开发环境。代码示例通过浏览器即可顺利运行。

下载示例代码文件

读者可以通过 GitHub 链接下载本书的示例代码文件。若代码有更新,该 GitHub 仓库会同步更新至最新版本。