我一直在与我的一个朋友讨论可执行文件,更具体地说是 .jar 和 .exe 文件。
当您从浏览器下载文件时,它通常会请求存储该特定文件的权限,发生这种情况的原因是什么?
一个例子是“gmail”或任何其他邮件服务“阻止”可执行附件,据说是因为它们会感染您的系统,如果是这样,那么背后的技术细节是什么?
以下可能只是个人观点,违反了 stackoverflow 关于撰写正确帖子的指导方针,您可以自行将鼠标悬停在其上,如果您可以在评论回复中确认或否定我的假设,我将不胜感激。
我认为阻止特定可执行文件的原因在于,当您存储它们时,它们实际上会在您的设备上运行。例如,当您允许将 (.jar) 文件存储在您的设备上时,Java 会立即执行该文件,因为 Java 需要确保它是正确的可执行文件。对我来说,这引发了安全问题,因为任何包含恶意代码的可执行文件都会在您不知情的情况下执行至少一次(或者至少在您一开始就不知道您允许它运行)。
我很想知道这背后是否有真正的原因,谢谢。
答案1
我认为阻止特定可执行文件背后的原因是因为当您存储它们时它们实际上在您的设备上运行。
不,存储文件的行为永远不会执行它们。
例如,当你允许将 .jar 文件存储在设备上时,Java 就会执行该文件,因为 Java 需要确保它是正确的可执行文件
不。“Java”根本不在乎。
对我来说,这引发了一个安全问题,因为任何包含恶意代码的可执行文件都会在你不知情的情况下被执行至少一次
这是一个非常合理的担忧,但罪魁祸首不是“在设备上存储可执行文件”,而是过于急切的程序员,他们想让“愚蠢”的用户的生活更轻松,并自动执行许多他们不应该在没有提示的情况下执行的操作。特别是 Windows 在这方面有着非常糟糕的历史。
但目前您的浏览器不会这样做,而只会询问,因为“愚蠢”的用户倾向于从不知道哪里下载可执行文件,然后执行它们,所以这实际上是为了提高对这个可能的安全问题的认识。