OpenSSH在秘钥交换过程中存在一个内存耗尽问题,一个未经认证的客户端,可以通过重复KEXINIT过程,使服务器上每个连接的内存分配增加至384MB,如果攻击者利用该漏洞,发起多个连接,会使服务器的内存耗尽,造成拒绝服务攻击。该漏洞存在于函数kex_input_kexinit()中,该漏洞编号为CVE-2016-8858。
相关链接如下:
http://www.securitytracker.com/id/1037057
OpenSSH是SSH(Secure SHell)协议的免费开源实现。SSH协议族可以用来进行远程控制,或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。
OpenSSH 6.8-7.3
OpenSSH < 6.8
SSH传输层握手过程如下图所示,在认证阶段,SSH客户端向服务器端发起认证请求, 服务器端对客户端进行认证。该漏洞的触发原理是:当服务器端收到发送的SSH2_MSG_KEXINIT包时,会在请求对应大小的内存,最大可达到384MB。在默认情况下,服务器的并发处理能力达到100条时,就会损耗服务器上的38400MB内存,导致远程拒绝服务漏洞。
对该漏洞的修复在于向函数kex_input_kexinit()中添加对KEXINIT消息的处理。如下图所示,修复代码中增加的语句是:ssh_dispatch_set(ssh, SSH2_MSG_KEXINIT, NULL)。
ssh_dispatch_set()函数的定义是:
由此可得ssh->dispatch[SSH2_MSG_KEXINIT]= NULL,也就是说在接收到KEXINIT消息后,直接将其设置为NULL,就不会及时将占用的内存,释放掉,从而避免该漏洞的产生。
截止到今天,我们统计全球范围内存在此安全漏洞的设备数量已经达到274,371个。
这些受此漏洞影响的设备数量最多的国家是美国,占全部的52.79%,其次是德国,占6.3%,第三是中国,占4.87%,剩余国家分别是法国、英国、俄罗斯联邦、荷兰、加拿大、意大利等。
TOP20国家的受此漏洞影响的设备数量占全球总数的91.61%,其余8.39%分散在其他国家和地区内。
。
全球受此漏洞影响的分布国家TOP20占比情况如下
G20成员国受影响暴露面统计如下
中国各省份及地区分布的受此漏洞影响的设备总数量达14,606个。其中台湾地区所占数量最多,有4,192台设备受影响,其次是浙江、北京、香港等地区。
TOP10省份的受此漏洞影响的设备数量占中国总数的81.91%。其余18.09%的数量分散于其他省份或地区内。
受此漏洞影响的设备中国TOP10省份排名
https://cloud.nsfocus.com/#/krosa/views/initcdr/productandservice?service_id=1026
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。
北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。
基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。
北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。
如果您需要了解更多内容,可以
加入QQ群:486207500、570982169
直接询问:010-68438880-8669