新聞 | iThome ( ) • 2024-04-08 14:03

背景图片取自Pawel Czerwinski on Unsplash

资安业者Wiz分析了AI即服务(AI-as-a-Service)平台的安全问题,发现相关平台可能允许骇客借由恶意模型来执行跨租户攻击,Hugging Face则在同一天宣布已与Wiz共同缓解漏洞,并订定了于平台上使用Pickle的新政策。

这两年快速窜起的AI模型需要强大的GPU来执行,因而经常外包给AI服务供应商,其中,Hugging Face替使用者提供了必要的基础设施,以便不同的团队可于该平台上代管、训练及共同开发AI模型,再加上它是个开放的协作平台,允许使用者探索及使用由全球AI社群所开发的AI模型,而成为全球最热门的平台之一,也是骇客攻击的潜在目标,促使Wiz将Hugging Face列为重点研究对象。然而,Wiz认为,在Hugging Face上所发现的安全问题并非该平台所独有,其它相关平台也将面临同样的挑战。

Wiz指出,恶意模型为AI系统的主要风险,对AI即服务供应商而言尤是,而Hugging Face即存在两个可被利用的风险,分别是共享推论基础设施遭到接管的风险,以及共享持续整合/持续交付(CI/CD)遭到接管的供应链风险,在分析了Hugging Face的推论API、推论端点,以及代管及展示AI模型与应用的Spaces之后,发现他们可上传恶意模型至Hugging Face平台,进而自远端执行程式码,或是扩张权限,并点出采用不可靠的AI模型,特别是基于Pickle的模型,很可能会导致严重的安全问题。

Pickle为机器学习模型中被广泛使用的序列化格式,也是Python开源机器学习框架PyTorch模型权重的预设格式。简单地说,Python中的Pickle模组可以将一个Python物件转成二进位(序列),也能自二进位重建原始物件(反序列),其序列化时所产生的二进位档案也称为Pickle。

尽管被广泛使用,但Python明文警告Pickle并不安全,因为它可能允许骇客打造恶意的资料,以在反序列期间执行任意程式,并强力建议不要反序列任何来自不明来源或可能已被窜改的资料。

总之,Wiz成功地上传了恶意模型,再借由容器逃逸技术来突破租户限制,得以存取Hugging Face平台上其它客户所存放的模型。

另一方面,为了缓解Wiz所发现的安全风险,Hugging Face已与微软合作打造Picklescan以扫描恶意的Pickle档案,也推动可用来取代Pickle档案的Safetensors。根据Wiz的分析,Hugging Face平台支援多种AI模型格式,当中最普及的即是Pickle与Safetensors。

Hugging Face指出,即使Pickle档案存在许多安全漏洞,但AI与机器学习社群依然经常使用Pickle,有众多的例子都是用来进行低风险的测试目的,也让Pickle更为研究人员所熟悉及利用,作为开源的AI平台,Hugging Face并不打算完全封锁Pickle档案,但也不想毫无作为,决定寻求一个既允许Pickle又可减缓Pickle风险的方法。

其针对Pickle的缓解措施包括建立详述相关风险的文件,开发自动扫描工具,借由扫描工具标注含有安全漏洞的模型并提出明确的警告,以Safetensors来取代Pickle,将Safetensors视为该平台的一等公民,以保护可能不了解Pickle风险的社群成员。