0

我怀疑Bioconductor的安装机制。看起来它只是source()从 HTTP URL 执行(通过)R 脚本。这不是一种容易受到中间人攻击的不安全方法吗?我认为他们应该使用 HTTPS。如果没有,有人可以解释为什么目前的方法是可以接受的吗?

4

2 回答 2

1

是的,你是对的。

通过明文连接加载可执行代码容易受到 MITM 的攻击。

除非通过 HTTPS 加载,其中 SSL/TLS 可用于加密和验证连接,或者除非代码已在客户端签名和验证,否则 MITM 攻击者可能会更改输入流并导致在您的系统上执行任意代码。

于 2015-05-27T07:16:20.347 回答
0

允许代码通过 HTTPGET请求执行本质上意味着您允许应用程序直接处理用户输入,从而直接影响应用程序的行为。虽然这通常是开发人员想要的(比如从数据库中查询特定信息),但它可能会以您已经提到的方式被利用(例如 MITM)。这通常(但我并没有以任何方式直接指代 Bioconductor)是一个坏主意,因为它会使系统面临可能的 XSS/(B)SQLi 攻击等。

然而 URL - http://bioconductor.org/biocLite.R本质上只是一个放置在 Web 服务器上的文件,并且似乎source()被用来直接下载它。在此示例中似乎没有任何用户输入,所以不,我不会将其标记为不安全;但是您的类比确实是正确的。

注意:这只是指 GET 请求 - 例如:http://example.com/artists/artist.php?id=1. 这种不安全性可以在许多 HTTP 请求中被利用,例如 Host Header 攻击,但是一般概念是相同的。应用程序不应以任何方式直接处理任何用户输入。

于 2015-05-26T12:56:08.707 回答