摘要:随着物联网 (IoT) 设备的日益普及,其安全性也成为一个日益重要的问题。缓冲区溢出漏洞已为人所知数十年,但仍然存在,尤其是对于嵌入式设备而言,由于硬件限制或仅仅由于对性能的影响而无法实施某些安全措施。因此,许多缓冲区溢出检测机制仅在使用关键数据之前检查溢出。攻击者可以用于自己目的的所有数据都可以被视为关键数据。因此,在写入缓冲区和使用缓冲区之间检查所有关键数据至关重要。本文介绍了数百万台物联网设备中使用的 ESP32 微控制器的一个漏洞,该漏洞基于不受传统缓冲区溢出检测机制(如 Stack Canaries 或 Shadow Stacks)保护的指针。本文讨论了漏洞的影响,并介绍了修复漏洞的缓解技术(包括补丁)。使用模拟以及 ESP32-WROVER-E 开发板评估了补丁的开销。我们发现,在使用 32 个通用寄存器的模拟中,CoreMark 基准的开销介于 0.1% 和 0.4% 之间。在使用具有 64 个通用寄存器的 Xtensa LX6 内核的 ESP32 上,开销降至 0.01% 以下。由综合基准模拟的最坏情况显示开销高达 9.68%。
主要关键词