An attack surface is the total sum of the vulnerabilities in a given computing device or network that are accessible to a hacker.
Anyone trying to break into a system generally starts by scanning the target’s attack surface for possible attack vectors, whether for an active attack or passive attack, ethical hacking or a hacking competition.
Attack surfaces can be divided in to a few categories:
- The network attack surface.
- The software attack surface.
- The physical attack surface.
Every point of network interaction is a potential part of the network attack surface. A network attack surface can be reduced by closing unnecessarily open ports and limiting the resources that are available to untrusted users and to the Internet in general, through methods like MAC address filtering. Limiting network attack vectors can also limit the exposure of existing software vulnerabilities by blocking access to them.
As all running code has the possibility of having exploitable vulnerabilities, one of the first and simplest ways to limit software attack surface is to reduce the amount of running code. The more a piece of malware can use various exploits, the more chance it can get in via a hole in a target system’s attack surface.
Physical access also constitutes an attack surface, which overlaps with the social engineering attack surface. This surface is exploitable by inside vectors such as rogue employees or hired workers. External risks include password retrieval from carelessly discarded hardware or from password sticky notes. Best practices for physical attack surface remediation include enforcing strong authentication, destroying hard drives before throwing them out and refraining from leaving hard copy access data -- like sticky note passwords – in proximity to a computer.
Knowledge of all elements of an organization’s attack surface is crucial to proper setup of breach detection systems (BDS), firewalls, intrusion prevention systems, data policies and other security measures.