-
Notifications
You must be signed in to change notification settings - Fork 7
Home
Informational Badges:
Some Linting Badges (Where I could find them):
If you like the repo, it would be awesome if you could add a star to it! It really helps out the visibility. Also for any questions at all we'd love to hear from you at jfuruness@gmail.com
This documentation is meant to serve as an implementation guide for using and extending BGPy. From a high level, BGPy is an extendable BGP simulator that can be used for security simulations for attack and defense. You can see our previous publication of the tool here for a high level overview (albeit a bit outdated at this point). Additionally, unlike the paper, which takes a top down approach, this documentation takes a bottom up approach, from the as graph, to the simulation engine, to the framework, to the test suite.
The Simulation Engine at a high level can simulate BGP on the AS topology. It is flexible enough that a user can define their own routing policies for any given AS, and has built in functionality to be able to use real world ROV data in the simulations.
The Simulation Framework is a wrapper around the Simulation Engine. The Simulation Framework contains the ability to run various attack defense scenarios. It also contains default metrics that are used for analysis, enabling the user to easily compare different defensive and attacker strategies.
BGPy also contains a System Test Suite. This test suite allows users to run various attack defense scenarios on small topologies, ensure that they are functioning properly, and generates diagrams for easy viewing of these results.
For an in depth understanding, it is highly recommended that users go through the tutorial, which walks through the repository step by step.
@inproceedings{10.1145/3607505.3607509,
author = {Furuness, Justin and Morris, Cameron and Morillo, Reynaldo and Herzberg, Amir and Wang, Bing},
title = {BGPy: The BGP Python Security Simulator},
year = {2023},
isbn = {9798400707889},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3607505.3607509},
doi = {10.1145/3607505.3607509},
abstract = {The security of Border Gateway Protocol (BGP), and inter-domain routing in general, remains a challenge, in spite of its well-known importance, repeated attacks and incidents, and extensive efforts and research over decades. We present BGPy, an open-source, extensible, robust, easy-to-use and efficient BGP security simulator, to be used for research and education. BGPy allows realistic simulations of a large variety of BGP attacks and defenses. It is provided as a Python package, and can be further customized and extended, e.g., to investigate new attacks and new defense mechanisms. We describe how BGPy is currently used by multiple BGP security projects.},
booktitle = {Proceedings of the 16th Cyber Security Experimentation and Test Workshop},
pages = {41–56},
numpages = {16},
location = {Marina del Rey, CA, USA},
series = {CSET '23}
}