XCon2020议题讨论AI模型存在的安全问题《“黑”掉神经网络:通过逆向模型文件来重构模型后门》 2021-09-03/By nEINEI 20年初的时候开始着手研究AI模型的安全问题,发现tensorflow,pytorch,mxnet等各种AI框架生成的模型文件其实都可以看出是复合文档。逆向分析这些格式发现存在很多 方法能对AI模型加以利用使其成为攻击者的新载体。这些风险也需要引起研发安全的注意,所以在XCON2020时分享了这个议题。 关于模型文件的逆向分析:在kangli教授的研究成果当中,我们看到了有模型文件畸形参数 引发的系列问,例如caffe 转化为DLC 模型 运行时产生的crash 。包括额外的代码 注入。另外也包括, AI 模型在本地, 及云端上情况下的分别会导致,厂商信息泄露,数据信息泄露。以及远程的任意代码执行问题。 详见: 《Checking Defects in Deep Learning AI Models》- PoC2019/KANGLI,Zhangyan,Qianjiayu,LiuZhao 《AI Model Security: Reverse Engineering Machine Learning Models》- HITB2018 / KANGLI 所以可以想到就模型文件而言,攻击者有2个途径可以实施具体的攻击。 影响开源社区的代码层面: 这里有2个方式 1)是直接的模型文件包含后门功能被开发人员使用 2) 训练教师模型毒,后续的在此基础上的训练和使用仍然存在一定几率的 后门攻击。 另外是,硬件设备中的安全文件;这里也分2中类型;1)模型本身是正常的,但在内存当中被外部的物理攻击,导致激活函数,神经元都影响进而引发分类错误等。 2) 是直接嵌入训练好的后门网络到硬件中。我们看到美国情报高级计划研究局开展的trojAI项目,用来检测AI模型是否受到模型的木马后门攻击。 基于模型感染的攻击方式: 讨论了以NumPy CVE-2019-6446 Pickle Arbitrary Code Execution Vulnerability 漏洞为例子,通过反序列化模型文件的加载执行任意代码的过程。 重构模型后门的攻击:讨论了在Lenet网络上通过控制单一神经元方式,使得模型具有了后门特性。这也是后续SRA攻击最开始的思路起点。 基于模型隐藏的后门攻击:这一点主要讨论模型冗余的神经元信息如何做信息的隐蔽。把一段shellcode编码在模型的参数当中,load时候重组shellcode执行RCE的过程。 感兴趣的朋友,详细请看这里 https://pan.baidu.com/s/1z4eR6XAM2FH4ScDel4mFRw?pwd=wrq7