李 健,陈 为
(中国食品药品检定研究院信息中心,北京 100050)
基于异构条件的NIDS网络安全技术研究
李 健,陈 为
(中国食品药品检定研究院信息中心,北京 100050)
异构条件下构建工业可信安全环境,需要对网络入侵检测系统(NIDS)进行全方位研究。在异构条件下构建信息行业可信安全环境的研究主要从网络的结构安全、通讯网络、区域边界和安全区域四个方面展开。为此,从抗网络攻击的需求出发,在分析六种工业信息安全技术并详细研究可信网络关于药品领域工业总线入侵检测系统的基础上,针对数据采集与监视控制(SCADA)系统信息安全,提出了一种基于嵌入式麒麟Linux操作系统的防护模型。该模型综合使用网络通信、防火墙iptables、入侵检测Ssnort以及加密算法等技术,设计并实现了一套服务于分布式控制系统(DCS)工业设备的安全防御平台。基于Matlab软件的Simulink进行了数据安全传输机制的设计和仿真验证,NIDS顺利通过了试验测试。实验结果表明,所提出的模型有效可行,所构建平台采用的技术具有较高的有效性和可靠性。
异构条件;网络入侵检测系统;可信网络安全;网格空间加密算法
现如今,异构条件下工业控制系统广泛地应用在核心生产应用领域,已成为航空、高铁、电力等交通行业,水处理、空气净化、地铁等城市公用设施行业,以及食品和药品等其他国家关键基础设施的中枢神经和最强“大脑”。
以前在国内药品及医疗器械生产领域中,自动化系统之间并没有紧密的联系,也没连接到互联网、办公网等公共网络。现在医药生产信息安全技术的研究正在进一步深化,随着信息技术的发展,现代化药品工业控制系统越来越依靠于商业IT和Internet领域的实时Linux操作系统,而且与同行业务管理信息系统等其他信息系统的连接也是越来越多,工业控制系统(ICS)受攻击面和常见的固有漏洞日益增加。因此,在国内药品及医疗器械领域,异构条件下的工业控制系统信息安全显得越来越重要。
信息系统在网络环境、应用环境和数据环境中的状态是异构且复杂的。在如此复杂条件下,需要合理有效的管理方式和技术来保证网络、应用、数据环境三个层面的安全性。为此,在全面剖析太极公司异构条件的基础上,针对数据采集与监视控制(SCADA)系统的信息安全,提出了一种基于嵌入式麒麟Linux操作系统的防护模型,实现了网络、应用和数据安全整合与交互的关键技术,包括基于行业异构特点的身份认证、访问控制、内容安全、监控审计以及备份恢复等。
1.1技术介绍
现如今,在国际范围内应用较多的信息安全技术有以下几种:
(1)防火墙防护技术。
众所周知,防火墙相关防护技术是在食品药品企业内部网络与外部不安全的网络之间设置隔离措施,中断或阻止外界对内部资源的非法访问,防止计算机病毒、各种破坏性木马和网络黑客的入侵[1];同时防止内部对外部链接的不安全访问或非法向外传递内部信息,也防止这类非法和恶意的网络行为导致内部网络运行遭到破坏。
防火墙目前应用的主要技术有:应用网关技术、包过滤技术和代理服务技术。有效的防火墙能够对数据流进行监控、过滤、记录和报告,很好地阻止黑客利用安全漏洞对内部网络进行攻击,当出现不符合安全策略的行为时,可以阻断外部网络与内部网络的连接。
(2)网络入侵检测技术。
工业现代化阶段,网络入侵检测是实时的、主动检测的技术,它对计算机系统或网络的非法入侵行为进行立即检测并能够即时响应。
通过加解密算法和加解密公钥,密钥保障了网络中信息数据传输的机密性。通讯网络需要进行端到端加密,从特定系统及通信数据定级、评估、设计、建设、测评的所有文件均用到了加密解密技术手段[2]。
非对称密钥加密需要两个密钥:私有密钥(private-key)和公开密钥(public-key)。私有密钥与公开密钥是一对,这种算法主要包括ECC(椭圆曲线加密算法)、D-H、Rabin[3]。
加密算法之对称密钥在传输加密信息时就不用担心侦听。这样,只有SCADA主机和远端单元可以进行交流通信。流行的对称密钥加解密算法主要包括:IDEA、3DES、DES、BLOWFISH、FEAL等[4]。
1.2ICS安全防护目标
工业控制系统信息安全是一项持久的任务,从网络的结构安全、通讯网络、区域边界和安全区域等几个方面展开。对网络、应用、数据实现安全整合、交互的关键技术,其中基于行业异构特点的身份认证、访问控制、内容安全、监控审计以及备份恢复是网络、应用、数据环境的关键技术[5]。
在此基础上,从数据安全和管理安全两个维度讨论了工业控制系统安全防护技术的设计原则,给出了区域划分、终端防护、通信管控、安全设备选择、安全操作策略和流程,如图1所示。
图1 ICS安全防护方案设计流程
为最大程度地确保异构条件下食品药品检定系统的安全,需用实施具体且有理论支撑的防卫措施。身份鉴别是技术体系的前提保障,访问控制是用来实施对资源访问加以限制的策略和机制,这种策略把对资源的访问只限于那些被授权用户,内容安全是指各个层面使用不同的安全技术来确保数据的机密性与完整性,对信息资产和网络资源状态和信息安全状况的监控审计;备份是对数据进行可用性的有效保护,当数据被破坏时能够快速恢复[6]。
2.1防火墙iptables技术设计
在麒麟Linux系统下,防火墙最广泛的实现方法之一就是使用Linux系统下自带的防火墙管理程序iptables。
iptables是用户与防火墙之间的接口,最大程度上起到防火墙作用的是运行在Linux内核中的netfilter。如图2所示,麒麟Linux平台的packet过滤防火墙包括iptables和netfilter两个组件[7]。
2.2输入供电设计
针对IPv4协议,netfilter定义了五个hook点[8],如表1所示。
图2 Linux包过滤防火墙的基本结构图
hook调用时机NF_IP_PRE_ROUTING在完整性校验之后,选路确定之前NF_IP_LOCAL_IN在选路确定之后,且数据包的目的是本地主机NF_IP_FORWARD目的地是其他主机的数据包NF_IP_LOCAL_OUT来自本地计算机进程的DataPacket在其离开本地计算机主机的过程中NF_IP_POST_ROUTING在DataPacket离开本地计算机主机“上线”之前
Ssnort是一个单线程应用程序,具有四种运行模式:Packet Logger、IPS、Sniffer和NIDS。主要针对Ssnort的NIDS运行模式进行了研究。
3.1Ssnort整体框架
NIDS模式下的Ssnort是一个轻量级的入侵检测系统,采用模块化的编程架构[9-10]。
NIDS模式下,Ssnort是一个基于模式匹配的网络入侵检测系统。模式匹配的网络入侵检测工作流程见图3。
图3 模式匹配的网络入侵检测工作流程
Ssnort除了图3中最基本的操作步骤外,还包括以下几个步骤:
1)检测系统的初始化,含如下两方面:
(1)在初始化运行阶段,分析初始化配置文件、设置一些标志变量等。
(2)Linux下的工具大多是基于命令行,Ssnort也不例外,所以需要食品药品方面用户输入命令参数进行解析。
2)初始化规则检测引擎。
若要进行入侵检测规则的匹配,则需要把规则从文件读取到系统的内存中,并规则地进行合理分类。
3)构建入侵检测规则的快速匹配引擎。
快速匹配这一概念是从2.0版本的Ssnort开始出现的,其目的是为了缩短规则匹配所用时间,将规则按一定方式进行二次分类,提高了Ssnort的检测效率[11]。
4)预处理引擎。
网络通信中有某些非常规的数据包,首先要对数据包完成特殊处理才能进行匹配,若非这样,它将绕过Ssnort的入侵检测,如分片包就要先进行重组。在Ssnort检测中,此类的工作被定义为预处理,调用数据包要在进入检测引擎之前。
5)截获接口,打开数据包。
Ssnort中截获数据包,使用的是libpcap库[12]。进行数据包截获之前,Ssnort程序会先设置查找网卡,然后设置过滤条件等工作。
综上,Ssnort会依次执行相应操作,在Ssnort成功启动后,进行的四个操作是截获数据包、数据包预处理、规则匹配和日志输出,它会一直循环上面的这四个操作。
3.2Ssnort规则编写
所有的Ssnort规则的基本结构都有逻辑组成两个成分:规则体和规则头。
规则头表明该条规则所做行为动作的相关信息,以及一些与数据包所对比的条件。规则体通常包含一个警告消息以及被用于产生该消息的数据包部分。一条Ssnort规则可用于检测一个或多个类型的入侵行为,一个好的规则可以同时检测多种入侵特征[13]。
地址部分用于指明匹配的源或目的地址。该地址可以是一个主机,多个主机的地址或者一个网络地址。需要注意的是,在规则中有两个地址段,源或目的地址的区别依赖于方向段。
对规则文件进行处理时,Ssnort采用三维链表来存储规则信息。三维链表一旦构建好,就通过查找三维链表与数据包进行匹配并及时响应。Ssnort对数据包进行匹配后,需要将结果进行输出。
3.3Ssnort输出插件
为了能够实现入侵检测Ssnort和防火墙iptables之间的联动,对Ssnort的输出机制进行了一定的研究。Ssnort的输出结果主要有日志和警报两种,而输出插件使得Ssnort在输出形式上更加多样化,其会在调用Ssnort的报警或记录子系统时被调用。
当Ssnort配置文件中指定了多个输出插件时,在默认情况下通过使用-l命令行参数输出到用户指定的目录文件中或把数据包发送到/var/log/Ssnort文件[14]。
为了防止网络攻击者对传输数据进行窃听,需要对传输数据进行加密操作。而加密操作涉及到的一个重要问题,就是加密密钥的管理分配问题。
在对称加密算法中,加解密这两个过程使用相同的密钥。而为了有效地确保数据的安全性,加解密所使用的密钥应该定时或不定时更新。针对对称加密算法中密钥的更新问题,许多学者使用非对称加解密算法来对重置后的密钥进行管理。非对称加解密算法使用一对密钥:共有密钥和私有密钥。使用食品药品私有密钥进行加密,则只有针对性的共有密钥才能进行解密;相应地,使用共有密钥进行加密,只有使用私有密钥才能进行解密。
非对称加密算法可以有效地解决密钥的分配管理问题,这一结论是基于攻击在知道非对称加密算法的公有密钥的前提下,依然无法破解其私有密钥这一前提上的。然而,随着计算机系统计算能力的日渐增强,私有密钥面临着被暴力破解的危机。针对对密码攻击的情形,一种途径是提高密钥的长度,使破解密钥的代价远大于攻击所获取的利益;另一种途径则是选用其他方法来解决密钥的分配管理问题。
为了有效地解决加密操作中的密钥分配管理问题,采用第二种途径,提出了一种与事件同步的动态密钥生成机制。
为了弥补协议上安全控制的缺失,提出了一种数据安全传输机制(Data Security Transmission Mechanism,DSTM)。该机制由两部分组成:安全发送单元和安全接收单元[15]。
在药品行业异构条件下构建工业可信安全平台,需要进行入侵检测实验来验证,步骤如下:
(1)将DCS设备、通信代理嵌入式装置和程序连接上;
(2)在嵌入式安全装置上,创建Ssnort的警报输出文件和联动程序的日志文件,使用命令“touch /var/log/Ssnort/alert”和“touch /var/log/Ssnort/guardian.pl”;
(3)使用命令“/usr/lcoal/arm/Ssnort/bin/Ssnort -c /usr/local/Ssnort.conf -i eth1 -D”后台运行Ssnort,对与用户端相连接的网口eth1进行监测。防火墙的初始规则设置完成,默认规则为拒绝所有的外部用户的访问,利用白名单允许用户网中的一部分已授权的IP地址的访问连接。
切换到联动程序所在的文件目录下,使用指令“guardian.conf”启动联动程序,网络用户程序的显示图显示应用合格。
由以上步骤得出,实验结果合格,实验有效地达到了研究的目的。
基于嵌入式麒麟Linux的硬件平台,综合利用网络通信技术、多进程技术、TCP/UDP通信技术等,实现了针对药品和医疗器械DCS现场工业设备的通信代理模块,并结合ICS及SCADA系统的特点,将防火墙、入侵检测规则部署于该医药硬件平台,提出并实现了一个针对SCADA系统的安全防御系统。在嵌入式Linux硬件平台上利用防火墙加解密模块对通信代理模块与网络用户之间的通信数据进行了安全保护,完成了验证实验。融合了多种入侵检测技术,设计实现了一个针对药品DCS工业设备的SCADA系统的安全防御平台。通过实验的合格结果证明了NIDS方法的有效性,目前此技术在世界范围内仍进行着更深层次的拓展研究。
[1] 张晓倩,宋晓茹,曹建建.基于CAN总线的网络控制系统的仿真研究[J].计算机技术与发展,2016,26(7):192-195.
[2] 邓萍丽,朱斌红,唐春燕,等.信息安全威胁及安全防范策略综述[J].电子产品可靠性与环境试验,2014,32(2):60-64.
[3] 黄伟峰.基于神经网络的入侵检测系统研究与实现[D].贵阳:贵州大学,2008.
[4] 王斯梁,尹一桦.工业控制系统安全防护技术研究[J].通信技术,2014,47(2):205-209.
[5] 马振阳.计算机网络安全[M].北京:科学出版社,2011.
[6] 唐春林.电子商务与电子政务中的数字证书[J].长沙通信职业技术学院学报,2006,5(4):38-41.
[7] 陈 洁.E-book中DRM技术的构成和实现[J].图书馆学研究,2004(8):45-47.
[8] 张 雷,陈 康,张在飞.20路多种类串口卡的设计与实现[J].计算机与现代化,2013(8):187-191.
[9] Zhang L,Xie L,Li W,et al.A secure mechanism for networked control systems based on TrueTime[C]//International conference on cyberspace technology.[s.l.]:[s.n.],2013:44-49.
[10] 李早水.电子支付系统的安全问题分析及对策研究[J].信息与电脑:理论版,2011(1):3-4.
[11] 张 雷.加固计算机肋片散热器的优化设计[J].计算机与现代化,2014(6):120-123.
[12] 陈 光.基于Agent的分布式入侵检测系统的研究与设计[D].长春:吉林大学,2007.
[13] 王红梅,刘 永.DES方法与数字信息资源安全控制[J].情报科学,2005,23(4):544-549.
[14] Li W,Xie L,Deng Z,et al.False sequential logic attack on SCADA system and its physical impact analysis[J].Computers & Security,2016,58(C):149-159.
[15] Li W,Xie L,Liu D,et al.False logic attacks on SCADA control system[C]//Services computing conference.[s.l.]:IEEE,2014:136-140.
Investigation on Network Security Technology of NIDS Based on Heterogeneous Conditions
LI Jian,CHEN Wei
(Information Center of National Institutes for Food and Drug Control,Beijing 100050,China)
To build an industrial trusted security environment under heterogeneous conditions,it is necessary to study the Network Intrusion Detection System (NIDS) of all dimensions.The investigations on information industry credible security conditions in heterogeneous environments are composed of four respects,including structural safety,communication network,area boundary and security zone.In view of requirements on network anti-attack,on the basis of analyzing six kinds of industrial information security techniques and investigation on the trusted network intrusion detection system in medicine field,a protection model,running on embedded-Qilin Linux operating system,is proposed for the information security of SCADA.It adopts a lot of technologies like network communication and firewall,intrusion detection and encryption algorithms.A set of security defense platform for the Distributed Control System (DCS) industrial equipment is implemented.The design of data security transmission mechanism and its simulations for verification have been conducted with Simulink in Matlab,through which NIDS goes for qualification.The results of simulation show that it is effective and feasible and that the techniques adopted in the established platform owns high validity and reliability.
heterogeneous conditions;NIDS;trusted network security;cyber encryption algorithm
2016-10-30
:2017-01-31 < class="emphasis_bold">网络出版时间
时间:2017-07-05
国家自然科学基金资助项目(61180511)
李 健(1972-),男,硕士,高级工程师,研究方向为实验室信息化和信息安全。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170705.1653.088.html
TP309
:A
:1673-629X(2017)09-0106-04
10.3969/j.issn.1673-629X.2017.09.023