CN107491693A - 一种具有自学习特性的工控操作系统主动防御方法 - Google Patents
一种具有自学习特性的工控操作系统主动防御方法 Download PDFInfo
- Publication number
- CN107491693A CN107491693A CN201710605146.2A CN201710605146A CN107491693A CN 107491693 A CN107491693 A CN 107491693A CN 201710605146 A CN201710605146 A CN 201710605146A CN 107491693 A CN107491693 A CN 107491693A
- Authority
- CN
- China
- Prior art keywords
- self
- operating system
- industry control
- file
- responsible
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种具有自学习特性的工控操作系统主动防御方法,包括以下步骤:步骤一,根据可信策略判决程序是否可以执行,如果可执行,监控业务行为,根据检测到的主客体访问操作;步骤二,根据步骤一,监控业务调用生成的日志,实现非确定性安全策略学习;步骤三,在Linux内核层监控系统调用的行为,收集相应的系统调用信息,根据步骤一和步骤二生成的安全策略,判断本系统调用是否允许或拒绝;步骤四,根据步骤一和步骤二,以自学习的系统强制访问控制为基础,辅助以应用可信度量,构建工控操作系统主动防御体系。本发明可以实现在已存在缺陷漏洞的情况下,仍然能够对攻击免疫,具有自动学习、应用简单、业务影响小等特性。
Description
技术领域
本发明涉及工控操作系统安全技术领域,尤其涉及一种具有自学习特性的工控操作系统主动防御方法。
背景技术
操作系统安全是信息安全的基础,对计算机系统的攻击和威胁往往以操作系统为主要目标。安全产品,如果不构建在安全操作系统之上,就如同在沙滩上建的楼房。虽然业务应用本身往往有自己的身份认证、访问控制等安全措施,然而由于缺乏严格的形式化设计,其安全机制无法确保安全性。应用安全如果在自身安全保障的基础上,融合经过一定形式化验证的操作系统的安全机制,将在一定程度上从根本解决信息安全问题。通过操作系统安全增强,即使业务应用系统由于“零日漏洞”等风险,被病毒木马攻击,攻击者所能做的也非常有限,能真正达到有效防止攻击蔓延的效果。
随着“两化深度融合”和“互联网+”的发展,大量工控系统直接介入互联网,提高了安全风险;工控系统安全防护措施不足,系统处于不设防状态,大量的工控系统没有任何安全防护措施。就工控操作系统技术特点而言:1)工控系统补丁更新困难,需要引入主动防御。实现在已存在缺陷的情况下,仍然能够对攻击免疫;2)工控环境相对固定,安全操作系统细粒度强制访问控制和可信计算技术的实施相对容易;3)工控系统现场终端多为基于微内核的实时操作系统,现有安全架构无法满足工控系统实时性安全需求。
工控操作系统主动防御主要就是对病毒木马以及业务漏洞的主动免疫。目前,主流的实现工控防御的方式主要有以下两种:
1)被动防御:传统的由防火墙、入侵检测和病毒防范等组成,构成了“封堵查杀”的被动防护体系,然而消极被动防不胜防,超级权限用户可以违背安全原则,其难以应对利用逻辑缺陷的攻击,不能满足高安全等级的应用场景。
2)SELinux架构:传统Linux系统以美国安全局实现SELinux为核心构建防御体系,支持TE、RBAC和BLP等各种安全模型。可以满足各种安全需求,构建高安全等级操作系统。
我国目前的国产操作系统也基本以SELinux为原型实现强制访问控制。针对工控操作系统的安全需求,SELinux虽然强大,然后由于其整体架构庞大,性能影响较大,并不适用于工控环境,特别是微内核场景。此外,安全模型负责,业务适应性差。工控系统补丁更新相对困难,需要引入主动防御。区别于被动防御,本方法是一种操作系统主动防御,以可信计算和自主实现的强制访问控制为核心构建的轻量级主动免疫体系,可以实现在已存在缺陷漏洞的情况下,仍然能够对攻击免疫。区别于SELinux,本方法具有自动学习、应用简单、业务影响小等特性。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种具有自学习特性的工控操作系统主动防御方法,本方法是一种操作系统主动防御,以可信计算和自主实现的强制访问控制为核心构建的轻量级主动免疫体系,可以实现在已存在缺陷漏洞的情况下,仍然能够对攻击免疫。区别于SELinux,本方法具有自动学习、应用简单、业务影响小等特性。
本发明的具有自学习特性的工控操作系统主动防御方法,
步骤一,根据现有的可信策略判决现有程序是否可以执行,可执行的话,监控现有的业务行为,根据检测到的主客体访问操作完成确定性安全策略学习;
步骤二,根据步骤一,监控业务调用生成的日志,实现非确定性安全策略学习;
步骤三,在Linux内核层监控系统调用的行为,收集相应的系统调用信息,根据步骤一和步骤二生成的安全策略判断本系统调用是否允许或拒绝;
步骤四,根据步骤一和步骤二,以自学习(自学习包括两种,步骤一的确定性自学习以及步骤二的非确定性自学习)的系统强制访问控制为基础,辅助以应用可信度量,构建工控操作系统主动防御体系。
在学习模式,安全模块负责学习业务行为,并自动生成安全策略。
步骤四中,自学习包括确定性事件的自学习和非确定性策略的推荐两部分。
步骤四中,访问控制的三元组包括主体、客体和操作权限。
步骤三中,收集相应的系统调用信息包括文件操作句柄、文件路径、文件权限。
步骤三中,调用判定逻辑判断本系统调用是否允许或拒绝,通过在内核中调用如下函数,判定逻辑判断是否允许:
包括inode_link负责文件创建和连接时的检查、inode_unlink负责文件的删除时的检查、inode_mkdir负责创建目录的检查、inode_rmdir负责目录删除的检查、inode_mknod负责设备创建的检查、inode_rename负责文件重命名的检查、file_open负责文件打开的检查、file_permission负责文件权限的检查。本发明的有益效果是:
本发明在传统工控操作系统中实现安全增强功能,能够将这种“脆弱”的工控操作系统透明提升到安全等保高等级标准,实现病毒木马免疫、抵御黑客攻击,降低“零日漏洞”风险,从而构建工控操作系统的主动防御体系,为工控设备提供操作系统层的全生命周期安全防护,此外,还具有自学习特性,可以很好的适应业务需求。与现有方法相比,本方法通用性强,兼容性好,灵活性高,适合具有微内核架构的工控操作系统安全防护的场合。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1为本发明的结构图。
图2为本方法父子进程主客体关系图。
图3为系统调用安全模块判决流程图。
具体实施方式
如图1所示,一种具有自学习特性的工控操作系统主动防御方法,该方法基于Linux LSM实现,包括以下步骤:
步骤一,根据可信策略判决程序是否可以执行,可执行的话监控业务行为,根据检测到的主客体访问操作完成确定性安全策略学习。这里所述安全策略库中包括若干规则,定义了主体对客体的访问控制规则,以及应用的可信度量值。
对于该类事件,主体程序成了自身访问相应客体之外,大部分情况下还会调用其它可执行程序进行资源访问。最后的资源访问序列就形成了一颗树状结构。初始的主体是这棵树的根节点。叶子节点代表真正被访问的客体。在本方法模型中,根节点代表的主体是整个行为序列的唯一主体,所有的叶子节点都是其访问的客体。所有的被访问客体都是明确的,我们称之为确定性访问事件。针对这些访问序列,我们完成采用深度优先的树遍历算法完成对整个树的遍历,并转换成<应用、客体、权限>的安全策略,其中应用为根节点,客体为所有的叶子节点。
生成的访问控制示例如下:
#profile to confine klogd
/sbin/klogd
{
#include<abstractions/base>
capability sys_admin,
/boot/*r
/proc/kmsg r,
}
其中:
(1)一条注释,给出此配置文件限制的程序的名称。类似注释的前面一定要有一个#号。
(2)受限制的程序的绝对路径。
(3)花括号{}是一个容器,用于包含其它配置文件的include语句以及路径和功能条目。
(4)此指令导入配置文件的组件以简化配置文件。
(5)功能条目语句可启用每个POSIX.1e所定义的功能。
(6)路径条目,指定程序可以访问文件系统的哪些区域。路径条目的第一部分指定文件的绝对路径(包括常规的表达式通配),第二部分指定允许的访问模式(r表示读,w表示写,x表示执行)。任何类型的空白空间(空格或tab符)都可以出现在路径名的前面或者用于分隔路径名和访问模式。访问模式之间的空白空间和尾随逗号是可选的。
步骤二,根据业务调用日志,实现非确定性安全策略学习,在这里,我们的确定性策略学习精确的描述了业务的行为序列,然而其可能是不完整的,所以本方法在确定性策略学习的基础之上引入非确定性学习来对业务行为进行完整画像。
对于业务系统已经发生的行为序列而言,整个树形结构是确定性,生成的<应用、客体、权限>三元组也是确定性的。然后某一次或几次的业务行为序列并不能代表整个业务的行为,因为业务的整个行为序列往往可能是一颗庞大的树形结构,而某几次的行为可能只是其中的子集,如果根据确定性事件直接定义策略,那么可能其他未能囊括的序列将会被拒绝或者误报,将严重影响用户体验。比如在行为序列里面出现<a,/usr/web0/a/1.html,r>,<a,/usr/web0/a/2.html,r>,<a,/usr/web0/b/1.html,r>。那么可以归并为<a,/usr/web0/a/*.html,r>和<a,/usr/web0/b/1.html,r>,还是直接归并为<a,/usr/web0/*/*.html,r>。
在本模型中,我们对三元组进行词法分析,进行非确定性策略的归并,在一定的范围内,以达到尽量覆盖主体树形行为序列。在这里,我们的确定性策略学习精确的描述了业务的行为序列,然而其可能是不完整的,所以我们更偏重于在此基础之上引入非确定性学习来对业务行为进行画像。虽然扩大了一部分范围,丢失了一定的安全性,但我们认为这并不影响全局的安全性,却可以很好的将解决业务模型不全面的问题。
如图2所示,在系统中,进程还会调用子进程,在本方法中,所有的子进程的客体操作都归结为根进程的操作,即以根进程为主体,具体如下:
(1)归并根进程的主客体访问操作。
(2)递归归并子进程的主客体访问操作。
(3)合并所有进程,包括根进程及其所有子进程的主客体访问操作。
(4)进行词法和语法分析,进行非确定性的策略归并,比如在行为序列里面出现<a,/usr/web0/a/1.html,r>,<a,/usr/web0/a/2.html,r>,<a,/usr/web0/b/1.html,r>。那么可以归并为<a,/usr/web0/a/*.html,r>和<a,/usr/web0/b/1.html,r>,还是直接归并为<a,/usr/web0/*/*.html,r>。
(5)给出最后的推进策略。
(6)本过程结束。
步骤三,在Linux内核层监控系统调用操作,收集相应的系统调用信息,调用判定逻辑判断本系统调用是否允许或拒绝。
通过在Linux内核LSM相关的函数中调用判定逻辑,包括inode_link负责文件创建和连接时的检查、inode_unlink负责文件的删除时的检查、inode_mkdir负责创建目录的检查、inode_rmdir负责目录删除的检查、inode_mknod负责设备创建的检查、inode_rename负责文件重命名的检查、file_open负责文件打开的检查、file_permission负责文件权限的检查。涵盖文件、设备的增删改等操作。
最后的强制访问控制在Linux内核层执行。具体过程如图3所示:
(1)用户进程通过系统调用进入内核空间。
(2)内核进行常规检查,包括错误检查以及自主访问控制检查。
(3)LSM模块调用我们注册的安全模块。
(4)安全模块调用相应的处理函数,该处理函数查询安全策略库,并返回查询结果。
(5)LSM根据查询结果,允许或者拒绝本系统调用。
上述方法以强制访问控制为基础,辅助以可信计算构建工控操作系统的主动防御体系,其中通过可信构建执行程序的白名单,可以排除病毒等异己,而强制访问控制则可以构建程序行为的白名单,解决程序自身的不足和漏洞。此外,该方法具有在操作系统层面自适应的学习业务行为,自动生成相应的强制访问控制策略和可信策略的能力,学习的内容包括确定性的树形结构行为遍历分析,以及非确定性客体访问预测等。从而解决传统可信计算、强制访问控制模型固定单一、应用难度高、业务影响较大的缺陷。与现有方法相比,本方法通用性强,兼容性好,灵活性高,适合具有微内核架构的工控操作系统安全防护的场合。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (6)
1.一种具有自学习特性的工控操作系统主动防御方法,其特征在于,包括以下步骤:
步骤一,根据可信策略判决程序是否可以执行,如果可执行,监控业务行为,根据检测到的主客体访问操作,完成确定性安全策略学习;
步骤二,根据步骤一,监控业务调用生成的日志,实现非确定性安全策略学习;
步骤三,在Linux内核层监控系统调用的行为,收集相应的系统调用信息,根据步骤一和步骤二生成的安全策略,判断本系统调用是否允许或拒绝;
步骤四,根据步骤一和步骤二,以自学习的系统强制访问控制为基础,辅助以应用可信度量,构建工控操作系统主动防御体系。
2.如权利要求1所述的一种具有自学习特性的工控操作系统主动防御方法,其特征在于:在学习模式,安全模块负责学习业务行为,并自动生成安全策略。
3.如权利要求2所述的一种具有自学习特性的工控操作系统主动防御方法,其特征在于:步骤四中,自学习包括确定性事件的自学习和非确定性策略的推荐两部分。
4.如权利要求1所述的一种具有自学习特性的工控操作系统主动防御方法,其特征在于:步骤四中,访问控制的三元组包括主体、客体和操作权限。
5.如权利要求1所述的一种具有自学习特性的工控操作系统主动防御方法,其特征在于:步骤三中,收集相应的系统调用信息包括文件操作句柄、文件路径、文件权限。
6.如权利要求1所述的一种具有自学习特性的工控操作系统主动防御方法,其特征在于:步骤三中,调用判定逻辑判断本系统调用是否允许或拒绝,通过在内核中调用如下函数,判定逻辑判断是否允许:
包括inode_link负责文件创建和连接时的检查、inode_unlink负责文件的删除时的检查、inode_mkdir负责创建目录的检查、inode_rmdir负责目录删除的检查、inode_mknod负责设备创建的检查、inode_rename负责文件重命名的检查、file_open负责文件打开的检查、file_permission负责文件权限的检查。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710605146.2A CN107491693A (zh) | 2017-07-24 | 2017-07-24 | 一种具有自学习特性的工控操作系统主动防御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710605146.2A CN107491693A (zh) | 2017-07-24 | 2017-07-24 | 一种具有自学习特性的工控操作系统主动防御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107491693A true CN107491693A (zh) | 2017-12-19 |
Family
ID=60644736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710605146.2A Pending CN107491693A (zh) | 2017-07-24 | 2017-07-24 | 一种具有自学习特性的工控操作系统主动防御方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107491693A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108388793A (zh) * | 2018-01-09 | 2018-08-10 | 南瑞集团有限公司 | 一种基于主动防御的虚拟机逃逸防护方法 |
WO2020007249A1 (zh) * | 2018-07-03 | 2020-01-09 | 中国银联股份有限公司 | 一种操作系统安全主动防御方法及操作系统 |
CN112733148A (zh) * | 2021-01-12 | 2021-04-30 | 北京旋极安辰计算科技有限公司 | 一种基于Java的可信策略自动适配的方法 |
TWI756867B (zh) * | 2020-10-16 | 2022-03-01 | 財團法人工業技術研究院 | 在作業系統標記物件標籤及產生安全政策的方法及系統 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176817A (zh) * | 2012-12-21 | 2013-06-26 | 中国电力科学研究院 | 一种基于自学习的Linux安全策略配置方法 |
CN104008337A (zh) * | 2014-05-07 | 2014-08-27 | 广州华多网络科技有限公司 | 一种基于Linux系统的主动防御方法及装置 |
CN104951708A (zh) * | 2015-06-11 | 2015-09-30 | 浪潮电子信息产业股份有限公司 | 一种文件度量和保护的方法及装置 |
CN106295319A (zh) * | 2016-08-02 | 2017-01-04 | 中标软件有限公司 | 操作系统安全防护方法 |
CN106357637A (zh) * | 2016-09-13 | 2017-01-25 | 国家电网公司 | 一种针对智慧能源终端数据的主动防御系统 |
-
2017
- 2017-07-24 CN CN201710605146.2A patent/CN107491693A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176817A (zh) * | 2012-12-21 | 2013-06-26 | 中国电力科学研究院 | 一种基于自学习的Linux安全策略配置方法 |
CN104008337A (zh) * | 2014-05-07 | 2014-08-27 | 广州华多网络科技有限公司 | 一种基于Linux系统的主动防御方法及装置 |
CN104951708A (zh) * | 2015-06-11 | 2015-09-30 | 浪潮电子信息产业股份有限公司 | 一种文件度量和保护的方法及装置 |
CN106295319A (zh) * | 2016-08-02 | 2017-01-04 | 中标软件有限公司 | 操作系统安全防护方法 |
CN106357637A (zh) * | 2016-09-13 | 2017-01-25 | 国家电网公司 | 一种针对智慧能源终端数据的主动防御系统 |
Non-Patent Citations (1)
Title |
---|
高昆仑 等: "基于可信计算技术构建电力监测控制系统网络安全免疫系统", 《工程科学与技术》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108388793A (zh) * | 2018-01-09 | 2018-08-10 | 南瑞集团有限公司 | 一种基于主动防御的虚拟机逃逸防护方法 |
WO2020007249A1 (zh) * | 2018-07-03 | 2020-01-09 | 中国银联股份有限公司 | 一种操作系统安全主动防御方法及操作系统 |
TWI756867B (zh) * | 2020-10-16 | 2022-03-01 | 財團法人工業技術研究院 | 在作業系統標記物件標籤及產生安全政策的方法及系統 |
US11775643B2 (en) | 2020-10-16 | 2023-10-03 | Industrial Technology Research Institute | Method and system for labeling object and generating security policy of operating system |
CN112733148A (zh) * | 2021-01-12 | 2021-04-30 | 北京旋极安辰计算科技有限公司 | 一种基于Java的可信策略自动适配的方法 |
CN112733148B (zh) * | 2021-01-12 | 2021-10-01 | 北京旋极安辰计算科技有限公司 | 一种基于Java的可信策略自动适配的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aljawarneh et al. | Cloud security engineering: Early stages of SDLC | |
CN110233849B (zh) | 网络安全态势分析的方法及系统 | |
Petroni Jr et al. | An Architecture for Specification-Based Detection of Semantic Integrity Violations in Kernel Dynamic Data. | |
Norouzi et al. | A data mining classification approach for behavioral malware detection | |
CN107491693A (zh) | 一种具有自学习特性的工控操作系统主动防御方法 | |
CN105893848A (zh) | 一种基于代码行为相似度匹配的Android恶意应用程序防范方法 | |
Palahan et al. | Extraction of statistically significant malware behaviors | |
Liu et al. | NSDroid: efficient multi-classification of android malware using neighborhood signature in local function call graphs | |
US20210256120A1 (en) | Utilization of deceptive decoy elements to identify data leakage processes invoked by suspicious entities | |
Tevis et al. | Methods for the prevention, detection and removal of software security vulnerabilities | |
CN104933358A (zh) | 一种计算机免疫系统设计方法与实现 | |
Gonzalez et al. | Authorship attribution of android apps | |
Alhassan et al. | A fuzzy classifier-based penetration testing for web applications | |
Bharadwaj et al. | Is this URL safe: detection of malicious URLs using global vector for word representation | |
Mathew et al. | Situation awareness of multistage cyber attacks by semantic event fusion | |
CN116932381A (zh) | 小程序安全风险自动化评估方法及相关设备 | |
Liu et al. | A Markov detection tree-based centralized scheme to automatically identify malicious webpages on cloud platforms | |
Magklaras et al. | Insider threat specification as a threat mitigation technique | |
Yan et al. | DitDetector: Bimodal learning based on deceptive image and text for macro malware detection | |
Zhou et al. | Dtstm: dynamic tree style trust measurement model for cloud computing | |
Liu et al. | Active defense technology of power monitoring system with adaptive features | |
Antoniol | Keynote paper: Search based software testing for software security: Breaking code to make it safer | |
Hillier et al. | Turning the Hunted into the Hunter via Threat Hunting: Life Cycle, Ecosystem, Challenges and the Great Promise of AI | |
Song et al. | Formal reasoning about intrusion detection systems | |
Luh et al. | Advanced threat intelligence: detection and classification of anomalous behavior in system processes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171219 |
|
RJ01 | Rejection of invention patent application after publication |