Computer security is a very unique field. Unlike other fields in which the challenge is to overcome the scale of a problem or the complexity of an algorithm, in computer security the challenge is the wit of another human being who is trying to carry out an attack in order to compromise and disrupt a computing infrastructure.
Because of its adversarial nature, computer security is in continuous evolution. As it happens in many game-theoretical models, every move from either an attacker or a defender changes the state of the game and might invalidate current defenses or foil future attacks. In this arms race, everything evolves, all the time, and anticipating the possible threats becomes of paramount importance.
Therefore, security practitioners need to always think as an adversary, or, essentially, "think like a hacker."
This mindset is necessary during the response to an actual attack, in order to understand the tools, techniques, and goals of the attacker, based on the information collected in the field. But it's also important for security pros to continuously work on the skills they need to anticipate possible new attacks in the future.
But can someone actually learn how to think like a hacker? The answer is absolutely, "yes."
To start, a security professional needs to study past attacks in order to understand the common patterns attackers follow during the compromise of a network. There are many lessons to be learned from understanding even rather old attacks. For example, the book "The Cuckoo's Egg," which was published 30 years ago (before the advent of the Internet), describes several techniques that we see today in many sophisticated, state-sponsored attacks. These include the creation of backdoors, lateral movement, and intelligence gathering.
In addition, thanks to the Internet, there is now an enormous amount of information about the tools and techniques used by cybercriminals. Nowadays, this information is collected and shared among organizations using a number of different tools and standards — among them, MITRE's ATT&CK framework.
What's even more important is the need for security professionals to develop vulnerability analysis skills. Vulnerability analysis is the process of analyzing a networked system to identify possible security problems. While there are a number of scanning tools that can be used for network analysis, an in-depth analysis requires a more holistic approach that takes into account the design of the network, its goals, and its actual configuration. Given this information, it is then necessary to identify the underlying assumptions of the system's design, especially the undocumented ones.
For example, the developers of a web-accessible service that uses a back-end component, providing a functional API, might have assumed that the API endpoints will always be invoked through the Internet-facing web application, following the workflow defined by the user interface. However, a misconfiguration might provide direct access to the back-end server, giving the attacker the ability to invoke the API endpoints that implement the service directly, without necessarily following the workflow enforced by the web application. This could result in an authentication bypass.
In general, security professionals need to develop "oblique thinking," which is an adversarial mindset that focuses on identifying assumptions and determining if and how these assumptions can be violated. One way to develop this mindset is by participating in hacking — or capture the flag (CTF) competitions, as they are often called. These competitions, which were once few and incredibly selective — if not secretive — have become mainstream and have diversified to support the training of security professionals at any experience level.
By trying to solve security challenges in a variety of settings and topics — from binary analysis to memory and file system forensics to web security and cryptography — security professionals acquire skills and mindsets that are useful in the vulnerability analysis of real-world systems. Even though a systematic, well-structured learning experience cannot be replaced by playing CTFs, these competitions provide a motivation for acquiring new security skills in an entertaining, competitive setting.
Since security professionals need to think like hackers, leveraging hacking challenges is a fun way to acquire this new mindset.