[论文解读] Simulation of Computer Network Attacks
本文提出了一种轻量级、逼真的大规模计算机网络攻击仿真器,通过资产、动作和多平台代理建模入侵行为。通过将漏洞和利用方式抽象为通信通道,并使用带有写时复制文件系统的代理系统调用,该仿真器在保持性能和真实感的同时,高效模拟数千台主机,适用于网络防御研究与训练。
In this work we present a prototype for simulating computer network attacks. Our objective is to simulate large networks (thousands of hosts, with applications and vulnerabilities) while remaining realistic from the attacker's point of view. The foundation for the simulator is a model of computer intrusions, based on the analysis of real world attacks. In particular we show how to interpret vulnerabilities and exploits as communication channels. This conceptual model gives a tool to describe the theater of operations, targets, actions and assets involved in multistep network attacks. We conclude with applications of the attack simulator.
研究动机与目标
- 开发一种仿真框架,从攻击者视角真实地模拟多步骤网络攻击。
- 在不牺牲性能或真实感的前提下,支持大规模网络仿真(数千台主机)。
- 将漏洞和利用方式抽象为通信通道,以实现对攻击过程的精确建模。
- 支持实际应用场景,如渗透测试培训和对策评估。
- 通过代理系统调用和动态睡眠调度等架构优化,在仿真保真度与计算效率之间实现平衡。
提出的方法
- 仿真器使用三个核心组件建模攻击:资产(如 IPConnectivityAsset、OperatingSystemAsset)、动作(如端口扫描、利用攻击)和代理(部署在被 compromise 主机上的多平台软件代理)。
- 将漏洞和利用方式抽象为通信通道,实现对网络中攻击传播过程的结构化建模。
- 系统使用代理系统调用虚拟化仿真机器上的系统调用,消除上下文切换开销并保持指针有效性。
- 采用具有内存缓存的写时复制文件系统,高效管理共享基础镜像的数千台虚拟机,降低磁盘 I/O 和内存使用量。
- 仿真器采用基于系统调用丢失率的动态睡眠调度(指数增长、线性回退),在空闲期间最小化 CPU 使用率。
- 网络服务(如 TCP 端口扫描和通过横幅抓取的 OS 检测)被仿真,性能测量显示在 1000 台主机的网络中达到每秒 700–900 个系统调用。
实验结果
研究问题
- RQ1如何将网络攻击建模为资产、动作和代理之间的通信通道序列?
- RQ2哪些架构技术能够实现在极低性能开销下对数千台主机的高保真度仿真?
- RQ3如何在受控的仿真环境中模拟真实的攻击者行为(如跳板攻击和清理操作)?
- RQ4代理系统调用和写时复制文件系统在多大程度上能提升仿真效率而不损害真实感?
- RQ5仿真器如何支持实际应用,如渗透测试培训和对策评估?
主要发现
- 仿真器成功模拟了最多 1,000 台主机的大规模网络,在 2.66GHz Pentium D 系统上,攻击仿真期间达到每秒 700–900 个系统调用。
- 使用代理系统调用使得所有仿真机器和进程均运行于单个进程中,消除了上下文切换开销并保持了指针完整性。
- 基于系统调用丢失率的动态睡眠调度显著降低了空闲期间的 CPU 使用率,提升了并发桌面应用的响应能力。
- 具有内存缓存的写时复制文件系统显著减少了磁盘 I/O,尤其在同时启动多台机器等常见操作中表现突出。
- 仿真器能够真实地建模关键攻击阶段,包括信息搜集、利用攻击、权限提升、跳板攻击和清理操作。
- 该框架支持实际应用,如网络攻击取证、渗透测试培训以及对 IDS 或访问控制等安全控制措施的评估。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。