Skip to content

leapsaw/datax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Visualizing Attacks in Cyberspace - DATA-X: United States Cyber Command

A simulation to model how viruses traverse through computer networks

simulation

More examples of the simulation below


USCYBERCOM

  • A folder containing scripts for our dynamic visualization.
  • Primary language is TypeScript.
  • We recommend using Visual Studio Code's platform.
    • How to locally run the program in browser:
      • This is a parcel-based program, so first install Yarn
        • brew install yarn for MacOS, or navigate to their website to manually install for other operating systems
      • yarn install in VSC to download all dependencies for the project
      • Start parcel with command yarn start to view simulation

attacksim

  • An ipynb file containing the script for our static visualization.
  • Written in Python.
  • Run file on Jupyter to easily view visuals.

other

  • A folder containing earlier drafts of visualizations and simulations.

Purpose

Since 2010, the United States Cyber Command has been making strives towards cyberspace superiority by taking proactive and risk-aware strategies against adversaries. However, apart from developing cyber-combat methods, the USCC seeks to promote STEM disciplines to facilicate and enhance the nation's cyber talent by stimulating the interest of curious and technical individuals. The simulations that our team has developed will help bridge the knowledge gap between the general public and the complex universe of cyberspace by providing a simplified and accessible model to all.

Perhaps inquisitive individuals will come across this simulation and wonder how exactly does active threat hunting or other cyber defense methods work in real cyberspace.

Inspiration for this project

Our mentors at the United States Cyber Command approached us with inspiration from recent COVID-19 simulations which followed SIR epidemic models. In particular, it was an article written by Harry Stevens which included visualisations and graphics of what happens when people follow social-distancing rules and adhere to quarantine guidelines.

Example

Our USCC mentors explained that they wanted us to produce an interactive, web-based visualization along the lines of Stevens' simulation. They suggested that the interface shuold allow users to adjust parameters (e.g. assumptions about the threat and network derfenses), as well as for the selection of several pre-defined, stylized scenarios to demonstrate the impacts of specific strategies (e.g. perimeter defense, zero-trust networking, and active threat hunting).

The Project

The main libraries of this project are react.js and material-UI. These javascript libraries allow for efficient event-handling, as well as a way to produce visually appealing interactive components such as the sliders and buttons. The structure of the nodes are all automated by a KD-Tree algorithm which finds the nearest neighbors for each node and connects links between them. When we start the simulation, one node is randomly chosen to be infected. Based on the vectors of the initial infected node, the virus travels down this path and infects other nodes and the loop repeats until the simulation is complete.

Defense Architecture

It's quite intuitive to compare the spread of human virsues to computer viruses. In a paper by CSU Fullerton students, it is proposed that human, animal, plant, and computer networks undergo the same process of susceptibility, infection and recovery; with variables that affect the rate of time for each process. In cybersecurity, the variables that affect the virus outbreak rate and recovery time depend on the strength of the network's defensive methods. Therefore, our demo includes two adjustable sliders for virus spread rate and time in compromised state. By adjusting these parameters, we are able to model the effects of zero trust networking, and active threat hunting.


Zero Trust Network

This defensive architecture realizes that trust is a vulnerability. With this method, microperimeters are in place at every level to ensure that no trust is given, regardless of whether a user has access to a previous checkpoint. Multi-factor Authentification is a core tenent of this security style, so think of any application where you might have to verify your identity before you are allowed access to information (e.g. Berkeley's DUO two-step verification). To model this, we set virus spread rate to a low number. The parameter time in compromised state is unaccounted for, because implementing only a zero trust network doesn't automatically ensure the resolution of a virus in a timely matter.

animated

In this run, we can see that the histogram timeline of infected nodes is much flatter in comparison to the simulation runs at the top of this file.

Active Threat Hunting

Threat hunting takes a more proactive approach in resolving viruses and attacks. This method of defense assumes that an attacker is always lurking in the network, and looks for signs of suspicious activity in order to prevent cascading effects. We set virus spread rate and time in compromised state to a low number to model this scenario.

In this run, we can see that the virus has barely any chance to infect other nodes because it is recovered right away.

Acknowledgements

We would like to give a big thank you to Jack Herrington, a principal software engineer, and a Youtuber who creates videos on frontend tutorials, as well as other technology deep-dives. We came across his Youtube video on his version of an epidemic simulator, and we reworked and collaborated with Jack on his open-source code to produce this project.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published