The attack surface of a software environment is the sum of the different points (the "attack vectors") where an unauthorized user (the "attacker") can try to enter data to or extract data from an environment. 
Examples of attack vectors
The basic strategies of attack surface reduction are to reduce the amount of code running, reduce entry points available to untrusted users, and eliminate services requested by relatively few users. One approach to improving information security is to reduce the attack surface of a system or software. By turning off unnecessary functionality, there are fewer security risks. By having less code available to unauthorized actors, there will tend to be fewer failures. Although attack surface reduction helps prevent security failures, it does not mitigate the amount of damage an attacker could inflict once a vulnerability is found.
- "Attack Surface Analysis Cheat Sheet". Open Web Application Security Project. Retrieved 30 October 2013.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
- Manadhata, Pratyusa (2008). An Attack Surface Metric (PDF).<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
- Michael, Howard. "Mitigate Security Risks by Minimizing the Code You Expose to Untrusted Users". Microsoft. Retrieved 30 October 2013.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
|This software-engineering-related article is a stub. You can help Infogalactic by expanding it.|
|This security software article is a stub. You can help Infogalactic by expanding it.|