根证书是软件和互联网上身份验证和安全的基石。它们由认证机构(CA)颁发,本质上验证软件/网站所有者是他们自称的人。我们谈到了证书之前一般,但最近的事件引发了我们对恶意软件和证书之间的关系的进一步解释。

在一个RSA FirstWatch最近的一篇文章,我们了解到一个流行的USB音频驱动程序已经悄悄地安装了根证书。此自签名根证书安装在受信任的根证书颁发机构存储区中。在正常情况下,在安装证书之前,你必须同意“始终信任来自{此发布者}的软件”。

但是,音频驱动程序跳过了提示批准的这一步骤(因此“默默地”安装)。静音安装旨在容纳XP用户,但它在XP到Windows 10中的每个Windows操作系统中具有相同的效果。安装程序对每个Windows版本完全相同。讽刺地,证书甚至不需要使用该软件。它刚刚引入了无缝地完成Windows XP上的安装。

为什么这是件坏事?

可以为目的安装根证书,例如时间戳,服务器身份验证,代码签名等。但此特定驱动程序安装了证书,该证书有效地为“所有”目的。因此,任何带有这些驱动程序的任何系统都会从任何供应商中安装的任何系统都会信任同一CA颁发的任何证书 - 用于“所有”目的。在正常情况下,只有Microsoft颁发的证书将在根证书“预期目的”字段中具有“全部”。

在Windows系统上的“所有”预期目的中具有“所有”预期目的的证书给出了具有与证书相关联的私钥的任何人能够完全拥有安装它的系统。影响与Windows系统上安装的证书后面的任何证书颁发机构(CA)相同。

CERTMGR.

例外情况是,在某些情况下,大公司可能会选择对此目的进行同样的操作,以便在外向流量的周边执行SSL解密。因此,不仅可以静默添加根证书,请断开Windows的分层信任模型。它还给出了私钥的任何所有者,该私钥与该证书有很多选项以在安装该证书的计算机上执行操作。

他们怎么可能被滥用?

获得属于根证书的私钥的攻击者可以为自己的目的生成证书,并使用私钥对证书进行签名。在Windows系统中,根证书已经存在于其受信任的根证书存储库中的任何证书都将信任出于“全部”目的而使用相同私钥签名的任何证书。这适用于软件应用程序、网站甚至电子邮件。任何东西,从一个中间人(MITM)可以进行安装恶意软件。好像这不够糟糕,马里兰大学的安全研究人员说发现,只需将正义文件从合法文件复制到已知恶意软件样本即可导致防病毒产品停止检测到它,即使它导致无效签名。

滥用方法

犯罪分子有几种滥用证书的方式。他们可以:

在所有这些方法中,它受到偷窃证书,尤其是用于“所有”目的的证书,是最危险的。因此,引入其中一个只是因为你想安装一个驱动程序或使更容易的客户支持,而不是让用户知道,最重要的是。

如果你认为恶意软件作者使用的证书的数量不会那么多,那么看看那些可疑的证书在CCSS论坛报告

如何删除我不需要或不信任的证书?

已经提供了由威胁演员被滥用的已知签名证书列表signedmalware.org.如前所述,使用签名证书给不法分子提供了许多绕过系统保护机制的选项,这就是为什么您可能希望从计算机中删除这些选项的原因。还有一个测试网站在哪里可以检查对MITM攻击的任何软件程序是否在系统上处于活动状态。

要删除可信的根证书:

  • 为用户、计算机或服务打开证书管理单元。你可以通过跑步来做到这一点CERTMGR.MSC.从RUN / SearchPrograms框或来自命令提示符。
  • 选择受信任的根证书颁发机构。
  • 在此选择项下,打开证书商店。
  • 在右侧的详细信息窗格中,选择要删除的证书的行。(要选择多个证书,按住Control并单击每个证书。)
  • 右键单击您所做的选择,并在操作菜单中单击删除
  • 点击确认您的选择yes.如果您完全确定要永久删除证书。

请注意,用户证书可以由用户管理,也可以由管理员管理。颁发给计算机或服务的证书只能由已被授予适当权限的管理员或用户管理。

您可能希望在删除证书之前通过导出它来备份它。导出证书的步骤请参见出口证书

如果要查看证书的缩略图,AKA序列号,则可以使用此PowerShell命令列出可信Root认证机构中的非Microsoft证书:

Get-ChildItem -Path cert:\currentuser\AuthRoot -Recurse | select Thumbprint, FriendlyName, Subject | ConvertTo-Html | Set-Content c:\users\public\desktop\certificates.html

这将在公共桌面创建一个html文件,通过Thumbprint显示列表(以相反的顺序),您可以在哪里查找友好名称主题那是属于拇指指纹

出口证书列表

对于那些喜欢关注事物的人来说,有一个Xavier Mertens指南获取警告您证书存储中更改的代码段。

结论

由于根证书的目的是提高安全性,因此签发根证书的人应该清楚,应该将其视为根证书,而不是可以随意安装的东西,只要它适合他们的需要。提示用户的全部要点是建立一个他们应该能够依赖的信任链。在这种情况下,绕过提示符只是为了在不再支持的操作系统上安装。这既破坏了用户的信任,又因为一个相当肤浅的原因引入了不必要的安全风险。