网络安全语言关键技术的研究

网络安全语言关键技术的研究

论文摘要

随着Internet技术及其各种应用技术的高速发展,网络安全问题变得越来越重要和敏感。网络攻击技术和手段日新月异,迫使网络安全程序的开发必须越来越快。攻击技术和手段日益复杂、更具隐蔽性和分布性等特点使网络安全程序的开发也越来越困难。为了描述各种复杂的安全规则和方便地对安全功能进行扩展,各种专有的安全语言都发展起来,如IDS系统的Snort规则脚本和RUSSEL语言,扫描器Nessus的NASL语言,描述漏洞的AVDL和VulnXML,以及攻击描述语言LAMBDA、JIGSAW和CISL。然而,上述安全脚本和语言仍然存在许多缺陷,如功能单一;语法语义各不相同,不方便学习,对同一个安全事件,采取完全不同的描述方式;规则之间互操作困难,无法交换和共享信息;语言的表示能力,检测强度都没有一个统一的标准等。为此,提出了建立网络安全语言NSL(Network Security Language)的构想。通过对各种安全应用进行深入分析、归类、抽象出基于特征(Feature)、事件(Event)、过滤器(Filter)、限制(Constraint)和场景(Scenario)的模型。在此基础上定义了完整的NSL语法和语义,设计和实现了NSL的编译器和虚拟机。为大多数安全应用提供了一个统一的编程环境。构造了以Rule和Scenario为核心的两级语法结构。NSL的基本语法结构在表达式、语句和方法级别上都兼容C/C++语言,不仅提高了描述复杂结构的能力,而且也降低了学习曲线。NSL的Rule和Scenario实现不同的安全功能。Rule负责基于signature的检测,而Scenario具有状态转换的自动推导能力,可以检测复杂的安全事件。对基于signature的检测,主要采用了动态Filters加载方法,和Filters Cache结合在一起,既提供了强大的检测能力又允许方便的扩展。同时对内容检测的Boyer-Moore算法进行了优化,把Boyer-Moore算法中的两个启发式步骤连接起来,对匹配针对Web的攻击,可以达到更快的速度。Rule之间共设计了四种互动方式。现有的安全语言中,有的没有提供规则之间的互动能力,有的提供了比较简单的机制。而NSL具有4种粒度的规则交互方式:即规则启停控制,规则变量访问,规则方法调用和规则事件访问。丰富了规则的表现能力,提高了表示方法的简洁性。对复杂攻击场景,采用自动状态机来进行检测。一个Scenario语法结构包含多个状态,每个状态可以对应攻击中的一个步骤。当预定的事件(Event)对象出现,状态之间会自动进行转换。Scenario和Rule之间可以通过Event进行通信,方便的提供了分布式的检测能力。使NSL具有普通IDS系统不具备的高级攻击检测能力。为了能够适应网络应用对带宽苛刻的要求,还利用多种优化技术对NSL的运行了效率进行优化。包括四种方法:即窥孔优化(peephole optimization),快速指令分发,基于神经网络的垃圾搜集以及快速的Just-In-Time及时编译等算法和技术。基于神经网络的垃圾搜集为新提出的算法,通过神经网络来预测垃圾搜集的时机,取得了较好的效果。其他优化技术也在细节上做了改进。通过这些优化技术突破了一般安全语言在性能上的局限。提出基于返回地址的缓冲区保护的方法。为了提高NSL在非可信网络中的安全性,尤其针对泛滥的远程缓冲区溢出攻击,NSL通过建立只读返回地址区域和对返回地址进行编码,有效防止了各种缓冲区溢出的攻击。实现了一个较为完善的NSL编译、运行和测试环境。以此为基础开发了一个完整的安全工具:“开放式多功能安全平台”。该平台具有可扩展,分布式,集成化的特点。NSL语言在该项目的实际应用中,得到了测试和检验,结果表明了NSL在功能和性能上的有效性,基本达到了设计目标。在该平台上运行的Sniffer、Firewall和IDS等安全功能,经过实际环境中的测试,也都取得了良好的效果。该平台已经圆满的通过了有关部门的验收。

论文目录

  • 摘要
  • Abstract
  • 1 绪论
  • 1.1 网络安全与面向网络安全的语言
  • 1.2 国内外研究现状
  • 1.3 主要研究内容
  • 1.4 主要的创新
  • 2 面向网络安全的语言形式化分析和比较
  • 2.1 面向网络安全的语言形式化表示及评估
  • 2.2 防火墙相关规则分析
  • 2.3 IDS 相关规则分析
  • 2.4 漏洞扫描/描述语言分析
  • 2.5 攻击描述语言分析
  • 2.6 本章小结
  • 3 NSL 的设计
  • 3.1 引言
  • 3.2 基本语法
  • 3.3 基于Signature 的攻击检测
  • 3.4 基于状态转换的多步攻击检测
  • 3.5 NSL 外部接口
  • 3.6 本章小结
  • 4 NSL 的优化技术
  • 4.1 窥孔(Peephole)优化
  • 4.2 快速指令分发(dispatch)技术
  • 4.3 基于神经网络的垃圾搜集调度算法
  • 4.4 快速Just-In-Time 技术
  • 4.5 本章小结
  • 5 NSL 安全性设计
  • 5.1 基于返回地址的防止缓冲区溢出方法
  • 5.2 本章小结
  • 6 NSL 实现和应用
  • 6.1 基于NSL 的应用
  • 6.2 性能测试
  • 6.3 本章小结
  • 7 总结和展望
  • 7.1 总结
  • 7.2 未来研究工作展望
  • 致谢
  • 参考文献
  • 附录1 博士期间发表的论文和所完成的研究
  • 附录2 NSL词法定义
  • 附录3 NSL语法定义
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    网络安全语言关键技术的研究
    下载Doc文档

    猜你喜欢