嵌入式网络栈中包验证漏洞的系统化检测
软件工程
2023-08-23 v1
摘要
嵌入式网络栈(ENS)使低资源设备能够与外部世界通信,促进了物联网与信息物理系统的发展。因此,ENS 中的某些缺陷属于高严重性的网络安全漏洞:它们可被远程触发并影响物理世界。尽管已有研究揭示了多类软件系统缺陷的特征,但尚未有研究描述 ENS 缺陷的属性,也未提出系统化暴露这些缺陷的技术。检测 ENS 缺陷最常见的自动化方法是反馈驱动的随机动态分析(“模糊测试”),这是一种成本高且不可预测的技术。本文首次对 ENS 中的网络安全漏洞进行了系统化刻画。我们分析了 6 个开源 ENS 中的 61 个漏洞。这些 ENS 缺陷大多集中在网络栈的传输层与网络层,需要到达网络协议的不同状态,并且仅需对单个数据包做 1-2 处修改即可触发。因此我们提出了一种新颖的系统化测试框架,该框架聚焦于传输层与网络层,使用覆盖网络协议状态的种子,并系统化地修改数据包字段。我们在 4 个 ENS 上评估了该框架,并复现了 14 个已报告的 IP/TCP/UDP 漏洞中的 12 个。在这些 ENS 的近期版本上,该框架在一次有界的系统化测试中发现了 7 个新缺陷(其中 6 个被分配了 CVE),该测试覆盖了所有协议状态且每个数据包最多做 3 处修改。我们在所测试的 4 个 ENS 中的 3 个里发现了先前模糊测试研究未发现的缺陷。我们的结果表明,应先进行系统化测试,再将模糊测试推迟到其后使用。
引用
@article{arxiv.2308.10965,
title = {Systematically Detecting Packet Validation Vulnerabilities in Embedded Network Stacks},
author = {Paschal C. Amusuo and Ricardo Andrés Calvo Méndez and Zhongwei Xu and Aravind Machiry and James C. Davis},
journal= {arXiv preprint arXiv:2308.10965},
year = {2023}
}
备注
12 pages, 3 figures, to be published in the 38th IEEE/ACM International Conference on Automated Software Engineering (ASE 2023)