SYSPART:面向二进制程序的自动化时序系统调用过滤
密码学与安全
2023-09-28 v2
摘要
限制应用程序可用的系统调用能够减小内核的攻击面,并限制被攻陷应用程序所能使用的功能。近期的方法自动识别程序所需的系统调用以阻断不必要的调用。对于服务器,它们甚至考虑执行的不同阶段,以便在初始化完成后收紧限制。然而,它们需要访问应用程序和库的源代码,依赖于用户识别服务器从初始化过渡到服务客户端的时刻,或者未考虑动态加载的库。本文提出 SYSPART,一种专为仅二进制服务器程序设计的自动系统调用过滤系统,解决了上述局限。SYSPART 采用一种结合静态与动态分析的新颖算法,识别服务器所有工作线程的服务阶段。静态分析以可靠的方式计算各服务阶段所需的系统调用,动态观测仅用于在必要时补充动态加载库的静态解析。我们在 x86-64 Linux 上使用六个流行服务器评估了 SYSPART,证明其能自动识别服务阶段、生成准确的系统调用过滤器并缓解攻击。结果表明,SYSPART 优于先前的仅二进制方法,并与源代码级方法表现相当。
引用
@article{arxiv.2309.05169,
title = {SYSPART: Automated Temporal System Call Filtering for Binaries},
author = {Vidya Lakshmi Rajagopalan and Konstantinos Kleftogiorgos and Enes Göktaş and Jun Xu and Georgios Portokalidis},
journal= {arXiv preprint arXiv:2309.05169},
year = {2023}
}
备注
17 pages, 3 figures