Visicorn is a visualization system for the Unicorn Intrusion Detection System. I re-built the front end to utilize the combination of d3/react/redux in a more manageable way. The project architecture was thoroughly analyzed and was re-organized to standardize component layouts, props, as well as pulling repeated code into their own utilities where appropriate. I also designed and implemented custom visualizations employing all the mentioned improvements.
I made sure to write/create documentation. This documentation was done in multiple ways:
- Code structureThis should ensure that the next developer can continue work with less on-boarding time.
Front-end programmer, re-writing existing components, designing visualizations, design visualization interaction, documentation
D3.js, React.js, Redux, HTML/CSS, Pen/Paper
There is a lot going on with this project. Here are a few examples of interactions from some old pull requests.
The default state.
An example of the dynamic Neighborhood explorer view. We can go as many levels deep, as the threshold depends on the pixel height of the bar.
A demonstration of the vertical sort, that is, type sort.
Here we can see we go from the (outdated) Neighborhood Explorer view to the Upset view while keeping our sort options; it applies to both the active and inactive sets.
This shows how we can select types (the long column), multiple types, sort them and still have our selection kept.
Visicorn is a visualization system that aids in developing inferences about anomalies detected in the Unicorn Intrusion Detection System. This project encodes a complicated set of graph data (a provenance graph) into something human readable. Visicorn helps interested stake holders (in this case, IT admins, security analysts) identify/perform root-cause analysis of system intrusions.
To learn more about Visicorn, visit https://systopia.cs.ubc.ca/visicorn.