Trojanized software packages used in software supply chain attacks constitute an emerging threat. Unfortunately, there is still a lack of scalable approaches that allow automated and timely detection of malicious software packages and thus most detections are based on manual labor and expertise. However, it has been observed that most attack campaigns comprise multiple packages that share the same or similar malicious code. We leverage that fact to automatically reproduce manually identified clusters of known malicious packages that have been used in real world attacks, thus, reducing the need for expert knowledge and manual inspection. Our approach, AST Clustering using MCL to mimic Expertise (ACME), yields promising results with a $F_{1}$ score of 0.99. Signatures are automatically generated based on characteristic code fragments from clusters and are subsequently used to scan the whole npm registry for unreported malicious packages. We are able to identify and report six malicious packages that have been removed from npm consequentially. Therefore, our approach can support analysts by reducing manual labor and hence may be employed to timely detect possible software supply chain attacks.
翻译:在软件供应链攻击中使用的色化软件包构成了一种新出现的威胁。 不幸的是,目前仍然缺乏能够自动和及时检测恶意软件包的可扩展方法,因此大多数检测都是基于人工和专业知识的。然而,据观察,大多数袭击运动由多个共享相同或类似恶意代码的软件包组成。我们利用这一事实自动复制在现实世界攻击中使用的已知恶意软件包的人工识别组群,从而减少了专家知识和人工检查的需求。我们的方法,即使用MCL进行模拟专家鉴定(ACME)的AST集群,以0.99美元为分,产生有希望的结果。 签名是根据各组的特性代码碎片自动生成的,随后用于扫描未报告的恶意软件包的整个 npm 登记册。我们能够识别和报告从 npm 中去除的6个恶意软件包。因此,我们的方法可以支持分析员减少人工劳动,从而可以用来及时发现可能的软件供应链攻击。