The following is an excerpt from the book Applied Security Visualization. In this section of Chapter 5: Visual Security Analysis (.pdf), author Raffael Marty explores the forensic analysis of log data for three different
use-cases: discovering attacks, attack assessment, and incident reporting.
Assessing an Attack
A fairly different use-case compared to detecting attacks in log files is the assessment of
a successful attack. An attack can be detected in a number of ways, be that through the
attack detection process or, for example, a customer who called in and reported an issue
that could be as benign looking as a performance problem or a service doesn't work anymore.
The assessment of the attack impact and extent is important to know what was
affected and how big the loss is. It is also necessary to understand how the attacker was
able to penetrate the systems and in turn how to prevent similar attacks in the future.
Interview with the author:
In this interview from RSA 2008, author Raffael Marty discusses how to build the bridge between the security team and the visualization team.
The following discussion applies mainly to cases where more complex attacks are executed.
Typically, those attacks involve a network component. If the attack affects only
one host and is executed locally on the machine, visualization of log files cannot help
much in this scenario. However, if an attack is executed over the network and potentially
involves multiple machines, there is a chance that visualization can help shed some light
on the details of the attack, how pieces are related, and so on. I call this analysis attack
path analysis. I would like to understand how an attacker was able to enter the network,
what he touched, and so forth.
To start the process, we start with data gathering. As soon as the attack assessment
process is started, we need to begin collecting pertinent log files. I hope that a variety
of logs are available: network flows, intrusion detection data, firewall logs, host logs,
and so on.We should extract a period of time preceding the attack. It might be enough to go
back an hour. Depending on the type of attack, it is possible that not even a day is
enough; instead, an entire year might have to be analyzed. When you start analyzing the
attack, you will fairly quickly understand the time frame that you are interested in. Let's
start with just an hour. Most likely, you will know what machine was attacked. Extract
records just for this machine (or machines, if multiple ones were affected). Most likely,
your problem at this point will be that you don't know what the source of the attack is.
Therefore, finding the source of the attack is going to be the first analysis objective. How
do you do that? It might be close to impossible if the attacker executed the attack carefully enough. However, most likely the attacker made a mistake somewhere along the
line. One of those mistakes could be that the attacker tried to access services on the
target machine that are not available. Another possibility of detecting an attacker is the
number of interactions he had with the target machine. Use a bar chart to show how
many connections each of the sources opened to the target machine. Anything abnormal
there? Use some other techniques of the attack analysis process to see whether you can
find anything interesting that might reveal the attacker.
After you have identified potential attackers, use this candidate set to analyze all the
activity seen by these machines. Most likely, a link graph will prove useful to show the
relationships between all the attack candidates and the target machine. At this point, it
might prove useful to extend the analysis window and take more data into account to see
what the source machines have touched over a longer period of time. This will give you a
good understanding of the extent of the attack. Which machines were affected and what
services were used?
Especially with the information about the services the attackers used, you can verify
the host logs to see whether you find any clues about how exactly the attackers entered
the systems. The goal should be to gain a clear understanding of how the attack worked,
who the attackers were, and which machines were involved. And more important than
that, you should have a clear understanding of what data was affected!
In the next step, you can try to design a response to this attack. There are many
possibilities:
Blocking this type of traffic on a firewall between the attackers and the target
machine
Patching the vulnerabilities on the end system that the attackers exploited
Introducing additional levels of authentication
Deploying automatic response capabilities to block such attacks in real time
Visualizing the attack path is probably one of the most useful tools. It can help you not
just analyze and understand the attack, but it also helps communicate the attack to other
teams and eventually to management. Let me summarize the individual steps again that I
went through to assess the attack:
Get records for the affected machine.
Find the source of the attack by looking for strange access patterns (e.g., connections
to ports that are not open, excessive number of connections, strange behavioral
patterns).
For the sources identified to be the potential attackers, analyze all the data
referencing them. Find which machines they touched.
Deploy countermeasures to prevent similar attacks in the future.
Document the attack in detail (see the next section).
It would be interesting if you had the capability to execute all these steps in near real
time. Doing so, you could prevent the attacks from happening. The part about responding
to the attack and putting mitigation capabilities into place especially benefits from
quick turnaround times. Commercial systems are available to help with these steps.
Documenting an Incident
The last part of forensic log visualization is the documentation of an incident. The attack
detection process helped us find an attack and identify it. The second part was about
assessing the impact and extent of an attack. When that information is known, we generally
have to document the incident and provide this information to management, possibly
law enforcement; and in a lot of cases, we can use the information gathered to
educate people in our organization. Only part of incident documentation can be done
with log files. Often, forensic images will be taken from machines that will serve as
evidence and documentation of an incident. However, the part that can be done through
log files is often useful to help communicate how an attacker entered the systems and the
extent of the problem.
I have already discussed a lot of the elements of incident documentation when we
talked about reporting. The important things to keep in mind are two things:
Who is the audience for the incident documentation?
What is the best way to represent the information?
These two questions will help you make sure that the documentation meets its goals. If
you are writing the documentation for your management, make sure that you show on a
higher level how the attack happened. Why was the attacker able to get in? Don't go into
all the gory details of the vulnerabilities that were present and the exploit code that was
used. Show concepts and where more controls could have prevented the attack. If you
are communicating the information to the owner of the servers that were penetrated,
mention all those gory details. Help them understand how the attacker penetrated the
system, but don't forget to mention how the attack could have been prevented. The system
administrators will not be too interested in the network components of the attacks
but instead will want to know what happened on the server itself.
It is not always the best idea to use graphs and visualization for this type of
documentation. Some of the documentation is better communicated in textual form. However, if
you are trying to show an attack path, how the attacker actually entered the system, a
picture is still worth a lot. Show the network topology, and on top of it, how the attacker
was able to come in. Link graphs are generally a great tool for this type of documentation.
I could spend a lot more time on this topic, but it is not one that benefits tremendously
from visualization. In sum, if you can summarize information in a graph to
communicate the pertinent information with other people, do so!
Reproduced from the book Applied Security Visualization Copyright [2009], Addison Wesley Professional. Reproduced by permission of Pearson Education, Inc., 800 East 96th Street, Indianapolis, IN 46240. Written permission from Pearson Education, Inc. is required for all other users.
Rate this Tip
To rate tips, you must be a member of SearchSecurity.com. Register now
to start rating these tips. Log in if you are already a member.
DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.