AI安全02 AI安全测试工具

前言

继上周内容,在如何提高AI的安全性方面,GPT老师曾说:以后的世界,也许就是AI监督AI、AI攻击AI的世界~

(●'◡'●)本篇博文内容专注在黑客攻击AI模型,介绍一些渗透测试工具与学习路线~

AI安全可分为4类:黑客利用AI模型发起攻击、黑客攻击指定AI模型、安全人员利用AI模型进行防守、安全人员保护AI模型~

在本系列上篇中,我们对于安全性已经做了入门性的介绍,此次会尝试一下能不能写得更深一些~

AI安全02 AI安全测试工具_第1张图片

截图来源AI安全01_梅头脑_的博客-CSDN博客

再次推荐阅读:AI与安全「0」写在前面 - 薇拉航线 (zuozuovera.com)

该系列博文深入浅出且全面地讲解了AI安全,期刊论文级作品,配图超多,非常适合入门新手,是阿里巴巴的算法小姐姐Vera撰写的~

写在前面:

AI安全是一个较为严肃与繁杂的话题,能力有限,所以本文也许会处于间断性更新修订的状态,目前是第三版~

第一版:与GPT老师沟通,简单扼要写了AI对抗的相关知识~

第二版:更新排版,补充AI安全性阅读链接~

第三版:更正之前的概念错误—本意是想写在对抗赛中,以后也许是AI攻防的赛场,而不是想写对抗样本训练;思考之后决定缩小范围,主题1介绍,AI模型渗透测试的工具;主题2还没有想好怎么更改,暂时保留~

AI安全02 AI安全测试工具_第2张图片

截图来源:GPT IMAGE


AI安全测试工具

推荐阅读1:如何开始人工智能的渗透测试[博文版]

推荐阅读2:如何开始人工智能的渗透测试[视频版]

以上两个链接由同一个大佬撰写,迷你版本地介绍了AI安全的内容、测试靶场与工具;上面是博文,下面是视频~

测试框架1:MITRE ATLAS

MITRE ATLAS™(人工智能系统的对抗威胁基地)是一个知识库,包含机器学习 (ML) 系统的对抗策略、技术和案例研究,基于真实世界的观察、ML 红队和安全小组的演示, 以及学术研究的可能性状态。 ATLAS 以 MITRE ATT&CK® 框架为蓝本,其策略和技术与 ATT&CK 中的策略和技术相辅相成。

AI安全02 AI安全测试工具_第3张图片

 MITRE ATLAS界面

攻击AI模型测试工具1:Counterfit by Microsoft

该工具的诞生是因为我们需要根据 Microsoft负责任的 AI 原则和负责任的 AI 工程战略 (RAISE) 计划来评估 Microsoft 的 AI 系统是否存在漏洞,目的是主动保护 AI 服务。Counterfit 最初是专门针对单个 AI 模型编写的攻击脚本语料库,然后演变成一个通用的自动化工具,可以大规模攻击多个 AI 系统。

今天,我们经常使用 Counterfit 作为我们 AI 红队操作的一部分。我们发现在MITRE 的对抗性 ML 威胁矩阵中自动化技术并针对 Microsoft 自己的生产 AI 服务重放它们以主动扫描 AI 特定漏洞很有帮助。Counterfit 也在 AI 开发阶段进行试点,以在 AI 系统投入生产之前发现它们中的漏洞。

counterfit界面

适用于:(1)渗透测试和红队 AI 系统;(2)人工智能系统的漏洞扫描;(3)AI 系统的日志记录。

另外链接中还有一个针对AI的安全开发指南:Threat Modeling AI/ML Systems and Dependencies

攻击AI模型测试工具2:Adversarial Robustness Toolbox

用于机器学习安全的Python库,顺便贴一下软件的用户指南界面,左边是针对AI攻击推出的各种各样的补丁;不夸张地讲,感觉从头到尾看完指南就能从AI安全领域毕业了~https://adversarial-robustness-toolbox.readthedocs.io/en/latest/...

AI安全02 AI安全测试工具_第4张图片

AI安全02 AI安全测试工具_第5张图片

 ART用户指南界面 

攻击AI模型测试工具3:TextAttack

TextAttack是一个用于 NLP 中的对抗性攻击、对抗性训练和数据增强的 Python 框架。

TextAttack 使得对 NLP 模型的鲁棒性进行无缝、快速和简单的试验。它还可用于 NLP 模型训练、对抗训练和数据扩充。

TextAttack 为常见的 NLP 任务提供组件,例如句子编码、语法检查和单词替换,这些组件可以单独使用。AI安全02 AI安全测试工具_第6张图片

 TexTAttack使用界面

另外还找到了1个AI攻击的全自动渗透测试工具,与本博文主题非强相关,不作介绍~

AI攻击模型测试工具1:Deep Exploit


如何入门AI安全

GPT老师:

对抗性机器学习的学习路线推荐(国际版):

  1. 学习基本的机器学习知识:对于对抗性机器学习,需要先掌握机器学习的基本原理和算法。可以从机器学习的基础课程开始学习,例如 Coursera 上的 Andrew Ng 的机器学习课程,或者吴恩达的《深度学习》。

  2. 学习对抗性攻击的基本原理:了解对抗性攻击的原理,包括对抗性样本攻击、模型欺骗攻击、模型投毒攻击等。可以阅读相关的研究论文或者博客文章,例如 arXiv 上的对抗性机器学习论文,OpenAI 的博客文章等。

  3. 学习对抗性机器学习的防御方法:掌握对抗性机器学习的防御方法,包括对抗性训练、半监督学习、降噪等。可以阅读相关的研究论文或者博客文章,例如 arXiv 上的对抗性机器学习论文,OpenAI 的博客文章等。

  4. 实践对抗性机器学习:通过实践来加深对对抗性机器学习的理解和应用。可以通过实现对抗性攻击算法或者对抗性防御算法来进行实践。可以使用一些常用的机器学习框架,如 TensorFlow、PyTorch 等,这些框架已经提供了对抗性攻击和防御的相关工具和算法。

  5. 参与对抗性机器学习社区:参与对抗性机器学习社区,了解最新的研究成果和前沿技术,也可以和其他人交流经验和想法。可以关注一些机器学习社区,如 GitHub、Reddit 上的相关板块等。

相关链接:

  1. Andrew Ng 的机器学习课程:https://www.coursera.org/learn/machine-learning
  2. 吴恩达的《深度学习》课程:https://www.coursera.org/specializations/deep-learning
  3. arXiv 上的对抗性机器学习论文:https://arxiv.org/search/cs?searchtype=subject&query=Adversarial+Machine+Learning
  4. OpenAI 的博客文章:https://openai.com/blog/tag/adversarial-ml/
  5. TensorFlow 的对抗性攻击与防御教程:https://www.tensorflow.org/tutorials/generative/adversarial_fgsm
  6. PyTorch 的对抗性攻击与防御教程:https://pytorch.org/tutorials/beginner/fgsm_tutorial.html
  7. GitHub 上的对抗性机器学习项目:https://github.com/topics/adversarial-machine-learning
  8. Reddit 上的对抗性机器学习板块:https://www.reddit.com/r/adversarialmachinelearning/

对抗性机器学习的学习路线推荐(中文版):

备注:GPT老师推荐的中文资料基本上是查不到的,此处不智能的人工整理一下资料,篇幅基本是随序号递增的~

  1. 《对抗性机器学习的初学者指南》(译)(陈峻),阅读链接:对抗性机器学习的初学者指南-对抗性机器学习 (51cto.com)
  2. 《深度学习中的对抗攻击和对抗防御》(heu御林军),阅读链接:深度学习中的对抗攻击和对抗防御 - 知乎 (zhihu.com)
  3. 《对抗攻击中防御方法的一些进展》(AI论道),阅读链接:对抗攻击中防御方法的一些进展 - 知乎 (zhihu.com)

  4. 《深度学习中的对抗攻击与防御》(刘西蒙,谢乐辉,王耀鹏,李旭如),阅读链接:深度学习中的对抗攻击与防御 (infocomm-journal.com)
  5. 《AI安全》(腾讯安全朱雀实验室)
  6. 《人工智能安全》(方滨兴)

时间计划:

第一周:

  • 学习机器学习基础知识,包括线性回归、逻辑回归、决策树等;
  • 学习机器学习的工具和框架,例如 Python、NumPy、SciPy 等;
  • 可以尝试完成一些机器学习的入门项目,例如手写数字识别等。

第二周:

  • 学习对抗性攻击的基本原理,包括对抗性样本攻击、模型欺骗攻击等;
  • 阅读一些经典的对抗性机器学习论文,例如 Ian Goodfellow 的 "Generative Adversarial Nets";
  • 尝试复现一些简单的对抗性攻击算法,例如 Fast Gradient Sign Method(FGSM)。

第三周:

  • 学习对抗性机器学习的防御方法,包括对抗性训练、半监督学习、降噪等;
  • 阅读一些经典的对抗性机器学习防御论文,例如 "Towards Deep Learning Models Resistant to Adversarial Attacks";
  • 尝试复现一些简单的对抗性防御算法,例如对抗性训练。

第四周:

  • 深入学习对抗性机器学习的相关算法和技术,包括生成对抗网络(GAN)、迁移学习、强化学习等;
  • 尝试完成一些对抗性机器学习的应用项目,例如图像分类、文本分类、声音分类等;
  • 参与对抗性机器学习社区,交流学习心得和经验。

以上时间进度表仅供参考,具体时间安排可以根据自己的实际情况和学习进度进行调整。希望对您有所帮助!

备注:四周时间确实太狗了...不过,这个学习路线是真的可以借鉴的,之后会尝试按照这个学习路线更新本系列博文内容~


结语

(●'◡'●)如果博文内容有所帮助,可否点赞支持博主,感谢~对于内容有疑问或者有补充也欢迎留言讨论~博主知道自己写得很烂,受到鼓舞的博主或许会不定时回来再更新一些有用的内容~

你可能感兴趣的:(AI安全,人工智能,安全)