Security testing – choose what you really need. Part II
Previously we discussed which type of security testing you need to define how well your system is protected.
Types of security testing
There are two types of security testing: Penetration testing and Vulnerability Assessment. Each having goals and objectives. The goal of penetration testing is enter a web-application internal infrastructure, cease control over the internal servers or access the important information.
Vulnerability assessment includes more comprehensive system check. Its main goal is to identify system drawbacks and vulnerabilities that can lead to getting unauthorized access or possible users discrediting. All the detected defects get qualified according to the level of risk and influence upon the general system security state. Usually specialists do not exploit the detected vulnerabilities; still it can be done if the parties have agreed.
Above this all, vulnerability assessment takes much time and is often held to comply with standard requirements.
Let`s have a look at a case that shows difference between penetration testing and vulnerability assessment.
Imagine that we`ve detected a bug: absence of HttpOnly security flag in cookie file with identifier of user session. Flag Absence allows stealing user cookie applying cross-site scripting method. In the context of vulnerability assessment this is definitely a defect and it should be described in the final report. Still, for penetration testing this case will considered a defect, if it allowed a tester to access the authorized user account, otherwise the defect won`t be described in the report.
Next criterion for choosing type of security testing is system data provided to analysts. The provided data defines which testing method will be chosen. There can be three of them:
- Black box testing – tester receives none system information except the list of IP-addresses or the website link;
- Grey box testing – testers receive valid accounts and limited system information;
- White box testing – testers get full information about the system: accounts, network maps, technological specifications, web-applications source code.
As you can see the “whiter” your “box”, the more detailed information about system security you get in the end of the testing process, and the more important information third party gets, hence the more expensive and time-consuming the testing process is.
The last criterion is system entry point. This criterion is valid only for performing penetration testing on local network level. In case like this there are two options:
- External penetration test – only external company IP-addresses accessible from the internet are tested;
- Internal penetration test – test is performed inside the corporate network. Testers work inside your team in company office or work via VPN access.
Usually, internal penetration test is performed to comply with requirements of domain standards; or to check security level against inside attacks, i.e. those executed by company staff.
So in a nutshell, we went through all the criteria of choosing security testing method. Combining them you can correctly define your requirements to a testing company. For example, if you need a thorough check of your system, choose a combination of vulnerability assessment and white box penetration testing. If the budget is limited – choose black box penetration testing.
I think this kind of arguments sound much better than “We need security testing”. Use this article to carefully define your needs to testers, don`t waste time on useless talking.