什么可以阻止某人对证书颁发机构的证书验证请求进行 MITM 攻击?浏览器是否预装了受信任证书颁发机构的公钥(从而提供身份验证)?
每当我考虑 MITM 攻击时,我认为任何防御都需要建立“安全”连接以进行身份验证,并且任何“安全”连接的初始建立似乎总是会受到 MITM 攻击本身。因此,例如,如果上述受信任证书颁发机构的公钥确实随浏览器分发,则浏览器的分发将受到 MITM 攻击。据我所知,即使您亲自将公钥/证书/任何纸质文件交给某人,您也最好从其他地方认识他们,否则他们可能是 MITM。
我的理解正确吗?
谢谢!
答案1
什么可以阻止某人对证书颁发机构的证书验证请求进行 MITM 攻击?
当浏览器收到 颁发的证书时,它不会连接到颁发证书的证书颁发机构 (CA) 来验证证书;它必须已经预先信任该 CA。根据证书、CA 和浏览器,它可能连接到 CA 证书中包含的 URL 以检查站点提供的证书是否已被撤销(撤销列表),但该连接由 CA 证书而不是站点提供的证书保护。据我所知,大多数浏览器实际上不会这样做,尽管大多数浏览器可以配置为这样做。如果 CA 证书被盗用,则需要手动删除 CA 证书,或者通过浏览器代码的补丁或新版本删除该证书。
浏览器是否预先加载了受信任的证书颁发机构的公钥(从而提供身份验证)?
是的。但不仅仅是公钥,它实际上是来自 CA 的自签名证书,其中包含公钥,除了吊销列表之外还应包含用于验证证书本身的 URL,并且可能包含更多内容。基本上,每个浏览器制造商都必须决定预安装哪些 CA 以及省略哪些 CA,这是一个备受讨论和大生意的话题。大多数 CA 通过销售证书赚了很多钱,将它们预安装在每个浏览器中对它们都有好处,因此它们会极力推动浏览器制造商安装它们。但 CA 的可信度是一个可能在安全人员中引起很多争论的话题。
每当我考虑 MITM 攻击时,我认为任何防御都需要建立“安全”连接以进行身份验证,并且任何“安全”连接的初始建立似乎总是会受到 MITM 攻击本身。因此,例如,如果上述受信任证书颁发机构的公钥确实随浏览器分发,则浏览器的分发将受到 MITM 攻击。
虽然确实如此,但这种攻击方式比其他方法要困难得多,您可以通过在安装浏览器之前验证其分发文件来抵御这种攻击(即根据网站发布的哈希值验证安装文件的 SHA1 哈希值)。此时,攻击者必须渗透到浏览器制造商或证书颁发机构,这又是更难的攻击方式(尽管这并非闻所未闻)。
据我所知,即使你把公钥/证书/任何纸质的东西交给某人,你最好从其他地方认识他们,否则他们可能是 MITM。
好吧,将您的公钥(或包含公钥的证书)提供给其他人是无害的。这意味着他们可以验证您使用所述证书签名的内容是否确实来自您(并且他们可以加密只有您才能解密的内容)。
但从根本上讲,你是对的。在某个时候,你必须信任某人。这是关于安全、网络、商业和生活的一件重要的事情。当然,你需要用适度的怀疑态度来缓和这一点,并不断重新评估你的信任关系。当然,你也应该记住吉普的一些明智建议:“信任但要验证“(或者,如果你愿意的话:遵循俄罗斯古老谚语的明智建议:“doveryai,no proveryai” [俄语:Доверяй,но проверяй]”)。要真正安全的如果你的电脑坏了,你需要关闭它,把它拆开,销毁其组件,然后销毁剩余物。
就与他人建立信任关系而言,拥有一个已经信任他们的共同朋友会有所帮助。这就是“信任圈”背后的全部意义。在某些时候,你必须要有一点信心。你怎么知道给你颁发驾照的人真的是政府的雇员呢?当然,你可以生成公钥,记住指纹,然后在目标系统上安装公钥
我的理解正确吗?
我不确定,但我怀疑是这样。请用你自己的话复述一遍,我会告诉你的。
编辑:实际上,正如 GregD 指出的那样,所有这些都只是理论上的,因为大多数人在浏览器警告他们不信任证书时都会点击“继续”按钮,然后游戏就结束了。当然,如果您在企业工作,并控制向用户颁发证书的系统,您可能可以对其进行配置,使其不向他们显示该按钮,但您必须处理后果。唯一可以接受单击该按钮的情况是当您未连接到网络并且您与显示不受信任证书的系统之间只有一条线路时(即使在这种情况下,这也是有争议的)。
答案2
没什么(如果做错了,尽管因为根本没做,很难评论)并且是的。您的浏览器预装了一堆 CA 证书,您可以使用它们来验证向您提供的任何公共证书;如何信任您的 CA 包是一个有趣且开放的问题。
答案3
是的。浏览器预装了常见可信证书颁发机构的证书。
它是理论上可以更改证书和/或浏览器,这样您就不知道发生了 MITM 攻击。如果您的 CA 证书被更改(例如被恶意软件更改),那么它们将不会匹配使用真实 CA 的站点,但如果浏览器通过邪恶的第三方路由,则会允许 MITM 攻击。我不知道现实世界中是否真的有这种情况发生,但我认为对于恶意软件编写者来说这并不难。
对于上述情况,最好的防御措施就是保持你的病毒防护功能为最新版本并且不要点击电子邮件中的链接进入你信任的网站。
答案4
要成功进行 MITM 攻击,我所要做的就是在对您的连接进行 arp 毒害后让您的用户接受我的证书。对于大多数最终用户来说,这有多容易?
很好地培训你的最终用户。