The National Science Foundation (NSF) has a challenge for science and engineering visualizations published. I am not sure if I have some visualizations that would qualify for the challenge. But maybe some of you have security data that could make the bar. I think it would be great to draw attention to visualization in the security space. So if you have something. Submit it!
The red pillar in the image shows the barrage of HTTP requests over the whole content space (Z axis, vertical) from a single IP address (Y axis, horizontal). The red color is due to 5xx status code of the response. My article
A New, Improved Visualization for Web Server Logs has more details. Raju Varghese (raju -at- intellisoft.ch).
On his blog, Anton started an entry about logging and gets into the topic of too many logs. I was suggesting visualization to analyze the vast amounts of logs in order to get a better handle/understanding of them. Anton countered with this:
Is this really the place to start a visualization fight? :-) You know what my issue with visualization are: - tools need really skilled analysts - often the resulting picture is no more insightful than the original log pile - I kinda prefer an analytic system which is smart to a visualization system which is... not so smart. Let's move this discussion to secviz :-)Here ya go. To answer Anton's objections:
Another excellent paper or in this case a survey. The authors do a great job of surveying the space of structured data visualization. They explain very well what graph layouting is, what the different algorithms are, where the problems are hidden, what the solutions are, how interaction plays into all of this, and also discuss three-dimensional views and what their benefit is. Awesome survey, really worth reading if you are interested in graph layouts.
I read a fantastic paper on visual perception. A must read for everyone designing visual systems. The paper is called Perception in Visualization, written by Christopher G. Healey. The paper is very very practical. It presents the theory behind perception very well and always gives examples. Some of the topics covered are:
It is fairly interesting to see how security prodcuts are maturing. In the last couple of years I have seen quite some progress in products using visualization. Let's look back a few years. Network-based IDSs, for example, logged events in a log file; text [and some still do!]. Over time, reporting was added; a way to summarize historical data. Drop a pie-chart on the report and you have something that you can hand to your collegues. Shortly after that dashboards came about. Finally we had something to show to our managers, not just our peers. Most products have a dashboard today. Not all of them are very useful, but at least they have one ;) The next evolutionary step was to link the dashboards with the data itself. Drill-down was added.
And this is where we are today. Most products are at this stage. Only a few products took this a steps further. They added for example dashboards that link to other dashboards, which show more specific information. Some products even offer customizable dashboards (not all do!). You have the capabilities to either build your own or change predefined ones.
There are only a handful of products in the security space which take visualization a bit more serious. Thos products offer visual interfaces which support dynamic queries [basically the capability to let you change/interact with the graphs on the fly.]. This is clearly how it should be. It gives the user the tools he needs to interact with the data.
I am very convinced that dynamic, interactive, visual interfaces are going to be added to more and more products. They are incredibly powerful and invalueable for data anlysis and representation!
I was attending the RSA Conference all week long. During one day my mission was to find out what the state of visualization in security products is. Here is what I found:
- Most products have reporting features
- A lot of products use dashboards which let you interact and drill-down into the details. This generally means clicking on one of the bars in a bar chart to get to the underlying textual representation of the events.
- Some products use drilldowns to get from one dashboard to another (nice!)
- Some proudcts let you customize the dashboards or change the visualization parameters interactively. Keyword: Dynamic Queries (very nice!)
- Only one company that I talked to uses a visual interface (a treemap) as their main way of interacting with the product. They even let you change the parameters on the fly! (very very nice!l!)
My whish list:
- More visual interfaces.
- More interactive dashboards. Being able to drill-down from one dashboard into another to get more information.
- More meaningful dashboards. Tell me why a certain graph is important in the dashboard. What's the use-case for showing it?
- More products using better visualization (have you heard of treemaps?)
- Interactive visuals. Let me choose how I want my data represented. Make it configurable. But don't overload the interface with features. Make sure there are valid use-cases and make them obvious to me! Wizzards?
I am pretty amazed with the Processing project. It's a full-blown, java-based programming language which has added commands to generate 3D graphs. I played around with it and pretty quickly built a tool which plots 3D coordinates which are stored in a file, onto the screen. It's fully animated, interactive, etc. The real killer is that the tool will generate a JAR with the entire code executable on Linux or Windows OR as an applet. Really worth having a look at!
This is an image of a parallel coordinate plot (source IP, source TCP port, destination TCP port, source UDP port, destination UDP port, destination IP) that I created using the rumint visualization tool. TCP is in green and UDP is in orange. I deliberately jammed the visualization display by creating packets with random source IP addresses and sequential source and destination ports. If you are interested in more details they are available in this paper [PDF].