
上QQ阅读APP看书,第一时间看更新
1.2.5 缓解措施
缓解措施 [1]是指针对软件缺陷的解决方案,或者用于防止软件漏洞被利用的应急方案。在源代码的层次,缓解措施可以是非常简单的操作,例如,使用一个带边界检查的字符串复制函数取代不带边界检查的字符串复制函数。而在系统或网络的层次,一个缓解措施可能就是关掉某个端口或者对流量进行过滤,使攻击者无法接触到漏洞。
消除安全缺陷的首选做法应该是找到并修正它。然而,在某些情况下,阻止恶意的输入信息接触到漏洞所在地对于消除安全漏洞更划算。通常不推荐采用这种方法,因为这要求开发人员首先理解攻击者所能采用的所有攻击手段,并有针对性地对代码中可能引发缺陷的所有执行路径都进行识别和保护。
缓解措施(mitigation)
指能够保护或者限制对漏洞进行利用的方法、技术、过程、工具或运行库。
漏洞问题也可以通过将漏洞隔离或者阻止恶意输入到达漏洞代码处的方式解决。由于这种解决方式实际上是将在开发者身上花费的代价转移到了系统管理员和最终用户身上,因此最终会造成缓解措施的总成本的提高。另外,由于缓解措施必须由主机的系统管理员或者用户进行成功地实施,因此不能保证在所有情况下漏洞都能正确地处理。
[1] 缓解措施也可称为对策(countermeasure)或规避策略(avoidance strategy)。