期刊鉴别 论文检测 免费论文 特惠期刊 学术答疑 发表流程

基于改进正则表达式规则分组的内网行为审计方案

时间:2016-10-04 14:11 文章来源:http://www.lunwenbuluo.com 作者:俞艺涵等 点击次数:

  摘要:针对网络安全审计中对应用层协议审计能力不足的问题,提出一种基于改进正则表达式(RE)规则分组的内网行为审计方案。首先,通过正则表达式对需审计的协议进行描述,并设置相关参数,使内网中出现频率高和审计中相对重要的协议状态在正则表达式描述集中取得高优先级;然后,在正则表达式交互值小的前提下,尽可能地将高优先级协议状态表达式构建到相同自动机分组中以生成审计引擎;最后,根据审计需求,改变相关参数,实现对内网行为的安全审计。实验结果显示,所提出的自动机构建算法在转化时的状态数缩减为经典非确定有限状态自动机(NFA)转化算法Thompson的10%~20%,检测时的吞吐量约为传统自动机分组引擎的8到12倍;所提审计方案能够满足对应用层协议进行安全审计的需求,具有较高的准确性和效率。
  关键词:正则表达式;协议状态;安全审计;自动机分组;需求选择
  0引言
  随着网络时代的到来,信息化进程不断加速,计算机网络规模越来越大,网络信息安全也越来越受到人们的关注。相对于外部网络而言,计算机内部网络具有更强的私密性和可操作性,许多政府部门、大型公司等机构都建有自己的内部网络。在内部网络中,用户可以根据自身需求制定相关的规则来达到内网信息一定的需求,如军用内网中,用户通过加密技术来保证内部通信的私密性。同时,由于内部网络中所包含的信息往往存在巨大的价值(如商业机密),内部网络受到了越来越多的安全威胁。
  在大规模网络环境下,攻击者的攻击手段日趋复杂,多种网络攻击行为在宽时间域上交互实施,单一的入侵检测技术已不能满足防护需求。特别是近年来,具有应用技术手段高超、潜伏时间长、目的明确等特点的高级持续性威胁(Advanced Persistent Threat, APT)[1]的活动越来越频繁,其针对内网的攻击往往运用多种攻击方式在多个层面上进行,且不仅单一通过网络攻击技术对内网实施入侵,还往往运用社会工程学等知识来实施攻击[2-4]。所以,内网的网络安全防护措施在应对传统网络攻击技术的同时,还需要对内部人员和内部操作行为进行审计。
  针对网络安全审计技术的研究国内外起步都比较晚,且由于网络应用发展的日新月异,当前并不存在一套通用的网络安全审计系统,现有的网络安全审计产品往往是为满足某个特定的安全审计需求而设计的。分析研究国外的网络安全审计系统(如NitroViewLogCaster)以及国内的网络安全审计系统(如TOPSECAuditor)可以发现,现有的网络安全审计产品对于网络应用层协议的审计能力有限,大大影响了其审计效果。
  文献[5]提出了一种通过采集内网监控日志信息、受控终端日志信息和受控终端配置及操作信息,进行关键词匹配建立索引信息来进行安全审计的方案。该方案充分利用了内网采集日志信息的便利性,对相关数据进行了收集与分析,通过对比验证来对内网网络进行审计。该方案的优点在于其数据源合理,能够充分反映出内网网络状态,但其数据的采集与处理过程过于复杂,效率不高。
  文献[6]提出了一种基于改进信息熵的攻击检测算法,并由此设计了一种多Agent网络安全审计模型。该模型有效地提高了网络安全审计的效率与日志分析的智能性,但是其数据来源为简单的网络数据流,并不能摆脱数据流统计特性所带来的局限性。
  文献[7]提出了一种基于人工神经网络和规则匹配相结合的安全审计方案,其将系统部署在网络的进出口,旨在通过对网络进出口处的数据交换模式进行审计,实现了对网络入侵的准确检测。然而,其审计的重点只停留在了数据流表层,并没有对数据流的深层内涵进行审计,存在一定的安全隐患。
  为了解决目前网络安全审计中存在对网络应用层协议审计能力有限的问题,本文提出了一种基于改进正则表达式(Regular Expression,RE)规则分组的内网行为审计方案,其主要特点在于:采用了将应用层协议行为与正则表达式自动机构建分组结合的思想,提出了一种基于协议行为加权分组(Weighted Grouping of Protocol Behavior,WGPB)的自动机构建方法,将网络中出现频率高和相对重要的应用层协议行为构建到相同的自动机中,并赋予其高的优先级,合理地将技术描述与应用层协议的实际情况结合起来,在技术层面缓解了自动机存储空间膨胀问题的同时更具有可靠性;提出了一种基于需求选择(Demand Choice,DC)的安全审计策略,将审计对象的重要程度与审计策略结合起来,提供了一种可选择的安全审计方式,在审计策略层面提高了审计效率。
  1相关知识
  正则表达式是使用单个字符串来描述、匹配一系列符号某个句法规则的字符串,具有很强的描述能力。对正则表达式的匹配需要使用有穷自动机来完成,有穷自动机分为非确定有限状态自动机(Nondeterministic Finite Automaton, NFA)和确定有限状态自动机(Deterministic Finite Automaton, DFA),NFA和 DFA在实际应用中有不同的优点和缺点[8-9]。
  NFA的优点是其状态转移空间复杂度比较低,因为NFA的状态数目与正则表达式的长度成线性关系。然而在处理每一个字符时,由于必须逐个处理活动状态集合中的多个状态,因此匹配效率非常低;若将多条规则编译到同一个NFA中,虽然可以在处理过程中同时匹配所有正则表达式的公共前缀,但在实际应用中却会形成更大数量的活动状态集合,处理一个字符的时间复杂度和将每个正则表达式编译成单独一个NFA的时间复杂度相同。
  相比之下,虽然DFA处理一个字符只需要访问一个状态,但若将每条正则表达式编译成单独的DFA,其状态转移时间复杂度同样将随着规则数目的增多而增大;而将所有的正则表达式编译成一个混合DFA时,则会导致其空间需求大大增加,以当前的硬件条件将无法满足如此大的内存需求。使用不同的方法和策略进行匹配时所需要的状态转移空间复杂度和处理一个字符的状态转移时间复杂度见表1。  
  由表1可知,将多条正则表达式构建到同一个DFA中的状态转移时空复杂度最优;但将多条正则表达式构建到同一DFA中,存在因为正则表达式的交互而使状态数急剧增多的情况,从而造成存储空间不足的问题[10]。如正则表达式“ab+c”和“b(a|c)k”,它们单独构建DFA的状态转移图如图1所示,将它们合并构建到一个DFA中的状态转移图如图2所示。
  可以看出相比于单独构建DFA自动机,两个表达式在构建到同一个DFA自动机时将造成因交互而带来的状态数增加。
  对正则表达式进行规则分组是解决这一问题的一种有效的办法。
  目前对正则表达式进行规则分组的一般方法[11-12]是:
  1)通过计算判断正则表达式直接是否存在引起“膨胀”的交互;
  2)以每一个正则表达式为顶点,用一条边连接相应的两个顶点,构建关系图;
  3)设定分组阈值;
  4)以最小相关原则的次序将正则表达式加入DFA中,直到达到阈值;
  5)创建新的分组重复4),直到所有正则表达式都被分配完毕。
  通过这样的规则分组,大大降低了两个正则表达式之间交互的可能性,缓解了将正则表达式编译到DFA中所带来的存储空间不足问题。但是,这样简单的分组将会由于DFA数量的增多而使匹配效率降低,若分为S组,效率降为原来的1/S。

  •   论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
  •   论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
  •  
  •   论文投稿客服QQ: 论文投稿2863358778 论文投稿2316118108
  •  
  •   论文投稿电话:15380085870
  •  
  •   论文投稿邮箱:lunwenbuluo@126.com

联系方式

  • 论文投稿客服QQ: 论文投稿2863358778
  • 论文投稿客服QQ: 论文投稿2316118108
  • 论文投稿电话:15380085870
  • 论文投稿邮箱:lunwenbuluo@126.com

热门排行

 
QQ在线咨询
咨询热线:
15380085870
微信号咨询:
lunwenbuluoli