嵌入式系统中入侵检测的设计及实现
随着通信技术和电子技术的不断发展,嵌入式系统在电力系统中得到越来越广泛的应用,电力嵌入式系统连接Internet将成为一大发展趋势。但是Internet是一个不确定的网络,存在着许多安全隐患,这是一个突出的、急待解决的问题。因此要求嵌入式操作系统设计时,除了考虑实时性,还必须考虑其安全性设计。
本文引用地址://m.amcfsurvey.com/article/152416.htm目前,比较流行的嵌入式操作系统有QNX、VxWorks、Widow CE、μC/OS-II等。其中,μC/OS-II内核以稳定、简短、源代码公开等特性得到了人们的青睐。但μC/OS-II只是一个微内核,并没有安全方面的设计。为了更加适合应用在电力系统中,这部分功能必须增强。
本文将针对电力系统的需求,基于一个改写的μC/OS-II说明该嵌入式操作系统中入侵检测模块的设计与实现。
1、针对电力系统的安全威胁分析
嵌入式系统在电力系统中主要应用于数据采集和远程监控,所以它面临的最大威胁是数据(指令也认为是一种数据)的保密性和完整性问题。通过现有的保密技术和网络安全措施可以基本上保证数据的安全,但并不能绝对保证。入侵检测模块可以认为是整个系统的最后一道防线,在系统遭受威胁或被攻击后,可以分析攻击行为,有效保护系统免受同样的攻击。针对电力系统,可以归纳出三个主要的安全威胁,这些威胁不能通过常规的数据保密技术和网络安全措施得到绝对有效的解决。
(1) 内部人员的违规行为。通常,数据保密技术和账户安全管理手段,只能防止外来人员的攻击,而对于内部人员则束手无策。若内部人员滥用权限也会使系统面临很大的威胁。小则造成设备损坏,大则危害公共安全和经济生产。
(2) 非授权用户登录操作。一个电力监控系统不仅可以远程采集电力终端设备的数据,同时也可以进行设备故障诊断、实时控制等操作。非授权用户通过盗取密码等非法手段登录嵌入式系统并进行非法的设备控制是监控系统面临的最大安全威胁。
(3) 对系统资源的非法访问。这里所谓的系统资源主要包括存储器中的数据、系统的运行参数以及用于控制电力设备的硬件。当攻击者绕过正常的操作顺序获取数据或是硬件的控制权时,系统的所有安全措施形同虚设。
通过上述分析可知,为了进一步加强系统的安全性,必须使系统具有个人行为监控、事件重建、抵御网络攻击和故障分析能力。这些都将在入侵检测模块中实现。
2、基于主机的入侵检测模块设计
2.1 检测技术
考虑到嵌入式系统资源的有限性,入侵检测模块将采用滥用检测技术。所谓滥用检测是直接对入侵行为进行特征化描述,建立某种或某类入侵的特征行为模式库。如果发现当前行为与某个入侵模式一致,则表示发生了这种入侵。采用这种技术将降低判断入侵检测程序的复杂度,并且大大减少审计开销,系统只记录一些必要的日志信息,节省了有限的存储器空间。
2.2 框架设计
入侵检测模块一般分为四部分:
(1) 事件产生器。从环境中抽取感兴趣的信息,并把信息转化为标准格式供系统其他部件使用。
(2) 事件数据库。事件数据库保存事件日志。
(3) 事件分析器。分析输入的格式化后的事件,进行真正意义上的入侵检测,并产生新的警告。
(4) 响应单元。响应单元按照警告进行相应的保护,反击入侵行为。
根据电力应用的特性和嵌入式系统的特点,对上述入侵检测框架进行修改如下:
(1)事件发生器产生原始日志数据,为了避免对进程实时性造成太大的影响,先不做格式化处理。
(2)事件数据库将接收的原始日志数据进行格式化处理,并进行相应的分类保存。
(3)事件分析器与响应单元合并,以减少对系统进程的占用。
整个入侵检测框架如图1所示。
图1 入侵检测框架图
3 基于主机的入侵检测模块的实现
3.1 入侵检测模块的实现流程
该操作系统是一个实时操作系统,为了不影响系统的实时性,入侵检测并不是实时处理,数据流在整个处理过程中可能并不是很流畅,所以在设计时采用消息队列形式传递原始记录。即每个事件产生器发送的消息都送到一个消息队列中,事件数据库在系统空闲时取出消息做统一的格式化处理,并保存到数据库中。当日志记录累积到一定程度时,由事件数据库触发事件分析器做分析检测,经过检测的日志记录可以适当删除,以保持事件数据库接收新日志的能力。事件分析器作为整个入侵检测模块的核心,其程序流程如图2所示。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论