argXtract:通过剥离 ARM 二进制的自动化静态分析提取 IoT 安全配置
密码学与安全
2021-05-10 v1
摘要
近期针对物联网(IoT)的高关注度攻击凸显了“智能”设备的脆弱性,并催生了大量聚焦 IoT 的安全分析。许多攻击的根本原因在于薄弱的设备配置。关于 IoT 设备配置丰富且确定的信息的一个潜在来源是设备固件。然而,固件分析十分复杂,且迄今为止自动化固件分析仅限于具有 Linux 或 VxWorks 等传统操作系统的设备。大多数 IoT 外设由于缺乏传统操作系统且实现了多种多样的通信技术,仅成为小规模分析的对象。外设固件分析进一步因这类固件文件主要以剥离二进制(stripped binaries)形式提供而复杂化,其缺少可简化逆向工程的 ELF 头和符号表。在本文中,我们提出 argXtract,一个开源自动化静态分析工具,可从剥离的 IoT 外设固件中提取安全相关配置信息。具体而言,我们聚焦于面向 ARM Cortex-M 架构的二进制,因其于 IoT 外设中日益流行。argXtract 克服了与剥离 Cortex-M 分析相关的挑战,并能检索安全相关监管者及函数调用的参数,从而实现固件文件的自动化批量分析。我们通过三个真实案例研究证明了这一点。最大的案例研究覆盖一个包含 243 个面向 Nordic Semiconductor 芯片组的蓝牙低能耗(Bluetooth Low Energy)二进制的 dataset,另两个则聚焦于 Nordic ANT 与 STMicroelectronics BlueNRG 二进制。结果揭示了 IoT 中普遍缺乏安全和隐私控制,例如数据保护极少或没有、固定配对密钥以及可追踪的设备地址。
引用
@article{arxiv.2105.03135,
title = {argXtract: Deriving IoT Security Configurations via Automated Static Analysis of Stripped ARM Binaries},
author = {Pallavi Sivakumaran and Jorge Blasco},
journal= {arXiv preprint arXiv:2105.03135},
year = {2021}
}