如何评价IDS漏洞攻击检测覆盖面指标

对入侵检测防护产品的评测中 , 我们经常需要对它们的漏洞攻击检测能力做出评价 , 其中涉及漏洞的覆盖面即是能力的一方面 , 那么如何去评价?以什么指标去衡量才能得到相对客观公平且有说服力的结果呢?这个文章中我们来讨论一下这个问题 , 在此提出一个可操作的量化指标 。
1、指标的设计
1.1 CVE漏洞条目数量指标
最简单的方案是显而易见的 , 通过统计IDS/IPS所能检测的利用漏洞攻击种数来进行比较 。目前多数主流的IDS/IPS产品都提供了CVE名的支持 , 每个CVE名对应一个独立的安全漏洞 , 虽然CVE名字表不可能包含所有的已知安全漏洞 , 但至少包括了其中的大多数重要条目 。因此通过统计产品相关的CVE条目数量可以大致了解IDS/IPS的漏洞攻击检测覆盖面 。我们最原始的评价指标可以是产品相关的CVE漏洞条目个数 。
1.2 CVSS漏洞威胁评分修正
上面的漏洞数量指标存在一个问题 , 因为它假设了每个漏洞有相同的威胁级别 , 而事实情况并非如此 , 因此我们在评价过程中必须考虑漏洞本身的威胁等级 。感谢CVSS漏洞威胁评分项目的工作成果 , 它为每个CVE漏洞条目按威胁程度的高低打了分 , 最高威胁级别的漏洞为10分 , 从NVD的网站上可以轻易地获取漏洞基本威胁评分的数据 。由此 , 我们的指标可以修正为产品涉及到的CVE漏洞条目的CVSS评分的总和 。
1.3 时间因素上的修正
考虑了漏洞威胁级别的高低 , 无疑使我们的指标更具准确性和可比较性 , 但上面的指标还是有可以改进的地方 。在这里我们需要引入时间因素 , 因为当漏洞被披露以后 , 随着时间的推移 , 由于软件新版本的更新 , 有意或无意的漏洞修补 , 存在漏洞的系统越来越少 , 相对来说漏洞的威胁呈现一个越来越小的趋势 , 也就是说 , 同样CVSS威胁基本评分为8的2000年与2006年的漏洞在2006年评价时现实的威胁程度是很不一样的 。
【如何评价IDS漏洞攻击检测覆盖面指标】其实 , CVSS漏洞威胁评分系统的设计考虑了威胁评分随时间及布署状况的修正 , 一个漏洞的CVSS威胁评分涉及三个层次:基本评分、生命周期因素修正、环境因素修正 。基本评分是根据漏洞本身固有特性所可能造成的影响评价得到的分值 , 生命周期因素修正就是基于时间进程的修正 , 环境因素即是基于布署情况的修正 。NVD提供了CVE条目的基本评分 , 环境因素取决于组织受漏洞影响产品布署状况 , 生命周期因素修正需要跟踪每个漏洞的补丁发布情况 , 工作量巨大 , 一个单独的组织是无法完成的 , 因此NVD也未给出相应的数据 。
对于我们的评价指标 , 我们简单地采用一个极粗糙的威胁随年数增加线性递减的算法:
漏洞的当前威胁评分 = CVSS基本评分* (8-(2006-漏洞发布的年))/8
这样一个线性算法与事实情况并不一致 , 事实情况是漏洞在公布的一两年内威胁程度迅速下降 , 之后几年内的下降则非常的小 , 所以 , 基本上线性递减只是一个聊胜于无的计算方法 , 考虑到每个漏洞的情况并不那么一致而且指标只用于作相对的比较 , 这样的算法也是可接受的 。
到此评价指标修正为所有CVE相关的漏洞当前威胁评分的总和 。
2、如何操作及几个常见产品的指标分析
2.1 获取每个CVE条目对应的CVSS评分
从NVD网站下载CVE评分数据文件 , 文件为XML格式 , 每年一个单独的文件 , 它包含了每个CVE条目的详细信息 , 使用所附的 extract-cve-score.pl 脚本将其中CVE名和相应的CVSS评分提取出来 , 把打印出来的数据重定向的文件中 , 并将多年的数据整合到一个文件中 , 这个即是我们以后会使用到的CVE名和对应CVSS评分的对照表 。

推荐阅读