White Box, Grey Box and Black Box Penetration tests – realism vs efficiency?

White Box, Grey Box and Black Box

Have you ever seen a carpenter working a piece of wood? They understand the strength, friction of the wood, the required tools for the job, the best approach to get to the desired outcome. They’ve done it all their lives.

We feel similar about penetration testing. For us it’s second nature, and we would like to share some of our thoughts about our craft.

What is a Penetration test?

First and foremost. What is penetration testing?

Penetration testing is the most widely used method of providing assurance about the security controls in place, protecting a system or application.

The assurance is gained by simulating a scenario whereby a malicious – but not destructive – attacker targets such a system or application in a systematic and repeatable way.

The aim of these tests is to identify the existing vulnerabilities in the security controls protecting the target, so that they can be addressed and decrease the associated risk to acceptable levels.

In summary: it is a controlled simulation of a threat actor conducting a cyber attack on a target.

Threat Actor, you say...

A threat actor is an attacker, and they can be very different indeed. They can be an opportunistic attacker with no prior knowledge connected on the Internet, a disgruntled developer of an application with complete knowledge of the target, or anything in between.

This is particularly relevant for the topic that we are discussing on this post, as the level of prior knowledge of the target determines whether the approach of the penetration test is considered black box (no prior knowledge), white box (full knowledge) or gray box (partial knowledge).

Which one is best?”, you may ask. Well, as many things in security, “It depends”. Each approach has some pros and cons. Additionally, weirdly, there are even cultural and geographical implications. For example, in the US there is a higher tendency to choose a white box approach than in the rest of the world.

Let’s discuss each of them in detail.


White Box Penetration Testing

White box testing is conducted with full knowledge and access to the inner workings of the target systems. Testers are provided with detailed information about the network architecture, application source code, system configurations, and other relevant information.

The idea is that the more information is provided to the testers, the higher the coverage of the assessment will be, and therefore it will result in a more valuable outcome.

Advantages

Disadvantages

White box assessments are typically used in situations where critical systems have been previously subjected to black box penetration tests, and a higher level of assurance is required. By providing further information to the testing team, a more in-depth analysis is expected, with findings that would otherwise remain uncovered.

Additionally, White box testing could potentially be used when there’s some budget constrain and the further information allows the testing team to decrease the required effort by – for example – combining traditional testing with source code review tools.


Black Box Penetration Testing

Black box testing is conducted with no prior knowledge of the target systems. Testers approach the assessment as remote users having no information about the network architecture, internal code, or configurations. For example, in the case of a web application the attacker would simply have the target URL.

Advantages

Disadvantages

Black box testing is the most widely approach for penetration testing, due to being a simulation of a realistic scenario. In most cases it is suitable for simulating external threats, such as assessing an organisation's public-facing systems like websites or external applications.


Grey Box Penetration Testing

Grey box testing falls in between white box and black box testing. Testers have limited knowledge of the target systems, usually with some basic information but not full access to source code or exhaustive network details. In practical terms, the information provided depends on the type of engagement, but it is normally linked with the information which could potentially be gained by the attacker at some point, therefore providing a realistic shortcut.

Advantages

Disadvantages

Grey box testing is commonly used when the organisation wants to evaluate the effectiveness of their security measures and they want to maximise their testing resources whilst keeping the assessment as realistic as possible.


Conclusion

Penetration testing assessments can simulate different threat actors with various levels of knowledge about the target system or application.

The level of knowledge greatly influences the outcome of the engagement when it comes to the depth of the assessment and the realism of the simulation.

There’s no right or wrong when it comes to choosing the require approach, as it should be determined but the organisation's drivers and requirements for testing.


Left with any questions?
Contact us and let's have a chat.

You may also be interested in...

Cover
June 18, 2024

Threat-Led Penetration Testing Explained

Insights from SECFORCE’s offensive security experts on what threat-led penetration testing is (and what it isn't)

See more
CBEST Implementation Guide 2024 Update
March 20, 2024

CBEST Implementation Guide: What’s New In 2024

A refresher on the overall CBEST process and a quick summary of the updates for 2024.

See more