Microsoft this week announced the open source availability of Python code for “CyberBattleSim,” a research toolkit that supports simulating complex computer systems.
Designed to help advance artificial intelligence and machine learning, the experimental research project was designed to aid in the analysis of how “autonomous agents operate in a simulated enterprise environment using high-level abstraction of computer networks and cybersecurity concepts.”
CyberBattleSim allows for the training of automated agents, and provides a Python-based OpenAI Gym interface for that. In the simulated environments, defenders can leverage reinforcement learning algorithms and set up various cybersecurity challenges.
Reinforcement learning, Microsoft explains, is a type of machine learning that teaches autonomous agents to make decisions based on the interaction with the environment: agents improve strategies through repeated experience, similarly to playing a video game over and over to become better at it.
In software security, reinforcement learning involves the use of agents that play the role of attackers and defenders, and the analysis of their evolution in the simulated environment. The attacker seeks to steal information, while the attacker focuses on blocking the attacker or mitigating their actions.
CyberBattleSim employs OpenAI Gym for building interactive environments, and focuses on the lateral movement phase of a cyber-attack. The project simulates a fixed network with predefined vulnerabilities that the attacker model can exploit for lateral movement, while a defender agent seeks to detect the attacker and contain the intrusion.