《网络安全态势感知》读书笔记

蓝咒 提交于 2020-03-19 18:06:28

本书涉及面较广,但是白话较多,没有太多的干货。寸之深,亩只阔,适合作为科普读物快速阅读。

Ⅰ 基础知识

1 开启网络安全态势感知的旅程

(1)网络安全态势感知本质上就是获取并理解大量网络安全数据,判断当前整体安全状态并预测短期未来趋势。总体而言可分为三个阶段:态势提取、态势理解和态势预测,三个部分同步并行,相互触发连续的变化,不断更新和往复循环。

(2)防火墙的实质:根据包的起点和终点来判断是否允许其通过

(3)IDS分类:

  • 根据信息来源不同分为:基于主机、基于网络和分布式IDS
  • 根据检测方法和安全策略,分为:
    • 异常入侵检测:建立正常行为模型,漏报低,误报高
    • 误用入侵检测:建立不可接受的行为模型,漏报高,误报低

(4)获取较低抽象层次的网络安全态势的方法:入侵检测与告警关联、使用攻击图进行漏洞分析、因果关联分析、取证分析(入侵的反向追踪)、信息流分析、攻击趋势分析和入侵响应。

(5)JDL的数据融合模型、Bass的功能模型

(6)数据融合是网络安全态势理解的核心

(7)当前的网络安全态势预测方法:神经网络、时间序列预测法、SVM、基于因果的数据模型、模式识别

(8)目标:降低MTTD/MTTR(平均检测时间/平均响应时间)

2 大数据平台和技术

  • 大数据特点:Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)

2.1 大数据基础

2.1.1 大数据关键技术

  • 数据采集与预处理
  • 数据存储与管理
  • 数据处理与分析
  • 数据可视化呈现

2.1.2 大数据计算模式

  • 批处理计算:传统的计算方式,如MapReduce、Spark
  • 流式计算:实时处理多源、连续到达的流式数据
  • 交互式查询计算:用于对超大规模数据的存储管理和查询分析
  • 图计算:以“图论”为基础,用于对大规模图结构数据的处理

2.2 大数据主流平台框架

2.2.1 Hadoop

  • 采用Java开发的开源分布式计算平台,用大量廉价计算机集群进行分布式存储计算,具有良好的跨平台性,主要用于批处理计算
  • 优点:高可靠性、高效性、低成本、可扩展性、支持多种编程语言
  • 缺点:计算过程放在硬盘上,速度不如使用内存快
  • 采用MapReduce计算模型

2.2.2 Spark

  • Scala语言编写,提供了内存计算,用于对大规模数据的快速处理
  • 兼容Hadoop
  • 优点:速度快、通用性(支持4种计算模式)、易用性、运行模式多样

2.2.3 Storm

  • 主要用于实时的流式数据处理
  • 优点:整合性(可以方便地和消息队列系统、数据库进行整合)、可扩展性、简易的API、可靠的消息处理、容错性、支持多种编程语言

由于安全场景复杂批量数据处理基于历史数据的交互式查询以及数据挖掘,对实时流式数据处理也有一部分需求,因此适合使用Hadoop+Spark相结合的建设模式。

2.3 网络安全态势感知架构

2.4 大数据采集与预处理技术

(1)数据分类

  • 按照形态分类分类:结构化数据和非结构化数据
  • 按照应用场景计算需求分类:静态数据和动态数据(流式数据,随时间而无限增长)
  • 按照来源和特点分类:环境业务类数据、网络层面数据、主机层面日志数据、告警数据

(2)数据采集方法:

  • 传感器: 软件或硬件“探针”
  • 网络爬虫
  • 日志收集系统:Flume
  • 数据抽取工具:将存储在数据库中的结构化数据抽取到Hadoop中;Sqoop
  • 分布式消息队列系统:在消息传输过程中保存消息的容器或中间件,提供消息路由、数据分发和可靠传递;Kafka

2.5 大数据存储与管理技术

  • 分布式文件系统 :GFS、HDFS
  • 分布式数据库:HBase
  • 分布式协调系统:主要用来解决分布式环境当中多个进程之间的相互控制;使用分布式锁;ZooKeeper
  • 非关系型数据库:NoSQL
  • 资源管理调度: YARN、Mesos

2.6 大数据处理与分析技术

  • 批量数据处理:MapReduce

  • 交互式数据分析:Hive

  • 流式计算:Storm、Spark Streaming;前者实时程度高,后者采用小批量处理方式可以兼顾批量和实时处理

  • 图计算:Pregel

  • 高级数据查询语言Pig:一种脚本语言,会自动把用户编写的脚本转换成MapReduce作业并在Hadoop运行

2.7 大数据可视化技术

(1)工具

  • R
  • Weka
  • Gephi

Ⅱ 态势提取

3 网络安全数据范围

3.1 完整内容数据

  • 主要是指包捕获数据;Wireshark

数据包分析:

  • 包过滤
  • 模式匹配
  • 协议字段分析

3.2 提取内容数据

  • 包字符串数据:例如我们可以提取HTTP数据包的报头或者有效载荷

3.3 会话数据

会话数据是两个网络设备之间通信行为的汇总,也称为数据流。其定义是一系列通过网络中某一观察点的具有相同属性的数据包,这些属性包括:会话的起点和重点、会话为单向或双向、数据包发送的起止时间、协议层次等。

  • 会话数据常见的标准是五元数据组:源IP、源端口、目的IP、目的端口、传输协议。
  • 常见类型:NetFlow、IPFIX

3.4 统计数据

对其他数据类型的组织、分析、解释和演示。

3.5 元数据

元数据(Metadata)是用于描述数据的数据,主要是描述数据属性的信息,如数据的组织、数据域及其关系。

  • 为了获取元数据,我们从网络环境中提取关键元素,然后利用外部工具来理解他们。如我们想知道在数据包中的源和目的IP是谁在管理,如何组织起来的,那么我们就可以使用WHOIS数据库进行查询,获得元数据。

3.6 日志数据

非常重要和有价值的网络安全数据类型,特别是当其被存储在一个中央服务器上并且有多个日志来源相关联的时候。日志数据记录着特定的事件、特定系统和环境的状态。

  • 主要包括:Web代理日志、防火墙日志、VPN身份验证日志、Windows安全日志、SysLog数据等
  • 根据来源分类:物理设备日志(IOT)、网络设备日志、操作系统日志、应用程序日志
  • 根绝记录架构分类:本地日志、远程分散日志、集中管理日志

3.7 告警数据

  • 入侵检测系统是告警数据的重要来源

4 网络安全数据采集

4.1 制定数据采集计划

四个阶段:

  • 定义威胁:STRIDE威胁建模、攻击树、攻击库等
  • 量化风险:风险评估,即面临的风险、存在的弱点、造成的影响。常用“影响”和“概率”的乘积来求得影响值。“影响”表示威胁对组织造成的影响,可以分级度量;“概率”表示威胁发生的可能性。
  • 识别数据源
  • 提炼有价值元素

4.2 主动式采集

也称为交互式采集,是指通过与网络上工作的主机进行交互操作的方式来采集网络数据。

  • SNMP
  • Telnet
  • SSH
  • WMI(Windows Management Instrumentation,Windows管理规范)
  • 文件传输协议:FTP、SFTP、TFTP、HTTP、HTTPS
  • JDBC/ODBC采集数据库信息:为多种数据库提供统一访问
  • 代理和插件
  • 漏洞、端口扫描
  • 蜜罐和蜜网
  • 爬虫和传感器

4.3 被动式采集

是指在网络上采集数据时,不发出第二层或更高层的数据。

  • 有线和无线:监听网线、无线电波数据
  • 集线器和交换机:集线器的广播特性、交换机端口镜像将某几个端口的流量复制到其它端口上
  • Syslog:广泛应用于Unix类的网络设备中
  • SNMP Trap:SNMP代理主动发送数据
  • NetFlow、IPFIX、sFlow:会话、数据流交换技术
  • WebService、MQ(消息队列)
  • DPI、DFI:深度包、流检测

4.4 数据采集工具


4.5 采集点部署

需要考虑的因素:降低数据冗余、时间同步、采集覆盖面要兼顾边界和内部网络、衡量采集成本的收益、考虑存储空间

  • 关注网络出入口点
  • 掌握IP地址分布
  • 靠近关键资产
  • 创建采集全景视图

5 网络安全数据预处理

数据预处理的主要内容包括:

  • 数据审核:审核准确性、适用性、及时性、一致性
  • 数据筛选
  • 数据排序

主要方法包括以下几种:

5.1 数据清洗

即去除源数据集中的噪声和无关数据,处理遗漏数据和清洗脏数据,除去空白数据域,通过填写缺失的值光滑噪声数据,识别或删除离群点并解决不一致性

  • 不完整数据:感兴趣的属性没有值。可采用如下方法:
    • 人工填充、忽略元组、用全局常量填充、用属性中间值填充、用相似样本的中间值填充、用最可能的值填充
  • 不一致数据:数据内涵出现不一致、矛盾和不相容等情况。往往是由于重复存放的数据没有进行一致性更新。用数据集成进行处理
  • 噪声数据:存在错误或异常的数据。去除噪声的常用方法:
    • 分箱(Binning):通过将有序的数据划分到对应的箱子里,减少数据规模,从而光滑数据
    • 回归(Regression)
    • 聚类(Clustering)
  • 数据清晰过程:偏差检测、数据规整

5.2 数据集成

为了减少数据的不一致性和冗余,需要对数据进行集成,也就是对来自多个数据存储的数据进行合并处理、解决语义模糊性的过程,从而提供全面的数据共享。

数据集成的方法模式:

  • 联邦模式
  • 中间件模式
  • 数据仓库模式

5.3 数据归约

尽可能保持数据原貌的前提下,最大限度地精简数据,属于数据融合的范畴,其大致过程为:按照数据的来源、类别、属性、时间等进行融合,形成来源明确、类别统一、属性一致、时间有序的源数据。

常用规约策略:

  • 特征规约:减少特征向量的维度
  • 维规约:把原始数据变换或投影到较小的空间。包括小波变换、主成分分析。
  • 样本规约:从完整的数据集中选出一个有代表性的样本的子集。
  • 数量规约:是离散化技术的一种,将具有连续型特征的值离散化,使之成为少量的区间,每个区映射到一个离散符号。
    • 有参数量规约:回归、对数-线性模型
    • 无参数量规约:直方图、据类、抽样、数据立方体聚集
  • 数据压缩

5.4 数据变换

将数据转换或统一成适合于进行分析的形式。

常见的数据变换策略:

  • 光滑:降噪
  • 属性(特征构造):构造新特征
  • 聚合:对数据进行汇总和集中
  • 标准化
  • 离散化:将数值属性的原始值用区间标签或概念标签替换,这些标签可以递归地组织成更高层概念,导致数值属性的概念分层,对于同一个属性可以定义多个概念分层。
  • 概念分层

数据变换方法:

  • 分箱方法
  • 直方图分析法
  • 聚类、决策树
  • 标准化
  • 概念分层

5.5 数据融合

数据融合是态势感知的基础。

按照数据抽象程度分类:

  • 数据级融合
  • 特征级融合
  • 决策级融合

数据融合相关算法:

  • 经典方法:加权平均法、卡尔曼滤波法、贝叶斯推理、D-S证据理论
  • 现代方法:聚类、粗糙集理论、模板法、模糊理论、人工神经网络、专家系统


Ⅲ 态势提取

6 网络安全检测与分析

6.1 入侵检测

  • 入侵检测通用模型:CIDF(DRAPA),由事件产生器、事件分析器、响应单元、事件数据库

6.1.1 IDS分类

  • 根据检测所用数据的来源不同:

    • 基于主机

    • 基于网络

    • 基于混合数据源(分布式)

  • 根据检测分析方法不同:

    • 误用检测:基于知识

    • 异常检测:基于行为

    • 误用和异常混合

  • 根据工作方式不同:

    • 实时
    • 非实时
    • 实际面对大流量时,单纯的实时检测不太现实,往往采用混合方式:首先实时进行初步分析,然后离线分析产生的告警。
  • 根据体系结构不同:

    • 集中式

    • 分布式

  • 根据相应方式不同:

    • 被动响应
    • 主动响应

6.1.2 入侵检测的分析方法

  • 误用检测
  • 异常检测
  • 协议分析

分布式结构是趋势,可以更好地利用更先进的入侵检测算法,如免疫系统算法。

随着安全的普及,入侵检测可以打包成服务卖给家庭网络。

6.2 入侵防御

IPS可以提供主动防护,通过直接嵌入到网络流量中(串行部署),通过一个网络端口接收来自外部系统的流量,经过检查确认其中不包含异常活动或可疑内容之后,再通过另外一个端口将它传送到内部系统中。

IPS可以检测到2-7层的攻击,而传统防火墙只能对3、4层进行检查。

6.2.1 IPS分类

  • 基于主机
  • 基于网络

6.3 入侵容忍

入侵容忍的目的在于,再系统被部分入侵,性能下降的情况下,还能维持系统的正常服务。

实现途径:

  • 攻击响应:检测到局部系统遭受攻击之后,加快反应时间,调整系统结构,重新分配资源
  • 攻击遮蔽:使用容错技术,使系统感觉不到小范围的攻击

按照保护对象的不同:

  • 面向服务
  • 面向数据

按照功能需求不同:

  • 预防与检测
  • 恢复与重构

根据实现方法不同:

  • 基于冗余与适应性:如拜占庭法则系统
  • 基于门限密钥共享体制
  • 基于系统配置

6.4 安全分析

6.4.1 安全分析流程

输入告警、安全分析、输出结论(事件是否发生)。常见方法如下:

  • 关联调查:适合多主机场景
  • 鉴别诊断

6.4.2 数据包分析

  • 协议分析:检验协议数据结构中的各个字段,常用于研究协议规范或者进行网络安全数据调查。

  • 包分析:模式匹配、协议字段分析、包过滤

  • 流分析:对一组相关的数据包序列进行分析

    6.4.3 计算机/网络取证

6.4.4 恶意软件分析

编写检测特征码用于检测恶意软件的感染范围。

  • 静态分析
  • 动态分析

7 网络安全态势指标构建

7.1 态势属性指标的分类

  • 定性指标与定量指标
  • 总体指标和分类指标
  • 描述性指标和分析性指标
  • 效益型指标和成本型指标

7.2 不同维度的态势指标

  • 基础运行维
  • 脆弱维
  • 风险维
  • 威胁维

7.3 指标的标准化处理

  • 定量指标标准化:数学变换
  • 定性指标标准化:量化后处理

8 网络安全态势评估

通过汇总、过滤、关联分析安全事件,在安全指标的基础上建立合适的数学模型,对网络系统整体安全程度进行评估。

态势理解的核心是态势评估;态势评估的核心是数据融合

态势指标权重的确定:

  • 排序归一法
  • 层次分析法

8.2 态势评估方法分类

8.3 态势评估常用的融合方法

  • 基于逻辑关系:告警关联
  • 基于数学模型:加权平均法、层次分析法、模糊综合评价方法、集对分析法
  • 基于概率统计:贝叶斯网络(需要较多先验知识、语义性)、隐马尔科夫模型
  • 基于规则推理:基于模糊理论的逻辑推理、基于D-S证据理论的概率推理

9 网络安全态势可视化

将过去、现在以及未来串联成一个含有上下文的故事,而这个故事必须具备真实性和关联性两个属性。

9.1 数据可视化

核心要素:数据的表示与变换、数据的可视化呈现、数据交互

9.2 网络安全态势可视化

  • 层次化数据
  • 网络数据(图)
  • 可视化系统交互
  • 安全仪表盘

Ⅳ 态势预测

10 态势预测

10.1 典型预测

  • 灰色理论预测
  • 时间序列预测
  • 回归分析预测:属于因果关系分析

10.2 智能预测

  • 神经网络
  • SVM
  • 人工免疫预测:全局优化、收敛速度快
    • 模型机理:记忆学习、反馈机理、克隆选择机理、多样性遗传机理
    • 相关算法:否定选择算法、克隆选择算法、免疫网络算法

对于复合式攻击的预测:

  • 基于攻击行为因果关系:通过提前设定好的攻击步骤之间的前驱后继关系,根据已经检测出的攻击步骤,推测今后一段时间内该攻击者对该IP地址要继续实施的攻击步骤,以及最重要达到的目的

  • 基于贝叶斯博弈理论:提前将告警信息之间的因果关系映射到贝叶斯网络中,建立基于贝叶斯博弈的复合式攻击预测模型,再根据告警信息识别攻击者的意图并预测攻击,然后根据攻击者已经实施的攻击行为,依照贝叶斯法则不断修正攻击行为节点上的概率值,最后以上述概率值为基础分析攻击者和防御者双方的收益,预测理性的攻击者在下一个博弈阶段选择攻击的概率和防御者在下一个防御阶段选择防御的概率。

  • 基于CTPN:Colored Time Petri Net,在传统的着色Petri网中加入和逻辑时序,将时间阈值引入CPTN的变迁引发序列中

  • 基于意图:Kill-Chain

  • SVM

  • 人工免疫预测:全局优化、收敛速度快

    • 模型机理:记忆学习、反馈机理、克隆选择机理、多样性遗传机理
    • 相关算法:否定选择算法、克隆选择算法、免疫网络算法

对于复合式攻击的预测:

  • 基于攻击行为因果关系:通过提前设定好的攻击步骤之间的前驱后继关系,根据已经检测出的攻击步骤,推测今后一段时间内该攻击者对该IP地址要继续实施的攻击步骤,以及最重要达到的目的
  • 基于贝叶斯博弈理论:提前将告警信息之间的因果关系映射到贝叶斯网络中,建立基于贝叶斯博弈的复合式攻击预测模型,再根据告警信息识别攻击者的意图并预测攻击,然后根据攻击者已经实施的攻击行为,依照贝叶斯法则不断修正攻击行为节点上的概率值,最后以上述概率值为基础分析攻击者和防御者双方的收益,预测理性的攻击者在下一个博弈阶段选择攻击的概率和防御者在下一个防御阶段选择防御的概率。
  • 基于CTPN:Colored Time Petri Net,在传统的着色Petri网中加入和逻辑时序,将时间阈值引入CPTN的变迁引发序列中
  • 基于意图:Kill-Chain
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!