Visualizing Cyber Security Graphs: Data Breaches

29th April, 2016

Visualizing Data Breach Patterns

Data sharing presents a huge challenge to the security industry. When organizations are compromised, the common response is to switch to self-preservation mode. The full details of breaches are rarely disclosed which limits collective intelligence and arguably makes the life of attackers easier.

Happily, there are several projects working to fix this.

VERIS (the Vocabulary for Event Recording and Incident Sharing) aims to provide a common taxonomy for organizations to share information about their breaches. By helping organizations exchange war stories, they hope to facilitate co-operation and improve risk management.

Alongside this project is the Veris Community Database: a project to collate and disseminate information about all publicly disclosed data breaches. Excitingly for data visualization enthusiasts like us, their data is openly available on Github.

Let’s take a look!

The Data model

The Veris team has designed a schema that helps organizations record breaches in a ‘structured and repeatable’ way. It uses the A4 model to describe and classify incidents by:

  • Actor – i.e. who performed the attack?
  • Action – i.e. what was the attack vector?
  • Asset – i.e. who or what was the attack victim?
  • Attributed – i.e. what was the outcome / impact of the attack

For each of the 5500+ attacks listed there are more than 150 data points, so we need to design a visual model that will enable us to explore the data set and answer some key questions.

As actors (attackers) and actions (vectors) are grouped into categories, we will model our graph in the following way:

visual data model
Our visual data model. Nodes represent attackers and victims, with attack vectors shown as links.

Let’s take the data (handily provided in JSON format) and load it in a KeyLines chart.

Step 1: Data overview

visualizing a data breach as a graph - image 1
An overview of the entire dataset, ready to be filtered and explored.

This is a fairly large dataset, but KeyLines’ HTML5 Canvas renderer is able to hand it perfectly well, without the need to switch to the faster WebGL option. We have color coded the links (attack vectors) by the categories supplied in the dataset, which helps us pick out some early patterns:

  • The large red group shows Activist Groups favor ‘Advanced Technology’ including remote access, command shell and VPNs.
  • The large mostly blue/green cluster indicates breaches originating from end-users or employees. These are more likely to be caused by carelessness, physical access or basic technology, like desktop sharing or document theft.

Step 2: Temporal patterns

One of the data points collated by Veris is a date stamp of when the breach was reported. Let’s add this to our chart with the KeyLines time bar:

visualizing a data breach as a graph - image 2

The overall picture here is quite lumpy, with peaks in February ’13 and ’14. But using the filters, let’s take a sub-network view of how different vectors change through the months:

visualizing a data breach as a graph - image 3
Comparing advanced technologies (red) to email (orange) – breaches via email seemingly pose less of a threat.
visualizing a data breach as a graph - image 4
Basic methods seem to be less popular towards the end of our dataset – perhaps a consequence of companies being more aware of simple document theft.
visualizing a data breach as a graph - image 5
Comparing Physical Access (blue) to Third party facilities (green) seems to suggest intruders are more of a threat than suppliers and partners.

Attack vectors by attacker group

The advantage of a graph-based visualization is we can see our data in its full connected environment. Using simple filters, we can find some other trends… For example:

visualizing a data breach as a graph - image 6
Data breaches by email are seemingly most popular with organized criminal groups.
visualizing a data breach as a graph - image 7
Attacks by nation states are a mix of advanced techniques and the unknown.
visualizing a data breach as a graph - image 8
They also focus, unsurprisingly, on high profile public sector targets.
visualizing a data breach as a graph - image 9
The tactics of network administrators and software developers are equally unknown

Find the unlucky victims

We’ve looked at the attackers and the attack vectors. The third entity type in this data is the victim. By sizing victim nodes by degree (number of connections to other nodes in the network) we can get an idea of the most frequently breached organizations:

visualizing a data breach as a graph - image 10
In this dataset, the most attacked organizations are a mostly multinationals (DuPont, Microsoft Corp, Chase Bank), but also some smaller organizations hit by breaches.

Find threats in your own cyber data

KeyLines makes it possible for us to visualize and explore thousands of attack records in a single chart. By configuring the data model to show different aspects of the Veris schema we can find new trends – a process made faster and more interactive with the help of layouts, filters, social network analysis and the KeyLines time bar.

Want to explore the data for yourself? You can find the demo application in the KeyLines SDK (Demos > Data Breaches). Use the form below to request an account!

Subscribe to our newsletter

Get occasional data visualization updates, stories and best practice tips by email