Vulnerability Assessment vs. Penetration Testing A guide to needs analysis Prepared By: Joel Gridley, CISSP Security Consultant DRAFT February 12, 2016 Modification History AUTHOR Joel Gridley DATE February 10, 2002 Vulnerability Assessment vs. Penetration Testing COMMENTS Initial Draft Modification History i Table of Contents MODIFICATION HISTORY .......................................................................................... I TABLE OF CONTENTS ............................................................................................... II EXECUTIVE OVERVIEW ............................................................................................. 1 INTRODUCTION ........................................................................................................... 2 WHAT IS A VULNERABILITY ASSESSMENT? ......................................................................... 2 WHAT IS A PENETRATION TEST? ....................................................................................... 2 WHAT IS THE DIFFERENCE? .............................................................................................. 3 WHAT ARE THE ADVANTAGES?............................................................................... 4 SUCCESSFUL PENETRATION TESTS PROVIDE CLARITY. ....................................................... 4 VULNERABILITY ASSESSMENTS PROVIDE MANAGEMENT GUIDANCE................................. 4 BOTH REDUCE RISK .......................................................................................................... 4 WHAT ARE THE DISADVANTAGES? ........................................................................ 5 ASSESSMENTS MAY BE DIFFICULT TO ACT UPON. ............................................................... 5 PENETRATION TESTS MAY NOT “SOLVE THE PROBLEM”. .................................................. 5 ASSESSMENTS AND PENETRATION TESTS CAN DESTABILIZE AN ENVIRONMENT. ............... 5 PENETRATION TESTS MAY COMPROMISE DATA. ................................................................ 6 PENETRATION TESTS ARE MORE EXPENSIVE THAN VULNERABILITY ASSESSMENTS. ........... 6 CONCLUSIONS ............................................................................................................... 8 WHICH SERVICE SHOULD I USE? WHEN SHOULD THEY BE DEPLOYED? ............................ 8 Vulnerability Assessment vs. Penetration Testing Table of Contents ii Executive Overview Vulnerability assessments and penetration testing are security services offered by a wide variety of vendors. While there is a standard technical terminology, vendors use the language in different ways in describing their services. Different vendors may deliver different services under the same service description. This document attempts to clarify the differences, and help provide guidance on why an enterprise should select one type of service over the other. In brief, a vulnerability assessment is a design review conducted within the bounds of a security environment, and is designed to provide management guidance on the risk profile associated with a service. A penetration test is an attempt to violate the controls imposed by a security environment, and is designed to determine errors in design or configuration. Both services are valuable. Because of the expense associated with penetration testing, it is most often performed after assessments have been completed and any guidance provided by those assessments acted upon, but at times penetration testing can provide clear evidence of problem, and a powerful justification for action. Both services have risks. While vulnerability assessments are generally conservative, the complexity of some IT environments can lead to loss of service. Penetration tests, because they attempt to contravene the protective or corrective elements of a security environment, have a much higher rate of loss or compromise of service, and are most often conducted either in robust environments or before a system goes into production. In addition, because a penetration test usually involves assessment, and the practitioners have higher skill sets, penetration tests are generally considerably more expensive than simple vulnerability assessment services. Vulnerability Assessment vs. Penetration Testing Executive Overview 1 Introduction Technical jargon has a tendency to be used in non-technical parlance in often-imprecise fashion. This applies to security services, which combines language from the intelligence community, the military, the computer underground, and popular literature. What matters is not what a thing is called, but what the thing is and does. It is worthwhile to take a step back and identify of what features a service is composed, and to identify what advantage these features provide to the purchaser of a service. What is a vulnerability assessment? Vulnerability assessments are a long-standing practice of engineering professions. Assessment is the practice of analyzing different types of discipline specific scientific information, combining and evaluating these types of information in an interdisciplinary framework and presenting the results in a way that is useful to policymakers. Vulnerability is defined as the degree to which a system is sensitive to, and unable to cope with, adverse conditions. Thus, a vulnerability assessment is a management document that provides guidance for a system under risk. Vulnerability assessments can be applied to physical objects such as buildings; to complex hierarchies such as ecosystems; and to the physical objects and complex interdependencies of IT infrastructure. The latter takes the form of a report identifying known problems that would prevent a service from completing its function, e.g. susceptibility to “denial of service” type attacks, or would cause a service to perform unwanted functions, e.g. susceptibility to compromise. The report typically scores the vulnerabilities to their impact and likelihood of occurrence, and provides recommendations for risk remediation. What is a penetration test? Penetration testing is a term derived from DoD jargon. Originally, it meant war game exercises in which teams would attempt to enter a controlled area of a building. The formal definition, which comes from the DoD standard, Trusted Computer System Evaluation Criteria (Orange Book) is The portion of security testing in which the penetrators attempt to circumvent the security features of a system. This is similar to the task of functional testing, where a vendor’s assertions about a feature set for a product can be verified. One difference is that functional testing has a deterministic and quantitative aspect: specific tests can be performed to determine if a specific feature is present or not. On the other hand, penetration testing is nondeterministic and often relies on qualitative results. Under Assurance, the Orange Book goes on to note: Vulnerability Assessment vs. Penetration Testing Introduction 2 Since no test procedure for something as complex as a computer system can be truly exhaustive, there is always the possibility that a subsequent penetration attempt could succeed. What is the difference? The key difference here is that in a vulnerability analysis, systemic properties are analyzed and management guidance is provided. In a penetration test, tactical analysis is performed and a technical observation is provided. A vulnerability analysis looks at the system as a whole, and attempts to make statements about how to improve the security posture. A penetration test looks at the system flaws locally, and attempts to contravene the system to demonstrate its weakness. Another way to describe this is from the language of search techniques: a vulnerability assessment is a “breadth first search”, enumerating the immediately visible flaws. A penetration test is a “depth first search”, focusing on one local aspect of a system, and exploiting the flaw as deeply as possible. Vulnerability Assessment vs. Penetration Testing Introduction 3 What are the respective advantages? Successful penetration tests provide clarity. One problem with vulnerability assessments is that a clear understanding of the risk may not be presented, and guidance may not be followed. It is common for a vulnerability assessment to flag problems in system maintenance consistently over time, but that maintenance is not performed until after a significant security incident. When a penetration test is successful, it is a clear demonstration of an inadequacy of a system. If a penetration test is run against a banking application, and the testers are able to transfer ten million dollars to a private account, then the owners of the application know that this vulnerability is real. The penetration test provides the ‘significant security incident’ that motivates management to take action. Vulnerability Assessments provide management guidance. Vulnerability assessments address comprehensive elements, painting a broad picture of the security posture. Instead of focusing on the individual trees that are systemic flaws, it speaks as well to the forest of problems that is the real management challenge. Vulnerability assessments often speak to overall problems, organization, or security administration, and can be helpful in making top-down design changes in an environment. While penetration tests solve problems that exist today, vulnerability assessments provide a basis for secure architectures into the future. Both reduce risk Both vulnerability assessments and penetration tests are part of a design review process. Independent review by professional evaluators provides insight into the functioning of a system. Here, design review of security controls allows for identification of elements that would increase the trust in a system, the extent to which someone who relies on a system can have confidence that the system meets its specifications, i.e., that the system does what it claims to do and does not perform unwanted functions. This reduces the overall risk in the system – the expectation of loss expressed as the probability that a particular threat will exploit a particular vulnerability with a particular harmful result – because both are reducing the probability of exploit. Vulnerability assessments are a systemic approach, while penetration tests focus on particular elements. Vulnerability Assessment vs. Penetration Testing What are the respective advantages? 4 What are the respective risks? Assessments may be difficult to act upon. Assessments are designed to provide guidance on improving a security posture. Such reports often contain long lists of vulnerabilities identified. When so many problems are identified, it may be difficult to know which ones to tackle. The scope of the problem may be so daunting that it is paralyzing. Penetration tests may then be comforting, in that it identifies one problem, and attention can be paid to that single problem. A good vulnerability assessment provides not merely insight into the nature of the problem, but a “next steps” guideline, to help the client move to a more trusted environment. Sometimes this is not possible, because only limited information is available to the assessors; putting vulnerabilities into context requires an understanding of the business drivers and business risks, and that is often outside the scope of an assessment. But assessments can at least point to problem areas, and provide some recommendations on addressing those areas. There may also be a belief that if some of the problems are resolved, then security has been “improved”, and that is enough. Unfortunately, the security of a system depends on the security of its weakest element. If an adversary finds one avenue blocked, it simply seeks out another. Unfortunately, repeated assessments are usually required to ensure that over time all vulnerabilities are addressed. Penetration tests may not “solve the problem”. Penetration tests have two outcomes: either they penetrate the system or they don’t. If they penetrate the system, they have brought attention to one flaw, but even fixing that one flaw does not provide assurance on the security of the system. When a system is penetrated, it usually does have the useful result of ensuring that additional resources are applied to enhance the security of the environment. However, this is not a complete resolution, and is really only useful in demonstrating that flaws still remain. If they don’t penetrate the system, it only means that the approach used by the tester was not successful; at other points in time, other testers or worse, adversaries, may be successful. Assessments and penetration tests can destabilize an environment. Vulnerability assessments and penetration tests generate unusual data in a system. The data may be more copious than usual, or have unusual formatting; because digital systems can react in non-linear fashions, even small changes in traffic from the usual form can have unforeseen consequences. Vulnerability Assessment vs. Penetration Testing What are the respective risks? 5 For example, use of the Telnet protocol to communicate with network infrastructure is normal. As part of an assessment, one usually looks for Telnet access, and runs some simple tests. However, opening approximately 98 connections on port 23 will cause Cisco 760 Series Routers to self reboot (as of March 1999, bug ID CSCdm03231). This can lead to denial of services associated with that device. Other denials of service with other devices have been associated with simple port scans (e.g. CVE-2001-0413), or fragmented packet data (e.g. CVE-199-0052). Penetration tests have higher risks. Vulnerability assessments stay inside of normal security boundaries, and this generally affords some protections. Penetration tests intentionally penetrate boundaries, and this can lead to untested territory. Because the tester seeks to acquire administrative access, the control is similar to that of authorized administrators, and can lead to significant loss of system abilities. Penetration tests may compromise data. Because a penetration tester seeks to acquire administrative access, they may view data that is normally only accessible to administrators. In addition, the proof of compromise that is the end goal of a penetration test may include capture of sensitive data; such data is usually brought across uncontrolled networks. The rules of engagement for a test must carefully note the actions expected by the penetration tester that may conflict with existing constraints, e.g. the handling of third party data. Penetration Tests require more documentation from purchaser of service. A vulnerability assessment, whether cooperative or not, stays within the bounds of a security control. While services are exercised, there is no attempt to violate controls. On the other hand, penetration tests intentionally try to break through the constraints of security controls. This generally requires informed consent from senior management, to avoid an offense under various jurisdictions’ formulations of Computer Misuse Acts. Penetration tests are more expensive than vulnerability assessments. Penetration tests usually follow a methodology that begins with a reconnaissance phase very similar to that followed by an assessment team. Consequently, the duration of a penetration test is usually longer than that of a vulnerability assessment. In addition, much of the work of a vulnerability assessment can be automated; consequently once the automation scripts exist, the skill requirement associated with the assessment can be relatively nominal. Many commercial vulnerability assessment products, such as ISS’ SafeSuite or Cisco’s NetSonar, can be deployed by general IT personnel. On the other hand, the exploit phase of a penetration test does not lend itself to automation well, and Vulnerability Assessment vs. Penetration Testing What are the respective risks? 6 is generally a creative and non-deterministic event. This requires significantly more experience and higher skill sets than conventional assessment. Vulnerability Assessment vs. Penetration Testing What are the respective risks? 7 Conclusions Which service should I use? When should they be deployed? Both vulnerability assessments and penetration testing are important services in support of a trusted environment. Vulnerability assessments are useful early in the process, even before a system is in place: they can provide guidance on the underlying proposed architecture of an information service. Vulnerability assessments are useful on a regular, ongoing basis, as they provide a comprehensive analysis of the risk profile of that service. They can provide an audit of compliance with specification, and provide assurance that the implementation is consistent with expressed intent and best security practices. Penetration tests are used less frequently, but with no less importance. Perhaps the best time for a penetration test is just before a service goes online, while it is in “beta”. This allows for reduced risks associated with the problems of instability or loss of confidentiality, and can provide a cautionary note before high-value production use is deployed. Penetration tests should also be performed at regular intervals on a robust system, to ensure that the security design is sound and that the audit practices are adequate to verify conformance. Vulnerability Assessment vs. Penetration Testing Conclusions 8