NASimEmu: Network Attack Simulator & Emulator for Training Agents Generalizing to Novel Scenarios

Jaromír Janisch, Tomáš Pevný, Viliam Lisý
5/26/2023
cs.CRcs.LG

No official code found. Best implementation: jaromiru/NASimEmu (43 stars, MIT, last commit 2024-09-20). 1 more below.

Abstract

Current frameworks for training offensive penetration testing agents with deep reinforcement learning struggle to produce agents that perform well in real-world scenarios, due to the reality gap in simulation-based frameworks and the lack of scalability in emulation-based frameworks. Additionally, existing frameworks often use an unrealistic metric that measures the agents' performance on the training data. NASimEmu, a new framework introduced in this paper, addresses these issues by providing both a simulator and an emulator with a shared interface. This approach allows agents to be trained in simulation and deployed in the emulator, thus verifying the realism of the used abstraction. Our framework promotes the development of general agents that can transfer to novel scenarios unseen during their training. For the simulation part, we adopt an existing simulator NASim and enhance its realism. The emulator is implemented with industry-level tools, such as Vagrant, VirtualBox, and Metasploit. Experiments demonstrate that a simulation-trained agent can be deployed in emulation, and we show how to use the framework to train a general agent that transfers into novel, structurally different scenarios. NASimEmu is available as open-source.

View on arXivView PDF

Code Implementations(2)

jaromiru/NASimEmuCommunity100%
MIT

Gym-based environment for training offensive RL agents. Agents can generalize to unseen scenarios and simulation-trained agents can be deployed in the emulation.

4312Shell, PythonFeb 23, 20232 years agoMIT
deep-reinforcement-learningemulationgeneralizationpenetration-testingsimulation
MIT

Deep RL agents for NASimEmu. See also https://github.com/jaromiru/NASimEmu.

156PythonMay 23, 20232 years agoMIT

Similar Papers

Cite this paper

@article{janisch2023nasimemu,
  title  = {NASimEmu: Network Attack Simulator & Emulator for Training Agents Generalizing to Novel Scenarios},
  author = {Jaromír Janisch and Tomáš Pevný and Viliam Lisý},
  year   = {2023},
  eprint = {2305.17246},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2305.17246v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2305.17246.svg)](https://codeofpaper.com/paper/2305.17246)

Discussion