A few weeks ago I was fortunate to attend a talk concerning the utility of virtual and synthetic worlds. One idea mentioned was the concept of using virtual environments as a means of which to visualize and interact with complex systems. From a security perspective, complex systems and the amalgamation of varying components often result in many unforeseen security issues. Systems interacting with, and depending upon one another in ways they were not originally designed will leave holes in the fabric (a fun platitude for security folks to chew on once more). Unfortunately, no revolutionary solution for devising uniform, comprehensively secure systems from their genesis are coming any time soon. So what can the security community do to compliment these manifold systems?
This idea of using virtual environments to visualize complex systems is very powerful, especially from a security perspective. Visualization would provide security engineers (network admins, application developers, etc) to see, dynamically, how systems are working and interacting. For instance, if a Web server begins to see heightened traffic rates, perhaps a visual image of the Web server (a blue server box or something to make it uniquely distinguishable) would expand to raise a red flag of a potential DDoS attack. Perhaps, a visualization of a complex system would allow admins to see what different protocols (lines w/ different colors?) are being used for disparate systems to communicate. Maybe, with regards to the "cloud", visual representations for depicting VM segmentation and resource allocation could be used to symbolize data leaks between VMs, exposure to the host and hypervisor. The potential ways to use system visualizations via a virtual environment are endless. The next question is, how can one trust the visualizations one is seeing? But that's for another day...
What about the ease of which users would be able to interact with their infrastructure? No more manually grep'ing through log files and modifying systems via command line and shell scripts. It'd be much easier to visually see a comprehensive view of one's infrastructure and be able to make modifications with a few mouse clicks. Instead of interacting with complex systems by means of such complex methodology, we should be working to interact with them in more simplistic, intuitive ways.
Today, every systems engineer devises many system and network diagrams before deployment and implementation. But these forms of documentation are static. We need to begin implementing living visualizations that dynamically interact with our living systems.