基于强化学习的入侵检测方法与流程

文档序号:11199838阅读:1518来源:国知局
基于强化学习的入侵检测方法与流程

本发明属于入侵检测技术领域,具体涉及到一种基于强化学习的入侵检测方法。



背景技术:

随着网络和智能手机的普及,网络安全问题日益突出,如何保证网络系统的安全成为了一个亟待解决的问题。入侵检测技术通过收集操作系统、系统程序、应用程序、以及网络流量包等信息,发现被监控系统或网络中违背安全策略,或危及系统安全的行为,是保障系统和网络安全的有效手段。机器学习是以知识的自动获取和产生为研究目标,是人工智能的核心问题之一。机器学习与统计学、心理学、机器人学等许多其他学科都有交叉。其中,学习心理学与机器学习的交叉综合直接促进了强化学习又称做增强学习或再励学习理论与算法的产生和发展。所谓强化学习是一种以环境反馈作为输入的、特殊的、适应环境的机器学习方法,它的主要思想是与环境交互和试错,利用评价性的反馈信号实现决策的优化。这也是自然界中人类或动物学习的基本途径。

入侵检测系统是一种主动防御攻击的网络安全系统,按检测原则分为滥用检测和异常检测。滥用检测是建立在已知攻击基础上的,对系统的未知攻击缺乏自适应性,漏报率很高。异常检测则是建立在网络及系统的正常行为模型上的,目的是希望降低入侵检测的误报和漏报率。基于异常检测的方法很多,有统计分析、贝叶斯网络、神经网络、数据挖掘、遗传算法等,困难之处在于难以确定正常与异常的阀值,误报率和漏报率也较高。



技术实现要素:

本发明提出一种基于强化学习的入侵检测方法,目的是提高入侵检测的检测率,降低误报率和漏报率,最终提升整个入侵检测系统的性能。

一种基于强化学习的入侵检测方法,包括以下步骤:

步骤1:建立入侵检测的强化学习的四要素:环境、学习者、回报函数、策略;所述环境在入侵检测系统内,所述学习者是入侵检测分类代理,分析入侵检测相关信息,包括正常状态与非正常状态,所述回报函数是入侵检测检测率即分类正确率,所述策略是入侵检测的最优检测方;

步骤2:建立基于入侵检测的马尔科夫过程:将入侵检测的分类代理抽象化为一个学习者,其状态为正常状态或异常状态,正常状态与异常状态的逻辑关系构成一个马尔科夫过程,即:下一时刻的状态只与本时刻的状态有关,而与以往任何时刻的状态都无关;

步骤3:学习出入侵检测的最优分类策略:对环境进行建模,模拟出与环境相同或近似的状况,在此基础上得到基于入侵检测的强化学习的递归形式的bellman方程,该方程包括两个函数:“状态值函数”和“状态—动作值函数”,分别表示指定“状态”上以及指定“状态—动作”上的累积奖赏,累积奖赏函数使用的是γ折扣累积奖赏;

步骤4:对入侵检测策略的值函数进行最优解的求解:确定入侵检测的马尔科夫决策过程四元组、累积奖赏参数γ、设定收敛阈值,接着基于γ折扣累积奖赏的值迭代算法,得到入侵检测的最佳检测策略。

所述步骤1的具体步骤为:

步骤1.1、根据强化学习的学习要素,建立强化学习的学习环境:在入侵检测系统内;设置强化学习的学习者:入侵检测分类代理;

步骤1.2、定义强化学习的回报函数r:入侵检测检测率即分类正确率;定义策略s:入侵检测的最优检测方法;

步骤1.3、定义强化学习学习者的动作x,动作空间x:分析各种网络日志、主机信息等入侵检测相关信息;定义状态x,状态空间x:分为正常状态和异常状态两种。

步骤4中所述马尔科夫决策过程四元组为<x,a,p,r>;其中p:x×a×x→r指定了状态转移概率;r:x×a×x→r指定了奖赏,p是潜在的转移函数,使得环境从当前状态按某种概率转移到另一个状态。

本发明通过对入侵检测环境进行建模,在入侵检测环境内模拟出一个马尔科夫过程,通过强化学习学习出最优的分类策略,可以确定入侵检测中正常行为和非正常行为的阈值,有利于不断地使得正常行为序列得以补充,提高入侵检测的检测率,降低误报率和漏报率,最终提升整个入侵检测系统的性能。

附图说明

图1为基于入侵检测的强化学习环境的构建流程图;

图2为定义入侵检测系统的马尔科夫过程流程图;

图3为求解bellman方程得出入侵检测最优检测策略流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

步骤1):建立一个入侵检测的强化学习的四要素,即:环境、学习者、回报函数、策略。首先,学习的环境使在入侵检测系统内,学习者是入侵检测分类代理,回报函数是入侵检测检测率即分类正确率,策略是入侵检测的最优检测方。其次,学习者的执行动作可以是分析各种网络日志、主机信息等入侵检测相关信息,状态分为正常状态和异常状态两种。

步骤1.1,强化学习强调如何基于环境而行动,以取得最大化的预期利益,本质是为了解决一个“决策”问题,即学会自动进行决策,是一种不断“试错”的学习方式。因此将强化学习应用于入侵检测中,首要是要建立一个强化学习的学习要素,即建立强化学习的学习环境:在入侵检测系统内;定义强化学习的学习者:入侵检测分类代理;

步骤1.2,机器要做的是通过在环境中不断地尝试而学得一个“策略”,根据这个策略,在这个状态下就能得知要执行的动作;定义策略s为入侵检测的最优检测方法;策略有两种表示方法:一种是将策略表示为函数π:x→a,确定性策略常用这种表示;另一种是概率表示π:x×a→r,随机性策略常用这种表示,π(x,a)为状态x下选择动作a的概率,这里必须有∑aπ(x,a)=1;策略的优劣取决于长期执行这一策略后得到的累积奖赏,在强化学习任务中,学习的目的就是要找到能使长期累积奖赏最大化的策略,长期累积奖赏有多种计算方式,常用的有“t步累积奖赏”和“γ折扣累积奖赏”;定义强化学习的奖赏回报函数r为入侵检测检测率即分类正确率;

步骤1.3,强化学习任务的最终奖赏是在多步动作之后才能观察到,极其需要通过尝试来发现各个动作产生的结果,而没有训练数据告诉机器应当做哪个动作;定义强化学习学习者的动作x,动作空间x为分析各种网络日志、主机信息等入侵检测相关信息,首先,捕获模块从数据网络系统的不同主机和网段上的若干关键节点收集和过滤一系列数据包,其次将这些数据包送到解析和预处理模块将数据包包头的特征提取和编码处理,形成特定格式的分类编码序列(如基于tcp端口号范围和标志位,udp端口号范围、icmp报文类型等),通过基于强化学习的入侵检测系统对这些不同协议类型的序列进行分类训练和学习,使之不断地健壮正常行为轮廓,再经过检测模块的实时分析检测,如发现异常,由响应处理模块报警和相关处理;因此可以定义强化学习模型的状态x,状态空间x为正常状态和异常状态两种。

步骤2):建立一个基于入侵检测的马尔科夫过程:首先,要将入侵检测的分类代理抽象化为一个学习者agent,其应有的状态只有两种,即:正常状态和异常状态。正常状态与异常状态的逻辑关系可以构成一个马尔科夫过程,即:下一时刻的状态只与本时刻的状态有关,而与以往任何时刻的状态都无关:

步骤2.1,强化学习任务通常是一个标准的马尔科夫过程,马尔科夫过程是指下一时刻的状态只有本时刻的状态有关,而不受以往任何状态的影响;所以必须要在机器内部的环境内模拟出一个入侵检测的马尔科夫过程;将入侵检测的分类代理抽象化为一个学习者,其应有的状态只有两种,即:正常状态和异常状态;正常状态与异常状态的逻辑关系能够构成一个马尔科夫过程;

步骤2.2,根据强化学习的特点构建基于入侵检测的马尔科夫模型;其中p是潜在的转移函数,使得环境从当前状态按某种概率转移到另一个状态;

步骤2.3,建立入侵检测系统的马尔科夫四元组<x,a,p,r>;其中p:x×a×x→r指定了状态转移概率;r:x×a×x→r指定了奖赏。

步骤3):学习出一个入侵检测的最优分类策略;强化学习可以分为“有模型学习”和“免模型学习”,通常“有模型学习”即马尔科夫四元组中的元素全部是已知的,在这种模型已知的情况下,有利于更加高效地学习出最优策略;因此定义基于入侵检测的强化学习过程是一个有模型学习,即机器已对环境进行了建模,能在机器内部模拟出与环境相同或近似的状况。在此基础上可以得到一个基于入侵检测的强化学习的递归形式的bellman方程,该方程包括两个函数:“状态值函数”和“状态—动作值函数”,分别表示指定“状态”上以及指定“状态—动作”上的累计奖赏。累积奖赏函数使用的是γ折扣累积奖赏:

步骤3.1,入侵检测任务对应的马尔科夫决策过程四元组e=<x,a,p,r>均为已知,这样的情形称为“模型已知”,即机器已对环境进行了建模能在机器内部模拟出与环境相同或近似的状况,在已知模型的环境中学习称为“有模型学习”,此时,对于任意状态x,x`和动作a,在x状态下执行动作a转移到x`状态的概率是已知的,该转移所带来的奖赏也是已知的,基于此,需要假设状态空间x和动作空间a均为有限。

步骤3.2,在模型已知时,对任意策略π能估计出该策略带来的期望累积奖赏,令vπ(x)表示从状态x出发使用策略π所带来的累积奖赏;函数qπ(x,a)表示从状态x出发,执行动作a后再使用策略π,定义“状态带来的累积奖赏,这里定义值函数v(·)”,定义“状态-动作值函数q(·)”,分别表示指定“状态”上以及指定“状态-动作”上的累积奖赏,本方法使用γ折扣累积作为奖赏函数。

步骤3.3,由γ折扣累积奖赏的定义,有状态值函数:

其中x0表示起始状态,a0表示起始状态上采取的第一个动作,其中γ(0≤γ≤1)代表邻近奖赏比未来奖赏更重要。因此有状态-动作函数:

由于马尔科夫过程的马尔科夫性质,即系统下一时刻的状态仅由当前时刻的状态决定,不依赖于以往任何状态,于是值函数有很简单的递归形式,因此对于γ折扣累积奖赏有:

因此在策略π的作用下,状态a的值函数应该满足bellman方程:

其唯一解是最优值函数。

步骤4):对入侵检测策略的值函数进行最优解的求解:首先,选择的是“值迭代算法”,该算法是一种基于策略改进的迭代计算方法,能够较好地调整策略,并且不耗时间。其次,确定入侵检测的马尔科夫决策过程四元组、累积奖赏参数γ、设定收敛阈值。最后,基于γ折扣累积奖赏的值迭代算法,得到入侵检测的最佳检测策略:

步骤4.1,进行策略评估,在有模型学习的情况下,能估计出某种策略带来的期望累积奖赏;状态值函数vπ(x)表示从状态x出发,使用策略π所带来的累积奖赏;状态-动作函数qπ(x,a)表示从状态x出发,执行动作a后再使用策略π带来的累积奖赏;

步骤4.2,求解出bellman方程通常是复杂的,选择“值迭代算法”作为bellman方程最优解的求解算法,确定累积奖赏参数γ、设定收敛阈值;

步骤4.3,最终基于γ折扣累积奖赏的值迭代算法,确定入侵检测中正常行为和非正常行为的阈值,进而得到入侵检测的最佳检测策略π*

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1