Software architects should strive to create software systems that are secure by design. By following proven security principles and practices, we can make our software applications more secure.
Secure by design
Minimizing the attack surface
The attack surface consists of all of the points that an attacker can use to get into a system. The design of a software system should attempt to minimize the total attack surface area as much as possible. Using different types of security control and following security principles and practices that are known to improve security can reduce the attack surface. One should consider the attack surface when choosing from among multiple approaches that will satisfy a particular functional requirement...