终端安全框架的研究与实现*

2020-11-20 03:13张鹤鸣李庚欣王云丽
通信技术 2020年11期
关键词:数据包防火墙框架

张鹤鸣,李庚欣,王云丽,刘 亮

(1.中国电子科技集团公司第三十研究所,四川 成都 610041;2.中国人民解放军31006 部队,北京 100840;3.火箭军装备部项目管理中心,北京 100085)

0 引言

工信部印发的《大数据产业发展规划(2016—2020)》指出,到2020 年,大数据产业体系基本形成,其相关的产品和服务业务收入突破1 万亿元,年均复合增长率保持在30%左右。近年来,大数据技术的创新和发展为人们的生活带来了极大的便利,同样也为信息安全引入了一系列的挑战。个人隐私泄露、终端被植入木马等各类安全事件频出,传统的防御手段面临着严峻挑战,对新一代网络安全技术的研究逐渐成为全球关注的焦点。

一个安全事件,无论在网络中经过多少环节,使用多少技术手段,最终目的都是为了完成某些未经授权的工作,如窃取数据、破坏系统,或者潜伏下来以备后用。这些动作的完成,大多数是通过终端实现的[1]。然而,由于终端部署具备分散性的特点,直接接触用户,物理环境、网络环境复杂多变,可以说终端是最难实施有效管理的环节,可能成为信息安全体系的薄弱地带。因此,终端逐渐成为安全事件的目标和发生地,也成为数据安全的主战场。

本文基于Linux 平台提出了一套终端安全框架,结合传统的主动防御机制与防火墙技术,重点探讨了安全联动功能的设计与实现。第一部分从新时代终端安全防护体系入手,介绍了终端安全框架的组成。第二、第三部分从终端的角度,分别探讨Iptables 防火墙规则配置策略和入侵检测模块的选择。第四部分提出利用决策响应模块,实现防火墙与入侵检测的安全联动功能。最后一部分对全文进行总结。

1 终端安全框架

360 企业安全集团副总裁张聪认为,新时代的终端安全体系应该具备:针对已知威胁的评估能力、拦截能力,以及针对新威胁的检测能力和响应能力[1]。因此,基于终端构建网络安全框架,防火墙和入侵检测是其中必不可少的组成部分。

然而,防火墙是一种静态安全技术,需要设置规则才能起到防护作用,无法主动跟踪入侵源,也不能对实时攻击做出响应;入侵检测作为主动防御机制,虽然可以监控网络传输、检测入侵行为,但无法做到实时阻断。因此,必须有一套安全、合适的技术,在终端上将两个功能模块联合起来发挥效用,做到动静结合、优势互补。

本方案提出的终端安全框架包括:防火墙、入侵检测和决策响应三个组成部分。通过决策响应实现安全联动功能,将入侵检测同防火墙联系起来,入侵检测的数据不再来源于网络,而是流经防火墙的数据包。网络数据在通过防火墙后,拷贝一份进行入侵检测,如果在网络数据包中检测到攻击行为,则通过决策响应模块调整防火墙的过滤规则,及时阻断攻击行为,将网络安全隐患降至最低。终端安全框架的组成及流程示意如图1 所示。

2 防火墙规则配置策略

Linux2.4 及之后的版本集成了Netfilter/Iptables防火墙系统,该系统利用Netfilter 提供可扩展的结构化底层框架,实现数据包过滤、深度包检测、动态地址转换、网络地址伪装和透明代理等功能;Iptables 作为防火墙的配置、管理工具,由一组规则列表组成,用户通过配置相应的规则,阻断网络层、传输层的非法数据包。

图1 终端安全框架

在Iptables 结构中,链是作为规则的容器,串接着拥有相同标签的规则,如INPUT、OUTPUT、FORWARD、PREROUTING 和POSTROUTING 等,分别代表数据包通过协议栈的各个位置点[2]。表作为链的容器,包含着具有相同功能的链,Iptables管理着Raw(链接跟踪)、Mangle(修改)、Nat(地址转换)和Filter(过滤)4 个不同的规则表,每个表的功能均由独立的内核模块实现。

一个合理、高效的规则集是防火墙良好工作的前提。新时代的终端安全框架,要求系统能够根据网络实际情况动态调整防火墙过滤规则,但规则的动态调整可能造成规则的冗余,导致系统对数据包处理时间延长、过滤效率降低,反而影响系统的性能。

优秀的防火墙配置策略可以有效减少规则的数量,降低规则冗余引入的消耗,提高防火墙的工作效率。在实际应用中,根据终端的部署环境、安全需求和业务能力的不同,防火墙配置策略一般有以下两种:①先允许所有的数据包通过防火墙,然后根据网络实际情况,依次禁止有危险的数据包通过,本策略适用于功能复杂、对安全性要求较低的综合型终端;②先禁止所有的数据包通过防火墙,然后根据业务需求和所需服务,依次允许特定的数据包通过防火墙,本策略适用于网络环境简单、业务稳定、对安全性要求较高的终端。

3 入侵检测模块的选择

Snort 是一个轻量级的入侵检测系统,由数据包捕获库Libpcap、包解码器、预处理程序、检测引擎和报警输出模块等部分组成。作为一种主动防御机制,Snort 利用以太网的共享特性,对网络中的数据包进行捕获,通过规则匹配识别网络攻击行为,从而完成用户行为监控、网络异常分析、系统弱点探测,以及网络攻击报警等功能。

目前Snort 已经遍布全球,成为企业级的分布式入侵检测体系。考虑到终端资源的有限性,以及“尽量减小对网络数据传输的影响”的要求,方案决定采用Snort作为终端安全框架的入侵检测工具。

Snort 将攻击事件的行为特征定义为规则,一系列规则按照树形结构管理称为规则树,即攻击特征库。Snort 利用Libpcap 函数实时捕获数据包,经过解码、预处理后,检索攻击特征库,通过规则匹配判断包中是否含有攻击特征。Snort 完整的工作流程示意如图2 所示。

图2 Snort 工作流程示意

在本方案的设计中,Snort 部署于Iptables 防火墙之后,通过防火墙的网络数据,经过拷贝后进行分流,一份送至上层处理,一份送到入侵检测模块,如果在数据包中检测到攻击特征,则在第一时间发出告警信息。

Snort 缺乏手段阻止攻击行为,终端依然会遭受入侵,而且Snort 对攻击特征库的依赖性较强,终端需要及时更新攻击特征库,以保证系统能够识别最新的攻击手段。鉴于入侵检测与防火墙之间功能的互补性,终端安全框架在设计时,还需要有一套独立的机制,不仅能够将二者有效地联动起来,而且能够保证Snort 攻击特征库的实时更新。

4 安全联动机制设计

作为框架实施的核心和安全防护的依据,决策响应模块[3]主要负责安全联动功能的实现,同时接受区域安全管理中心的统一调度,完成攻击特征库的更新和系统安防策略的调整等工作。决策响应模块包括入侵行为分析、安全决策和防护策略调整三部分。

其中,入侵行为分析负责检测Snort 产生的报警信息和日志文件,通过对各类安全事件进行分析、转换,识别具体的攻击行为,并通知安全决策进行处理。安全决策主要负责终端防护策略的生成与下发,支持自动防御和中心干预两种方式完成安防策略的调整。在自动防御模式下,终端设备能够针对各种不同的攻击行为,制定相应的安全策略进行防护;而在中心干预模式下,终端设备接受区域安全管理中心的统一调度,接收并启用管理中心下发的安全策略,进而构建区域分布式防火墙。防护策略调整根据安全决策制定的防护规则,更新防火墙配置,达到实时防护的目的。

在决策响应模块的设计中,有以下要点需要关注:

(1)由于终端资源的有限性,对Snort 日志文件的分析,建议采用Select 多路复用机制实现,以节省系统资源,提升工作效率;如果采用定时扫描机制,则需要设定合理的扫描频率,在处理器资源消耗和入侵响应速度之间,寻找一个可接受的平衡。

(2)安全联动机制在设计实现过程中,尽量维持防火墙、入侵检测两个模块的独立性和完整性,避免将入侵检测作为一个功能模块,直接集成到防火墙中。这种高耦合的设计模式,不仅增加了防火墙的复杂程度,而且不利于终端安全框架整体的开发和维护。

(3)重视Iptables 防火墙规则集的优化,在添加新规则时,建议对新添加的规则和已有的规则进行分析、比较,删除被包含的规则,合并功能类似的规则,对于提升防火墙的工作效率、稳定设备性能至关重要。

5 结语

本方案实现的终端安全框架,充分保证了Iptables 防火墙、Snort 入侵检测两个模块的独立性和完整性,不仅易于移植、开发和维护,而且将二者有效地联动起来,形成决策、防护、检测、响应于一体的终端安全体系。同时,支持人为干预和中心干预的方式调整安防策略,在紧急情况下能够断开联动,通过区域安全管理中心直接更新规则,形成区域分布式防火墙,最大限度地保证系统安全。

猜你喜欢
数据包防火墙框架
二维隐蔽时间信道构建的研究*
有机框架材料的后合成交换
框架
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
全民总动员,筑牢防火墙
构建防控金融风险“防火墙”
C#串口高效可靠的接收方案设计
关于原点对称的不规则Gabor框架的构造
在舌尖上筑牢抵御“僵尸肉”的防火墙
我国在WYO框架下面对的贸易保护现状及应对