当您从 Internet 下载软件时,您必须相信开发者程序没有恶意。但是,您还必须担心黑客。有许多攻击者可以入侵网站并将软件替换为恶意版本。
想象一个托管比特币钱包实用程序的网站。如果攻击者控制并用恶意版本替换合法版本,他们可以从数以万计的用户那里窃取资金。另一个有价值的攻击目标是操作系统。过去,Linux Mint 也发生过这种情况。
那么你能做些什么来补救这些情况呢?
哈希和签名
有安全感的开发者往往会打包设置了校验和的文件(用于确保文件完整性的软件,在从其他设备传输过来后),你可以进行验证。请参阅文章:检查 MD5 和 SHA1 以检查文件的完整性以获取更多详细信息。但是,这些哈希的问题在于,如果黑客替换网页上的文件,他可以轻松替换哈希。这使得哈希几乎毫无用处,尤其是当它们存储在程序所在的同一台服务器上时。
为了使这些校验和有用,许多开发人员在公钥和私钥对的帮助下为其添加了数字签名。只有此私钥的所有者才能创建签名,并且只能通过在 Internet 上发布的相应公钥来验证。如果验证过程通过,您可以确定私钥所有者已经“签署”了他的软件。
为了绕过这种安全机制,黑客必须以某种方式窃取私钥,如果所有者采取适当的安全措施,这将更难实现。即使这个密钥被盗,所有者也可以通过撤销和通知来禁用它。如果发生这种情况,当您下载公钥并尝试使用它来验证签名时,您将收到签名已被撤销的通知。
如何使用 GnuPG (GPG) 验证签名
Gpg 实用程序通常默认安装在所有版本上。如果由于某种原因它丢失了,您可以使用以下命令安装 gpg。在某些发行版上,如果你得到一个错误'gpg: failed to start/usr/bin/dirmngr'dirmngr': No such file or directory',你需要安装dirmngr 也是。
在基于 Debian、Ubuntu 或 Debian 的发行版上,运行:
sudo apt install gnupg dirmngr
对于 RedHat/CentOS:
sudo yum install gnupg dirmngr
在 Fedora 上:
sudo dnf install gnupg dirmngr
您可以按照以下示例检查您如何验证 ISO 安装程序 Debian 9.8.0。
下载 SHA256SUMS、SHA256SUMS.sign、 和 debian-9.8.0-amd64-netinst.iso。 您可能有右键单击前两个文件并在网络浏览器中选择 '将链接另存为' 或等效选项。如果没有,点击这些文件可能只会显示内容而不是自动下载。
打开终端模拟器并更改包含下载的目录。
cd 下载/
检查校验和
等待 ISO 下载过程完成。接下来,验证 SHA256 校验和。
sha256sum-c SHA256SUMS
如果校验和正确,您将看到文件名后跟消息'OK'。要验证其他校验和类型,您可以使用以下命令:sha1sum、sha512sum、md5sum。但您应该至少使用一个 SHA256SUMS 或更多(如果可用)。
有些网站不提供像 SHA256SUMS 这样的文件,其中文件名和校验和被组合在一起以便于验证。如果页面只显示 sum,请使用如下命令验证文件的哈希:
sha256sumdebian-9.8.0-amd64-netinst.iso
使用GPG验证签名校验和
在这个例子中,Debian 团队使用他们的私钥签署了 SHA256SUMS 文件并将其保存在 SHA256SUMS.sign 文件中。用命令确认签名:
gpg--verify SHA256SUMS.sign SHA256SUMS
你会收到这样的消息:
[object Object]
评论