运维开发网

安全性 – 当根证书受到破坏时签名代码会发生什么?

运维开发网 https://www.qedev.com 2020-04-03 12:14 出处:网络 作者:运维开发网整理
我的 Windows Server刚刚要求更新与根证书相关的证书更新.我记得Firefox,Safari,Flash,.Net一堆东西和Internet Explorer都要求更新. 我知道代码是用证书签名的,因此我的问题是: >是那些以任何方式相关的证书, >如果他们是,那么根证书被破坏的事实是签名代码的风险(比如允许某些恶意代码执行,或者可能允许某人篡改签名代码?) >最后,在iOS的情况下,
我的 Windows Server刚刚要求更新与根证书相关的证书更新.我记得Firefox,Safari,Flash,.Net一堆东西和Internet Explorer都要求更新.

我知道代码是用证书签名的,因此我的问题是:

>是那些以任何方式相关的证书,

>如果他们是,那么根证书被破坏的事实是签名代码的风险(比如允许某些恶意代码执行,或者可能允许某人篡改签名代码?)

>最后,在iOS的情况下,是否意味着每个应用程序都需要使用新证书重新编译,或者对先前签名的代码没有任何不良影响?

首先,Apple代码签名根与受损根(DigiNotar)无关,因此对于您的第一个问题,对此的iOS代码签名没有直接影响.此证书位于iOS根存储中,因此可能会影响应用程序,包括Safari或使用内置URL加载系统或根关键字的任何人.

如果Apple代码签名密钥(或主要中介之一)被泄露,那么理论上这对代码签名系统来说可能是灾难性的.在实践中,攻击者还需要伪装成Apple更新服务器,这是一个不同的问题.但如果你把这两件事放在一起,是的,他们可以在理论上推动他们想要的任何东西.

一般来说,只有两种方法可以处理X.509中的密钥泄露:等待证书过期或撤销它.大多数根证书具有相当长的有效范围(通常为几十年).较低级别的证书具有较短的范围(数月或​​数年).

撤销证书意味着软件(在这种情况下为iOS)需要检查撤销列表并拒绝其上的证书.这会破坏每一块软件,直到它们全部被重新签名并重新安装.

由于Apple控制着应用程序商店和iOS,因此实际上还有其他一些选项供他们使用.他们可以修补iOS,针对应用程序商店中的哈希值对每个软件进行一次性验证,然后应用新的签名.当您控制系统的所有部分时,更容易确定信任.

仅仅因为根证书被泄露并不意味着恶意代码会突然在每个人的设备(或任何人的设备)上运行.妥协证书只是一个更复杂的攻击的一部分.但它是一个有用的部分.

请记住,Mac和Windows和Unix等存在多年没有代码签名.大多数现代操作系统都有某种代码签名,但它没有被广泛使用(通常仅在包安装时).当它失败时,用户通常会忽略它. iOS计划是向前迈出的一大步,但如果没有它,你可能会陷入困境.

代码签名不能确保代码是良性的.在批准应用程序之前,Apple几乎无法检测到几种我可以做的恶意事情.仅仅因为他们有信用卡存档并不意味着Apple真的知道谁提交了应用程序.

因此代码签名是一项重要的安全措施,但它并不是唯一的安全措施.如你所知,密钥非常重要,但它们只是系统的一部分.

0

精彩评论

暂无评论...
验证码 换一张
取 消