首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果从RAM中提取证书/私钥,您如何知道它?或者你愿意?

如果从RAM中提取证书/私钥,您如何知道它?或者你愿意?
EN

Security用户
提问于 2014-04-11 01:39:41
回答 3查看 10.5K关注 0票数 9

当然,与心血脆弱相关的是,我一直在阅读有关此攻击最坏情况的新闻,即提取SSL私钥,因为当然,这将允许攻击者解密所有进出受损服务器的通信,包括被捕获和存储在某处的可能吧,取决于前向保密。

这让我想到,假设最坏的情况,你的心脏出血易受攻击的服务器已经回放了包含私钥的内存.攻击者如何能够将其与其他内存内容或未初始化的内存区分开来,或者您有什么?键数据本身是否有页眉/页脚,或指示模式?我知道一些RSA密钥形式(PEM/ have 64)在文件中有头/页脚(-----BEGIN FOO BAR KEY----------END FOO BAR KEY-----),尽管我很难想象加载到内存中的字符串。它可能是通过使用指向它的指针而被识别出来的吗?

这看上去不像是你可以用武力(对64 KB的内存尝试每一个X位内存内容组合似乎都会产生大量的排列)。

那它是怎么做的?如何将内存中的加密密钥识别为加密密钥?在一个相关的问题中,对称密钥的答案是不同的还是相同的?(例如,可以使用全磁盘加密针对系统使用冷启动攻击进行提取。)

EN

回答 3

Security用户

回答已采纳

发布于 2014-04-11 01:43:44

是。大多数私钥具有易于识别的格式。

如果它是用openssl生成的RSA私钥,那么它们有一种特定的格式,例如,根据密钥大小,总是以相同的三个字节开头:

代码语言:javascript
复制
30 82 01 (for 768 bit key or MIIB in base64)
30 82 02 (for 1024 bit key or MIIC in base64),
30 82 04 (for 2048 bit key or MIIE in base64),  
30 82 09 (for 4096 bit key or MIIJ in base64).

还有一些其他类型的格式,私钥也可以存储在其中。

您可以使用openssl命令对此进行测试:openssl genrsa 1024 (1024意味着1024位密钥,以查看其base64表示中的密钥)。)

有关格式的更多文档,请参见此StackOverflow答案:在哪里可以找到一些关于RSA公钥格式的文档?

票数 16
EN

Security用户

发布于 2016-06-22 12:56:06

作为jimbob博士答复的增编:

有一些实用程序可以查找这些模式,并尝试以这种方式提取密钥。

免责声明:我没有尝试过这些实用程序。这篇文章只是一个更好的版本,由用户“虚空之星”在HN上发布的链接。(见下文)

再读

票数 2
EN

Security用户

发布于 2016-06-22 13:22:16

作为StackzOfZtuff和jimbob博士的答案的另一个增编

Adi Shamir等人。用存储的键玩捉迷藏的纸制游戏采取了一种非常不同的方法,而不是寻找标题。

Shamir方法依赖于比较完整内存字符串中的数据块(即将内存/磁盘的全部内容转储为字符串),并查看它们是否与以前已知的公钥有数学关系。

为了在没有以前已知的公钥的情况下找到密钥,我们进行了一次检查,以检查数据的熵。

由于我们知道密钥数据比非密钥数据具有更大的熵,所以定位密钥的一种方法是将数据划分为小部分,测量每个部分的熵,并显示有特别高熵的位置。

因为键是故意随机的,所以在不那么随机的数据背景下,这些数据显得格外突出。此攻击的优点是可以定位任何加密密钥。

除了RSA方案之外,我们的技术似乎也适用于广泛的其他公钥方案。

正如jimbob博士指出的,Tobias Klein采取了寻找头部的方法。

下面显示了这个ASN.1语法的十六进制表示: 30 82?-序列(30 82),序列长度(?) 30 82 ??-序列(30 82),序列长度(?)因为所有的证书都应该用这个语法表示,所以我们有一个模式可以搜索。

使用完整的磁盘加密,您将不再能够搜索磁盘上的随机数据,因为一切都是随机的。您也将无法搜索标头,因为它们将被加密。

然而,一旦机器被引导,就有可能通过这些技术之一直接从内存中读取密钥。对于VM来说,这甚至更容易(参见我的答案这里)

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/55471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档