博客

JACK - forecout研究实验室发现九个影响TCP/IP栈的ISN代漏洞

欧博allbet网址研究实验室 | 2021年2月10日

欧博allbet网址的研究人员发现,在多个TCP/IP堆栈中,isn (TCP连接中的初始序列号)是不正确生成的, 使设备的TCP连接容易受到攻击. 欧博allbet网址的研究人员分析了11个堆栈: 摘要, FNET, picoTCP, 螺母/净, lwIP, cycloneTCP, uC / tcp - ip, MPLAB净, TI-NDKTCPIP, Nanostack, 核心网.

我们在分析的11个栈中发现了9个错误生成的isn.

这种类型的漏洞在历史上曾被用来入侵通用电脑(凯文·米特尼克臭名昭著), 这使得它被称为"米特尼克攻击”). 这一发现的不同之处在于堆栈主要用于 嵌入式 设备,可能会扩大它们的影响.

isn确保两个设备之间的每一个TCP连接都是唯一的,并且没有冲突, 这样第三方就不能干扰正在进行的连接. 为了保证这些财产, ISN必须是随机生成的,这样攻击者就不能猜到一个is并劫持一个正在进行的连接或欺骗一个新的连接.

以下是我们的研究结果(lwIPNanostack 没有被提及,因为他们没有被发现是脆弱的):

[su_table响应=“是”替代=“不”)
CVE ID CVSSv3得分 TCP / IP栈分析 描述 修复
cve - 2020 - 27213 7.5 螺母/净5.1 ISN生成器依赖于一个高度可预测的源(系统计时器),并且具有恒定的增量. 在进步.
cve - 2020 - 27630 7.5 uC / tcp - ip 3.6.0 is发生器依赖于LCG,它是可逆的从观察到的输出流. 该算法以公开可恢复信息(i.e.,系统计时器计数). 不再支持uC / tcp - ip. 最新版本的补丁 Micrium操作系统 (后续项目).
cve - 2020 - 27631 7.5 CycloneTCP 1.9.6 is发生器依赖于LCG,它是可逆的从观察到的输出流. 该算法最初使用一个公开可见的CRC值作为种子. 版本2已修补.0.0.
cve - 2020 - 27632 7.5 NDKTCPIP 2.25 使用一个常量初始化ISN生成器,并具有常量增量. 版本7已修补.02 of 处理器SDK.
cve - 2020 - 27633 7.5 FNET 4.6.3 使用一个常量初始化ISN生成器,并具有常量增量. 文档更新以警告用户并建议实现他们自己的PRNG.
cve - 2020 - 27634 7.5 摘要1.0
Contiki-OS 3.0
Contiki-NG 4.5
使用一个常量初始化ISN生成器,并具有常量增量. 维护者没有回应.
cve - 2020 - 27635 7.5 PicoTCP 1.7.0
PicoTCP-NG
is发生器依赖于LCG,它是可逆的从观察到的输出流. 该算法以公开可恢复信息(i.e.,系统计时器计数). 版本2.1 删除默认的(脆弱的)实现,并建议用户实现他们自己的PRNG.
cve - 2020 - 27636 7.5 MPLAB净3.6.1 is发生器依赖于LCG,它是可逆的从观察到的输出流. 该算法使用静态值作为种子. 已在第三版打补丁.6.4.
cve - 2020 - 28388 6.5 核净4.3 ISN生成器依赖于可从网络捕获推断出的值的组合(端点的MAC地址和从系统时钟派生的值). 在核心网 5补丁.2和Nucleus ReadyStart v2012.12
[/ su_table]

这些漏洞于2020年10月被发现并向受影响的供应商和维护人员披露. 大多数供应商已经向用户发布了补丁和/或缓解建议. 的开发者 螺母/净 正在研究一个解决方案,而欧博allbet网址还没有收到来自 摘要 开发人员.

发现的漏洞(除了cve - 2020 - 28388)都有一个共同的CVSSv3 分数和向量 of 7.5和AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N. 西门子给了6分.5到cve - 2020 - 28388,矢量AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L. 然而, 在特定的设备和TCP连接上的实际严重性可能会有所不同, 例如, 加密会话的使用和交换数据的敏感性.

影响

脆弱堆栈的流行和一些用例是广泛的. 正如我们在 健忘症:33报告, 摘要, FNET, picoTCP螺母/净 被数百万的设备使用, 包括从IT文件服务器到物联网嵌入式组件的所有内容. 我们相信, CycloneTCP, uC / tcp - ip, NDKTCPIP, MPLAB净核心网 同样流行和广泛吗.

在这项研究中,欧博allbet网址没有试图确定受影响的设备或设备制造商. 不过,还是有几个值得注意的 公共 用例 一些堆栈的,比如 医疗 设备, 风力发电机监测系统, 远程终端设备(rtu)它存储系统.

建议缓解

识别和修补运行脆弱堆栈的设备是一项挑战,因为通常不知道哪些设备运行特定的堆栈, 嵌入式设备的管理和更新是出了名的困难.

这就是为什么我们推荐这种缓解战略:

  • 发现和盘点运行脆弱TCP/IP堆栈的设备. 欧博allbet网址研究实验室发布了一份 开源脚本 它使用主动指纹来检测运行受影响堆栈的设备. 脚本会不断更新新的签名. 此外, Nmap 允许收集ISN指标并执行统计分析,以了解目标设备是否存在弱ISN生成.
  • 补丁如果可能的话. 监控受影响设备供应商发布的渐进补丁,并为您的脆弱资产清单设计一个补救计划. forecout可以帮助为具有可用补丁并且可以在维护窗口之外进行补丁的设备,与其他IT和安全工具协调修复工作流.
  • 细分以降低风险. 用于易受攻击的物联网和OT设备, 在不影响关键任务功能或业务操作的情况下,使用分割来最小化网络暴露和妥协的可能性. 如果设备受到损害,分割和分区也可以限制爆炸半径和业务影响. 欧博allbet网址眼段可以帮助限制外部通信路径,隔离或包含脆弱的设备在区域.
  • 部署IPsec. 建立在网络层之上的端到端加密解决方案(IPsec)不需要对正在使用的TCP/IP堆栈进行任何修改,同时允许防御TCP欺骗和连接重置攻击. 不幸的是,这是以网络带宽为代价的.

记忆计划的第二阶段

2020年,欧博allbet网址研究实验室启动 项目记忆, 这是一项旨在为网络安全社区提供TCP/IP协议栈安全性的最大研究的倡议. 这个项目的第一个成果是 健忘症:33 -一组33个漏洞,影响4个开放源代码TCP/IP栈.

这些最新的发现代表了第二项研究 项目记忆,专注于与第一项研究相同的七个嵌入式TCP/IP开源协议栈(摘要, FNET, picoTCP, 螺母/净, lwIP, cycloneTCPuC / tcp - ip),以及其他四个流行的堆栈: 微芯片的MPLAB净, 德州仪器NDKTCPIP, ARM的Nanostack西门子核净.

欧博allbet网址将继续推动对TCP/IP协议栈的重要研究 项目记忆. 我们的目标是提高业界对这些堆栈的脆弱性的认识,以及安全软件供应链的重要性.

了解更多

有关TCP/IP栈ISN漏洞的详细分析,请下载完整报告: 在嵌入式TCP/IP协议栈中生成JACK弱ISN.