笔者按
2020和主要研究课题:
- 下一代态势感知技术的方向和技术栈如何演化
- 机器学习和网络安全结合的理论可行性到底在哪里,网络安全需要哪些形式的机器学习,如何最优地利用机器学习赋能网络安全
笔者在2020年,会围绕模糊性理论、概率推断理论、自然语言处理、编程语言向量化处理,这几个方面展开安全智能的课题研究,希望能对行业和社会带来一点点小帮助。
Relevant Link:
http://www.doc88.com/p-2798218282863.html
1. 数据集成
态势感知中,日志是一个最底层基础的组件。在网络安全领域,时时刻刻发生的网络数据量非常巨大,并且常常来自于多个异种数据源,数据的复杂度和”肮脏“程度更甚。没有高质量的数据就没有高质量的数据分析结果,高质量的决策必须依赖高质量的数据。
多源异构数据的不一致性也是常见的引起数据错误的原因。为了减少数据集的不一致性和冗余,我们需要对数据进行集成,也就是对来自多个数据存储的数据进行合并处理、解决语义模糊性的过程。
所谓数据集成,就是将若干个分散的数据源中的数据,逻辑地或物理地集成到一个统一的数据集合中,其核心任务是要将互相关联的分布式异构数据源集成到一起,提供统一的数据结构。
0x1:数据集成的难点
数据分析之前常常需要进行数据集成。数据集成即将多个数据源中的数据合并,存放在一个一致的数据存储中,如存放在数据仓库或大数据平台中。网络安全态势感知的数据源可能包括:
- 异种数据库
- 文本文件
- 一般配置文件
- 各类XML文件
- HTML文档数据
- 电子邮件
- 网络包捕获数据
数据集成的难点主要体现在以下方面:
1. 异构性
被集成的数据源来自多个渠道,数据模型异构给集成带来很大困难。这些异构性主要表现在
- 语法
- 数据语义
- 数据源使用环境等
语法异构和语义异构的区别可以追溯到数据源建模时的差异:
- 当数据源的实体关系建模相同,只是命名规则不同时,造成的只是数据源之间的语法异构
- 当数据源沟通实体模型采用了不同的粒度划分、不同的实体间关系以及不同的字段数据语义表示,必然会造成数据源间的语义异构,给数据集成带来很大麻烦
- 此外,复杂的关系模型也会造成很多语义异构现象
2. 分布性
数据源是分布在不同系统和设备中的,需要依靠网络进行数据传输,这就涉及网络传输性能以及如何保证安全性等问题。
3. 自治性
各个数据源有很强的自治性,可以在不通知集成系统的前提下改变自身的结构和数据,这就给数据集成系统的鲁棒性提出挑战。
0x2:数据集成类型层次
数据集成可以分为以下4个类型层次。
1. 基本数据集成
在基本数据集成的过程中会遇到很多问题,其中最难的问题之一就是通用标识符问题,当同一”业务实体“存在于多个系统源中,并且没有明确的办法确认这些实体是同一实体时,就会产生这类问题。处理该问题的典型办法有:
- 隔离:保证实体的每次出现都指派一个唯一标识符,也即所谓的全局唯一id
- 调和:确认哪些实体是相同的,并且将该实体的各次出现合并起来
- 指定:当目标元素有多个来源时,指定某一系统在冲突时占主导地位
2. 多级视图集成
多级视图主要用于对数据源之间的关系从低层次向高层次进行集成:
- 底层数据表示方式为局部模型的局部格式,如关系和文件
- 中间数据表示方式为公共模式格式,如扩展关系模型或对象模型
- 高级数据表示方式为综合模型格式
视图的集成化过程为两级映射:
- 数据从局部数据库中经过数据翻译、转换并集成为符合公共模型格式的中间视图
- 进行语义冲突消除、数据集成和数据导出处理,将中间视图集成为综合视图
3. 模式集成
模式集成理论属于数据库设计问题。
4. 多粒度数据集成
多粒度数据集成是异构数据集成中最难的部分,理想的多粒度数据集成模式应当是自动逐步抽象。
多粒度数据集成包括数据综合和数据细化两个方面:
- 数据综合也称为数据抽象,实际上是特征提取和归并的过程,它是指由高精度数据经过抽象形成精度较低但粒度较大的数据,其作用过程为从多个较高精度的局部数据中获得较低但粒度较大的数据,其作用过程为从多个较高精度的局部数据中获得较低精度的全局数据,并对各局域数据进行综合,提取其主要特征。
- 数据细化指通过由一定精度的数据获取精度较高的数据,实现该过程的主要途径有时空转换、相关分析、或者由综合中数据变动的记录进行恢复等
2. 数据归约
网络安全数据归约属于数据融合的范围,其大致过程为:按照数据的来源、类别、属性、时间等进行融合,形成来源明确、类别统一、属性一致、时间有序的数据源。
结合IP特征、流量特征、行为特征等,对同类特征指标、同类行为规律的数据进行融合处理,形成在表达的内容、反映的效果、目标的指向上具有共性的数据族。
0x1:什么情况需要数据归约
从大的方面来看,如下几个方面需要数据归约:
- 提高信息密度:网络安全数据量浩如烟海,单独看每条记录来说都只是低价值密度的数据,需要通过”数据归约“来进行压缩,减少需要处理的数据量,同时提高单位窗口内的价值密度。
- 降低数据量:在态势感知实战环境中,数据量往往都会非常庞大,在进行实际的建模之前,数据分析师往往需要进行数据归约,在尽可能保持数据原貌的前提下,最大限度地精简数据量。
- 提取显性特征:数据归约可用来得到海量数据集的归约表示,被归约后的数据集虽然小,但仍大致保持原始数据的完整性。更重要的是,通过精简后的归约表示,其统计意义会明显增强,有利于之后的基于统计的态势预测
0x2:数据归约的常用策略
1. 特征归约(特征选择)
用于分析的数据集可能包含数以百计的特征(或属性),其中大部分特征可能与网络安全态势感知任务不相关或者是冗余的。
特征归约是从原有的特征中删除不相关的、弱相关或冗余的特征、或者通过对特征进行重组来减少特征的个数,进而找出最小特征集,即所谓的特征选择,在信息论中,这被称为充分统计量。
最小特征集的概率尽可能地接近使用原始所有特征得到的原分布。其原则是在保留甚至提高原有判别能力的同时,尽可能地减少特征向量的维度。
特征归约算法的输入是一组特征,输出的是该组特征的一个子集。
关于特征选择话题的更多讨论,可以参阅这篇文章。
2. 维归约(降维)
维归约,即所谓的降维。不同于特征归约,维归约的主要目的是减少所考虑的随机变量或属性的个数。
维归约的常用方法有小波变换和主成分分析,它们都是通过把原始数据变换或投影到较小的空间,来对数据进行降维。
关于降维方面的讨论,可以参阅这篇文章。
3. 样本归约(数据取样)
样本都是已知的,通常数目很大,质量或高或低,可能有或者没有关于实际问题的先验知识。
所谓样本归约,是指从完整的数据集中选出一个有代表性的样本子集。所选的子集大小的确定要以计算成本、存储要求、估计量的精度以及其他一些与算法和数据特性作为衡量因素。
数据分析的初始数据集描述了一个极大的总体,而采用样本归约后,对数据的分析只能基于样本的一个子集,这个子集通常被称为”估计量“,它的质量依赖于所选取样本子集中的元素。
数据取样过程中总会造成取样误差,这对所有的方法和策略来讲都是不可避免的,当样本子集的规模变大时,取样误差一般会降低,所以数据集越大,采用样本归约的效果越好,也即所谓的大数效应。
4. 数量归约(数据统计抽象)
数量归约是指用可替代的、较小的数据表示形式来替换原数据。
数据归约可以是有参的,也可以是无参的,
- 对于有参方法而言,则使用一个模型来估计原数据,只需要存放模型参数,而不需要存放实际数据,例如
- 回归模型:线性回归和多元回归
- 对数线性模型
- 统计概率模型
- 对于无参的数量归约,有以下几种:
- 直方图:采用分箱近似数据分布
- 聚类:将数据元组视为对象,将对象划分为群或聚类,使得在一个聚类中的对象”类似“而与其他聚类中的对象”不类似“,在分析时使用数据的聚类代替实际数据
- 抽样:与样本归约类似,用数据的较小随机样本表示大的数据集,如:
- 简单随机选择
- 聚类选择
- 分层选样
- 数据立方体聚集:数据立方体存储多维聚集信息,每个单元存放一个聚集值,对应多维空间的一个数据点,在最低抽象层创建的称为基本立方体,在最高层抽象的称为顶点立方体
从某种程度上来说,数量归约属于”信息压缩“的一种技术,数量归约的最核心目的在于压缩原始样本集,同时还要尽量保留原始数据集中蕴含的信息熵。
5. 数据压缩
数据压缩通过采用一定的变换方法和技术,对原始数据进行归约或”压缩“表示。
- 如果能够通过对”压缩“后的数据进行重构,还原出原始数据,且这个过程不损失信息,那么可以说这种数据压缩是无损的。
- 如果我们只能近似地重构并还原原始数据,那么该数据归约则称为有损的。
通常,维归约和数量归约也可以视为某种形式上的数据压缩。
3. 数据融合
0x1:数据融合与态势感知
数据融合与整个态势感知过程的关系都极为密切,不仅仅在态势提取阶段,在态势理解和预测阶段也会用到大量的数据融合算法模型。数据融合不仅仅是一种数据处理方法,更是一门学科。
早在20世纪70年代军事领域就提出了”多源数据融合“的概念,多源数据融合就是模仿人和动物处理信息的认知过程。
人或动物首先通过眼睛、耳朵和鼻子等多种感官对客观事物实施多种类、多方位的感知,获得大量互补和冗余的信息,然后由大脑对这些感知信息依据某种未知的规则进行组合和处理,从而得到对客观对象统一于和谐的理解和认识。
人们希望用机器来模仿这种由感知到认知的过程,于是产生了新的学科 -- 数据融合。数据融合也称为信息融合,是指对多源数据进行多级别、多层次、多方面的集成、关联、处理和综合,以获得更高精度、概率或置信度的信息,并据此完成需要的估计和决策的信息处理过程。
数据融合技术起源于军事领域,也在军事领域得到广泛应用,其应用范围主要有:
- 组建分布式传感器网络进行监视,比如
- 雷达网络监视空中目标
- 声呐网络监视潜艇
- 实用传感器对火力控制系统进行跟踪指挥
- 在指挥控制系统中进行应用,进行态势和威胁估计
- 侦查和预警等
态势感知过程以态势数据的融合处理为中心,态势感知模型的建立大多以数据融合模型为基础,态势感知过程的数据处理流程也与数据融合模型的处理流程非常相似。
最早提出”网络空间态势感知“概念的Tim Bass设计的基于多传感器数据融合的入侵检测框架,就是将数据融合领域中的JDL模型应用到网络安全态势感知领域的结果。由此可见,网络空间态势感知从诞生之初就与数据融合技术密不可分。
数据融合技术是态势感知技术的基础,态势感知需要结合网络中各种设备的多种多样信息以得到一个综合结果,对数据的处理和融合是态势感知过程的中心。
网络环境中的各种设备信息、安全告警信息以及网络流量信息等繁杂多样的信息构成了网络中的多源异构数据,态势感知的目的是对这些数据进行融合处理并得到网络的总体态势。
数据融合技术能有效融合所获得的多源数据,充分利用其冗余性和互补性,在多个数据源之间取长补短,从而为感知过程提供保障,以便更准确地生成网络空间态势信息。
0x2:数据融合的层次分类
数据融合作为一种多级别、多层次的数据处理,作用对象主要是来自多个传感器或多个数据源的数据,经过数据融合所做的操作,使得通过数据分析而得到的结论更加准确与可靠。
按照信息抽象程度可以把数据融合分为3个层次,从低到高依次为数据级融合、特征级融合、决策级融合。
- 最低层为数据级融合,也称为信号级融合。对未经处理的各个数据源的原始数据进行综合分析处理,进行的操作只包括对数据的格式进行变换、对数据进行合并等,最大程度地保持了原始信息的内容。
- 中间一层为特征级融合,在对原始数据进行预处理以后,对数据对象的特征进行提取,之后再进行综合处理。通过数据的特征提取,在获得数据中重要信息的同时,去掉一些不需要关注的信息,这样就实现了信息的压缩,减小了数据的规模,满足了实时处理的要求。
- 最高层是决策级融合,在决策级融合之前,已经对数据源完成了决策或分类。决策级融合根据一定的规则和决策的可信度做出最优决策,因此具有良好的实时性和容错性。
0x3:数据融合相关算法
数据融合继承自许多传统学科并且运用了许多新技术,是一种对数据进行综合处理的技术。
按照方法论维度分类,可以将数据融合方法分为三大类:
- 直接操作数据源,如
- 加权平均
- 神经元网络
- 利用对象的统计特性和概率模型进行操作,如
- 卡尔曼滤波
- 贝叶斯估计
- 统计决策理论
- 基于规则推理的方法,如
- 模糊推理
- 证据推理
- 产生式规则
按照学术发展脉络,可以将数据融合方法分为两大类:
- 经典方法,主要包括基于模型和概率的方法,如:
- 加权平均法
- 卡尔曼滤波法
- 贝叶斯推理
- Dempster-Shafer证据理论(D-S证据理论)
- 小波分析
- 经典概率推理
现代方法,主要包括逻辑推理和机器学习的人工智能方法:
- 聚类分析法
- 粗糙集
- 模版法
- 模糊理论
- 人工神经网络
- 专家系统
- 进化算法
接下来我们来分别讨论,
1. 经典方法
1)加权平均法
加权平均法是最简单直观的数据融合方法,它将不同传感器提供的数据赋予不同的权重,通过加权平均生成融合结果。
- 其优点是直接对原始传感器数据进行融合,能实时处理传感器数据,适用于动态环境。
- 缺点是权重系数带有一定主观性,不易设定和调整
2)卡尔曼滤波法
卡尔曼滤波法常用于实时融合动态底层冗余传感器数据,用统计特征递推决定统计意义下的最优融合估计。
- 其优点是它的递推特征保证系统处理不需要大量的数据存储和计算,可实现实时处理。
- 缺点是对出错数据非常敏感,需要有关测量误差的统计知识作为支撑
3)贝叶斯推理法
贝叶斯推理法基于贝叶斯推理法则,在设定先验概率的条件下利用贝叶斯推理法则计算出后验概率,基于后验概率作出决策。
- 贝叶斯推理在许多智能任务中都能作为对于不确定推理的标准化有效方法,其优点是简洁、易于处理相关事件。
- 缺点是难以精确区分不确定事件,在实际运用中定义先验似然函数较为困难,当假定与实际矛盾时,推理结果很差,在处理多假设和多条件问题时相当复杂
4)D-S证据理论
D-S证据理论的特点是允许对各种等级的准确程度进行描述,并且直接允许描述未知事物的不确定性。
在D-S证据理论中使用一个与概率论相比更加弱的信任函数,信任函数的作用就是能够准确地把不知道和不确定之间的差异区分开来。
- 其优点是不需要先验信息,通过引入置信区间、信度函数等概念对不确定信息采用区间估计的方法描述,解决了不确定性的表示方法。
- 缺点在于其计算复杂性是一个指数爆炸问题,并且组合规则对证据独立性的要求使得其在解决证据本身冲突的问题时可能出错
2. 现代方法
1)聚类分析法
聚类分析法是一组启发式算法,通过关联度或相似性函数来提供表示特征向量之间相似或不相似程度的值,据此将多维数据分类,使得同一类内样本关联性最大,不同类之间样本关联性最小。
- 其优点是在标识类应用中模式数目不是很精确的情况下效果很好,可以发现数据分布的一些隐含的有用信息。
- 缺点在于由于其本身的启发性使得算法具有潜在的倾向性,聚类算法、相似性参数、数据的排列方式甚至数据的输入顺序等都对结果有影响
2)粗糙集理论
粗糙集理论的主要思想是在保持分类能力不变的前提下,通过对知识的约简导出概念的分类规则。它是一种处理模糊性和不确定性的数学方法,利用粗糙集方法分析决策表可以评价特定属性的重要性,建立属性集的约简以及从决策表中去除冗余属性,从约简的决策表中产生分类规则并利用得到的结果进行决策。
3)模版法
模版法应用”匹配“的概念,通过预先建立的边界来进行身份分类。
它首先把多维特征空间分解为不同区域来表示不同身份类别,通过特征提取建立一个特征向量,对比多传感器观测数据与特征向量在特征空间中的位置关系来确定身份。
模版法的输入是传感器的观测数据,输出的是观测结果的身份,其缺点是边界建立时会互相覆盖从而使身份识别产生模糊性,同时特征的选择和分布也会对结果有很强的影响。
4)模糊理论
模糊理论是基于分类的局部理论,建立在一组可变的模糊规则之上。
模糊理论以隶属函数来表达规则的模糊概念和词语的意思,从而在数字表达和符号表达之间建立一个交互接口。它适用于处理非精确问题,以及信息或决策冲突问题的融合。
由于不同类型的传感器识别能力不同,模糊理论中考虑了信源的重要程度,更能反映客观实际,提高了融合系统的实用性。
5)人工神经网络
人工神经网络是模拟人脑结构和智能特点,以及人脑信息处理机制构造的模型,是对自然界某种算法或函数的逼近,也可能是对一种逻辑策略的表达。
人工神经网络在数据融合方面应用广泛,如前向多层神经网络及其逆推学习算法、对向传播神经网络等。
神经网络处理数据容错性好,具有大规模并行规模处理能力,具有很强的自学习、自适应能力,某些方面可能替代复杂耗时的传统算法。
6)专家系统
专家系统也称为基于知识的系统,是具备智能特点的计算机程序,该系统具备解决特定问题所需专门领域的知识,是在特定领域内通过模仿人类专家的思维活动以及推理与判断来求解复杂问题。其核心部分为知识库和推理机。
- 知识库用来存放专家提供的知识,系统基于知识库中的知识模拟专家的思维方式来求解问题
- 推理机包含一般问题求解过程所用的推理方法和控制策略,由具体的程序实现。推理机如同专家解决问题的思维方式,知识库通需要通过推理机来实现其价值
专家系统可用于决策级数据融合,适合完成那些没有公认理论和方法、数据不精确或不完整的数据融合。
7)关联分析
关联分析这个方法很适合网络安全数据的融合处理。常见的有:
- 依据数据族的属性相似度进行关联,如数据族指向的目标相同、端口相同或目标地址相同等,建立关联关系
- 依据时间顺序进行关联,如同一IP在网络流量、操作日志、应用审计、监测报警等数据上具有时序特征的,建立关联关系
- IP交互关联,在IP通信、数据流向、请求与应答等存在交互行为的,建立关联关系
通过上述数据关联,可将原始数据进行重新组织,以梳理出数据的流向、行为、脉络、层次等关系,形成数据关系图谱。