9.3.1  攻击面最小化分析的概念

9.3.1 攻击面最小化分析的概念

攻击面(attack surface)是攻击者用来攻击产品的地方。比方说一位战士穿了一套盔甲,但它仅能遮住身体的一半,另一半则是脆弱的攻击面。在进入战斗前,战士总是希望尽可能多的用盔甲保护身体来减少攻击面。信息系统也是如此。信息系统的攻击面指的是系统中任何可以被外部程序或人员所访问的部分,如网络连接、数据文件、注册表项等。一般来说,信息系统的入侵检测、防火墙等各种安全加固手段是十分重要的,但却无助于阻止新的漏洞形成的风险。因此,开发团队应该尽可能多的减少攻击面,因为系统的攻击面越大,攻击者的进入途径越多,破坏成功的可能性因而也就越大。

攻击面最小化分析的目的是识别和减少可以被不可信用户访问的代码和功能的数量。减少攻击面的基本策略是减少运行代码的数量、减少不可信用户可用的进入点、尽可能多的降低权限级别和删除不必要的服务。攻击面最小化分析通常是通过专门工具来对产品的不同部分进行列举并把结果汇总成一个数值,应仔细检查文件、注册表键、内存数据、会话信息、进程和服务细节。