APP下载

基于马尔可夫决策过程的入侵检测方法研究

2021-06-03凯,赵

计算机技术与发展 2021年5期
关键词:决策状态函数

董 凯,赵 旭

(西安工程大学 计算机科学学院,陕西 西安 710600)

0 引 言

随着互联网的不断发展,互联网已经成为生活中不可缺少的一部分。网络技术在商业、经济、军事等各个领域都发挥着巨大作用。根据中国互联网络信息中心最新的统计报告显示,截至2020年3月,国内互联网普及率达64.5%。与此同时带来的挑战也更加严峻,成千上万的网络攻击、网络安全事件层出不穷。如今在大数据时代背景下,网络给人们的生活提供了便利,但同时网络安全问题日益凸显,一旦出现安全事件,将造成不可挽回的经济损失、社会影响。所以事前主动检测、防御,对于网络稳定、可靠运行具有重要的意义。针对网络与信息安全的发展,目前主要通过防火墙技术、数据加密、访问控制、入侵检测等方法进一步提高网络的安全性。通过对比以上几种常见的措施,入侵检测方法具有相对较高的灵活性和拓展性。现如今的网络安全问题一般需要通过多种技术的组合来进行保护和监测,依靠传统的防御手段已经无法更好地处理千变万化的网络问题。在目前广泛应用的防御手段中,提前发现异常的入侵行为并及时处理,能更好地适应当前的网络常态。网络安全中能否检测出网络异常行为是至关重要的一个环节,网络异常行为检测作为防火墙的重要补充,在不影响网络性能的情况下完成了对网络安全性的分析,并实时阻止攻击行为破坏网络,保障网络运行的安全。因此,入侵检测技术在网络安全领域是不可或缺的一部分。

自1980年首次提出入侵检测模型至今,已有众多学者对入侵检测技术进行大量的探索与研究。例如,Ligun等人[1]提出一种基于规则的方法,该方法以专家的经验作为规则编码成入侵检测系统的检验规则。但存在一个普遍的问题,需要设计一组能准确识别入侵行为的规则,然而如何设计一组合适的规则是一个尚未解决的问题。Lee等人[2]提出了一种基于数据挖掘的方法,核心思想是从采集到的样本数据中获取高频的关键信息和联合规则,区别于人工设计的检验规则。该方法依靠大量的联合规则,使得系统过于复杂,检测效率低下。Siraj[3]提出了一种新的混合智能方法,通过在分类精度和处理时间上的改进实现入侵检测中的自动警报。Patra等人[4]使用关联规则挖掘和多个最小支持等方法,应用于识别正常用户和异常用户。该方法将基于规则与基于数据挖掘[5]的方法结合起来,在一定程度上可以改进检测率,但是对于未知的入侵检测效果不太明显。传统的流量分析、特征提取等网络攻击流量检测方法和检测技术难以适应高速和大规模的互联网环境,无法高效、准确地检测攻击,必须对其加以改进。这些方法的研究与应用为该研究提供了有利的参考。

通过上述分析,该文提出了一种基于马尔可夫决策过程的入侵检测(intrusion detection based on Markov decision,MDP-IDS)模型。该模型结合马尔可夫的基本要素建立入侵检测的马尔可夫决策过程,通过检测引擎学习得到马尔可夫决策过程的最优策略进行决策。采用模糊层次分析法为用户设置信用度,当用户访问时,对于信用度高的用户直接放行,其他用户则采用马尔可夫决策过程进行判断。其判断过程是通过分析用户的历史行为信息、主机信息等来辨别用户信用度的大小,从而区分合法用户和恶意用户,保证合法用户的业务不受影响的同时阻断入侵主机。通过在网络节点建立分布式入侵检测服务器[6],尽早地将存在恶意入侵行为的用户进行拦截。各入侵检测服务器周期性地进行数据同步,从而达到数据一致。

1 MDP-IDS检测模型

MDP-IDS模型将马尔可夫决策应用于网络入侵检测,通过学习不断改进。其基本思想是:通过学习选择一个作用于环境的动作a,环境接收该动作后状态会发生改变,接着会反馈一个奖励r给智能体,智能体根据强化信号和环境当前的状态再选择下一个动作a,选择的原则是受奖赏概率值有没有逐渐增大,即如果智能体的某个决策行为导致来自外部的评价信号的增强,此后产生这个决策行为的趋势会逐渐地增强,反之系统产生这个动作的趋势便会逐渐地减弱。根据系统当前所处的环境来采取行动,以达到预期利益最大化的目的。其本质就是解决一个决策问题,即学会自动进行决策。

其中,智能体是进行状态感知、学习训练、动作选择的模块,环境是当前系统的状态,此处的环境是网络中的用户行为组成的共同体,状态是由一系列能描述环境的参数组成,动作是作用于环境进行状态的,奖励则是环境给予动作的奖励值。进而得到一个具有高效决策能力的入侵检测模型。其工作流程如图1所示。

图1 MDP-IDS模型的工作流程

首先用户向应用服务器发送访问请求,入侵检测服务器拦截请求,检测引擎(detection engine)[7]查询数据库并对访问请求进行匹配,若查询不到请求记录或者记录不匹配,则将用户请求的信息记录到数据库;若信息存在,则不做任何操作。

若匹配到请求记录,则分两种情况处理。第一种情况是当用户在T时间周期内与服务器有过通信,则判断该用户的信用度是否满足条件。若信用度满足,则表示正常并且允许该用户请求服务器。若信用度不满足则拒绝该用户请求服务器。信用度较高表示该用户为诚实用户的可能性较高,反之则为恶意用户。第二种情况是用户在T时间周期内未与服务器有过通信,则直接进入马尔可夫决策过程,Policy函数根据分析的结果做出决策,并完成用户信用度的设置。

若无法匹配到请求,即该用户未与服务器建立过通信,亦采用马尔可夫决策过程进行决策。

1.1 马尔可夫决策过程建立

对于如何构建一个完整的马尔可夫决策过程,首先要在一个标准的马尔可夫决策过程中,将智能体设置为一个学习者,以便于获取外部环境的当前状态信息s,之后可以对环境采取试探行为a,并再次获取环境反馈对此动作的评价r和新的环境状态s。如果智能体在某动作a的作用下使得环境趋于正的奖励,那么智能体以后产生这个动作的趋势便会加强;反之,智能体产生这个动作的趋势将会减弱。且强化学习作为一种具有很强的决策能力的高阶机器学习方法,将其应用于入侵检测系统的构建当中,在学习系统的控制行为与环境反馈的状态及评价的反复的交互作用中,以学习的方式不断地修改从状态到动作的映射策略,即可以得到一个高效的、具有决策能力的入侵检测模型。

通过分析结合入侵检测与马尔可夫决策过程的特性,在入侵检测系统内建立学习环境。建立马尔可夫决策过程的5元组(S,A,P,R,γ),不断学习出最优策略[8],进而求出策略函数的最优解。建模的具体步骤如下:

(1)在入侵检测系统内设置入侵检测引擎为智能体(Agent)进行学习,即为动作的执行者;

(2)定义智能体的动作为a,动作空间A={a1,a2,a3…}是通过对IP数据库等入侵检测相关信息分析得到的动作集合。并且设置策略函数π为最优的检测方法;

(3)定义当前学习环境下的状态s,状态空间为S={Normal,Attack};

(4)定义该学习环境下的奖励函数R。智能体根据当前状态s给予动作进行奖励或者惩罚。作为入侵检测系统是否存在入侵,即奖励函数R为入侵系统的检测率[9];

(5)定义γ为折扣因子,通常采用折扣累计回报进行计算,且环境中的不确定性导致下一时刻的奖励权重小于当前时刻;

(6)模拟与环境相似的场景进行建模,进而学习到入侵检测的最优策略,然后利用递归的Bellman方程[10]进行求解。

1.2 累积回报和策略的表示

强化学习的最终目标是通过学习得到累积回报最大化的策略函数。而对于累积回报常用的是“γ折扣累计回报”方法。首先通过在环境中不断地尝试而得到一个策略函数[11](policy function),根据当前的策略函数,得到当前状态下要执行的动作。

采用随机性策略表示方法将策略函数表示为π:S×A→R。

定义状态s下选择动作a的概率,即策略函数为:π(a|s)=P(A=a|S=s)。且必须满足:

(1)

同时还定义状态转移函数,即从当前状态中做出动作,使得转移到下一个状态,状态转移可以是确定的,也可以是随机的,状态转移的随机性是从入侵检测系统中来的。

p(s′|s,a)=P[S′=s′|S=s,A=a]

(2)

累计奖励是指当前入侵检测环境,从t时刻开始的奖励全部加起来,而通常情况下采用折扣累计奖励,未来的不确定性使得Rt+1的权重低于Rt的权重。

定义折扣率r∈(0,1)和累积奖励Ut:

Ut=Rt+γRt+1+γ2Rt+2+γ3Rt+3+…

(3)

累积奖励Ut存在两个随机性[11]:

(1)动作a的随机性,用状态s作为输入策略函数的输入,动作a是以概率分布的形式随机抽样得到的。

(2)下一个状态s的随机性,给定当前状态s和动作a,下一个状态s是随机的,状态转移函数p输出一个概率分布,环境从概率分布中抽样得到新的状态。对于任意时间t,奖励Rt取决于状态St和动作At,因此Ut的随机性是未来所有的状态和动作。

1.3 马尔可夫决策过程的求解

求解的核心思想就是找到一个最优策略函数,使得未来的回报最大,同时输出最优价值函数。以上过程即是马尔可夫的控制问题。在马尔可夫决策过程中,控制问题可以通过动态规划来求解,核心思想是把马尔可夫过程分解成每一个最佳的子结构。在Bellman方程中,包含两个函数:状态价值函数(state value function),表示状态上的累计奖励;动作价值函数(action value function),表示动作上的累计奖励。bellman最优方程为:

(4)

(5)

(6)

已知一个马尔可夫决策过程(S,A,P,R,γ),在寻找最优策略的同时得到一个最佳的价值函数(optimal value function)。但在这种情况下,最优的价值函数是一致的,可能存在多个最优策略。而对于最优策略的收敛性,应满足以下条件π≥π′ifVn(s)≥Vπ′(s),∀s。

进而通过对q*求最大化得到最优策略:求解方法见公式(6)。

该文采用策略迭代的方法进行策略求解。求解过程可以分为两步:

(1)策略评估:给定当前策略函数然后计算状态价值函数V;

(2)策略提升:对状态价值函数V采用贪心算法[12]来提高策略函数。

通过以上步骤,完成了MDP-IDS的模型构建。策略迭代过程如图2所示。

(7)

(8)

图2 策略迭代过程示意图

1.4 信用度体系构建

用户信用度是对用户可靠性的衡量指标。信用度较高表示该用户为诚实用户较高,反之则为恶意用户。在信用度体系中使用模糊层次分析法(fuzzy analytic hierarchy process,FAHP)[13]对用户信用度进行评估,模糊层次分析法及计算过程层次分析法(AHP)是一种定性与定量相结合的多目标决策方法,能够有效分析目标准则体系层次间的非序列关系,有效地综合测度决策者的判断和比较。

模糊层次分析法的基本思想是根据多目标评价问题的性质和总目标,把问题本身按层次进行分解,构成一个由下而上的梯阶层次结构。因此在运用AHP决策时,大体上可以可分为以下四个步骤:问题分析,确定系统中各因素之间的因果关系,对决策问题的各种要素建立多层次递阶结构模型;对同一等级的要素以上一级的要素为准则进行两两比较,并根据评定尺度确定其相对重要程度,最后据此建立模糊判断矩阵;通过一定计算,确定各要素的相对重要度;通过综合重要度的计算,对所有的替代方案进行优先排序,从而为决策人选择最优方案提供科学的决策依据。再由Policy函数输出当前用户的信用度。首先将用户行为进行细分,每个行为即是一个特性,再将特性进行分类,将用户行为信用评估转换成为信用加权问题。分为以下几个步骤:

(1)从构建的数据库中获得数据并且是初始数据,为了便于数值计算和用户信用度评估,将数据全部规范化,表示为矩阵E=(eij)mn。为了获得初始判断矩阵EQ=(eqij)m×m,有m个矩阵W=(w1,w2,…,wm)T,将矩阵集中在ei和ej进行对比:

(9)

(4)计算用户行为特征的评估值矩阵,可根据E×WT得到特征值评估矩阵F=(f1,f2,…,fn);即可得到当前用户的信用度为:

(10)

1.5 数据库的构建

此模型在入侵检测服务器按照一定的概率f统计成功建立访问连接的IP数据包的源地址,包含TCP、UDP、ICMP数据包,将数据包的源地址IP_Client_Source存入表中。

在数据库模块中,按照以下的步骤建表。根据访问用户的历史访问记录,为每个目的服务器建立一张表。在每个服务器的表中,依据源地址进行聚集[14]以完成不同用户区分,完成用户信息的录入。其中数据库表的各个字段见表1。

表1 数据库表字段

MDP-IDS模型要求实时进行数据库的更新,及时地把请求添加到数据库中,以及对请求的相关字段数据的更新。为了尽早地将存在恶意入侵行为的用户进行拦截,同时减小服务器的压力加快检测效率,在网络中建立多个分布式入侵检测服务器,各分布式服务器通过Raft[15]算法进行同步,进而保证数据的一致性。

2 仿真分析

该文在KDD CUP99[16]基础上利用Matlab 2018a进行了仿真实验,通过与基于支持向量机(support vector machine,SVM)[16]入侵检测方法进行对比,验证该方法的有效性。KDD99数据集共500余万条,提供了10%的用于训练的子集和测试的子集。首先采用one-hot[17]方法对10%的训练集数据进行预处理,对数据的预处理结果会影响入侵检测实验的效果。利用Python3对训练数据集进行预处理,即进行字符型特征与数值型的转化。

为了对文中所提方法进行衡量,定义TP(true positive)、FP(false positive)、FN(false negative)、TN(true negative),其中DR(detection rate)、FAR(false alarm rate)、DT(detection time)用于结果评价,DR是检测出的已知攻击数量与总数量的比率,FAR是误判别攻击数量与正常数量的比例[18],DT是检测引擎处理任务所需要的时间。DR和FAR用以下公式来表示:

(11)

(12)

检测引擎分别对TCP、UDP、ICMP进行实验分析,并与支持向量机的入侵检测方法进行对比。对比实验结果如表2所示。

表2 DR数据对比 %

表3 FAR数据对比 %

表4 DT数据对比 S

将该文提出的MDP-IDS模型与支持向量机的入侵检测方法相比较,如上表所示,MDP-IDS方法在检测率有明显的优势,平均检测率提高1.02%,平均误报率下降0.08%,系统检测时间效率提高15.8%。

3 结束语

该文研究了基于马尔可夫决策过程的入侵检测方法,为网络入侵检测提供了一种新的思路,建立了MDP-IDS模型。通过检测引擎分析用户信用度、行为等信息,利用马尔可夫模型进行异常入侵行为自动决策,从而更好地区分合法用户和恶意用户。将用户信用度引入到入侵检测系统中,使用模糊层次分析法对用户信用度进行设置,使得用户信用度计算更加合理。实验结果证明MDP-IDS模型能够缩短入侵检测时间,提高系统的整体性能。网络异常行为检测的结果通常将网络行为分类两大类:正常和异常,异常行为又可以分成很多小类,如DOS、Probe、U2R、R2L等常见攻击类型,因此下一步工作可以针对网络异常行为检测的多分类问题进行深入研究。

猜你喜欢

决策状态函数
智珠二则
决策大数据
决策大数据
决策大数据
诸葛亮隆中决策
生命的另一种状态
关于函数的一些补充知识
高中数学中二次函数应用举隅オ
无独有偶 曲径通幽
“牛顿第一定律”练习