《类比安全框架的AI安全的框架杂谈》 nEINEI/2023.02.16 neineit_at_gmail_com 一 为什么需要AI安全框架 二 向先进的安全领域学习 三 行业里面包含哪些AI安全框架 四 未来能形成什么样的结果 一 为什么需要AI安全框架 当前,针对人工智能安全大概有这样几条安全维度的基线,伦理准则,法律法规,行业管理,自身安全。前三种由不同区域下的行业主体进行定制中,最后一种AI自身安全问题,目前还缺少统一的安全理念,来指导研发应用中需要关注什么样的安全风险。 换句话说AI安全如何落地,如何保障AI安全,各家都没有什么最佳实践,现在也还在摸索过程中。分类和防御方法做了很多,但可以大量应用的安全场景不多。这或许是21年以前学术研究领域有大量的安全工作展开,但工业界却很难把这些安全点转化为有效的 方案或安全产品上的原因。 虽然有新的风险不断被发现(对抗攻击,投毒攻击,成员推理攻击,逃逸攻击,输入注入攻击等等),但安全问题总不能是头痛医头脚痛医脚的状态。最好情况是有一整套安全措施,无论应用是在人脸识别,自动驾驶,金融支付,语音 应用等,都可以用较统一的方案,找到风险问题,按优先级逐一解决。这一问题的背后思考就是,AI安全我们需要用什么样的视角去看待,才能把这些零散的安全观点组合起来指导现实工作。 二 向先进的安全领域取经 我认为较早体系化出现机器学习安全框架思路是在2019年,Gary McGraw和他的研究团队是很重要的推动力量。McGraw在安全领域著作等身(他是《Software Security: Building Security In》作者),退休后组织起 BIML研究小组专门针对ML/AI安全进行探索。得益于之前学术界在对抗机器学习领域的不断探索,针对ML/AI的攻击技术与形式已经被大家掌握了很多。但还是感觉缺少一种安全观点来牵引来把握,虽然黑盒,白盒攻击 形式虽层出不穷,但却始终在对抗算法层面打转,跳不出来。 McGraw的经历很好地的扮演了突破固有边界的角色。他用AI安全+工程方法来看待,或者说尝试做了威胁建模,分类,评估,风险分析等工作,否则对现实保障的推动会很难进行,因为大家并不觉这距离现实风险有太大 的问题,就像著名的路标“STOP”贴纸欺骗自动驾驶,很危险但还是觉得有些遥远。McGraw等在computor society vol52《Security Engineering for Machine Learning》提出了6种简单分类,input, trainingdata,model阶段的manipulation/extraction风险方式。别看分类简单,这是较早从安全工程视角进行思考AI安全问题并暗示了ML更完整的风险分析方法的讨论。后续他们又提出了 《Machine Learning Risk Framework》细化了机器学习的研发流程中存的安全性问题,显然,McGraw自己的构建安全软件思路可以被移植到ML/AI这一新领域当中。 说起AI安全很大一部分问题都是和对抗样本现象相关,还有一部分是属于数据偏见、算法歧视、公平性,可解释性差等因素造成的问题。Goodfellow在14年《Explaining and harnessing adversarial examples》论文中提出基于梯度下降的FGSM攻击算法后,魔盒就此打开,对抗攻击算法不断涌现。在众多研究对抗机器学习安全的人员当中,Nicolas Papernot是特殊的一位,除了本身就是该领域的大佬,他的的研究方向 也是横跨了安全,隐私,机器学习等方面,在保持学术研究的同时也有Google工作经历,这使得他提出很多问题具有不少工程性启发,拓宽了AI安全研究视野而不仅仅是分类绕过,数据投毒这些热门领域。这点从他和Goodfellow 一起建立的cleverhans.io中能看到很多深入的思考过程。他也会把安全领域的CIA(Confidentiality- 机密性,Integrity-完整性,Availability-可用性)引入对ML/AI的隐私研究当中。例如,通过逆向工程方式 获得模型再做窃取攻击,会降低黑盒攻击的难度;类比密码学在实际应用中的进步SSL- TLS1.0 ~ TLS3.0,那么ML/AI能否有安全和隐私方面的数学定义,进而可以不断实现安全的目标等。Papernot的研究向着可信AI方 向发展,在enigma2020会议中还提出沙盒,输入/输出的校验,对ML系统的数据的准入控制等想法,妥妥的安全经验迁移到ML/AI领域的思路。 有了前人学者大量基础工作的铺垫,产生一些不同角度的安全框架思路似乎是可以水到渠成的事情,只是什么时候能碰出来这样思路呢? 三 行业里面包含哪些AI安全框架 20年三月初,我所在实验室内部的脑爆中,大家无意谈到针对AI系统的各类攻击能否用ATT&CK的思路来看待。凭经验似乎是有些相似的地方,但差异也很明显。其一AI攻击手段在形式上相比安全攻防领域来说太少了, 形成不了killchain那样攻击步骤的逻辑链条,其二AI攻击的点通常是单点攻击成功就结束了,前后都是较孤立的技术点,只有纵向形式的不同,没有横向的递进。若用矩阵的方式来表达,如何衔接这些关联关系呢? 我仔细梳理发现可能是下面三点问题导致不容易和安全技术结合 1)这是一种新型的安全问题,无法通过现有的网络安全策略和工具解决。相反,解决这些问题需要新的方式和方法。 2)许多人工智能攻击需要以获得访问特定数据集或模型的权限为前提的。在许多情况下,实施此类攻击需要采用传统的网络攻击手段,破坏系统的机密性和完整性。 但二者之间的组合技术需要被前瞻性的提出。 3)评估新兴技术是困难的,因为缺少真实情况反馈的案例,没有十分明确的需求的模板,长期价值的认定上存在很多不确定性。 另外AI自身安全问题也有其特点,不同于原有攻防领域的防御方式 1)算法本身产生的安全问题,它并非修正某个出错代码就可以解决,“patch”周期长,甚至就没有patch的。 2)被训练数据本身产生的安全问题而不是攻击手法,防御对象有变化。 3)针对人工智能漏洞发动攻击,不需要入侵目标系统,甚至不需要使用电脑("stop"贴胶条,patch色块,激光干扰,投影仪...)。 以上问题似乎难以通过一种安全框架来调和。但我想可以通过迂回思路来推进这块的工作,即看AI技术依托于哪些技术发展,这些支撑技术会映射到ATT&CK的哪些方面,我们再把攻击AI的方法打散融合到这样一个框架中来,以此 来积累跟踪这块的趋势。花了多半月时间我做了次拙劣的融合,形成了第一版矩阵。摘取ATT&CK中Enterprise/Mobile的部分内容,它构成和AI相关的攻击点,再将AI安全的技术点按照killchian的划分加入到矩阵之中。这样的结合方式 会有些生硬,我找到AIlab同事baoyuan(baoyaun老师在港中文(深)任教,在计算机视觉,最优化,对抗机器学习方面积累非常深厚)交流想着如何改进,最后决定两个部门共同开发这个矩阵,为了适应从攻击者视角评估,决定引入 AI研发的生产流程再保留部分ATT&CK的战术阶段的方式。这既满足时间上的AI研发链路的全生命周期流程也融入安全侧攻击点介入。简单说,可以兼顾学术研究内容直接映射到矩阵也为安全攻防留下了想象空间让框架更有预见性。在这 之后的几年时间里,一批批同事和港中文(深圳)同学(allen,ucasjh,zhaoda,xiangyu,jasonjs,yanbo,yiming,yongzhang,error,zeyu,yaopei,zihao,longkang)加入矩阵工作充实了具体的内容。20年9月中旬我们对外发 布了《AI安全的威胁风险矩阵》白皮书,这里面的矩阵实际上已经是迭代的第五版的内容了。21年7月,我们又上线了AI安全矩阵网页版,补充了更多的前沿进展与案例复现视频,到目前为止还在持续维护着更新。 如果感兴趣可以看下当时保留的那些中间版本,了解演进的过程。 http://vxjump.net/files/aisec/aisecmatrix1.png(AI安全矩阵第一版~第四版,aisecmatrix2.png/aisecmatrix3.png/aisecmatrix4.png) 2020年9月17号发布的《AI安全威胁风险矩阵》白皮书 http://vxjump.net/files/aisec/aisecmatrix.pdf 《AI安全威胁风险矩阵》白皮书,英文版 https://github.com/AISecMatrix 2021年7月上线的AI安全威胁风险矩阵网页版: https://aisecmatrix.org/ 说一个小插曲,在20年5月底,迭代更新矩阵的时候,我曾给Mitre ATT&CK的负责人发过邮件,咨询是否有考虑引入AI安全的ATT&CK的想法,我们正在做这块的工作。他回复说,“The ATT&CK models we create are based on real-world adversary behaviors. The challenge in the adversarial machine learning space we’ve seen so far is that most of the described behaviors are either theoretical or have only been seen from red teams......”,大概就是他们还没有考虑AI平台的ATT&CK,核心问题是ATT&CK是基于真实世界攻击行为产生的,而AI安全这里要么过于理论,要么是由AI Redteam产生的案例不够真实。总之就是对这块 有兴趣但还需关注近期的发展。我想着既然ATT&CK没有这方面想法,那我们也就独立发展这块工作,但其实事情并不完全是这样的。 这就引出了微软版本的AI安全矩阵。早在20年9月17号我们发布《AI安全的威胁风险矩阵》白皮书后,10月下旬微软也更新了一个和AI安全有关的矩阵,叫做Adversarial ML Threat Matrix(https://github.com/mitre/advmlthreatmatrix) 微软版矩阵特色是直接复用安全行业标准的ATT&CK术语。搞安全攻防的人看起来会十分的友好亲切。 1)这一版不完是以论文或技术的攻击方法作为矩阵的内容,有些甚至是新闻形式的说明性案例,例如模型逃逸战术下的数据中毒项,使用的微软toy机器人被在线语料教坏的例子。 2)从形式上看,微软版AI安全矩阵和我们思路差别不大,本质都是借助ATT&CK框架思路来扩展AI安全视角。 3)微软版在安全上的概念涵盖性更大,这主要来自于安全行业可预见的攻击思路,它为这些攻击手法提前留下了坑位。“情报搜集阶段”手法这部分较虚,“影响阶段” 增加了DoS部分的,这其实是AI安全研究方面非常冷门的一个点,像Sponge攻击,没做过安全 的人很难get到这种对抗攻击在AI系统上有什么特别意义,但安全人员对DDoS就一点都不陌生了,很快就清楚它的威胁在哪里。 微软做成开放形式,希望学术界,工业界来共同更新案例来丰富矩阵内容(当时已有十多家科研机构和公司加入),贡献者那栏有MITRE组织,项目联系方式留下了2个接口人,是微软和mitre的邮箱。项目还有googlegroups,我申请加入, 参与看了一下也就大概清楚了。这是微软与Mitre牵头合作的以ATT&CK为基础的框架,但因涉及面很广(包括人工智能安全、威胁缓解、偏见、隐私和人工智能保障等)可能不方便在原有ATT&CK展开,另起炉灶形成的一种新的AI安全框架结构。 巧的是,差不多他们也是在21年6~7月左右推出了一个网页版矩阵,叫做 ATLAS(Adversarial Threat Landscape for Artificial-Intelligence Systems) https://atlas.mitre.org/ ATLAS这一版也将模型安全作为一个纬度开始往kill chian里面融合,增加了ML Model Access,Defense Evasion,ML Attack Staging。它把AI Model当作一个系统,它存在攻击面,它可能在ML Model Access阶段就完成 了全部的攻击要素,游戏就结束了,不需要获取”Execution,Persistence,Discovery,Collection“能力来形成Impact的影响。这就是AI安全当前的特点,不需要在攻击逻辑上环环相扣。核心问题可能是AI防御体系还处于“幼儿”发展阶段,防御的 手段在各个阶段都非常薄弱,对手并不需要持续积累能力才能达到目的。 除了这些上述2种以攻击者视角基于ATT&CK发展起来的AI安全框架外,还有从涵盖安全目标,安全能力分级,技术管理等角度提出的AI安全架构。因为有些不一定是完整的框架结构,简单介绍下供大家参考: 1)19年信通院提出《人工智能标准化白皮书2019版》,这里有从宏观角度看待AI标准化过程中,安全所处的位置。 2)21年由信通院,国科大,CNCERT/CC牵头提出《人工智能安全框架》,提出了“初始阶段/设计研发/校验验证/部署/运行监控/持续验证/重新评估/废弃”的AI生命周期流程,在框架结构中提出安全技术支撑的要素,安全能力分级,保障目标这样的三级结构, 比较适合企业评估安全生产,安全管理,安全治理等综合问题的一个参考思路。 3)21年中国电子标准化研究院提出《人工智能系统生命周期2021版》重点强调安全隐私,可追溯,公平性问题。 4)21年京东,信通院提出的《可信人工智能白皮书2021版》 ,从可信的角度,重点在研发测试,评估角度讨论了一些安全问题。 5)19~23,美国国家标准与技术研究院NIST-AI安全组持续更新的《Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations》,这是从对抗机器学习,攻击缓解技术分类角度给出的框架。 https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.100-2e2023.ipd.pdf 6)McGraw团队持续跟踪的《BIML Interactive Machine Learning Risk Framework》,这也是按照AI生产流程建立的一种风险框架,非常的细节化来推敲每一个任务下存在的安全问题,包括9个ML流程,10种已知风险。逐一进行分析。 https://berryvilleiml.com/interactive/ 7)微软除了和Mitre合作的矩阵,还有风险评估指南《AI-Security-Risk-Assessment》,还提供conterfit这样的对抗样本攻击的评估工具 https://github.com/Azure/AI-Security-Risk-Assessment/blob/main/AI_Risk_Assessment_v4.1.4.pdf https://github.com/Azure/counterfit 8)IBM,Google,百度提供的对抗样本评估工具,一并列出 https://github.com/Trusted-AI/adversarial-robustness-toolbox https://github.com/cleverhans-lab/cleverhans https://anquan.baidu.com/product/advbox 四 未来能形成什么样的结果 无论哪一种AI安全框架,最终都是为了保障AI技术,AI应用服务的。关键是要能有效,支持到平时的落地工作当中。当前似乎还没有哪一种框架能提供这样立竿见影的效果,但没关系,知识的积累总会在未来赢得收获,AI安全本身就是包含在安全概念当中 引入成熟的安全经验,就是寻求一种成熟的思考过程,以求得AI技术建设过程中少走弯路避开坑。我还记得15年,看ATT&CK搜集的APT case时的感受,不多也不全但蛮有意思的,还做了技术点的分类,但那是流行的跟是APT notes + OSINT搜集。数年后APT notes 还在,但ATT&CK已经是行业共识,发展为参天大树了。 不能再错过了,积少成多,聚沙成塔,当下就是最好时候。 以上均是个人观点,受限于接触的领域不够全面所限,若存在不足还望指正。 感兴趣可以继续阅读: 1.An overview of current and future research directions for making machine learning secure and private. https://www.papernot.fr/marauder_map.pdf 2.WHAT DOES IT MEAN FOR MACHINE LEARNING TO BE TRUSTWORTHY? https://www.usenix.org/sites/default/files/conference/protected-files/enigma2020_slides_papernot.pdf 3.Is attacking machine learning easier than defending it? http://www.cleverhans.io/security/privacy/ml/2017/02/15/why-attacking-machine-learning-is-easier-than-defending-it.html