漏洞信息详情
OpenSSL Timing攻击RSA私钥信息泄露漏洞
- CNNVD编号:CNNVD-200303-116
- 危害等级: 中危
- CVE编号:
CVE-2003-0147
- 漏洞类型:
配置错误
- 发布时间:
2003-03-31
- 威胁类型:
远程
- 更新时间:
2005-10-20
- 厂 商:
stunnel - 漏洞来源:
David Brumley and … -
漏洞简介
OpenSSL是OpenSSL团队开发的一个开源的能够实现安全套接层(SSL v2/v3)和安全传输层(TLS v1)协议的通用加密库,它支持多种加密算法,包括对称密码、哈希算法、安全散列算法等。
OpenSSL实现存在典型的定时(Timing)攻击,远程攻击者可以利用这个漏洞获得RSA私钥信息。
定时攻击一般用于攻击一些弱计算机设备,如智能卡。OpenSSL在客户端和服务器端会话密钥协商时部分定时操作存在漏洞,可导致恶意客户端获得目标服务器的RSA私钥信息。
详细分析可参看:
http://crypto.stanford.edu/~dabo/abstracts/ssl-timing.html
漏洞公告
临时解决方法:
如果您不能立刻安装补丁或者升级,CNNVD建议您采取以下措施以降低威胁:
* 第三方补丁如下:
Index: crypto/rsa/rsa_eay.c
===================================================================
RCS file: /e/openssl/cvs/openssl/crypto/rsa/rsa_eay.c,v
retrieving revision 1.28.2.3
diff -u -r1.28.2.3 rsa_eay.c
— crypto/rsa/rsa_eay.c 30 Jan 2003 17:37:46 -0000 1.28.2.3
+++ crypto/rsa/rsa_eay.c 16 Mar 2003 10:34:13 -0000
@@ -195,6 +195,25 @@
return(r);
}
+static int rsa_eay_blinding(RSA *rsa, BN_CTX *ctx)
+ {
+ int ret = 1;
+ CRYPTO_w_lock(CRYPTO_LOCK_RSA);
+ /* Check again inside the lock – the macro’s check is racey */
+ if(rsa->blinding == NULL)
+ ret = RSA_blinding_on(rsa, ctx);
+ CRYPTO_w_unlock(CRYPTO_LOCK_RSA);
+ return ret;
+ }
+
+#define BLINDING_HELPER(rsa, ctx, err_instr) + do { + if(((rsa)->flags & RSA_FLAG_BLINDING) && + ((rsa)->blinding == NULL) && + !rsa_eay_blinding(rsa, ctx)) + err_instr + } while(0)
+
/* signing */
static int RSA_eay_private_encrypt(int flen, const unsigned char *from,
unsigned char *to, RSA *rsa, int padding)
@@ -239,8 +258,8 @@
goto err;
}
– if ((rsa->flags & RSA_FLAG_BLINDING) && (rsa->blinding == NULL))
– RSA_blinding_on(rsa,ctx);
+ BLINDING_HELPER(rsa, ctx, goto err;);
+
if (rsa->flags & RSA_FLAG_BLINDING)
if (!BN_BLINDING_convert(&f,rsa->blinding,ctx)) goto err;
@@ -318,8 +337,8 @@
goto err;
}
– if ((rsa->flags & RSA_FLAG_BLINDING) && (rsa->blinding == NULL))
– RSA_blinding_on(rsa,ctx);
+ BLINDING_HELPER(rsa, ctx, goto err;);
+
if (rsa->flags & RSA_FLAG_BLINDING)
if (!BN_BLINDING_convert(&f,rsa->blinding,ctx)) goto err;
Index: crypto/rsa/rsa_lib.c
===================================================================
RCS file: /e/openssl/cvs/openssl/crypto/rsa/rsa_lib.c,v
retrieving revision 1.30.2.2
diff -u -r1.30.2.2 rsa_lib.c
— crypto/rsa/rsa_lib.c 30 Jan 2003 17:37:46 -0000 1.30.2.2
+++ crypto/rsa/rsa_lib.c 16 Mar 2003 10:34:13 -0000
@@ -72,7 +72,13 @@
RSA *RSA_new(void)
{
– return(RSA_new_method(NULL));
+ RSA *r=RSA_new_method(NULL);
+
+#ifndef OPENSSL_NO_FORCE_RSA_BLINDING
+ r->flags|=RSA_FLAG_BLINDING;
+#endif
+
+ return r;
}
void RSA_set_default_method(const RSA_METHOD *meth)
厂商补丁:
Caldera
——-
Caldera已经为此发布了一个安全公告(CSSA-2003-014.0)以及相应补丁:
CSSA-2003-014.0:Linux: several recently discovered openssl vulnerabilities
链接:ftp://ftp.sco.com/pub/security/OpenLinux/CSSA-2003-014.0.txt
补丁下载:
SCO Patch openssl-devel-0.9.6-21.i386.rpm
SCO Patch openssl-devel-static-0.9.6-21.i386.rpm
SCO Patch openssl-devel-static-0.9.6-21.i386.rpm
SCO Patch openssl-devel-static-0.9.6-21.i386.rpm
SCO Patch openssl-devel-static-0.9.6-21.i386.rpm
SCO Patch openssl-0.9.6-21.i386.rpm
ftp://ftp.sco.com/pub/updates/OpenLinux/3.1.1/Server/CSSA-2003-014.0/RPMS/openssl-0.9.6-21.i386.rpm
SCO Patch openssl-0.9.6-21.i386.rpm
SCO Patch openssl-0.9.6-21.i386.rpm
ftp://ftp.sco.com/pub/updates/OpenLinux/3.1/Server/CSSA-2003-014.0/RPMS/openssl-0.9.6-21.i386.rpm
SCO Patch openssl-0.9.6-21.i386.rpm
SCO Patch openssl-devel-0.9.6-21.i386.rpm
SCO Patch openssl-devel-0.9.6-21.i386.rpm
SCO Patch openssl-devel-0.9.6-21.i386.rpm
ftp://ftp.sco.com/pub/updates/OpenLinux/3.1.1/Workstation/CSSA-2003-014.0/RPMS/openssl-devel-0.9.6-21.i386.rpm
MandrakeSoft
————
MandrakeSoft已经为此发布了一个安全公告(MDKSA-2003:035)以及相应补丁:
MDKSA-2003:035:Updated openssl packages fix RSA-related insecurities
链接:http://www.linux-mandrake.com/en/security/2003/2003-035.php” target=”_blank”>
http://www.linux-mandrake.com/en/security/2003/2003-035.php
补丁下载:
Updated Packages:
Corporate Server 2.1:
Linux-Mandrake 7.2:
ftp://download.sourceforge.net/pub/mirrors/mandrake/updates/7.2/RPMS/openssl-0.9.5a-9.5mdk.i586.rpm
来源:US-CERT Vulnerability Note: VU#997481
名称: VU#997481
链接:http://www.kb.cert.org/vuls/id/997481
来源: REDHAT
名称: RHSA-2003:102
链接:http://www.redhat.com/support/errata/RHSA-2003-102.html
来源: REDHAT
名称: RHSA-2003:101
链接:http://www.redhat.com/support/errata/RHSA-2003-101.html
来源: www.openssl.org
链接:http://www.openssl.org/news/secadv_20030317.txt
来源: MANDRAKE
名称: MDKSA-2003:035
链接:http://www.mandrakesecure.net/en/advisories/advisory.php?name=MDKSA-2003:035
来源: DEBIAN
名称: DSA-288
链接:http://www.debian.org/security/2003/dsa-288
来源: BUGTRAQ
名称: 20030317 [ADVISORY] Timing Attack on OpenSSL
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=104792570615648&w=2
来源: BUGTRAQ
名称: 20030313 Vulnerability in OpenSSL
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=104766550528628&w=2
来源: crypto.stanford.edu
链接:http://crypto.stanford.edu/~dabo/papers/ssl-timing.pdf
来源: VULNWATCH
名称: 20030313 OpenSSL Private Key Disclosure
链接:http://archives.neohapsis.com/archives/vulnwatch/2003-q1/0130.html
来源: SGI
名称: 20030501-01-I
链接:ftp://patches.sgi.com/support/free/security/advisories/20030501-01-I
来源: IMMUNIX
名称: IMNX-2003-7+-001-01
链接:http://www.securityfocus.com/archive/1/archive/1/316577/30/25310/threaded
来源: APPLE
名称: APPLE-SA-2003-03-24
链接:http://www.securityfocus.com/archive/1/archive/1/316165/30/25370/threaded
来源: OPENPKG
名称: OpenPKG-SA-2003.019
链接:http://www.openpkg.com/security/advisories/OpenPKG-SA-2003.019.html
来源: GENTOO
名称: GLSA-200303-23
链接:http://www.gentoo.org/security/en/glsa/glsa-200303-23.xml
来源: GENTOO
名称: GLSA-200303-24
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=104861762028637&w=2
来源: GENTOO
名称: GLSA-200303-15
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=104829040921835&w=2
来源: BUGTRAQ
名称: 20030320 [OpenPKG-SA-2003.026] OpenPKG Security Advisory (openssl)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=104819602408063&w=2
来源: CONECTIVA
名称: CLA-2003:625
链接:http://distro.conectiva.com.br/atualizacoes/?id=a&anuncio=000625
来源: CALDERA
名称: CSSA-2003-014.0
链接:ftp://ftp.sco.com/pub/security/OpenLinux/CSSA-2003-014.0.txt
来源: US Government Resource: oval:org.mitre.oval:def:466
名称: oval:org.mitre.oval:def:466
链接:http://oval.mitre.org/repository/data/getDef?id=oval:org.mitre.oval:def:466