And here I sit at another airport, Dallas-Ft. Worth this
time, writing another blog post. And yet
again, I am reminded by an issue that continues to plague my forensic
brethren. The heavy reliance on tools.
I am a member of several forensic/IR mailing lists, I read
the blogosphere, and I try to keep up with many of you on twitter. In addition, I have a strong relationship and
presence with many law enforcement agencies (local, state, federal and foreign)
and the officers assigned to perform DF and IR.
I intentionally don't comment very much, mostly because I don't think
very many people would like my answers, but I help out when and where I can.
So to get right down to it, I still see a strong reliance on
tools to solve cases for you. I have also
seen a number of posts and tweets recently where investigators are trying to
make certain tools do certain things they are either not well suited to do, or
where a much better solution exists. To
all this, I say, "stop"!
Stop stop stop stop it!
Relying on tools to solve your case for you in like relying on a pile of
wood and a nail gun to build your house.
It doesn't work. It's never going
to work. The sooner you come to that
conclusion, the better off you will be.
Instead of simply ranting about tool reliance, allow me to explain
myself.
All of our investigations are made up of data elements. Some have evidentiary value, while others do
not, but it's all there...plain ole data.
Just sitting there waiting to have something done with it. The question investigators SHOULD BE ASKING
FIRST is what question am I trying to answer, not what tool do I need to
use! How in the world could you possibly
know what tool to use before you know what you are going to do, and why? You can't!
Now, I understand that in some cases there are just
"goto" tools. For example, I
use fls in each and every case to create a timeline, I use Log2timeline or
regtime to add registry hives into my timeline, I use Reg Ripper to parse my
registry hives into human readable text, I always dump log files into flat text
with DumpEl, and I always use pstools to dump running process information. So I get that you have to use certain tools
by default to get you to a good starting point...I do the same thing. But that's about where it ends for me.
I don't always pull web history, I don't always scan an
image with AV, I don't always extract the $MFT, and I rarely use EnCase. Why?
Because I don't always have to!
For example, when I know malware has been deployed on a Point of Sale
(POS) system by RDP, why would I need to pull web logs? Answer...I don't. We browser history has nothing to do with my
case. BUT, if I see that malware may
have been downloaded...let's say by reviewing ntuser.dat hives from admin
users, or from evidence I find in my timeline, then OK, I will grab web history
to see if I can find an additional data point that would indicate that my
malware was downloaded via the web...it makes sense in that case to do so.
I don't always scan an image with AV. Why would I?
For those of us that pretty much live and breathe malware, we know that scanning with AV is only going
to be marginally useful, if at all. It's
going to point out known samples or common variants, and that's about it. If the malware is custom, or is a new variant
the scans will be of no value. You are
FAR better off identifying the running processes and looking for common IOCs
and APIs used by the different types of malware depending on functionality. BUT, if I am asked to find all occurrences of
malware on a specific system, regardless of what it is or what it does,
sure...I will scan it...because that's what I was asked to do.
I don't always extract the $MFT...b/c I don't always have
to. Since a timeline is generated from
the Standard Information ($SI) attribute anyway, I already have half of the
$MFT don't I? The only time I would
extract and parse the $MFT...which Harlan's MFT.pl is awesome for...is when I
suspect chronological (aka timestopming) modification has taken place. HOW do I know that timestomping has taken
place if I don't first parse the $MFT and compare the $SI to the File Name
($FN) attribute? I have seen it before,
and I know what the IOCs are. I know
what signs to look for that would lead me to believe that some kind of
modification has taken place. Things
like pre-fetch files that are identical to creation times save for the year,
the mili-seconds field being set to all zeros, and files located with other files I
know to be components of the malware, with different creation times.
So OK Chris...what's your point here? To simply berate us for using and relying to
tools to give us information? We NEED
that information to solve cases...how the heck else are we suppose to do our
jobs?
GREAT point! So let
me answer...USAGE of tools is OK, and like you said, you cannot do your job
without them! Neither can I. RELIANCE on tools to do the work for you is
not OK...and as Cory would say, "it is the suck".
Step back for a moment and breathe in...and breathe out. Clear your head and just think. What are you doing? What question
are you trying to answer? Why? What information do you need to answer that
question? What does the data tell
you? These questions are the essence of
the Sniper Forensics methodology. I
(among others) have been talking about this philosophical shift for four years
and yet there is still considerable resistance in the community, which I really don't understand.
The best tool in your toolbox is your brain. What Harlan has dubbed,
"Wetware". Think through your
cases. Ask a LOT of questions. Actually take the time to answers your
questions. Let the data guide your
theory. It's really not that complicated when you break it down into smaller, more manageable components.
I will close this post with a short story. I was recently asked to assist a LE Officer
with a case he had been working on for a month.
I started by asking him a lot of questions...what are you trying to do?
What was the crime? What
information are you hoping to identify?
How will that information help your case if we find it? How will it change your investigation if the
data is not there? What is the timeframe
of the incident? How do you know that
was the timeframe? What supporting
evidence do you have that indicates that timeframe is accurate? After listening carefully to his answers and
writing them down in my case notes, I knew exactly what to do.
I created my investigation plan. Indicated what I was looking for and
why. I took notes on where I would
likely find that data, what it would generally look like, and what I would do
if I found it, as well as what I would do if I didn't find it. In total, about 30 minutes of
pre-work...maybe 45 since I was drinking a cup of coffee and typing at the same
time.
When I actually put fingers to keyboard I found what the
officer was looking for, and helped him solve the case in...wait for
it...waaaaaaiiiittt for it....15 minutes.
He had been haphazardly looking for "bad stuff" for a full
month...four weeks...30 days. It took me
longer to write my notes and drink my coffee than it did to find the evidence
he was looking for. Why you ask? Because I took the time to use my
Wetware! I actually THOUGHT about what I
was going to do, why, and what I was looking for before I ever put my hands on
the keyboard, mounted an image, or touched any piece of data.
OK Chris...whatever...you show off...it's ONE case. You got lucky. My cases are complicated...it's simply not
that simple for me!
Good point...and maybe you are correct. BUT, I have been using this methodology for
four years, in each and every case. For
us in the SpiderLabs, that equates to just under 1000 cases (yes, we keep
track). So my team, in almost 1000 cases
have seen this methodology work each and every time. Without fail, and without exception. Small cases with a single piece of evidence
(like an SD card) to huge cases with hundreds of systems. It just plain works.
So, for all you naysayers out there, for the skeptics and
the old school "pull-the-pluggers", I say, "try it". Try doing it my way. What do you have to lose? Certainly not more time! What do you have to gain? How about solving your cases in a fraction of
the time you currently solve them in? How
about clearing your ever increasing backlog?
Sounds like a pretty safe trade to me.
Happy Hunting.