引言
在数字化时代,网络安全已成为重要议题。随着科技飞速发展,网络面临频繁攻击,安全告警疲劳加剧,即安全系统频繁生成大量告警,降低了安全团队对真实威胁的警惕性从而忽视重要安全事件。其原因包括攻击手段多样化、告警规则难以平衡、安全团队谨慎态度和探针信息不一致等。生成式人工智能(Artificial Intelligence,AI)为解决告警疲劳提供了新途径,通过深度学习和自我调整,生成式AI更准确地识别和过滤安全威胁,提高处理效率。生成式AI降噪,包括告警疲劳的原因、传统降噪技术、AI模型降噪技术、生成式AI赋能技术及结论。该方法的创新点在于:一是基于微调数据和创新提示词结构的告警分析,通过独特的提示词设计和微调数据,提高了告警分析的准确性和解释性;二是引入大型语言模型代理(Large Language Model Agent,LLM Agent)降噪系统,集成大小模型和知识库数据,提高了告警研判的效率和准确性;三是机器学习和深度学习小模型的组合应用,实现了实时告警处理,提升了降噪效果。
1 告警疲劳与传统降噪技术
在安全运营中,系统安全维护依赖于监控和检测系统,通过收集、分析和处理日志数据来监视网络和系统活动,并生成告警以提示潜在的安全威胁。这包括将原始日志数据转换为可操作的安全事件或告警,识别异常行为和检测攻击迹象。例如,开源流处理框架Apache Flink的复杂事件处理(Complex Event Processing,CEP)功能通过定义和匹配模式,从海量日志中提取相关安全事件并生成告警[1]。然而,日志到告警的转化并不简单,误报导致的告警疲劳严重影响了研判效率和准确度。许多研究致力于减少误报以缓解告警疲劳,如减少错误操作、定期培训[2],以及探查告警因果依赖以过滤告警数据[3]。本章讨论传统的过滤告警噪声技术,探讨告警疲劳的原因及其带来的问题,并介绍规则匹配降噪技术在解决告警疲劳问题中的应用及局限性。
1.1 告警疲劳的原因以及当前问题
在网络安全领域,告警疲劳严重影响安全运营效率,其根源在于持续攻击、正常行为误报和探针日志不一致。技术进步使攻击手段不断演进,导致大量安全告警产生,给安全团队带来巨大研判压力。复杂网络环境中的正常行为如多次错误输入口令被误判为暴力破解,会造成大量误报,耗费安全团队时间,降低安全团队对真实攻击的关注。为避免漏报,安全团队倾向将不确定事件误判为真实攻击,导致大量噪声告警[4]。此外,不同厂商的安全设备日志格式和事件提取细节不同,导致告警准确度低、信息共享不畅,加剧了告警疲劳。告警疲劳不仅降低工作效率,还导致漏报真实攻击、降低警报可信度、延误安全事件响应并增加人工成本。
1.2 规则匹配降噪技术
规则匹配降噪技术通过制定和优化规则集,减少虚假告警数量,提高真实攻击的检测准确率。规则匹配降噪技术用到的主要方法包括:基于黑白名单规则过滤,利用已知恶意行为和可信应用对安全事件进行分类;基于特征匹配的规则过滤,通过已知攻击特征识别潜在威胁;基于统计分析的规则过滤,依据历史数据和异常特征检测异常行为。该技术能有效降低虚假告警率,提高检测准确度,减轻安全团队负担。然而,规则维护成本高、适用范围有限,需结合机器学习和AI以提升处理效率和效果。
2 AI模型数据分析降噪
尽管各厂商在探针日志采集数据的能力、告警提取规则和数据格式上有所不同,但整体相似,一般包含源互联网协议(Internet Protocol,IP)、目的IP、载荷、响应体、请求体、发生时间等必要数据。AI数据分析降噪技术利用这些结构化数据,实现告警数据的自动化、批量化分析。目前,AI降噪从整体架构层面分类主要分为小模型告警降噪和大模型噪声识别两种。
2.1 机器学习/深度学习小模型告警降噪
机器学习/深度学习小模型在告警降噪中发挥关键作用。近年来,已有大量结合AI降噪的研究[5-7]。告警降噪的核心目标是准确判断告警是否为误报,这一过程可视为结构化文本数据的分类问题。通过机器学习和深度学习技术,利用已有告警数据进行模型训练,可实现自动化误报判断。这些小模型通常具有较快的推理速度和较低的资源消耗,适用于实时告警处理。整个降噪流程包括告警收集、特征工程、降噪模型选择与训练、模型调优以及AI结果解释5个步骤。为提升降噪准确度,通常需要多个小模型从不同维度研判告警数据。
2.1.1 告警收集
告警收集来源于底层探针的进一步信息提取。告警数据本身带有明确的特征,需要通过特征工程,将其转化为可使用的向量。如果数据应用于监督学习模型,还需专家标注可信标签。标签根据模型应用有所不同。例如,识别正常业务时,需标注高置信度的正常业务误报告警;识别蠕虫时,则需标注高置信度的蠕虫攻击告警。
2.1.2 特征工程
特征工程是将特征向量化,使其适用于AI模型的过程。模型的准确率高度依赖于训练数据集的质量,而原始告警数据无法更改,因此特征工程的方式直接影响模型效果。不同的降噪模型有不同的特征提取方式。例如,针对识别漏洞扫描的模型,需要观测一段时间内对不同IP和端口的探测请求频率,基于源IP、目的IP、源端口、目的端口和时间戳等信息进行统计处理,生成特征向量。而针对载荷分析的模型,可以使用Word Embeddings和N-gram等方法抽取特征。本文试验部分从多个维度提取了特征。
2.1.3 降噪模型选择和训练
在拥有预处理的告警数据后,可使用机器学习或深度学习算法进行分类识别。为获得理想效果,通常结合多种模型,从不同维度全面分析和分类告警。对于依赖统计特征的模型,建议使用机器学习,因为其特征简单且易于解释;而对于复杂特征提取模型,如针对载荷文本的降噪模型,适合使用深度学习算法。在实际应用中,往往无法获取大量优质的人工标注数据,通常使用海量无人工研判的告警数据作为训练集。在这种情况下,可以使用聚类算法进行特征向量聚类。研究表明,无监督学习可以有效筛选误报。在实际试验中,随机森林、支持向量机(Support Vector Machine,SVM)和多层感知机(Multilayer Perceptron,MLP)等分类算法结合已有特征向量,可从漏洞扫描识别、正常业务识别和蠕虫行为识别等方面构建多个分类模型。而聚类模型则使用K-means和DBSCAN算法,聚类出相应基线。图1展示了载荷文本使用DBSCAN聚类算法后的二维空间映射效果。基于聚类算法的特征分析,当一条告警明显离散于所有聚类簇时,表明此告警较为异常,可能是一次真实攻击,因此可被标注为真实告警。其余聚类告警则通过研判聚类基线进行统一过滤,大大降低人工研判成本,提升效率。