Heartbleed 如何使用静态编译版本的 openssl 找出应用程序?

信息安全 openssl 零日 心血来潮
2021-08-30 06:24:47

我们正在分析工作中的问题,我想知道如何找出是否有包含此错误的静态编译版本的 openssl 二进制文件。

是否可以从包含错误的代码中找到指纹?

1个回答

在 OpenSSL 代码中有几个与心跳功能相关的字符串定义:

./ssl/ssl_err.c:{ERR_FUNC(SSL_F_DTLS1_HEARTBEAT),       "DTLS1_HEARTBEAT"},
./ssl/ssl_err.c:{ERR_FUNC(SSL_F_TLS1_HEARTBEAT),        "SSL_F_TLS1_HEARTBEAT"},
./ssl/ssl_err.c:{ERR_REASON(SSL_R_TLS_HEARTBEAT_PEER_DOESNT_ACCEPT),"peer does not accept heartbearts"},
./ssl/ssl_err.c:{ERR_REASON(SSL_R_TLS_HEARTBEAT_PENDING) ,"heartbeat request already pending"},

所以很有可能你会heartbeat在静态编译的程序中找到字符串(忽略大小写)。