多源情报融合分析技术的研究与应用:以电网企业为例
2022-06-13张亚昊
张亚昊,胡 威,节 骜
(1.国家电网有限公司信息通信分公司 网络安全监控中心,北京 100761;2.华中科技大学 电子信息与通信学院,湖北 武汉 430074)
能源安全是国计民生的基本需求。目前我国的智能电网是以特高压电网为骨干网架、各级电网协调发展的坚强网架为基础,以信息通信技术与平台为支撑,覆盖电力系统的发电、输电、变电、配电、用电和调度各个环节,实现“电力流、信息流、业务流”高度一体化融合的现代电网。从电力系统整体性分析发现,电力整体调度的稳定性、电力内部系统的安全性两大核心需求一直亟待解决。
随着全球网络对抗态势升级,电网内部系统面临复杂的安全情况,攻击者发起分布式攻击或伪装性强的鱼叉式钓鱼邮件,结合自动化工具缩短入侵时间,很难只依靠特征库匹配和单一情报源及时感知攻击行为。传统电网企业的安全防护体系采用“围墙式”防护手段,通过防守方的维度观察,预判攻击的行为周期和强度,但却限制了对于攻击行为的全面思考,如信息来源、深度处理等。攻击者维度的优势在于从攻击角度考虑攻击的发动时间、攻击手法、影响范围等,攻防对抗中,防守和攻击思路并重,同样吻合当前国家电网提倡的红蓝对抗模式。智能电网的应用对应急处置的准确性和时效性均提出了新要求。攻击维度的知识通常来自不同情报源,情报来源质量参差不齐,多类信息[1]质量不同,安全风险无法准确描述。此外,整合多情报源还存在管理问题[2],威胁数据通常存在敏感性,需要考虑信息包含内容、隐写敏感字段方式、管理身份限制等问题。所以攻防思维并重、威胁情报分析利用对于电网内部系统的信息安全起到强有力的保障作用。
笔者基于国内外现有研究,对国家电网情报生产的关键技术进行剖析,根据国家电网已有数据对安全日志智能分析算法、钓鱼网站指纹识别算法进行证明,佐证电网攻防逻辑的先进性和局限性,为更好地应用多源情报融合分析技术提供支持。
1 研究现状
针对当前电网企业网络安全问题的复杂性与研究的滞后性,“威胁情报”概念[3]的提出具有借鉴意义,其主要是指基于证据的知识,包括上下文、机制、标示、含义和能够执行的建议,这些信息来源与资产面临的威胁相关,可为资产对威胁的响应、处理决策提供信息支持。因此,“威胁情报”实际上能够帮助信息层扩大对威胁来源的感知范围,加深信息安全预警,将行业内或行业外、可见或不可见、潜在或非潜在的网络安全威胁,通过“早知道”“早预警”的方式提前分析,从而提出网络安全的防范预案。
海量安全日志格式不统一,电网企业面临的威胁信息需从系统被攻击的状态和行为进行分析,此时安全日志来自不同安全特征库记录的告警数据,数据具备可读性但格式不同,无法从海量日志中融合分析威胁情报。在情报融合分析研究方面,AL-SHAER等[4]研发层次聚类分析算法分析威胁情报,将MITRE ATT&CK攻击战术和战略作为数据源,推测未知的攻击行为;JUAN等[5]提出利用机器学习算法训练软件代理,使其像人工分析专家一样分析APT事件,但复杂性较高;张红斌等[6]提出网络态势感知模型分析情报,基于攻防博弈思想建模,量化攻防成本与安全状态,利用纳什均衡预测攻击行动,判断内源情报与预测结果的相似度;RUDMAN等[7]设计自动化情报提取模型,分析Dridex银行木马特征,并自动化提取攻击信息。上述研究均提到使用机器学习模型分析日志数据,但是尚未解决电网企业安全日志格式不统一的问题。
情报质量缺乏实际应用评估,黄克振等[12]设计基于区块链的网络威胁共享模型,利用区块链的去中心化和匿名性保护情报隐私性,利用回溯性追溯攻击链威胁;董聪等[13]阐述了面向安全情报的知识图谱框架,介绍了信息抽取、本体构建和知识推理技术,并根据情报本质讨论情报发展的现状,但未在电网企业等工程领域验证实施。此外,情报应用未与数学模型深度结合,PENG等[14]提出应用图论从被攻击系统视角关联离散的情报信息,识别复杂的网络入侵,认为更完善的矩阵数学结合关联函数有助于构建目标系统视角的情报模型。
综上所述,笔者从攻击者视角出发,改进现有机器学习模型,设计安全日志智能分析算法,提升安全日志转换内部情报的准确性,研究APT组织的网站指纹识别算法,生成准确的黑客画像情报,应用两种算法提升电网企业攻击溯源的效率。
2 多源情报融合整体流程
多源情报融合分析技术包含情报数据采集、数据标准化处理、情报智能融合分析和情报数据输出4个阶段。由于安全日志数据存在相互割裂、上下文信息不完整的问题,因此关联分析受限导致无法还原攻击路径,而智能融合分析阶段包含安全日志智能分析算法,能有效解决安全日志的标准化处理问题,具体流程如图1所示。
图1 多源威胁情报融合技术架构
(1)多源情报采集。多源情报采集模块包含外部情报聚合和安全日志信息两部分。外部情报聚合主要利用爬虫收集CNCERT等国家公开平台数据并生成国家情报,使用JSON接口接入行业情报和商业情报,存储人工研判的APT组织报告与MITRE ATT&CK知识库;安全日志信息主要采集各类安全设备的日志信息,包含防火墙、IPS、流量分析设备等,此阶段情报质量参差不齐、情报格式不统一问题较明显。
(2)数据标准化处理。多源情报采集开源情报、国家情报、行业情报与商业情报等信息,形成可用的外源威胁情报数据;安全日志信息通过标准化与归一化处理、合并降噪等方式整合成标准日志结构,并统一数据源的基本格式。
(3)情报智能融合分析。首先,以电网企业原始安全日志为数据源,包含对象为IP攻击日志与邮件数据,利用安全日志智能分析算法计算基础情报数据,进而得到攻击IP信誉评分,根据真实攻击事件实时生成内部情报;其次,基于K-means++的情报聚类分析训练机器学习模型,对邮件日志数据分类;最后,网站指纹识别算法实时提取钓鱼网站指纹,分析具备APT组织特征的攻击行为。
(4)情报数据输出。情报融合技术最终为态势感知提供情报数据接口,检索本地情报,根据情报源显示列表,并行向互联网SaaS API接口发起请求,将云端标注结果与本地情报合并展示。
3 情报分析算法关键技术
3.1 安全日志智能分析算法
安全日志智能分析算法在情报智能融合分析阶段收集流量数据、安全日志,提取数据详情,规范化处理后归并原始日志,利用权重统计算法、频度分析算法计算攻击源地址的威胁分数,运用时间衰减法动态调整威胁分数,智能分析算法可提升对同一IP地址少量多次的“喷洒式”攻击分析的准确性。
(1)权重统计算法。电网企业安全防护体系中部署防火墙、IPS、WAF与流量分析等多类安全设备,不同的安全设备拥有不同的特征库,其识别攻击的维度不同。针对高危IP地址命中不同安全特征库的情况,设存在n项安全设备的特征库,安全特征库的基准值为Bj,安全特征库的权重值为Wj,利用权重统计算法计算攻击源IP地址在m日周期范围的威胁分数S。
(1)
每台安全设备的威胁分数是其安全特征库的基准值Bj与安全特征库在m日内每日IP告警数量N的平均值的和,攻击源IP地址在m天的威胁分数S为此阶段内基于权重Wj的各安全设备威胁指数的加权平均值。
(2)频度统计算法。假设攻击源IP地址在攻击时间T存在频率集中的特点,则从时间维度计算安全日志的触发频率。设时间周期T内的攻击次数为AT,ST-1为时间周期T-1至T-2的威胁分数,AT-2为时间T-2的攻击次数,则依据频度统计算法计算攻击源IP地址在时间间隔T到T-1内的威胁分数ST为:
(2)
频度分析算法表示,ST为上一时间周期ST-1乘以攻击次数的增长比,增长比为时间间隔T至T-1内的攻击次数比时间间隔T-1至T-2内的攻击次数。
(3)时间衰减算法。从时间维度分析,若IP地址的分数S未根据权重统计和频度分析算法而产生变化,则启动时间衰减算法,如式(3)所示。
(3)
式中:St+1表示t+1时刻攻击源IP地址威胁分数;St为时刻t的威胁分数;p为衰减周期。
安全日志智能分析算法初步范式化安全日志格式后,使用权重统计算法依据多个特征库从攻击空间维度详细分析攻击手法,保证情报的全面性;使用频度分析算法从攻击时间维度关联攻击行为,保证情报的连续性;使用时间衰减算法从情报生命周期维度迭代更新威胁分数,保证情报的时效性。
3.2 基于K-means++钓鱼邮件聚类与钓鱼网站指纹识别算法
从攻击者视角分析,电网企业除遭遇分布式攻击外,还面临长期、持续且针对性强的APT攻击,此类攻击试图绕过传统的安全监控技术,通常结合社会工程学制定攻击战术,鱼叉式钓鱼邮件成为APT攻击的主要载体。笔者基于K-means++钓鱼邮件聚类分析邮件APT攻击样本,关联相似特征的原始邮件,设计钓鱼网站指纹识别算法关联APT组织的活动规律,生成符合钓鱼邮件特征的画像情报。
(1)基于K-means++钓鱼邮件聚类模型算法。该算法根据邮件主题、邮件内容、样本病毒类型、钓鱼网站URL、钓鱼网页特征5个元素,训练钓鱼邮件聚类模型。算法的生成流程如下:①钓鱼邮件特征向量计算,根据常用的钓鱼邮件关键判定元素,梳理钓鱼邮件特征并生成27维特征向量,特征向量的定义如表1所示。该特征向量用来标识每个钓鱼邮件,并通过归一化处理使每个值在0~1之间。②设置URL过滤模块,选取原型网站,提取钓鱼邮件链接的URL特征,比较原型网站URL与钓鱼链接URL的相似程度,将相似度高的邮件归并到同一钓鱼邮件集合,并以原型网站命名集合。③URL过滤不匹配的网站,利用混合钓鱼邮件模型进行特征识别,根据提取的特征用K-means++模型学习、训练,产生降维后的特征数据,再利用有监督分类功能的KNN算法进行分类识别。
表1 钓鱼邮件特征向量定义
(2)APT钓鱼网站指纹识别算法。攻击者使用钓鱼网站进行攻击,在生成钓鱼页面时往往会选择与某些开源网站相类似的页面模板,提高页面的仿真效果。APT钓鱼网站指纹识别算法可以分析攻击者使用钓鱼网站的特征,计算网页中隐藏的特殊值,生成网页指纹信息,检索网络空间测绘平台,批量关联分析攻击者使用的其他钓鱼网站,扩充样本空间,提升溯源APT组织行为的准确率。
一次钓鱼邮件攻击事件PISH为一个三元组,由攻击手法A、网站IP地址I、网站URL地址U构成,即PISH=(A,I,U)。钓鱼网站U的指纹值FPU为一个多元组,由a、b、c共3个特征值构成,即将ico后缀文件的返回数据作为关联值a,将钓鱼网站U的注释值作为关联值b,将钓鱼网站html源码中十六进制字符和特殊字符组成的字符串作为关联值c。算法描述如下:①结合MITRE ATT&CK知识库与商业威胁情报,以钓鱼邮件攻击PISH包含的网站IP地址I与URL信息U为线索,检索APT组织信息。②通过式(4)~式(6)分别计算a、b、c3个特征值。其中,icon为网页中第一个ico后缀文件请求的服务器返回数据;base64()为base64编码函数;mmh3()为mmh3哈希算法的加密函数;注释值b表示钓鱼页面共n个注释字符串的首尾相接后取单向散列的结果,其中md5()为单向散列函数算法;bi为钓鱼页面中第i个注释字符串;特征值c为网页前端源代码中的字符串,如图2所示,由十六进制字符和特殊字符组成,钓鱼网站U与特征值c为唯一对应关系,即U为c关于功能函数f的原像,功能函数f为网站后端代码的业务逻辑函数。③通过实验组与对照组的对比分析,应证明存在功能函数f,使得钓鱼网站U与特征值c为唯一对应关系。④如果功能函数f不存在,即钓鱼网站U与特征值c的唯一对应关系不成立,则钓鱼网站U的指纹FPU=(a,b)。如能证明功能函数f存在,则钓鱼网站U的指纹FPU=(a,b,c)。⑤访问网络空间测绘平台的搜索引擎,根据关联值a和关联值c进行检索,返回值为同类型钓鱼网站样本集合,逐一计算样本集合中网站的指纹信息FPU,FPU值相同的网站为同一APT组织使用的攻击战略资源。
图2 关联值c样例图
a=mmh3(base64(icon))
(4)
(5)
c=f(U)
(6)
网站指纹识别算法通过定义网站指纹FPU,描述黑客画像的指纹信息,其实质为基于情报的关联分析算法,总结单一攻击行为的共性,推算高级可持续威胁的攻击特征。
情报智能融合分析阶段包含安全日志智能分析算法、基于K-means++的情报聚类分析算法和网站指纹识别算法3种算法。为验证电网企业情报应用的理论基础,测试3种算法的优缺点,通过实验评估上述情报算法的质量问题,保证算法质量并为未来改进方向提出建议。
4 情报分析算法实验证明
通过与同行业情况对比分析,选取实验证明安全日志智能分析算法的效率,同时通过应用案例证明钓鱼网站识别算法的有效性。
4.1 安全日志智能分析算法实验
根据上述安全日志智能分析算法的数据源,收集2021年7月19日—8月19日6台电网企业安全设备的原始日志,应用安全日志智能分析算法处理日志量215.4万条,生产情报18 663条,如图3所示。由图3可知,与某水利部委与商业银行情报分析算法相比,该算法具有良好的情报转换率,且随着安全日志数量的提升,其他行业的情报转换率呈现下降趋势。
图3 情报智能分析算法性能对比
4.2 基于K-means++的钓鱼邮件聚类算法验证
根据基于K-means++的钓鱼邮件聚类算法的前提描述,收集电网企业2020年5月—2021年5月的原始邮件样本300余万份。利用该算法进行聚类计算,训练5个钓鱼邮件模型样本,样本模型分析如表2所示。利用2021年5月至6月的数据进行测试,均发现存在类似钓鱼邮件,邮件主题与附件病毒类型相似,证明了钓鱼邮件聚类算法的有效性。
4.3 钓鱼网站指纹识别算法验证
结合爬虫技术与钓鱼网站指纹识别算法,分析钓鱼URL链接的网站样本与邮件附件的HTML文件,梳理5类钓鱼邮件样本强关联的指纹信息,具体结果见表2。
表2 钓鱼邮件指纹识别算法统计表
为验证指纹识别算法的有效性,以邮件样本三为例说明指纹生成算法的步骤:①计算钓鱼攻击PISH(1)=(A1,I1,U1),A1为钓鱼邮件攻击,钓鱼网站IP地址特征值I1为45.76.66.60,域名U1值为downloaddrive.dynamic-dns.net,属于台湾APT组织绿斑。②计算钓鱼网站U1的网站指纹FPU1,因样本三的ico文件与QQ文件中转站ico图标一致,运行关联值a的生成函数,得到其值为-1298027235,根据算法生成关联值b为“53f5de16bedc1182f8e754b4d774b98e”。③验证关联值c与网站U1的唯一对应关系,网页控件代码的标签中存在十六进制字符串k。经分析,影响k值的变量为QQ号、时间戳和文件哈希值(Hash),根据多个实验组与对照组,发现k值生成流程如图4所示,存在功能函数f1的输入为QQ号码、时间戳和文件Hash,在文件上传后生成唯一k值,如果将此链接转发非QQ邮箱,文件中转站URL链接页面携带唯一k值,证明QQ网站U1为关联值c关于功能函数f1的原像。④计算关联值c,提取钓鱼网站U1源码中的k值,因字符串k值具备唯一性,得到关联值c,如图5所示,因此钓鱼网站指纹FPU1= (-1298027235,53f5de16bedc1182f8e754b4d774b98e,726666304574c29de131ec271361534902565352545104541c040205034c550052554b080c04534b030302540703055057000701356f61aedcd9a8fcd7b0b1d88e481c594515c)。
图4 指纹生成算法流程图
图5 关联值c的指纹信息
根据关联值c检索网络空间测绘平台,提取仿冒QQ中转站的钓鱼网站共7个,利用钓鱼邮件聚类算法和网站指纹提取算法,计算钓鱼网站指纹FPU值均相同,成功分析邮件样本中包含台湾APT组织绿斑的攻击行为,证明网站指纹算法可识别APT组织行为特征,说明钓鱼网指纹识别算法具有很好的应用效果。
5 结论
(1)针对分布式攻击IP地址与鱼叉式钓鱼邮件样本,设计一组情报分析算法,利用多源威胁情报融合分析技术,完成海量安全日志与APT事件深度分析,得到以下结果:①设计多情报融合分析技术架构,聚合多种外部情报源用于情报智能分析;②设计安全日志智能分析算法计算攻击源威胁分数,提升对百万级数据量的情报分析能力;③设计K-means++的聚类算法与网站指纹识别算法,提取钓鱼网站的指纹特征,关联分析APT组织活动规律,提高威胁情报识别高级可持续威胁的准确性。
(2)下一步将研究安全日志智能分析算法与并行处理日志的能力,丰富电网企业高级持续性威胁的分析场景。未来电网企业将实践平战转化,以攻促防等模式,从攻击和防守两个维度思考安全防护问题,通过红蓝对抗与实战演练检验电网企业安全防护手段的有效性。