先给结论:当单次检测只覆盖少量页面、少量请求或很短时间窗时,不要把它直接当成整体安全状况的变化趋势。更稳妥的做法是先判断这批样本能否支撑“变化”这个结论,再决定是继续扩大样本,还是改用可复核的证据链去验证某一种解释。
小样本本身不是问题,问题在于它被用来回答哪类问题。可以按下面两种条件区分:
判断依据不是样本绝对数量,而是样本占可检测总体的比例,以及这次抽样是否带有偏向。若抽样偏向某一类页面或某一类请求,即使数量增加,结论方向也可能被带偏。
当检测结果与直觉相反,比如原本以为风险在下降,却看到某类告警变多,不要立刻归因于“攻击变强”或“防护失效”。先列出几种都能解释同一现象的原因:
这几种解释指向的证据不同。范围变化看检测清单和覆盖记录;口径变化看规则版本和判定日志;时间窗影响看同一对象在不同时段的重复结果;真实变化则需要能复现的请求或页面作为证据。
一个实际动作是:对出现反常的那一类结果,固定同一检测条件,在另一个时间点重复一次,并记录两次的输入清单、规则版本和时间戳。结果分三种:
这个动作的价值在于:它把“看起来像趋势”变成“能否复现”。能复现的结果才值得投入更多检测资源;不能复现的结果,扩大样本只会放大噪声。
假设某次检测只覆盖了20个页面,其中3个报出同一类问题,而上一次覆盖100个页面时只有2个报出同类问题。表面看比例从2%升到15%,像是明显恶化。但两次的检测范围不同,不能直接比较比例。正确做法是先确认这20个页面是否属于上次未覆盖的类型;若是,则这次结果更可能反映“覆盖范围扩大”,而不是“风险上升”。只有把两次都覆盖的页面单独拿出来比较,结果才具备可比性。
有两种例外值得注意。第一,检测对象接近全量,结论只针对当前这批对象,不外推。第二,发现的是确定性的配置错误或可稳定复现的请求,这类结果不依赖统计趋势,单次即可确认。除此之外,凡是涉及“变多、变少、变好、变坏”的判断,都应先满足可复现和口径一致这两个前提,再谈趋势。
把这两点作为门槛,小样本就不会被误读成趋势,后续的检测投入也能落在真正需要确认的方向上。