什么是数码证书?

这些本来是用来保护我们的,但它们是震网病毒攻击的一部分。

2011年8月5日

亲爱的控制工程:我在阅读有关震网病毒攻击的文章时,“数字证书”这个词出现了。这些是什么,它们如何在网络保护策略中使用?

数字证书是一种验证软件或网站是否真实的方法。身份证或护照作为身份验证,但该系统有一些缺点。为了获得更深入的答案,下面是Matt Luallen关于它是如何工作的以及如何通过工业网络实现它的一些想法。

正如马特所说,一切都归结为信任问题:

虽然证书在安全方案中有其用途,但它们并不是确保软件、个人或通信真实性的万无一失的方法。

“想象一下这样的场景:一位女士在她最喜欢的Wi-Fi热点上喝着咖啡,用iPad查看电子邮件。当她开始登录Gmail时,她没有意识到坐在几张桌子旁的男人,显然在用笔记本电脑工作,已经拦截了她的登录,并假装是Gmail,试图获取她的用户名和密码。因为他使用的是同一个无线网络,所以他能比谷歌更快地回答问题,抢在真正的回答之前。她的电脑认为他确实是Gmail,因为他提供了一个证书,她的电脑认为是真实的。一旦犯罪分子掌握了这些信息,他就可以在其他应用程序上尝试使用该名称和密码,因为人们通常会在多个帐户上使用相同的名称和密码。如果你认为这种事情不可能发生,那么它已经发生了。伊朗的一名黑客窃取或创建了一组应用程序的工作证书,包括Gmail、eBay、PayPal等。

“攻击媒介之所以有效,是因为她的浏览器只需要看到来自可信机构的网站的合法证书。可能是偷来的,也可能是伪造的,但足够了。证书对于证明网站和软件是值得信赖的很有用。很难想象,如果我们必须在每个网站上停下来,手动授予它加载权限,那么网络冲浪将会是什么样子。然而,它们并非刀枪不入。网络犯罪分子有很多方法可以绕过这一过程。

“就在大约10年前,微软(Microsoft)将其证书颁发机构的管理外包出去,陷入了一段尴尬的时期。微软聘请威瑞信管理其项目,其中包括维护一个证书撤销列表。Verisign收到了来自微软内部用户的证书请求,但它实际上是一个被盗的用户帐户。Verisign生成了请求的证书,然后被反复用于覆盖伪造软件。最终威瑞信撤销了这些证书,但它们继续工作。当时的在线证书状态协议要求应用程序检查吊销列表,但这几乎完全没有受到重视。无论如何,这也不会有什么帮助,因为威瑞信并没有编制这个清单——没有什么可检查的。要解决这个问题,微软需要发布软件补丁,建立自己的证书颁发机构,并强制使用在线证书状态协议。该协议现在是Web浏览器中用于标识已撤销证书的标准元素。

“还有一些更微妙的方式可以让系统失灵。最近,Stuxnet的成功部分依赖于使用JMI和Realtek的受损证书。这让伊朗的系统确信恶意软件是可信的。

证书的一个主要问题是,您的系统必须拥有自己的可信证书颁发机构参考。这通常嵌入到带有默认源列表的操作系统和浏览器中,但大多数用户可能不知道它的存在,因此不知道列表中有什么。大多数用户没有实际的方法来评估那里有什么,并决定他们是否同意编写该数据库的人的评估。该列表不能是静态的,因为需要添加新的证书,并且必须删除已撤销或过期的受损证书,否则它们将继续有效。

“这种更新和纠正受信任证书列表的过程已经成为一种攻击媒介。例如,Zeus僵尸网络有能力进入系统并下载证书存储。它还可以在列表中添加自己的内容,这样您的操作系统将在以后接受它提供的证书。

“证书颁发机构是公司,而不是政府机构,至少到目前为止是这样。正如我们在过去几年所看到的,在困难的情况下,公司可能会倒闭或变更所有权。想象一下,如果一个受信任的证书颁发机构被网络罪犯购买或受到他们的影响。就像黑手党购买自己的银行来洗钱一样,这样的组织可以为犯罪分子创造强大的资源。虽然这样的事情还没有发生,至少据我所知,没有什么可以阻止它。不管是好是坏,政府参与这一过程的时间可能已经不远了,但我们只能猜测它可能采取什么形式。

“国际标准组织现在在某些情况下需要证书。ICSJWG 2009提供了ABB的精彩演讲,讨论了证书颁发机构、证书管理和控制系统领域集成的不成熟所面临的挑战。到目前为止,需要集成它们的相对较少。例如IEC 62351、Secure DNP3/TCP和OPC-UA。如果您询问最近的传统IT web管理员上一次在管理证书方面遇到困难是什么时候,他们可能会提到证书最初未被注意到过期的时候。

“那么,如果认证系统有这么多缺陷,用户组织应该如何使用它?”它有什么实用价值吗?答案是肯定的,但前提是环境得到适当的管理。它不会自己起作用。以下是一些建议步骤:

•找出操作系统、应用程序和浏览器附带的数据库中的内容。只要坚持不懈,您就可以在微软、苹果等公司提供的系统中找到这些列表。

•了解证书颁发机构是谁,哪些是最值得信赖的。这说起来容易做起来难,因为在撰写本文时,可用的资源很少,所以基本上只能靠自己。至少对于控制系统环境来说,这要简单得多,因为大多数证书颁发机构将被删除。您将需要与控制系统供应商合作,以确定在您的环境中需要哪些证书。

•执行关于颁发、撤销和重新颁发现有证书的内部程序。您不希望使用自签名证书,然后简单地指示用户“接受新的证书颁发机构”。这是一种常见的做法,可能导致灾难性的后果。

“最终,你需要了解你在个人和电子方面信任谁。证书颁发机构是具有将实体与电子标识符(数字证书)关联的过程的验证实体。如果您不信任权威机构或身份的接收者管理它的方式,那么请将其从您的电子设备中删除。再一次,确保你的系统不要求你在删除之前获得信任。”

马特Luallen