-
安全产品
-
-
-
西门子LOGO!Web服务器也爆漏洞?分析报告为您送上
发布时间:
2020-07-24
来源:
作者:
访问量:
89
1.背景介绍
2020年7月14日Cisco Talos的Alexander Perez-Palma和Dave McDaniel以及Cisco Systems的Emanuel Almeida等安全研究人员,披露了西门子LOGO!Web服务器中的远程代码执行漏洞。该漏洞涉及西门子旗下的LOGO!服务器,受影响产品包括12/24RCE版本OBA\230RCE版本OBA。成功利用该漏洞,就可导致执行任意代码、远程命令及未经身份验证等风险。该漏洞目前已被CVE收录,编号为CVE-2020-7593,西门子LOGO!是一种智能逻辑模块(PLC),适用于自动化项目,例如工业控制系统,办公室/商业和家庭设置。它已在全球范围内部署,可以远程进行管理和维护。
图1 LOGO!系列产品
2.漏洞摘要
西门子 LOGO!的Web服务器的1.82.02、12 / 24RCE版本0BA和230RCE版本0BA中存在一个可利用的代码执行漏洞,远程攻击者可以在目标系统上执行任意代码,是由于Web服务器端url复制到堆栈功能中的边界错误而存在,远程攻击者可以发送特制的HTTP请求,触发内存损坏并在目标系统上执行任意代码,成功利用此漏洞可能会完全破坏脆弱的系统。
2.1漏洞描述
CVE-2020-7593漏洞存在于LOGO!8 BM(包括SIPLUS变体)(V1.81.01-V1.81.03)、LOGO!8 BM(包括SIPLUS变体)(V1.82.01)、LOGO!8 BM(包括SIPLUS变体)(V1.82.02)等版本中。设备的Web服务器端的功能中存在一个缓冲区溢出漏洞,远程未经身份验证的攻击者可能发送特制的HTTP请求,导致内存损坏坏,从而可能导致远程执行代码。
严重程度: 高;
CVSSv3: 8.8 [CVSS:3.0 / AV:N / AC:L / PR:N / UI:N / S:U / C:H / I:H / A:H / E:P / RL:O / RC: C]。
2.2 漏洞细节
LOGO!的HTTP服务器系统在将URI复制到堆栈之前未正确检查URI目录的长度,从而导致堆栈溢出。研究和测试表明,导致崩溃的原因在于地址为0x9be8e的u_bm3.bin固件映像中:
#r10 =开/关斜线之间的URI长度
0009BE84 A5 EB 07 0A SUB.W R10,R5,R7
#len-用户控制的长度
0009BE88 52 46 MOV R2,R10
#src- URI请求
0009BE8A 39 46 MOV R1,R7
#0x14,#目标堆栈地址
0009BE8C 05 A8 ADD R0,SP
#溢出堆栈
0009BE8E D7 F7 0F FA BL call_memcpy
0009BE92 05 A8 ADD R0,SP,#0x78
终止堆栈上复制的URI目录
+ requested_dir_without_slashes; s1 0009BE94 00 21 MOVS R1,#0 0009BE96 0A F8 00 10 STRB.W R1,[R10,R0]; NULL
2.3 披露时间
首次发现时间: 2020年5月7日;
修补时间: 2020年7月14日;
公开发布: 2020年7月15日。
2.4漏洞影响设备及固件版本
以下版本的LOGO!Web服务器受到影响:
Logo!8 BM系列版本(包括SIPLUS变体);
1.81.01和1.81.03之间的版本;
1.82.01版本;
1.82.02版本。
3 漏洞原理
当程序试图将更多的数据放入缓冲区而无法容纳时,或者当程序试图将数据放入缓冲区边界以外的存储区时,就会出现缓冲区溢出情况。进程分控制层面和数据层面两个部分,每个部分各占一部分内存。当程序没有对数据层面内存大小做限制时,输入一个超过数据内存大小的数据就会发生数据层面的数据把控制层面内存覆盖的情况,此时如果在数据尾部加上一些操作系统指令就会把该指令加载到控制层面内存(即寄存器)当中去,当CPU执行下一个控制层面内存里的内容时就会加载该恶意指令。(注:寄存器中的EIP为CPU要执行的下一条指令的内存地址)。
示例:在以下示例中,服务器接受来自客户端的连接并处理客户端请求。接受客户端连接后,该程序将使用gethostbyaddr方法获取客户端信息,复制连接到本地变量的客户端的主机名,并将客户端的主机名输出到日志文件。
图2 示例
连接的客户端的主机名可能比本地主机名变量的分配大小长。使用strcpy方法将客户端主机名复制到本地变量时,这将导致缓冲区溢出。
4 防护建议
西门子建议受影响的用户更新到以下版本:
LOGO!8 BM系列下的几个版本需要升级(包括SIPLUS变种):
· 版本1.81.01、1.81.02、1.81.03:更新至v1.81.04;
· 版本1.82.01:更新至v1.82.03;
· 版本1.82.02:更新至v1.82.04。
西门子建议应用深度防御的概念,包括系统手册中概述的保护概念。西门子建议遵循其通用安全建议。作为通用的安全措施,西门子强烈建议使用适当的机制保护对设备的网络访问。为了在受保护的IT环境中操作设备,西门子建议根据《西门子工业安全操作指南》并按照产品手册中的建议配置环境。
CISA建议用户采取防御措施以最大程度的防止漏洞被利用,具体来说,用户应:
- 最小化所有控制系统设备和/或系统的网络暴露,并确保不能从Internet访问它们;
- 在防火墙后面找到控制系统网络和远程设备,并将其与业务网络隔离;
- 当需要远程访问时,请使用安全方法,例如虚拟专用网(VPN),并确认VPN可能存在漏洞,应将其更新为可用的最新版本。还应认识到VPN仅与连接的设备一样安全。
参考资源:
【1】https://www.cybersecurity-help.cz/vdb/SB2020071530
【2】https://nvd.nist.gov/vuln/detail/CVE-2020-7593
【3】https://www.cybersecurity-help.cz/vdb/SB2020071530
【4】https://us-cert.cisa.gov/ics/advisories/icsa-20-196-08
【5】https://cwe.mitre.org/data/definitions/120.html
【6】https://talosintelligence.com/vulnerability_reports/TALOS-2020-1069
天地和兴,西门子,漏洞
上一条:
相关资讯

关注我们