Requesting a Penetration Test
Friday, March 22, 2002Many companies these days look to penetration testing ( also sometimes termed ethical hacking ) to evaluate their level of exposure and risk of attack. While the idea and approach are good and sound, some factors need to be taken into account when requesting such a test. This paper offers advice to organisations planning on requesting such a penetration test.
I've performed a number of penetration tests against companies myself, and I've also been a system administrator for systems which have been subject to penetration tests. What follows comes from practical experience, and has useful lessons that were learned the hard way.
Define the scope of the test
Define the exact scope of the penetration test -
explicitly, and in writing. If the test involves your
Internet connection ( as most penetration tests do ), then
explicitly state which network addresses are to be tested,
which web servers, which mail systems and so on. Also
define which systems you do not want
tested. Candidates for exclusion could be :
- Important production systems
- Systems belonging to customers
- Remote access systems - modems, VPN devices, etc
Discouraging conflicts of interest
This can be a difficult area. I've found that many
penetration tests are performed on the basis that the
people performing the test will also be called in to
perform remedial work to fix the problems. This can lead
to security problems and vulnerabilities being blown out
of proportion by the testers in order to "win" the
remedial work. If possible, you should avoid this by
stating to the testers from the the very beginning that
they will not be performing any remedial work
following on from the testing. You can, if you like, use
the testers to re-check the systems after remedial work
has been carried out.
Define the amount of effort
A lot of time (and money) can be
spent in performing penetration testing - from a minimum of
about 1 week up to many weeks, or even months. Define just how
much effort you want, if not just to put a cap on how much the
testing will cost you.
Maintain contact details
Clearly document
contact details for your organisation to contact the people
performing the test. Also give the penetration-testers contact
details for the system administrators and managers responsible
for the systems that they are testing. Quite often penetration
tests can cause system outages and peculiar errors - it is
important that these are identified and resolved quickly and
that the system owners can call an immediate stop to the
testing. It is also necessary to be aware that there could be
a real penetration taking place at the same time as
testing, and the system administrators need to know the
difference between the two.
Also make sure that the testers provide you with the network address of the systems which will be performing the test.
Define the exact dates and times of the test
window
Agree with the testers the exact dates and
times during which the testing will take place, and make sure
that no testing will be performed outside these times. The
times can be during business hours if you want to make sure
that the support team is one the job and ready to resolve any
problems, or it could be out of hours to avoid disrupting
business traffic. I've never had a definitive answer as to
which time is best so its up to the people managing the systems
to decide.
Define the objectives of the test
It is always a
good idea to define what you want to get out of the test. Do
you really want the testers to find a hole on your systems? -
or do you just want to get a broad evaluation of how secure
your systems are? Do you want a simple list of where the holes
are? Do you want a more complete risk assessment that you can
show to management?
Reporting
Reporting must be the most important
area of penetration testing. At the end of testing, the
testers should compile and submit a report of their
findings. The report should include the following sections :
- Vulnerabilities found ( in a risk-priority ordering )
- A risk analysis and severity rating for the vulnerabilities found
- Recommendations for remedial action
- Detailed results from scanning tests - such as log files, data files, and other information which was collected
Remember, that security is an ongoing process. The penetration test and subsequent risk assessment will give you a quick and rough estimate of where your risks are - but it is not a full audit and it is only a snapshot of the system taken at the time of testing. It is easy for new vulnerabilities to arise during the lifetime of computer systems, and it is always important to employ good practices for security in managing information systems.
Penetration Testing References:
Some highly recommended reading.
- Guidelines for Developing Penetration 'Rules of Behavior' - Nancy Simpson (SANS Institute)
- Audits, Assessments & Tests (Oh, My) - Ira Winkler (Information Security Magazine)
- What to Demand from Penetration Testers - Philip Moyer (Computer Security Alert)
- Your First Penetration Test - David Piscitello (Watchguard LiveSecurity)
- Reality Check - David Ryan (Federal Computer Week)