CTAN 是否能够抵御攻击者上传知名软件包的漏洞版本?

CTAN 是否能够抵御攻击者上传知名软件包的漏洞版本?

我正在查看如何制作 CTAN 包,令我惊讶的是它不需要制作帐户:你只需要填写表单。如果您有新版本的软件包,您只需再次填写相同的表格即可。

现在,使用恶意的 .sty 文件对我来说是个非常糟糕的主意。我倾向于使用 Makefile 编译我的 LaTeX,默认情况下,我认为 .sty 文件可以更改同一目录中的任何文件,因此例如,他们可以将其更改为在我下次编译文档时下载并运行后门。当然,如果我使用的软件包的作者想要对我进行后门,他们就可以做到。但是随机第三方可以更新其他人的软件包并以这种方式困扰我吗?

为了更清楚起见,这是我想象的攻击模型。

  1. Mallory 拿走了这个hyperref包。这个包太大了,没人会读完整的源代码。
  2. Mallory 发现该软件包存在错误。在更新日志中,她声称已经解决了一个小错误。
  3. 马洛里一直等到 hyperref 的作者们去度假。
  4. Mallory 以原作者的名义将软件包上传到 CTAN。CTAN 没有其他验证方法,将接受该软件包,尽管他们可能会或可能不会向实际作者发送电子邮件。
  5. 实际作者不会立即注意到更新版本已经发布。
  6. 许多人从 CTAN 下载并使用这个软件包。这个有缺陷的软件包甚至可能被纳入 LaTeX 发行版中。
  7. 真正的作者度假回来后发现他们的软件包已经更新。后门被充分混淆,作者没有发现它的恶意,并将它归咎于有人想搞笑。
  8. 作者回滚了软件包更新,但是没有引起任何不满。
  9. 马洛里再次对另一个包裹进行同样的操作,以感染更多的人。

为了增加效果和发病率,不要使用 ,而要hyperref选择一个经常使用但作者已经去世的软件包。用假名上传,并声称改进了该软件包;CTAN 可能会接受你作为新的维护者。如果该软件包被巧妙地植入了 bug,检测起来会非常困难。

为了产生更可怕的效果,想象一下使用一个经常需要 shell 访问的包(例如gmp)。

这些问题看似相关,但并不相同:CTAN 镜像完整性 - Miktex 更新。该问题询问 CTAN 镜像是否可能被窃听;我想知道是否有可能主动窃听 CTAN 本身。

答案1

,CTAN 并不安全,无法抵御攻击者上传知名软件包的漏洞版本。

防止任何假设攻击的唯一方法是要求上传的包由作者撰写。

相关内容