工控网络安全防护

2024-10-21

工控网络安全防护(精选5篇)

工控网络安全防护 篇1

1 引言

近年来, 由于网络技术的飞速发展和各类信息安全事故的频繁发生, 工业自动化和控制系统通信网络中的信息安全受到越来越多的关注。IEC/TC65/WG10 (工业过程测量、控制与自动化/网络与系统信息安全工作组) 与国际自动化协会ISA 99成立联合工作组, 共同制定IEC 62443《工业过程测量、控制和自动化网络与系统信息安全》系列标准。以下将围绕IEC 62443系列标准, 详细讲解用于工业控制系统信息安全技术的国际标准化进展, 以及工业控制系统信息安全评估方法。

2 工业安全和工业信息安全的定义

安全是指避免会造成人体健康损害或人身损伤的不可接受的风险, 而这种风险是由于对财产或环境的破坏而直接或间接导致的。通常工业领域的安全可分为三类, 即功能安全 (Functional Safety) 、物理安全 (Physical Safety) 和信息安全 (Security) 。

功能安全是为了实现设备和工厂安全功能, 受保护的安全相关部分和控制设备的安全相关部分必须正确执行其功能。当失效或故障发生时, 设备或系统必须仍能保持安全条件或进入到安全状态。

物理安全是减少由于电击、着火、辐射、机械危险、化学危险等因素造成的危害。

信息安全包括的范围很大, 大到国家军事政治等机密安全, 小到防范企业机密泄露、个人信息的泄露等。ISO/IEC 27002中信息安全的定义是“保持信息的保密性、完整性、可用性;另外也可包括例如真实性、可核查性、不可否认性和可靠性等。”在IEC 62443中针对工业控制系统对信息安全的定义是“a) 保护系统所采取的措施;b) 由建立和维护保护系统的措施所得到的系统状态;c) 能够免于对系统资源的非授权访问和非授权或意外的变更、破坏或者损失;d) 基于计算机系统的能力, 能够保证非授权人员和系统既无法修改软件及其数据也无法访问系统功能, 却保证授权人员和系统不被阻止;e) 防止对工业控制系统的非法或有害入侵, 或者干扰其正确和计划的操作。”

3 工业控制系统信息安全与传统IT信息安全的区别

传统IT信息安全一般要实现三个目标, 即保密性、完整性和可用性, 通常都将保密性放在首位, 并配以必要的访问控制, 以保护用户信息的安全, 防止信息盗取事件的发生。完整性放在第二位, 而可用性则放在最后。

对于工业自动化控制系统 (IACS) 而言, 目标优先级的顺序则正好相反, 如图1所示。工控系统信息安全首要考虑的是所有系统部件的可用性。完整性则在第二位, 保密性通常都在最后考虑。因为工业数据都是原始格式, 需要配合有关使用环境进行分析才能获取其价值。而系统的可用性则直接影响到企业生产, 生产线停机或者误动作都可能导致巨大经济损失, 甚至是人员生命危险和环境的破坏。当工业控制系统安全保护层被突破后仍必须保证生产过程的安全, 尽量降低对人员、环境、资产的破坏。

除此之外, 工控系统的实时性指标也非常重要。控制系统要求响应时间大多在1 ms以内, 而通用商务系统能够接受1 s或数秒内完成。工业控制系统信息安全还要求必须保证持续的可操作性及稳定的系统访问、系统性能、专用工业控制系统安全保护技术, 以及全生命周期的安全支持。这些要求都是在保证信息安全的同时也必须满足的。

4 IEC 62443标准体系结构

用于工业自动化和控制系统的信息安全技术标准最初是由国际自动化协会 (ISA) 中的ISA 99委员会提出。2007年, IEC/TC65/WG10与ISA 99成立联合工作组, 共同制定IEC 62443系列标准。2011年5月, IEC/TC65年会决定整合IEC 62443标准结构, 并从14个部分文档调整到12个, 以优化工业控制系统信息安全标准体系。同时, 为与IEC/TC65的工作范围相对应, IEC 62443系列标准名称由《工业通信网络网络与系统信息安全》改为《工业过程测量、控制和自动化网络与系统信息安全》 (这里的“过程”指的是生产过程) 。

IEC 62443系列标准目前分为通用、信息安全程序、系统技术和部件技术4个部分, 共包含12个文档, 每个文档描述了工业控制系统信息安全的不同方面。IEC 62443标准结构如图2所示。

第1部分描述了信息安全的通用方面, 作为IEC 62443其他部分的基础。

●IEC 62443-1-1术语、概念和模型:为其余各部分标准定义了基本的概念和模型, 从而更好地理解工业控制系统的信息安全。

●IEC 62443-1-2术语和缩略语:包含了该系列标准中用到的全部术语和缩略语列表。

●IEC 62443-1-3系统信息安全符合性度量:包含建立定量系统信息安全符合性度量体系所必要的要求, 提供系统目标、系统设计和最终达到的信息安全保障等级。

第2部分主要针对用户的信息安全程序。它包括整个信息安全系统的管理、人员和程序设计方面, 是用户在建立其信息安全程序时需要考虑的。

●IEC 62443-2-1建立工业自动化和控制系统信息安全程序:描述了建立网络信息安全管理系统所要求的元素和工作流程, 以及针对如何实现各元素要求的指南。

●IEC 62443-2-2运行工业自动化和控制系统信息安全程序:描述了在项目已设计完成并实施后如何运行信息安全程序, 包括量测项目有效性的度量体系的定义和应用。

●IEC 62443-2-3工业自动化和控制系统环境中的补丁更新管理

●IEC 62443-2-4对工业自动化控制系统制造商信息安全政策与实践的认证。

第3部分针对系统集成商保护系统所需的技术性信息安全要求。它主要是系统集成商在把系统组装到一起时需要处理的内容。它包括将整体工业自动化控制系统设计分配到各个区域和通道的方法, 以及信息安全保障等级的定义和要求。

●IEC 62443-3-1信息安全技术:提供了对当前不同网络信息安全工具的评估、缓解措施, 可有效地应用于基于现代电子的控制系统, 以及用来调节和监控众多产业和关键基础设施的技术。

●IEC 62443-3-2区域和通道的信息安全保障等级:描述了定义所考虑系统的区域和通道的要求, 用于工业自动化和控制系统的目标信息安全保障等级要求, 并对验证这些要求提供信息性的导则。

●IEC 62443-3-3系统信息安全要求和信息安全保障等级:描述了与IEC 62443-1-1定义的7项基本要求相关的系统信息安全要求, 及如何分配系统信息安全保障等级。

第4部分针对制造商提供的单个部件的技术性信息安全要求。它包括系统的硬件、软件和信息部分, 以及当开发或获取这些类型的部件时需要考虑的特定技术性信息安全要求。

●IEC 62443-4-1产品开发要求:定义了产品开发的特定信息安全要求。

●IEC 62443-4-2对IACS产品的信息安全技术要求:描述了对嵌入式设备、主机设备、网络设备等产品的技术要求。

IEC 62443系列标准通过四个部分, 涵盖了所有的利益相关方, 即资产所有者、系统集成商、组件供应商, 以尽可能地实现全方位的安全防护。其中, IEC 62443第1-1部分、第2-1部分、第3部分、第3-1部分已发布IEC标准;第3-3部分目前处于委员会投票草案 (CDV) 阶段;第2-4部分已通过新工作项目 (NP) 投票;其余部分都在起草过程中。

为了避免标准冲突, IEC 62443同时涵盖了业内相关国际标准的内容, 例如来自荷兰石油天然气组织WIB标准和美国电力可靠性保护协会标准NERC-CIP标准, 它们包含的附加要求也被整合在IEC62443系列标准中。

5 工业控制系统信息安全评估方法

工业控制系统信息安全的评估方法与功能安全的评估有所不同。虽然都是保障人员健康、设备安全或环境安全, 但是功能安全使用安全完整性等级 (Safety Integrity Level, SIL) 是基于随机硬件失效的一个部件或系统失效的可能性计算得出的, 而信息安全系统有着更为广阔的应用, 以及更多可能的诱因和后果。影响信息安全的因素非常复杂, 很难用一个简单的数字描述出来。

IEC 62443中引入了信息安全保障等级 (Security Assurance Level, SAL) 的概念, 尝试用一种定量的方法来处理一个区域的信息安全。它既适用于终端用户公司, 也适用于工业自动化控制系统和信息安全产品供应商。通过定义并比较用于信息安全生命周期的不同阶段的目标 (target) SAL、设计 (design) SAL、达到 (achieved) SAL和能力 (capability) SAL, 实现预期设计结果的安全性。

国际上针对工业控制系统的信息安全评估和认证还处于起步阶段, 尚未出现一个统一的评估规范。IEC 62443第2-4部分涉及到信息安全的认证问题, 壳牌公司作为该部分标准的推动者, 从用户的角度希望该标准能够促使其购买的产品和服务在销售前已通过信息安全认证, 从而减少了对相关产品和服务的验收测试成本。从制造商角度, 也希望能够尽快制定出全球统一的评估规范, 这样在产品生产和系统集成的过程中就可以避免地区要求差异所带来的成本提高。但由于IEC国际标准组织规定, 其实现的标准文件中不能有认证类的词汇, 因此工作组决定将该部分标准名称改为“工业自动化控制系统制造商信息安全基本实践”。然而, 真正可以用于工业控制系统信息安全评估的规范仍然空白。

为了抢占市场, 美国仪表协会 (ISA) 组织于2010年成立了专门的测试机构ISCI (ISA信息安全符合性研究院) , 可授权第三方测试实验室进行信息安全认证。其认证包含功能性信息安全评估、软件开发信息安全评估和通信鲁棒性测试三个方面, 但目前仅针对嵌入式设备。

6 结语

工业控制系统的信息安全与其使用环境、用户管理及企业文化等要素密切相关, 要做好此项工作一定要发挥好各行业的作用。我们必须深入研究我国工业控制系统的行业特点和需求, 有针对性地制定相关行业信息安全保障应用行规。同时联合相关标准化组织和机构研究我国工业控制系统信息安全标准体系, 积极开展工业控制系统信息安全评估与验收标准的制定工作, 健全工业控制系统信息安全评估认证机制, 建立有效的工业控制系统信息安全应急系统, 形成我国自主的工业控制系统信息安全产业和管理体系。信息安全的认证不同于其他安全认证评估, 它必须要自主掌握, “实现自己的保险柜自己上锁”, 才能实现真正的安全!

参考文献

[1]IEC.IEC/TS 62443-1-1Edition 1.0, Industrial communication networks–Network and system security–Part 1-1:Terminology, concepts and models[S].Geneva:IEC, 2009.

[2]IEC.IEC 62443-2-1Edition 1.0, Industrial communication networks–Network and system security–Part 2-1:Establishing an industrial automation and control system security program[S].Geneva:IEC, 2010.

[3]IEC.IEC/TR 62443-3-1Edition 1.0, Industrial communication networks–Network and system security–Part 3-1:Security technologies for industrial automation and control systems[S].Geneva:IEC, 2009.

[4]缪学勤.采用纵深防御体系架构, 确保核电可靠安全[J].自动化仪表, 2011 (2) :1-5.

工控网中的安全应用 篇2

一、工控网安全问题

在一般的工控网中,ERP、OA、EMS、LIMS等系统均处于办公网络中,办公网络通过防火墙等安全设备直接与互联网连接,工控网络通过防火墙与办公网连接,防火墙开启有限的安全策略保障办公网与工控网监的数据传输。

日益严重的网络信息安全问题,使得利用工业以太网络进行生产的企业和单位蒙受了很大的经济上的损失。为了避免网络信息安全出现问题,必须要清楚引发这一安全问题的诸多因素,主要有以下影响方面构成了对工业以太网络的威胁:(1)人为的操作失误。操作人员的一些无意的行为,比如:口令的丢失、操作不合法、不合理的资源访问控制、管理员不当的安全配置以及由于疏忽而导致不应进入网络的人进入了网络窃取信息等都造成了对网络系统的极大破坏。(2)电脑病毒的感染。病毒可以利用网络进行迅速的传播,它可以比较容易的通过代理服务器就能以软件的形式进行下载,还可以以移动存储设备或数码产品的形式等进入工业网络,然后对网络进行非法攻击。(3)来自工业以太网络内部的网络攻击。来自以太网络内部的攻击是指在局域网的内部进行的,一些非法用户能够冒充合法用户,并使用合法用户的口令以合法的用户身份登录工业网站,进而窃取商业的机密信息威者篡改其中重要的信息内容,破坏了应用系统的正常运行。

二、工控网安全部署

2.1工控网安全目标

要保证工控网络的安全稳定运行必须达到三个目标:(1)通讯可控。能够直观的观察、监控、管理通信中的数据流,对通信终端严格控制,减少通信的物理链接及设备,这是首要达到的目标。对控制网络,仅仅只需要保证制造商专有协议通过,对于其它通讯一律禁止,创造一个私有通信网络环境。(2)区域隔离。对于工控网络而言,其自身不能够创造病毒、攻击。所有病毒及攻击来源于外部网络环境,对于工控网络按照特定区域划分,重点保障生产控制的稳定性和安全性。即使所在的控制局部网络出现问题,也需要保证装置或工程的安全稳定运行。通过安全设备部署,为控制系统创造一个相对独立、安全的网络环境。(3)报警追踪。能够及时发现网络中存在的病毒感染及其它问题,能够准确找到故障的发生点,将网络安全问题消灭在萌芽中,同时通过对报警时间记录存储,为已经发生过的安全事件提供分析依据。

2.2工控网安全部署

2.2.1防火墙策略部署

工业以太网作为上层信息管理网的数据平台,将尽可能多的生产装置上实时数据采集到实时数据库中并经防火墙传送数据至MES和ERP:具体接口连接为工业以太网、防火墙、DMZ中间区域防护和MES数据采集服务器等。由于MES和ERP与商用Internet相连,为保证工业以太网的切实安全,采用DMZ隔离区,内网和外网的缓冲,中间防护策略。

将上层信息管理网需要访问的实时数据库容错服务器置于DMZ层,使来自上层的信息管理网只能通过外部防火墙访问到实时数据库服务器,而不能通过内部防火墙至工业以太网。这样来自Internet的攻击将要通过外部防火墙、堡垒主机和内部防火墙等三道相互独立的防线才能到达工业以太网,使攻击难度大大加强,相应内部网络的安全性也就大大加强。

2.2.2入侵检测部署

入侵检测作为有效过滤外来攻击或病毒传播的手段,同时也能够及时发现工控网络中所存在的问题。

1、实时性:

尽快发现网络攻击或者攻击的企图,预先阻止进一步的攻击活动,把损失控制在最小限度。实时入侵检测可以避免常规情况下,管理员对系统日志进行审计以辨别入侵行为时的低效和延迟。实时监控及拦截意外攻击行为。

2、可扩展性:

在新的攻击类型出现时,入侵检测系统能够检测到新的攻击行为。入侵检测系统的整体功能设计上,具有可扩展的结构,以便系统结构本身能够适应未来可能出现的扩展要求。

3、事件记录:

对于检测到的入侵事件必须具备完善的日志记录和日志审计功能。

4、安全性:

入侵检测系统不会向其宿主计算机系统以及其所属的计算机环境中引入新的安全问题及安全隐患。

2.2.3云桌面部署

云桌面的部署包括两个方面:工控网络内部云桌面和工控网外云桌面。通过工控网云桌面部署减少工控网络内外访问物理设备,减少工控网内被攻击的可能性。同时,在工控网内部署云桌面可以加强工控网内的桌面安全管理,避免部署PC终端给工控网络带来的管理问题和安全问题。同时加强工控网络内部办公部署的灵活性。

1、集中运维管理。工控网络内部设备配置不尽相同,管理人员难以对其管理和控制。PC机硬件的多样化以及用户的个性化需求也不尽相同,而传统工控网络内部用户可访问资源难以控制,通过部署云桌面,根据用户自身特性,控制其访问资源,达到访问安全控制的目的。云桌面的部署将所有硬件资源(除显示设备、键盘鼠标),统一管理,减少移动存储等外来设备对工控网络造成的影响。同时云服务中心能够记录用户在正常或非正常使用活动中的各种操作记录,通过日志审计及时发现存在的问题。

2、实现数据保护与防泄密。防止因终端设备的硬件或软件故障而导致对正常业务的影响,确保文件丢失或系统崩溃时能够进行快速恢复,以及防止何终端设备因失窃而带来的潜在风险。降低或避免敏感业务数据通过网络传输过程中所面临的窃听、恶意篡改、中间人攻击等风险。

3、加强部署灵活性。工控网内部署基础的PC应用主机其一系列行为是当前IT部门的一个挑战,但是随着数字化工厂的逐步实施,已经成为必不可少的措施。云计算网络部署在中控网络中既能够保障桌面应用于控制网络的隔离需求,同时能够将具备基础硬件的桌面终端灵活部署到工控网络中。

三、结束语

工控安全,系统使用者的探索 篇3

国内工控系统现状

郭森以电力企业为例,用特别传统的16个字来概括了工控系统所面临的环境,即安全分区、网络专用、横向隔离、纵向认证。工业生产系统和IT系统是有严格的划分的,有单向隔离的严格要求。不过,今天互联网已经通过各种方式和工业生产系统之间产生了各种各样的联系。郭森说,“对电力企业来说,环保对我们来说可能是一个不安全的网络,它的接入可能对网络带来新的安全问题。使得原来我们自认为安全的工业生产环境,由于各种的接入方式,导致我们本身的不安全。”

从工业控制系统的分布来看,我们主要是指能源、电力、石油石化、天然气,使用的工控设备的数量大概占到整个社会工控系统安装的60%。如果能源行业的工控系统不安全,整个工控系统安全是无从说起的。电力行业属于国民经济范畴的十大支柱产业,这其中有两个行业非常特殊,一个是电力,一个是电信。因为电的生产过程全部是在线的,过程中没有产成品和半成品的,这给工业控制提出了更高的安全要求,一旦出现问题,就会影响在线的应用。

对于工控安全来说,实际上就是希望威胁因素进不到行业的生产控制系统网络,即便进入了也希望它不具备处理和影响生产应用的能力。然而,根据郭森介绍,以DCS分散控制系统为例,绝大部分控制系统,有92%来自于国外。这些工业控制系统的操作系统,包括自身产品的开发都是不受控的,一直都面临安全问题。那么这个安全将怎么保证?

而国外的工业控制系统安全生产厂商,他们同样也有很多问题,比如他们的工业控制系统卖到了我国企业中,现在执行的安全检测流畅,中国作为WTO组织内的开放市场国家,其检测的法律依据是什么?检测的标准是什么?检测以后,什么指标是合格的,什么指标是不合格的?是一个安全厂商来检测,还是一个国家的测评机构来检测?国家对这个检测有没有授权?这样的检测机构有什么样的水平?什么样的人员才能完成这个检测?

为此,国家投入巨资建立工控安全测评实验室。国家发改委每年根据年度计划列出包括安全产品的开发、安全服务、试点示范工程等在内的信息安全专项。2013年9月国家能源局下发387号文,要求能源企业及时完成工业控制安全漏洞的整改。从2014年到2015年的立项也将工业控制系统安全提到了国家试点工程。在国家项目的立项过程中,工业控制刚好是能源企业的优势,在能源企业中工业控制系统的应用占到整个工业控制系统的60%左右,因此,在2014年已经立项的工业控制安全的试点示范专项中,专门包括了电力企业以及智能电网安全等。国家标准委员会等第三方机构也在积极制定工业控制系统的安全基本要求等。不过,工控系统安全建设规范、工控系统的安全检测标准都还尚未发布。

而诸多拭目以待的安全厂商。究竟应该在工控系统安全市场扮演什么角色,谁是推动整个产业链发展的动力,谁为安全买单,怎么从这个大的蛋糕中分到一块,都还没有特别明确的说法。

让安全厂商充分参与,一定要有良好的生态环境。首要的前提是标准。国外安全体系的建设,包括评估、对程序的检测、对组件的认定,以及标准的制定,目前已经形成了比较成熟的体系。在国内,虽然浙江大学工控安全实验室等机构都在参与国家标准的研究和制定,但是标准的制定和真正作为国家标准发布并且让企业去遵从,还需要非常长的周期。

行业的应对之策

威胁一直存在。郭森介绍,“我们叫国内的电网为‘坚强电网’。对于我们的国家来说,出于社会责任,电力企业盈利时要保证发电量,亏本时也要保证发电量。这相较于国外盈利才发电的电网要安全得多。这也导致社会对于电网的依赖性越来越强,这个电网就越来越不能出现问题。”

据了解,今年8月国家发改委专门发了14号令,其中列举了六个附件,要求电力企业在工业控制的网络当中一定要采取更多的措施,对外部入侵进行防范。郭森说,“14号令的前身是电监会5号令,已经对网络安全提出了很高的要求,比如安全分区、网络专用、横向信息管理系统和控制系统之间的隔离、发电企业和电网调度系统的纵向认证。在这个基础上,这次又提出了很高的要求,其中增加了综合防护。”根据要求,能源企业一定要对工业控制系统的网络进行加固,一定要增加边界防护,一定要对应用安全进行审计,数据要做异地备份。

随着越来越多的投资机构对产业安全发展过程的推动,越来越多的协会和联盟也相继成立。然而因为工业控制系统的协议都是私有的,这些设备的生产条件非常苛刻,想通过第三方对厂家的产品进行安全改进是不现实的。因此,能源企业或者是工控系统的直接使用行业加入到这些组织当中,成为让整个安全生产的链条稳定运转一种模式。

工控网络安全防护 篇4

关键词:系统安全,访问控制,安全模块,LSM,安全框架

1 引言

本文针对Linux系统所面临的安全威胁, 从访问控制的角度研究与探讨了Linux系统的安全防护, 采用强制访问控制的方法, 以Linux Security Module (LSM) 框架为基础, 在内核中构建一个访问控制的安全模块, 以此来拦截与仲裁特定的访问行为[1]。通过此种方式构建的安全模块, 既可以规范应用程序的行为, 也可以防范0-day攻击, 在系统补丁发布之前, 保护系统资源。

2 Linux访问控制技术现状

针对Linux系统的安全防护有很多种解决方案, 例如访问控制技术、防火墙技术、入侵检测系统等。在电力工控系统中, 业务系统包括电力企业用于生产、调度、经营、管理的各个业务应用系统, 主要包括SCADA系统、EMS系统、电力市场交易系统、电能量计量系统、继电保护和故障录波信息系统、配网自动化系统、变电站综合自动化系统等, 各业务系统均构建在类Linux系统上, 并针对服务器操作系统按照国网规范进行了等级包括, 包括用户口令设置、Iptables防火墙设置、数据备份等[2], 但在用于登录系统后, 系统内部资源特别是数据资源完全对用户开放, 有必要对用户的访问行为进行控制。

访问控制技术在保证Linux系统的安全性方面具有相当重要的地位, 真正做到了在系统内部构筑一道安全屏障, 以系统中与访问行为相关的主客体资源为关注对象, 并且使用安全规则规定了主体对客体的访问行为。

为了增强Linux系统的安全性并且克服自主访问控制机制所带来的不足, 很多学者和研究人员已经开始采用强制访问控制思想, 比较知名的研究成果有安全增强型Linux (SELinux) 、Linux入侵检测系统 (LIDS) 、域类型增强 (DTE) 等。2001年由Linux的创始人Linus Torvalds提出在Linux内核中需要构建一个通用的访问控制安全框架, 以可加载内核模块的方式, 支持现存各种不同的访问控制安全模块系统Linux Security Module (LSM) [3]。LSM框架是Linux内核中一个通用的轻量级访问控制框架, 它作为一个载体, 使得不同的访问控制模型以可加载内核模块的形式表现出来, 用户完全可以根据需求定制自己的安全模块, 大大提高了Linux系统访问控制机制的灵活性和易用性。

3 自定义安全策略访问控制安全防护实现

3.1 LSM框架原理

LSM安全框架的设计需要提供一个通用、安全、简单的设计模型, 尽量满足不同安全场景的需求, 同时将对内核的影响降低到最小, 使之不影响其他不需要它的人对内核的使用。为次LSM安全框架采用在内核源码中大量安置钩子函数的方法来控制对内核资源对象的访问。当用户执行系统调用时, 沿着内核原有的逻辑层层深入并且分配资源, 接着进行错误检查并且经过传统自主访问控制的检查, 在即将到达需要访问的内核对象之前, 由LSM安全模块的钩子函数对当前访问行为进行一个调用, 此时安全模块可根据设定好的安全策略来进行决策, 仲裁此次的访问行为。

3.2 自定义安全策略防护需求

以SELinux为代表的一系列访问控制安全模块系统在安全策略的制定上显得较为复杂, 原生态的SELinux甚至提供了安全策略编写的元语言标准, 将安全策略单独编译后以rpm包的形式安装进内核, 这类编程式的策略制定方法在准确性以及成功率方面都不能得到有效保证;同时策略调整起来较为复杂。为此本次研究依据EMS系统管理实际需求, 设计并实现一种简单高效的安全策略配置方式, 从文件保护、进程保护、限制进程能力范围等方面来守护系统, 同时使得普通用户 (即并不具备Linux内核专业知识的用户) 也可以成功地自主制定安全策略[4]。针对电力工控系统实际安全需求, 主要实现以下防护功能: (1) 文件系统保护, 实现系统中一些重要文件的保护, 如/bin/login, /etc/passwd等。 (2) 进程保护, 针对系统中一些重要进程的保护, 如提供web容器的httpd进程, EMS进程、SCADA主进程及数据库主进程。 (3) 限制进程的能力范围, 针对系统中应用进程权限范围的限制, 通过在LSM框架中集成capability能力机制, 给指定的进程赋予指定的能力, 例如:CAP_SETUID (设置用户UID的能力) 、CAP_SETGID (设置组ID的能力) 等。

3.3 自定义安全策略防护整体框架

采用基于强制访问控制思想的LSM安全模块, 需要在访问控制流程的某个关键点上, 在访问即将到达受访资源之前进行拦截与仲裁, 如图1所示。

安全模块处于系统调用在内核实现的关键点上, 负责收集当前访问的行为信息, 向安全策略中心进行查询, 并且返回仲裁结果。安全模块包括配置文件子模块、解析子模块以及访问控制子模块。其中配置文件子模块向用户提供安全策略的配置, 它由一系列安全策略配置文件组成, 可根据事先定义好的书写规则为需要保护的对象定义安全策略。解析子模块主要功能为解析安全策略, 该部分向上提供对配置文件的解析, 向下提供对访问控制子模块的安全信息查询, 并且不断监听来自用户空间的信号, 以便当配置文件更新时重新进行解析。该子模块的实现应包含守护进程, 在安全模块初始化时启动, 读取配置文件子模块中的安全策略配置文件, 经过解析、处理之后存储于内核空间, 供访问控制处理子模块调用。访问控制子模块, 主要功能为仲裁访问行为。该部分主要负责安全模块系统的注册、注销、钩子函数的重写等, 主要依托LSM框架所提供的API进行开发。该部分为安全模块的决策处理部分, 对访问控制行为的判定均在此处产生。三个子模块直接互相协作, 实现资源访问的安全控制。

3.4 配置文件子模块实现

安全模块以文件全路径名作为保护标识进行识别, 从三个方面对文件进行保护, 分别是读、写、执行, 同时根据最小授权原则, 针对以上每一项操作都规定适用者集合, 即允许进行此项操作的用户集合, 以用户登录的用户名或者系统内部的UID进行标识, 适用者集合以外的用户无权进行以上三种操作。同时针对文件资源的保护定义为如下形式:文件全路径名映射到三种操作, 每一种操作映射一组授权对象。

进程保护所涉及的受保护资源为系统级的服务进程以及业务系统进程, 如SCADA后台进程、实时数据库等, 以受保护进程的进程名称作为保护标识进行识别, 从进程的杀死、暂停、重启三个方面进行保护, 针对每项操作规定适用者集合, 并在保护配置文件中进行配置。

3.5 解析子模块实现

解析子模块初始化时启动一个内核进程, 在整个安全模块运行的过程中, 该守护进程一直存在, 实现两项工作: (1) 对配置文件进行解析; (2) 不断监听来自用户空间的信号。配置文件解析将用户对安全的配置转换成安全模块可识别的元素, 再共享给访问控制处理子模块;同时当配置文件发生变动时 (例如用户重新配置某些选项) , 守护进程重新对配置文件进行解析, 更新安全策略。

3.6 访问控制子模块设计

访问控制子模块负责拦截访问行为以及对访问行为进行安全检查。拦截访问行为主要依靠LSM安插在内核中的钩子函数完成, 当系统中主体对客体进行访问时, 在访问到达客体之前, 钩子函数会拦截此次访问, 引导其进入访问控制子模块接受安全检查;在对访问行为进行安全检查之前, 还需收集此次访问的行为信息, 一般是从进程上下文或者相关结构体中提取诸如进程UID、进程PID以及欲进行的操作等信息, 然后调用解析子模块中的判断函数, 将提取的信息跟解析之后的安全策略信息比较匹配, 得出最终的安全检查结果, 进而放行或阻止当前的访问行为。

以文件访问open系统调用为例, 系列经过一系列调用流程后, 最终进入inode_permission函数, 该函数正是LSM安全框架安插在open系统调用的内核实现函数中的钩子函数, 定义为int (*inode_permission) (struc tinode*inode, int mask, struct nameidata*nd) , 通过实现该钩子函数并注册后可实现用户访问文件、访问进程时的权限控制。具体实现实例如下:

4 安全防护应用测试

在Cent Os 6.732位操作系统, 2.6.20版本的Linux操作系统内核上对进程保护进行测试, 启动受保护的excp进程, 当bo用户使用./exep命令去尝试执行该可执行文件时, 由于在配置文件中没有赋予bo用户对/home/bo/Desktop/exep文件的执行操作权限, 执行操作被系统拒绝。

5 总结

本文介绍了访问控制技术在加强Linux系统安全性方面的用途, 并以Linux Security Module框架为基础, 在内核中构建一个访问控制的安全模块, 拦截与仲裁特定的访问行为, 通过实际测试, 验证了自定义策略安全防护模块的有效性, 提升了工控系统的安全性。

参考文献

[1]王静.SELinux的访问控制模型的分析与研究.计算机安全, 2008.

[2]林绅文.基于LSM框架的安全增强型文件系统研究.北京邮电大学学报, 2008.02.

[3]陈汗章.访问控制框架及其在Linux中的应用研究.计算机应用研究, 2007.

工控网络安全防护 篇5

近几年, 随着无线通信技术的发展, 物联网 (The Internet of things, IOT) 技术应用于工控平台已成为了一个技术热点, 同时也是未来数年内工业自动化产品新的业务增长点。通过在工业现场监控和诊断中引入无线传感器网络 (Wireless Sensor Network, WSN) [1,2], 能够弥补以往有线网监控和传统监控技术机动性差、线缆成本高以及线缆老化等不足。无线传感器网络节点的作用是把监测点的物理量信号转化为数字信号, 然而无线传感器网络节点的能耗和低的计算能力是其使用的瓶颈, 因此, 需要对应用于工控平台的无线节点进行研究和设计, 使其满足物联网现场的轻量级要求。

1 无线传感器网络节点的硬件研究和设计

无线传感器网络节点[3]的硬件主要包括:微处理器模块、无线通信模块和电源模块。作为各类传感器节点必需的部分, 微处理器模块主要用于运行网络协议以及对射频芯片等外围器件进行控制;无线通信模块主要为各节点提供无线通信的能力, 实现数字信号与无线电信号的转换;电源模块主要用于为整个系统提供和管理能源。其硬件组成如图1所示:

1.1 微处理器模块

处理器选用ATMEL公司的AVR ATmega128单片机。它是一款采用低功耗CMOS工艺, 精简指令集RISC (Reduced Instruction Set CPU) 结构的单片机, 相对于复杂指令系统CISC (Complex Instruction Set Computer) 结构, 具有指令数更精简, CPU利用率更高、速度更快的优点。

1.2 无线模块

无线模块采用Chipcon公司推出的符合IEEE 802.15.4标准的CC2420芯片, 它工作于2.4GHz频段的射频芯片, 主要针对于低功耗和低电压的无线应用。它包括一个数字直接序列扩频基带调制解调器, 支持16个最大传输速率为250kbps的信道。并提供额外的硬件功能模块以支持包处理, 数据缓冲, 数据加密, 信道评估, 链路质量指示等功能。

1.3 电源管理模块

电源管理芯片选用AS1117, 它是一款低功耗低压差线性稳压器, 包括固定电压输出类型 (1.8V, 2.5V, 2.85V, 3.3V, 5V等) 和可调端输出类型 (1.25V~13.8V) 。作为电池供电系统的理想选择, 它提供完善的过流保护和过热保护功能 (AS1117正常工作环境温度范围极宽, 为-50℃~140℃) , 确保芯片和电源系统的稳定性。同时在产品生产中应用先进的修正技术, 确保输出电压和参考源精度在±1%的精度范围内。

2 无线传感器网络节点的软件研究和设计

无线传感网络中使用的是低功耗和低成本的设备, 用于收集数据, 进行一些现场计算, 以及通过无线信号把部分处理过的数据发送出去。无线传感器网络节点的能耗和低的计算能力是其使用的瓶颈, 需要一种满足其要求的轻量级微操作系统, 针对这些问题, 现场级无线传感器网络节点软件基于Tiny OS[4]进行设计。

Tiny OS是一款由加州大学伯克利分校联合其他公司和组织开发的开源操作系统, 主要针对于无线传感网络嵌入式设备。无线传感装置存在着处理能力较弱和内存小等先天上的劣势, Tiny OS采用基于组件的架构, 使其在保持代码规模较小的情况下, 能够针对不同的应用快速创新和实现。它的组件库中包括网络协议、分布式服务、传感器驱动和数据采集等接口, 所有这些都可根据具体应用来进一步实现。

2.1 无线传感器网络节点软件体系结构

无线传感器网络节点的软件结构[5]为基于Tiny OS操作系统的层次结构, 如图2所示, 主要可分为协议栈部分和硬件抽象层。

对于协议栈的物理层, 主要完成激活和休眠射频芯片、空闲信道评估、信道能量监测和数据的收发等与硬件相关的工作, 它需要能够对硬件进行操作的软件接口。硬件抽象层的作用就是为协议栈部分提供与硬件操作相关的软件接口, 它对协议栈软件部分隐藏了硬件操作的细节, 并对硬件功能进行了抽象。这样, 上层软件不必因为硬件的不同而需要修改, 可以增进上层软件的可移植性。

2.2 Tiny OS的应用与改进

Tiny OS能够适用于节点众多, 并发操作频繁发生的无线传感器网络应用, 它可以迅速地响应外部事件并且执行相应的操作处理任务[4]。Tiny OS的事件驱动机制可以使CPU在事件产生时迅速执行相关任务, 并在处理完毕后进入休眠状态, 从而有效提高了CPU的使用率, 并且节省了能量。

在技术上, Tiny OS使用了轻量级线程技术和基于FIFO的任务队列调度方法。由于传感器节点的硬件资源有限, 而且短流程的并发任务可能频繁地执行, 所以传统的进程或线程调度无法应用于传感器网络的操作系统。轻量级线程技术和基于FIFO的任务队列调度方法能够使短流程的并发任务共享堆栈存储空间, 并且快速地进行切换, 从而使Tiny OS适用于并发任务频繁发生的传感器网络应用。当任务队列为空时, CPU进入睡眠状态, 外围器件处于工作状态, 任何外部中断都能唤醒CPU, 这样可以节省能量。

虽然Tiny OS搭建了基于事件的基本调度框架, 但是它只实现了软实时, 而无法满足硬实时, 而且Tiny OS现有的FIFO调度算法未能区分关键任务和普通任务。本文改进了Tiny OS的调度内核, 对不同等级的任务使用有区别的延迟休眠策略, 一方面降低了节点能耗, 延长了节点寿命, 另一方面保证了关键任务比普通任务优先执行。节点能耗主要来源于无线模块, 因此休假延迟策略针对无线模块进行。Tiny OS内核调度改进思想如图3所示:

整个系统调度主要分三个阶段, 分别是任务产生阶段、任务分析与排列阶段和任务执行阶段。任务产生阶段中, 节点打开无线模块进行信息收发, 结合运行的应用程序和一些服务程序优先运行数据发送任务, 之后将新的待解决的任务依次压入任务队列, 无线模块运作时能量消耗最多;进入任务分析与排序阶段, 系统关闭无线模块, 对任务进行依赖性分析和重要性分析, 将任务有序地放入优先队列和普通队列;在任务执行阶段, 无线模块依然关闭, 系统先运行优先队列的任务

再运行普通队列的任务, 由于之前已经按照依赖性进行排序, 因此不会因为任务的乱序执行导致系统的崩溃。整个调度过程中, 只有第一阶段无线模块处于打开状态, 节点能耗将大大减少。

2.3 无线射频驱动

本文所设计的无线传感器网络节点, 使用了CC2420射频芯片实现了节点间的无线通信, 同时, 由于射频芯片是无线网络节点中最耗能的部分。所以, 它的驱动程序设计的好坏不仅直接关系到整个无线网络节点通信能力的好坏, 而且还会关系到节点生命周期的长短。

无线射频驱动需要向上层应用程序提供5个函数, 分别是初始化函数、芯片命令选通函数、芯片设置函数、数据发送函数和数据接收函数。其软件模块如图4所示:

其中函数Std Control.init用于对射频芯片进行初始化;函数HALCC2420.cmd用于对射频芯片的命令控制;函数HALCC2420.write用于设置射频芯片的配置寄存器;函数HALCC2420FIFO.write TXFIFO和HPLCC2420FIFO.read RXFIFO分别用于数据的发送和接收。

2.4 无线路由

在传感节点[6]EEPROM存储的数据中, 最主要、所占空间也最大的是路由表和邻居表。路由表主要保存目标地址以及对应的下一跳地址等信息;邻居表中主要保存64位扩展地址、网络地址、链路质量 (LQI) 和相互间关系等信息。由于路由表和邻居表除了在单位大小上的差别外, 其他操作并无太大的区别, 所以这里只以路由表为例说明。

对于上层软件, 需要向它提供五个函数接口, 分别是路由表初始化函数、增加路由表项函数、修改路由表项函数、查找路由表项函数和删除路由表项函数, 其程序结构如图5所示:

其中函数Std Control.init用于对路由表进行初始化;函数eeprom_Route Table.add为增加路由表项操作;函数eeprom_Route Table.search用于查找路由表项操作;函数eeprom_Route Table.modify用于修改路由表项操作;函数eeprom_Route Table.del用于删除路由表项操作。

增加路由表项函数首先从索引表中检查是否还有空余空间, 然后再获得地址, 把数据写入EE-PROM。查找路由表函数是用于通过目标地址查找下一跳的地址, 先通过索引表检查是否有此表项, 然后获取地址进行查询。修改路由表项函数是首先查询路由表中是否有目标表项, 有的话进行修改, 如果没有就把此项增加到路由表中。删除路由表项函数是用于删除目标表项。这些函数程序流程图如图6所示。

3 结束语

本文针对现场级无线网络节点的硬件和软件进行了分析、研究和设计, 硬件层面实现相对容易, 软件层面, 在Tiny OS的基础上, 引入延迟休假策略, 同时对无线射频驱动和无线路由进行了优化设计, 减少了无线传感器网络节点之间数据交换的次数, 节省了无线传感器网络节点的能量消耗, 延长了无线传感器网络节点的生命周期。本文设计的无线传感器网络节点已经应用于供水领域工业现场诊断与管理中, 实验证明, 采用本文设计的无线传感器网络节点, 能够节省无线传感器网络节点的能量消耗20%, 延长无线传感器网络节点的生命周期3倍以上的时间。

参考文献

[1]李涛.基于无线传感器网络的室内灯光控制系统[J].新型工业化, 2011, 1 (9) :16-21.LI Tao.Indoor Light Control System Based on Wireless Sensor Networks[J].The journal of new industrialization, 2011, 1 (9) :16-21.

[2]于晶, 蒋挺.无线传感器网络移动锚节点定位技术综述[J].新型工业化, 2011, 1 (12) :7-1.YU Jing, JIANG Ting.A Survey of Mobile Anchor Node Localization in Wireless Sensor Network[J].The journal of new industrialization, 2011, 1 (12) :7-1.

[3]赵洪磊, 王英龙, 张先毅.无线传感器网络热点问题的研究[J].信息技术与信息化, 2008 (2) :51-54.ZHAO Hong-lei, WANG Ying-long, ZHANG Xian-yi.Research Summary of Wireless Sensor Networks[J]Information Technology and Informatization, 2008 (2) :51-54.

[4]程龙, 杨波.无线传感器网络操作系统TinyOS的移植[J].计算机科学, 2011, 38 (B10) :323-325.CHENG Long, YANG Bo.Transplantation of Embedded Operating System Tinyos for Wireless Sensor Network Nodes[J].Computer Science, 2011, 38 (B10) :323-325.

[5]杨俊刚, 史浩山, 段爱媛.无线传感器网络节点软件设计及实现[J].计算机测量与控制, 2009, 17 (11) :2306-2308, 2336.YANG Jun-gang, SHI Hao-shan, DUAN Ai-yuan.Design and Implementation for Node Software of the Wireless Sensor Networks[J].Computer Measurement&Control, 2009, 17 (11) :2306-2308, 2336.

上一篇:土木工程发展趋势研究下一篇:标记价值