“百家”,既是“诸子百家”,亦为“百花齐放”。他们是各行各业网络安全专家:有CSO、业界大咖、权威代表,更有奋战在网安一线的实践者、思想者和分享者。安在“百家”,最佳实践,真知灼见,思想火花,期待有你!
作为一线工程师,经常遇到客户在SOC 、WAF、EDR等平台存在海量告警的问题,处理方式一般包括手工加白、规则更新或者通过集成更大的平台包容各个平台的海量告警进行聚合分析。在大模型的不断发展下,对于告警降噪的处理更多探讨的是垂直领域的安全大模型微调,这种方式不仅需要很大的资源成本,对于海量参数的模型微调也需要很大的技术投入,有没有更好的方式不仅能够结合现有的大模型的能力同时又能绕过大模型的微调实现告警降噪呢?本文提出了三个可供参考的视角:基于置信度阈值的降噪,基于时序关联的降噪,基于集成学习模型的降噪,并通过实验论证了降噪效果。
清洗好的原始告警数据 -> 利用基础安全AI模型抽取部分数据集进行“原始预测” -> (可选) 应用置信度阈值降噪 -> (可选) 应用时序关联降噪 -> (可选) 应用集成学习模型降噪
整个流程的前提也是最核心最关键的一步就是准备高质量的、经过清洗和标注的数据集,本次我准备了已经清洗过且标注好的数据集,有需要的朋友可参考这种数据集格式梳理出来,直接在实际场景中配合使用。本数据集总计871条数据,其中正常条数700条,攻击条数171,攻击包占比19%,另外把该数据集分割为验证集和测试集,验证集用来做大模型原始预测,测试集用来做推理结果的输出。
本次测试以2025年4月思科开源的Llama-3.1-FoundationAI-SecurityLLM-base-8B作为安全基础模型,绕过大模型二次微调,分别结合置信度阈值、时序关联、集成学习模型等方式实现降噪测试。
链接:
https://pan.baidu.com/s/1dUl32zQHSaHFVoHQvTDwVw
提取码: q2p5
python -m venv venvsource venv/bin/activatepip install -r requirements.txt#导入Cisco Foundation-sec-8b模型git clone https://www.modelscope.cn/fdtn-ai/Foundation-Sec-8B.git
torch>=2.0.0transformers>=4.30.0pandas>=1.5.0numpy>=1.24.0scikit-learn>=1.0.0faker>=18.0.0tensorboard>=2.12.0matplotlib>=3.7.0seaborn>=0.12.0tqdm>=4.65.0python-dotenv>=1.0.0
●告警降噪率 = (原始告警数 - 降噪后告警数) / 原始告警数
●精确率 = 正确识别的攻击数 / 预测为攻击的总数 【在所有被模型预测为攻击的告警中,真正是攻击的比例】
●召回率 = 正确识别的攻击数 / 实际攻击总数 【在所有真实攻击告警中,被模型正确识别出的比例】
●F1分数 = 2 × (精确率 × 召回率) / (精确率 + 召回率) 【精确率和召回率的调和平均数,综合评估模型性能】
核心思路:利用模型预测的置信度作为噪声过滤器
核心代码片段:logits = outputs.logitsprobabilities = torch.softmax(logits, dim=1)confidence, predictions = torch.max(probabilities, dim=1)# 置信度过滤逻辑if pred == 1: # 如果大模型原始预测为攻击 if conf >= threshold: # 高置信度才保留 filtered_preds.append(1) else: # 低置信度改为正常 filtered_preds.append(0)
置信度阈值计算原理
先通过验证数据集让大模型进行原始验证预测,找到最佳置信度阈值(即信心判断的程度),通过代码输出结果,可以看到本次提供的数据集中,最佳置信度阈值为0.6。
然后获取模型原始预测和置信度:比如
模型对告警A的原始预测是“攻击”,置信度是0.85;
模型对告警B的原始预测是“攻击”,置信度是0.40;
模型对告警C的原始预测是“正常”,置信度是0.95。
最后应用阈值进行过滤判断:
告警A:原始预测“攻击”,置信度0.85 >= 0.6 (阈值) → 最终预测“攻击”。
告警B:原始预测“攻击”,置信度0.40 < 0.6(阈值) → 最终预测修正为“正常”。
告警C:原始预测“正常” ,置信度0.95 > 0.6(阈值) →最终预测保持“正常”。
降噪前后指标对比
如下图所示,通过大模型结合置信度阈值的降噪方式,精确率提升5.1个百分点,F1分数提升3.6个百分点,总体减少了16%的告警噪声,目前只是初步验证,还可以继续深入优化,比如提升召回率、继续提升精确率等。
核心思路:基于告警时间序列和关联字段识别重复/相似告警作为噪声
# 时间窗口关联分析for current_alert in processed_alerts: if current_alert['prediction'] == 0: # 只处理预测为攻击的告警 continue is_correlated = False current_time = current_alert['timestamp_dt'] # 在时间窗口内寻找相关告警 for other_alert in processed_alerts: time_diff = abs((current_time - other_alert['timestamp_dt']).total_seconds()) if time_diff <= time_window_seconds: # 检查关联字段匹配 (source_ip, dest_ip, alert_type) for field in correlation_fields: if current_alert.get(field) == other_alert.get(field): is_correlated = True break if not is_correlated: filtered_preds[i] = 0 # 没有关联的告警认为是噪声
时序关联降噪原理
如果一个告警被大模型“原始预测”是攻击,并且通过时序关联,在设定的时间窗口内(5分钟)的告警匹配上了至少一个以上的字段(如source_ip、dest_ip或alert_type),那么这个“原始预测”为“攻击”的判断就得以保留。我们说它“得到了佐证”。相反,如果一个告警的“原始预测”是攻击,但在时间窗口内没有找到任何其他告警能在任何一个字段上与之匹配,那么这个“原始预测”就会被修正为“正常”(即降噪)。
降噪前后指标对比
通过大模型结合时序关联的降噪,效果十分明显,减少了60.7%的告警噪声,召回率虽然稍微降低了,但是后续可以通过调整时间窗口进行优化。
核心思路:通过多模型集成实现模型多样性,用投票机制提升鲁棒性
# 关键:启用训练模式激活dropoutif enable_dropout_ensemble: self.model.train() # 保持训练模式else: self.model.eval() # 评估模式# 多次运行获得不同预测for run_idx in range(self.num_ensemble_runs): outputs = self.model(input_ids=input_ids, attention_mask=attention_mask) # 每次运行由于dropout随机性产生不同结果# 投票决策if vote_count >= voting_threshold: filtered_preds.append(1) # 达到投票阈值才认为是攻击
集成学习模型原理
通过加载多个模型集成预测,通过多个模型进行训练得到预测结果。我这里资源有限,显存只有24G,咱们这里尝试仅使用单个Foundation-8B模型通过Dropout集成的方式进行预测(即使用同一模型 +不同训练模式 + 相同输入 = 不同预测 )
降噪前后指标对比
看来针对单一模型的不同训练模式没有起到降噪效果,建议有算力资源的朋友可以尝试直接集成多模型验证效果。
1.降噪实现过程比较耗费GPU资源,通过内存优化管理,可以让算力性能效果实现最大化。
2.数据集的选择要攻击和正常的数据趋于平衡,如果直接用存在大量误报且攻击包很少的数据集,会导致模型对攻击特征识别不明显,模型无法学到有效模式,另外噪声数据太多也干扰模型学习。(最初我准备的是4%的攻击数据,攻击数据偏少了,预测就没有什么效果)。
3.本次测试只注重了降噪率,实际过程也应该考虑召回率指标,即让误报变少的同时, 也要避免真实的攻击被漏报。
4.通过三种方式的验证,可以看出思科开源的Foundation-8B安全大模型预测的指标可实现部分降噪效果,但是结合置信度阈值、时序关联,在绕过大模型二次微调的情况下,降噪效果更加明显。
5.真正落实到企业侧仍需关注数据集质量、算力资源消耗、答案可信度、大模型本身安全等问题。
https://modelscope.cn/models/fdtn-ai/Foundation-Sec-8B
https://blogs.cisco.com/security/foundation-sec-cisco-foundation-ai-first-open-source-security-model
https://www.bigpanda.io/blog/alert-noise-reduction-strategies/
https://flore.unifi.it/bitstream/2158/1417733/1/1-s2.0-S156625352500199X-main.pdf
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...