
近年来骇客锁定开发人员下手,上架恶意的NPM、PyPI套件的资安事故不时传出,其中一种诱骗使用者的手法,就是使用已经下架的套件名称,重新上架有问题的套件,这种情况相当氾滥,PyPI软件基金会(PSF)为此採取行动,表明他们会每天追蹤网域名称的使用情况来因应,如今类似的问题,也在开源IDE套件Visual Studio Code(VS Code)的市集出现。
资安业者ReversingLabs指出,他们在今年6月发现新的VS Code恶意延伸套件,可被用于引发勒索软件攻击。但引起该公司注意的地方在于,这个恶意套件的名称与3个月前出现的套件完全相同,他们检视微软相关的文件,这样的情况不应该发生,经过调查后,确认这是存在于VS Code市集的弱点,能让攻击者重新利用已下架的套件名称。
今年6月出现的恶意套件名为ahbanC.shiba,与今年3月出现的套件ahban.shiba名称相同,都是「shiba」,差别在于开发者的帐号名称不同,但ahbanC.shiba功能与先前揭露的ahban.shiba、ahban.cychelloworld类似,都是在使用者安装之后,电脑后续就有可能下载勒索软件并执行。
ReversingLabs指出,根据微软发布的VS Code文件,所有的套件名称都必须是专属的,不应该出现相同名称的扩充套件。他们进一步调查,结果发现shiba并非个案,这样的情况很有可能已被骇客利用。
究竟攻击者如何得逞?ReversingLabs指出,只要前一个开发人员选择移除(Remove),其他开发者就能重新使用相同名称上架新套件。这意味着,一旦有热门套件不再维护,开发者将其从市集移除,那么攻击者很快就会抢下它的名称,以便进一步运用。
附带一提的是,假若原开发者设置为取消发布(Unpublish),虽然使用者同样无法下载套件,但其他套件开发人员也无法使用相同名称上架自己的套件。
ReversingLabs进一步比对骇客上架新旧恶意套件的时间点,结果发现,新套件ahbanC.shiba很可能在旧套件移除不久就上架,且在6月17日前后设置为取消发布的状态,虽然使用者无法下载恶意套件,不过他们仍能存取相关统计资料,因此,攻击者日后很有可能重新发布,以便用于其他攻击活动。不过,对于骇客为何要採取取消发布的作法,ReversingLabs没有说明。