|
Penetration Testing
mailing list archives
we are security critics was: Re: Using 0days as part of pen-test?
From: Pete Herzog <lists () isecom org>
Date: Thu, 15 Jan 2009 11:47:20 +0100
Hi,
0-day tests, by definition, cannot test anything other than the
quality of the anomaly-based detection system.
I'm unaware of this definition and I think it may be flawed. A 0-day,
we can say is an undocumented vulnerability and as such not widely
known. Without thorough testing, we err on the side that every piece
of software may have undocumented vulnerabilities which may or may not
currently be known to someone. That means we must configure our
systems, define our networks, and control our environments so that we
can be sure that even the vulnerabilities we did not know to
specifically protect against are protected against. Which is what
makes 0-days in pen-tests so important. 0-days are a device to prove
that a client is unready to handle the unknown whether it be to spot
it, stop it, or minimize its impact. It is also the reason why
controlling the environment is so vital in security, much more so than
patching or blocking any specific vulnerability or vulnerability
class. It's also the whole point to the Hacking Exposed Linux 3 book
we released which too many in the security industry sadly missed.
When we test security (pen-test, vuln scan, sec test, red team, etc.)
we are acting as security critics who are looking to see if security
works in this particular instance and if it will stand the test of
time. Like a movie critic, they don't care if the plot is formulaic,
the characters are flat, or the production value is cheap, as long as
it works for this particular movie and then they communicate
effectively what does and does not work now and in the future. To do
this, we need to look at how well they separate the asset from the
threat and control the environment to minimize the effectiveness of
the threat. To do that, we need to test classes or types of
vulnerabilities which includes those that are new to the environment.
Since specific attacks change over time, classes of attack are rarely
new. Considering that there are 10 controls which can mitigate all
possible attacks, we need to test against the controls and not the
specific vulnerability. This way we can test preparedness as well as
control effectiveness. There are even better tools coming out all the
time to do this but if the tester can't recognize that the controls
work, how they work, or even what is the attack surface then no tool
will help them communicate the problem effectively and the right
control won't be applied. We see this a lot when a report is made
that says, you have vulnerability X, see CVE X, apply patch X. It says
nothing about controls in place that can mitigate the attack and make
it unnecessary to patch. If they knew this, they could make sure all
their systems have those controls to protect them.
I've already gone on too far but this comes back to people still
choosing the witness protection style of security over the prison
style. Witness Protection works fine as long as the user follows the
rules. That can't be guaranteed even if the user is a faithful
employee not a random web user. But it will work until there's a
mistake or an accident. The Prison style assumes the rules won't be
followed, by prisoners, visitors, or by guards. So they define
controls for the environment so that things run smoothly and when a
mistake or accident occurs, it can be quickly and efficiently dealt
with. As testers, we need to make clients aware what they're leaving
to chance and let it go on record. This way they can accept risks that
they know about.
Sincerely,
-pete.
OPST, OPSA, OWSE, OPSE
Hacking Exposed Linux 3: http://www.isecom.org/hel
By Date
By Thread
Current thread:
- Re: Using 0days as part of pen-test?, (continued)
|