Google开源内部所使用的档案辨识系统Magika

图片来源: 

GitHub

Google周四(2/15)透过GitHub开源了内部所使用、基于深度学习的档案类型辨识系统Magika,宣称此一深度学习模型即便是在CPU上运作都能在几毫秒内准确辨识出档案类型,效能比现有的其它工具高出20%。

Google解释,要判断如何处理档案之前,必须先确认档案类型。在这50年来,Linux所配备的Libmagic函式库及档案公用程式一直是档案类型辨识的标准,现代的浏览器、程式码编辑器或是各种软体,都必须仰赖档案类型侦测来决定如何正确呈现档案,然而,准确检测档案并不容易,因为每种档案格式都有不同的结构,或者根本没有结构。此外,文字格式与程式语言在结构上非常类似,迄今不管是Libmagic或是其它档案类型辨识软体,都是借由手工搜集的启发式或客制化规则来侦测档案格式。

手动的方法既耗时又容易出错,因为人类很难手动建立通用规则,特别对安全应用程式更具挑战性,因为骇客会不断试图混淆视听。

为了解决档案类型侦测的问题,Google研发了Magika,它采用TensorFlow平台上的Keras函式库,来设计与训练一个客制化且高度优化的深度学习模型,用来训练的资料集含有逾100种档案类型的2,500万个档案,其模型大小只有1MB,并以Onnx作为推论引擎,确保可于几毫秒内辨识档案,辨识率超过99%,且在CPU上运作的速度几乎与非AI工具一样快。

当在含有上百种档案类型的逾100万个档案上进行评测时,Magika的效能比其它现有工具高出20%,且在程式档案或是配置档案等文字档上的效能则更佳。

Google内部已大规模采用Magika,主要负责将Gmail、Drive及Safe Browsing所收到的档案、传送至适当的安全或内容政策扫描机制上,根据Google的统计,相较于过去依赖手动规则的系统,Magika的准确性提高了50%。

开发者可透过网页试用Magika,或是将它安装成一个Python函式库,也能作为单独的命令列工具。

未来Magika也将被整合至恶意程式分析平台VirusTotal上,搭配该平台上部署Google生成式AI的Code Insight 功能,把Magika作为Code Insight分析文件之前的过滤机制,提高VirusTotal的效率及准确性。

图片来源/Google