时间:2022-11-02 作者:奇安信CERT
奇安信CERT
致力于第一时间为企业级用户提供安全风险通告和有效解决方案。
安全通告
OpenSSL是用于传输层安全(TLS)协议(以前称为安全套接字层(SSL)协议)的强大、商业级、功能齐全的开源工具包,协议实现基于全强度通用密码库,用于保护计算机网络上的通信免受窃听,被互联网服务器广泛使用(包括大多数HTTPS网站)。
近日,奇安信CERT监测到OpenSSL官方发布了漏洞安全更新,包括OpenSSL拒绝服务漏洞(CVE-2022-3786)和OpenSSL远程代码执行漏洞(CVE-2022-3602),攻击者利用CVE-2022-3786漏洞,制作包含恶意电子邮件地址的证书,以溢出包含"."的任意字节数,此缓冲区溢出可能导致服务崩溃。CVE-2022-3602漏洞存在于ossl_punycode_decode函数,当客户端或服务器配置为验证X.509证书时调用此函数,攻击者可以通过在电子邮件地址字段的域中创建包含punycode的特制证书来利用该漏洞,可能导致服务崩溃或潜在的远程代码执行。
由于CVE-2022-3602可能引发远程代码执行,官方在预先公告中将其视为“严重”漏洞,因为很多平台已经实现了堆栈溢出保护,可以降低远程代码执行利用风险,所以此漏洞被降级为“高危”漏洞。
此前有多篇文章将CVE-2022-3602漏洞与2014年的HeartBleed相提并论,引起大量安全人员的关注,由于此漏洞利用前提条件是必须配置客户端或服务器以验证证书中恶意电子邮件地址,同时仅影响OpenSSL3.x,进一步限制了漏洞的利用范围,此次更新的漏洞可能不像HeartBleed那样容易可被广泛利用,所以用户不必过于惊慌,但仍建议尽快升级到安全版本。
奇安信CERT第一时间分析并复现了OpenSSL远程代码执行漏洞(CVE-2022-3602),复现截图如下:
威胁评估
处置建议
一、OpenSSL3.x产品检测规则
1.YARA检测规则
(1)OpenSSL的所有静态编译都包含一个版本字符串,如'OpenSSL3.0.62022年10月11日',其中3.0.6是版本号,以下规则主要检测其中的字符串。
ruleopenssl_version{
strings:
$re1=/OpenSSL\s3\.[0-6]{1}\.[0-9]{1}[a-z]{,1}/
condition:
$re1
(2)该规则思路主要是查找依赖OpenSSL的主应用程序,但解析可执行文件的导入。
import"elf"
import"pe"
ruleelf_import_openssl{
condition:
(elf.type==elf.ET_EXECorelf.type==elf.ET_DYN)and
foranyiin(0..elf.symtab_entries):
elf.symtab[i].namecontains"@OPENSSL_3"
rulepe_import_openssl{
condition:
pe.is_peand
foranyiin(0..pe.number_of_imports):
pe.import_details[i].library_namecontains"libcrypto-3"orpe.import_details[i].library_namecontains"libssl-3"
2.OSQuery查询
利用Osquery的YARA表在所有正在运行的进程上运行以下规则。
WITHFIRST_QUERYAS(SELECTDISTINCT
proc.pid,
proc.path,
proc.cmdline,
proc.cwd,
mmap.pathASmmap_path
FROMprocess_memory_mapASmmap
LEFTJOINprocessesASprocUSING(pid))
SELECT*
FROMFIRST_QUERY
JOINyaraONyara.path=FIRST_QUERY.mmap_path
WHEREsigrule='ruleopenssl_3{
strings:
$re1=/OpenSSL\s3\.[0-6]{1}\.[0-9]{1}[a-z]{,1}/
condition:
$re1
'
ANDyara.count>0
更多漏洞支持参考:https://www.akamai.com/blog/security-research/openssl-vulnerability-how-to-effectively-prepare
二、漏洞影响产品排查
由于OpenSSL是一个核心的开源组件,很多软件或产品可能会受到影响,用户需要及时关注已使用软件的安全公告,目前部分厂商已经发布自身产品受影响的相关公告:
https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2022-0023
https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-openssl-W9sdCc2a
三、版本升级
目前OpenSSL官方已正式发布修复版本,建议受影响用户尽快升级至安全版本。
OpenSSL3.x升级到3.0.7版本,可从地址中下载升级:https://www.openssl.org/source/mirror.html
注:若使用的应用程序自行打包OpenSSL时,例如Node.js17.x、18.x或19.x,则需要升级应用程序本身。
参考资料
[1]https://mta.openssl.org/pipermail/openssl-announce/2022-October/000238.html
[2]https://www.helpnetsecurity.com/2022/10/25/cve-2022-42827/
[3]https://github.com/NCSC-NL/OpenSSL-2022/blob/main/software/README.md
[4]https://mta.openssl.org/pipermail/openssl-announce/2022-November/000241.html
[5]https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=c42165b5706e42f67ef8ef4c351a9a4c5d21639a
[6]https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=fe3b639dc19b325846f4f6801f2f4604f56e3de3
[7]https://www.akamai.com/blog/security-research/openssl-vulnerability-how-to-effectively-prepare
[8]https://securitylabs.datadoghq.com/articles/openssl-november-1-vulnerabilities/
[9]https://github.com/DataDog/security-labs-pocs/tree/main/proof-of-concept-exploits/openssl-punycode-vulnerability
[10]https://www.openssl.org/news/vulnerabilities.html
[11]https://www.openssl.org/news/secadv/20221101.txt
[12]https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2022-0023
[13]https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-openssl-W9sdCc2a
[14]https://www.openssl.org/blog/blog/2022/11/01/email-address-overflows/
时间线
2022年11月2日,奇安信CERT发布安全风险通告。
到奇安信NOX-安全监测平台查询更多漏洞详情
95015服务热线
微信公众号