0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TCP/IP 堆栈漏洞是嵌入式软件的警钟

张英 来源:小佳99 作者:小佳99 2022-07-15 15:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

URGENT/11和其他最近的漏洞(例如与嵌入式 TCP/IP 堆栈相关的AMNESIA:33)表明在审查和审计软件供应链方面存在缺陷。责任不仅仅在于软件供应商,还指出嵌入式设备制造商需要评估的不仅仅是他们目前开发的产品。

同时,这个问题不仅限于嵌入式软件,或具体的 TCP/IP 堆栈。相反,它暴露了由重用软件组件和频繁发现与之相关的新漏洞所造成的安全风险。

让我们仔细看看 Urgent/11 和 Amnesia:33 漏洞。两者都在嵌入式 TCP/IP 堆栈中,这是令人担忧的,因为网络连接是消费、医疗和工业应用中常用的物联网 (IoT) 设备最有可能的攻击媒介。尽管受影响设备上的网络堆栈是一个常见弱点,但这些漏洞通常与过时的软件版本有关。漏洞令人担忧,但可以修复和修补。

更令人担忧的是,已知漏洞并未得到修补。截至 2020 年 12 月,97% 的 URGENT/11易受攻击的设备仍未打补丁。这可以部分归因于嵌入式系统供应商、最终用户、经销商和集成商对他们暴露于这些漏洞的缺乏了解。

知名的漏洞集可能是 URGENT/11,它最初隶属于 Wind River VxWorks,影响许多流行的嵌入式实时操作系统 (RTOS) 使用的 Interpeak IPnet 嵌入式 TCP/IP 堆栈,并且是商业软件。URGENT/11 中的漏洞代表了软件弱点的名人录:缓冲区溢出、整数下溢、内存缓冲区越界访问、竞争条件、参数注入和空指针取消引用。

受影响的产品通常使用 ENEA、GreenHills Software、ITRON、IP Infusion ThreadX 和 Wind River 的嵌入式操作系统 (OS)。在所有情况下,这些供应商都更新或替换了其产品中受影响的 IPnet TCP/IP 堆栈。但是,这些操作系统的旧版本仍在数百万台设备上运行。

与 URGENT/11 类似,AMNESIA:33 漏洞集与一组嵌入式开源 TCP/IP 堆栈(uIP-Contiki、uIP、open-iscsipicoTCP、FNET 和 Nut/Net)有关。软件弱点也直接来自CWE Top 25;整数环绕、越界读写、整数溢出、不正确的输入验证和不正确的空终止。

pYYBAGLO-b2AUWA9AAK1DBl-GCQ315.png




picoTCP 是一种占用空间非常小的开源 TCP/IP 堆栈,用于许多 IoT 设备,现在在无数产品中都容易受到 Amnesia:33 漏洞的影响。(来源:GrammaTech)。

TCP/IP 堆栈漏洞(例如 URGENT/11 和 AMNESIA:33)在商业和开源嵌入式组件中都很普遍,并说明了对将要集成到设备中的所有类型的第三方软件进行尽职调查的重要性。

审计和管理嵌入式设备软件组件漏洞的最有效方法是维护软件材料清单 (SBOM)。这种方法不仅考虑了定制软件,还考虑了 RTOS、库(商业和开源)、板级支持包以及产品中使用的所有内容。SBOM 还将包括构成商业的组件(例如 RTOS 和附加组件,例如 TCP/IP 堆栈)和开源产品,包括所有版本和已知漏洞的详细说明。SBOM 的整体性很重要,因为任何产品的安全性都取决于其中最不安全的组件。

SBOM 是使用软件组成分析 (SCA) 创建的。但是,SCA 工具不能仅依赖源代码的可用性,因为许多商业产品仅作为二进制文件提供。相反,需要使用二进制分析的 SCA 工具来检测和检查在开发的发布、集成和构建阶段创建的二进制文件。

例如,依赖源代码的 SCA 工具无法检测二进制代码中的漏洞,而这是提供第三方产品的最有可能的方式。RTOS 和其他嵌入式软件通常是为特定目标架构预构建的,只有板支持包是由客户在本地定制和编译的。

SBOM 应该在产品生命周期的各个阶段进行维护,因为漏洞不断被发现,并且以前安全的组件可能变得不安全。它使开发团队能够对他们使用的第三方产品进行尽职调查。只要二进制签名可用于漏洞,就有可能检测到有风险的组件。在这个早期阶段,很容易修补、更新或更换产品。将 SBOM 更新为任何现有流程的一部分也很重要,无论是 CI/CD 管道还是其他流程。

在安全方面,运输或报废的产品通常很少受到关注。URGENT/11 和 AMNESIA:33 与过时和报废产品有关的事实表明,安全是整个生命周期的关注点。使用二元分析的优势在于可以分析现有和遗留产品以创建整个产品线的 SBOM。这为嵌入式设备开发人员以及他们所依赖的供应商提供了可能的安全风险预警。

这种场景的一个很好的例子是 picoTCP,这是一种占用空间非常小的开源 TCP/IP 堆栈,用于许多 IoT 设备。在过去的几年里,这个项目似乎已经走到了生命的尽头,几乎没有什么发展(看看 GitHub 的活动,写这篇文章时的最新提交是 15 个月前,大部分源代码在四年多的时间里都没有被触及。 ) 尽管有这一事实,但它仍被用于无数产品中,这些产品现在很容易受到 Amnesia:33 漏洞的影响。

使用 SCA 为产品组合创建 SBOM 是对组件和集成第三方软件进行编目以检测已知漏洞存在的重要步骤。这种方法允许制造商建立和维护一个组织范围的开源和内部/闭源库和可执行文件的存储库,因此他们知道他们交付的软件中实际包含什么。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式软件
    +关注

    关注

    4

    文章

    247

    浏览量

    27829
  • 堆栈
    +关注

    关注

    0

    文章

    183

    浏览量

    20428
  • 漏洞
    +关注

    关注

    0

    文章

    205

    浏览量

    15893
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    做医疗嵌入式软件研发以后好跳槽吗?

    做医疗嵌入式软件研发,以后想跳槽一点儿也不难。别看医疗行业门槛高、规矩多,你手里攒下的那套本事,到哪儿都吃得开。嵌入式这东西,甭管在哪个行当里折腾,说到底六个基本部分跑不掉:嵌入式C、
    的头像 发表于 12-03 11:04 274次阅读
    做医疗<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>研发以后好跳槽吗?

    CW32嵌入式软件开发的必备知识

    嵌入式软件开发作为计算机科学和电子工程的交叉领域,要求开发人员具备一系列的专业知识和技能。 而基于CW32的嵌入式软件开发必备知识包括以下部分: 1 、编程语言 熟练掌握C(C++
    发表于 11-28 07:48

    C语言在嵌入式开发中的应用

    。C 语言可以利用 Socket 编程等技术,实现嵌入式设备与服务器之间的 TCP/IP 通信,确保数据的可靠传输。同时,C 语言还可以结合轻量级的 TCP/
    发表于 11-21 08:09

    嵌入式与FPGA的区别

    ,一是嵌入式软件开发,主要与嵌入式cao作系统、应用软件等有关。第二是嵌入式硬件开发,需要掌握硬件设计、模拟仿真、 PCB设计等技能。 ✅2
    发表于 11-20 07:12

    RT-Thread 2025嵌入式软件大赛重磅来袭

    为激发开发者潜能、促进技术交流,RT-Thread 正式启动2025年度嵌入式软件大赛! 本赛道为嵌入式软件大赛,聚焦嵌入式
    的头像 发表于 09-22 16:40 3267次阅读
    RT-Thread 2025<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>大赛重磅来袭

    RT-Thread 2025嵌入式软件大赛重磅来袭

    为激发开发者潜能、促进技术交流,RT-Thread正式启动2025年度嵌入式软件大赛!本赛道为嵌入式软件大赛,聚焦嵌入式
    的头像 发表于 09-20 10:06 1309次阅读
    RT-Thread 2025<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>大赛重磅来袭

    新一代嵌入式开发平台 AMD嵌入式软件和工具2025.1版现已推出

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。 2025.1 版嵌入式软件
    的头像 发表于 08-20 09:15 3651次阅读

    AMD 2025.1版嵌入式软件和工具的新增功能

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。
    的头像 发表于 08-15 15:32 1053次阅读

    盘点嵌入式就业所需要的技能有哪些?

    在数字化和智能化的大潮中,嵌入式系统无疑是支撑现代科技发展的核心力量。从智能手机到智能汽车,再到智能家居,嵌入式技术无处不在,无时不刻不在影响着我们的生活和工作方式。因此,对于那些对科技充满热情的人
    发表于 08-11 15:43

    MicroBlaze处理器嵌入式设计用户指南

    *本指南内容涵盖了在嵌入式设计中使用 MicroBlaze 处理器、含存储器 IP 核的设计、IP integrator 中的复位和时钟拓扑结构。获取完整版《 MicroBlaze 处理器嵌入
    的头像 发表于 07-28 10:43 803次阅读

    嵌入式软件开发常用的软件有哪些?

    对于初学嵌入式的朋友们,会想要了解嵌入式软件开发常用的软件有些,有什么用。那么看以下常用的软件介绍。 1.Visual Studio Cod
    发表于 07-03 17:06

    嵌入式软件行业增长驱动因素

    嵌入式软件在物联网应用中至关重要,因为它管理设备操作、控制传感器、支持连接并确保数据安全。例如,在智能家居中,恒温器、安全摄像头和灯光等设备使用嵌入式系统独立运行,并通过云平台或本地网络与其他智能
    的头像 发表于 05-09 11:26 674次阅读

    嵌入式软件工程师就业好不好?

    嵌入式软件工程师就业好不好?会不会越老越吃香?今天一起来看看。 首先看下市场需求。 随着物联网、人工智能、5G等前沿技术的快速发展,嵌入式系统的应用领域不断扩大,从智能家居、汽车电子到工业自动化
    发表于 02-20 10:19

    嵌入式机器学习的应用特性与软件开发环境

    设备和智能传感器)上,这些设备通常具有有限的计算能力、存储空间和功耗。本文将您介绍嵌入式机器学习的应用特性,以及常见的机器学习开发软件与开发环境。 嵌入式机器学习的应用特性与优势 由于嵌入式
    的头像 发表于 01-25 17:05 1231次阅读
    <b class='flag-5'>嵌入式</b>机器学习的应用特性与<b class='flag-5'>软件</b>开发环境

    如何提高嵌入式代码质量?

    嵌入式系统的发展已经深刻地影响了我们日常生活的方方面面,从智能家居到汽车控制系统,再到医疗设备和工业自动化等领域,嵌入式系统无处不在。嵌入式软件的质量直接关系到系统的安全性、稳定性和性
    发表于 01-15 10:48