首页 理论教育深度分析方法与实现—终端安全风险管理

深度分析方法与实现—终端安全风险管理

【摘要】:本节将针对上一节的描述着重阐述如何用不同的深度分析方法来实现不同的分析模型。它通过预先设定好匹配条件完成对安全事件的分析。下面尝试用一段伪规则匹配语法描述一下11.2节中单一安全事件中提到的两个分析模型。图11-1 开关门的状态图采用基于状态机的关联分析方法来实现多个相关安全事件的分析模型。需要能够设置每个状态分析模型的实例对象数目,防止因状态机对象实例数目过多导致系统内存耗尽而引起系统工作异常。

上一节以安全事件为主视角讨论了风险深度分析的建模。本节将针对上一节的描述着重阐述如何用不同的深度分析方法来实现不同的分析模型。

(1)单一安全事件----基于规则匹配的分析方法

基于规则匹配的分析方法是一种条件匹配分析方法。它通过预先设定好匹配条件完成对安全事件的分析。当一个安全事件匹配了规则预先设定的条件,其分析结果就为真,否则就为假。

基于规则匹配的分析方法需要具备灵活的语法,可以尽最大可能地描述各类匹配条件,并具有很好的可扩展性,可以扩展语法尚不满足的条件规则。至少需要支持AND、OR、NOT等逻辑运算并支持逻辑运算的嵌套应用,还需要支持“=”、“<>”、“>”、“>=”、“<”、“<=”、“BETWEEN..AND”“IS”、“IN”、“LIKE”及正则表达式等匹配运算。

基于规则匹配的分析方法需要支持多个匹配规则同时运行,并需要具备良好的运行效率

下面尝试用一段伪规则匹配语法描述一下11.2节中单一安全事件中提到的两个分析模型。

1)异常时间段访问(InTimeRange(evt.time,'19:00:00','8:00:00')ANDevt.type='登录');该规则表示的含义是如果事件的时间在19点到第二天早晨8点钟之间并且事件的类型为登录,则该事件匹配此规则。InTimeRange是一个函数,用于判断给定的时间在不在指定的时间范围内。

2)IDS事件确认(Validate(evt.dstIp,evt.technology)ANDevt.dvcType=’IDS’);该规则表示的含义是如果事件的目标IP所表示的终端会被该事件记录的攻击手段侵害且事件的设备类型为IDS时规则被匹配。Validate是一个函数,用于判断指定IP所表示的终端是否会被指定的技术侵害,该函数在实现时会读取终端当前的安全状态信息及安全事件技术与漏洞补丁的关系,综合计算出是否被侵害的结论。

(2)多个相关安全事件----基于状态机的关联分析方法

基于状态机的关联分析方法是一种基于有限状态机(Finite-State Machine,FSM)理论的事件分析方法。有限状态机是一种表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。状态用于存储关于过去的信息,即它反映从系统开始到现在的输入变化。转移指示状态变更,它使用转移发生时必须满足的条件来进行描述。动作是在给定时刻要进行的活动的描述。有多种类型的动作。

√ 进入动作(Entry Action)在进入状态时进行

√ 退出动作在退出状态时进行

√ 输入动作依赖于当前状态和输入条件进行

√ 转移动作在进行特定转移时进行FSM可以使用图11-1那样的状态图(或状态转移图)来表示。

978-7-111-37390-2-Part03-48.jpg

图11-1 开关门的状态图

采用基于状态机的关联分析方法来实现多个相关安全事件的分析模型。如在11.2节中多个相关安全事件中提到的DDOS事件确认模型。图11-2是该模型假定的网络拓扑图。

978-7-111-37390-2-Part03-49.jpg

图11-2 网络拓扑图

将该模型表示为图11-3所示的状态机图。

978-7-111-37390-2-Part03-50.jpg

图11-3 状态机图

1)状态S0表示状态机的初始状态,即没有任何安全事件触发状态机的状态。

2)状态S1表示收到了IDS报出的一个目标为终端T的DDOS相关的安全事件。(www.chuimin.cn)

3)状态S2表示收到了在IDS报告事件之后一段时间里防火墙报出的目标为终端T的N个通信连接。

4)状态S3表示终端T的CPU利用率超过了80%。该状态是整个状态机的接收状态,此时状态模型规约并会滚回S0的状态。

5)E0表示当一个IDS报出的DDOS相关的安全事件。

6)E1表示有N个由防火墙报出的通信事件,其目的与E0报出的安全事件的终端IP致。N为常数,在具体应用时可以设置,如可以设为10个,即表示收到10个目标IP为终端IP的通信连接就满足条件了。

7)E2表示有CPU利用率超过80%的安全事件的IP地址与E0报出的终端IP地址一致。

8)E3表示状态在N(N为可设定的常数,同E1)秒内若不能迁转到下一状态,则状态超时,状态迁转为S0。

本模型中,当状态S0收到了IDS报告的DDOS安全事件后迁转到状态S1。S1有两个迁转条件,一个是满足E1当有N1个防火墙通信事件发生时;一个是满足E3在N2秒后超时。若在N2秒的范围内,没有N1个安全事件发生,则S1满足E3的迁转条件,状态迁转到S0状态而不是S2状态。这个迁转表示已发生的这些安全事件不符合该安全分析模型。若在N2秒的范围内有N1个安全事件发生,则S1状态在第N1个事件发生时立刻迁转到S2状态,并在S2状态等待迁转条件被满足,要么迁转到S3状态,要么迁转到S0状态。在本模型中,只有当状态机到达S3状态时,才认为这些安全事件符合安全分析模型,并可最终确认IDS报出的DDOS事件是一个会影响终端风险的安全事件。

基于状态机的关联分析方法需要支持灵活的语法描述,方便不断添加新发现和总结的风险分析模型。其语法应完全支持有限状态机中列举的概念,应包括状态的定义、迁转条件的定义以及动作的定义。状态定义语法需要支持一个状态可以迁转到不同的状态上。迁移条件定义语法需要支持在条件设置中引用状态信息,需要支持AND、OR、NOT等逻辑运算及逻辑运算的嵌套应用,还需要支持“=”、“<>”、“>”、“>=”、“<”、“<=”、“BETWEEN..AND”“IS”、“IN”、“LIKE”及正则表达式等匹配运算。另外,对于尚未包含的匹配条件可以通过函数方式进行扩展。最后还需要支持超时定义。行为定义语法需要支持有限状态机所描述的四种行为发生条件的设置。支持行为内容的函数方式扩展,并可将状态信息作为参数传给函数。

基于状态机的关联分析方法需要能同时支持多个状态机分析模型并行运行。需要拥有良好的执行效率和稳定性。需要能够设置每个状态分析模型的实例对象数目,防止因状态机对象实例数目过多导致系统内存耗尽而引起系统工作异常。

(3)海量安全事件----基于多维数据的分析方法

基于多维数据分析的方法是一种以数据库或数据仓库为基础的数据分析方法,也称为联机分析处理(On-Line Analytical Processing,OLAP)。联机分析处理(OLAP)的概念最早是由关系数据库之父E.F.Codd于1993年提出的。当时,Codd认为联机事务处理(OLTP)已不能满足终端用户对数据库查询分析的需要,SQL对大数据库进行的简单查询也不能满足用户分析的需求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此Codd提出了多维数据库和多维分析的概念,即OLAP。

OLAP数据库分为一个或多个多维数据集,每个多维数据集也被称为立方体。它是数据的集合,通常从数据仓库的子集构造,并组织成一个一组维度和度量值定义的多维结果。多维数据集包含以下几个主要概念。

√ 维(Dimension)是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(时间维、地理维等)

√ 维的层次(Level)是人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的各个描述方面(时间维:日期、月份、季度、年)

√ 维的成员(Member)是维的一个取值,是数据项在某维中位置的描述。(“某年某月某日”是在时间维上位置的描述)

√ 度量值(Measure)是多维数组的取值(2000年1月,上海,登录,100KB)

√ 事实表是度量值所在的表

√ 维度表是包含维度信息的表

√ 联机分析处理的主要分析操作有钻取(Drill-up和Drill-down)、切片(Slice)和切块(Dice)、以及旋转(Pivot)等。

√ 钻取是改变维的层次,变换分析的粒度。它包括向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)。Drill-up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而Drill-down则相反,它从汇总数据深入到细节数据进行观察或增加新维

√ 切片和切块是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个或以上,则是切块

√ 旋转是变换维的方向,即在表格中重新安排维的放置(例如行列互换)

利用多维数据分析方法来实现11.2节海量安全事件中提到的各种终端风险分析模型。根据风险分析模型抽取模型可能的维度,如11.2节中提到的关于时间的统计和关于安全事件类型的统计等。将时间和安全事件类型作为两个维度,并构建与其相关的维度表。修正11.1数据准备小节中提到的数据准备过程,让每一个归一化后的数据都包含与维度表相关的维度信息。修订安全事件表的结构,存储安全事件,并将这张表看作是安全事件的事实表。利用OLAP数据库工具,在工具中建立维度表与事实表的关系,将维度表与事实表的数据导入多维数据模型,生成多维数据集。结合多维数据展示工具及多维表达式(MultiDimensional Expressions,MDX),对多维数据进行钻取、切片、切块等分析操作,实现基于海量安全事件的终端安全风险统计分析