软件环境的攻击面是未经授权的用户(攻击者)可以进入系统或从系统中提取数据的一组方法。系统的攻击面是系统安全性的指标。
如果一个系统的攻击面更大,它就更容易受到攻击。在考虑软件安全性时,保持攻击面尽可能小至关重要。
攻击面被攻击向量渗透。这些可能是缓冲区溢出、网络协议缺陷或基于 Web 的攻击媒介,例如木马、广告软件、恶意软件等等。
未经授权的用户的攻击可能会通过更改或从系统中提取信息而造成损害。然而,减少攻击面并不能减轻恶意行为者在破坏系统后可能造成的损害。
要渗透系统的攻击面,只需找到系统的一个易受攻击或不安全的点就足够了。对于更复杂的攻击,攻击者可能首先可视化系统并绘制所有设备及其路径。然后可以为每个节点识别和利用潜在的漏洞。
必须减少攻击面以构建更安全的系统。这可以通过应用一些基本的安全措施来完成:
- 减少正在运行的代码量。更少的代码等于更少的攻击向量。
- 减少系统中的入口点。更少的入口点导致未经授权的用户的攻击向量更少。
- 消除仅由一小部分用户使用的服务。通过关闭不必要的功能,攻击向量将会减少。