CN112100625B - 一种基于模型检测的操作系统访问控制脆弱性发现方法 - Google Patents
一种基于模型检测的操作系统访问控制脆弱性发现方法 Download PDFInfo
- Publication number
- CN112100625B CN112100625B CN202010961713.XA CN202010961713A CN112100625B CN 112100625 B CN112100625 B CN 112100625B CN 202010961713 A CN202010961713 A CN 202010961713A CN 112100625 B CN112100625 B CN 112100625B
- Authority
- CN
- China
- Prior art keywords
- access control
- operating system
- model
- security
- abstract
- 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.)
- Active
Links
Images
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/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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/575—Secure boot
-
- 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
-
- 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/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种基于模型检测的操作系统访问控制脆弱性发现方法,该方法分析操作系统访问控制的安全属性,给出系统安全规约,构建访问控制模型,利用定理证明对访问控制进行安全性分析,通过模型检测工具进行抽象机规范一致性检测和组件正确性与完备性检测,实现对操作系统访问控制的脆弱性发现。该方法为操作系统安全防护方面的研究提供理论和技术上的支持。
Description
技术领域
本发明涉及操作系统访问控制脆弱性发现领域,具体涉及一种基于模型检测的操作系统访问控制脆弱性发现方法。
背景技术
操作系统利用多种访问控制进行系统保护,但在访问控制粒度和授权管理上仍暴露许多安全漏洞,如权限提升和权限泄露。尽管国内外学者为应对各种安全威胁和漏洞利用攻击提出了一些访问控制改进方案,但是在系统碎片化严重的现状下,依赖于系统版本的访问控制方案暴露出了应用局限性,方案实现缺少理论分析与验证,其安全策略的确定性难以保证,因此也不能保证规则的完备性和正确性。部分工作借助形式化方法辅助分析系统的脆弱性,然而这些方法抽象层次较高,缺少在真实系统上的应用。
发明内容
本发明的目的在于针对现有操作系统访问控制缺少脆弱性分析的现状,提供一种基于模型检测的操作系统访问控制脆弱性发现方法,具体技术方案如下:
一种基于模型检测的操作系统访问控制脆弱性发现方法,该方法包括如下步骤:
步骤一:分析操作系统访问控制安全需求,定义访问控制规则及安全属性,并通过分析系统规约和系统动态行为,描述安全属性规约条件,给出具有严格定义的包括形式和语义的安全规约,实现在较高的层次上描述操作系统访问控制的规范;
步骤二:对操作系统的访问控制模块进行形式化抽象,定义基本抽象机及其要素,对形式化规范进行分析和推理,确定静态和动态特性;在严格保证语义的前提下,对抽象描述规范进行逐步求精与细化,以递增的方式构建目标抽象机,推导出更接近实现的包含更多细节的形式化规范,实现访问控制模型;
步骤三:利用定理证明工具对访问控制模型的证明义务进行自动化证明和人工交互证明,保证抽象机在初始化规范、推理分析和精化实现阶段的内在一致性,进而根据证明结果分析访问控制模型的安全性;
步骤四:针对访问控制模型在安全规约中可能出现的访问规则冲突,在模型检测工具中选取合理的检测方法和验证规则进行状态搜索或不动点计算,验证是否存在不变式冲突;
步骤五:结合步骤三的对访问控制模型的安全性分析及步骤四的模型检测结果分析,模拟实际攻击场景,实现访问控制的安全隐患和脆弱点检测。
进一步地,所述的步骤三中,利用定理证明工具对访问控制模型的证明义务进行人工交互证明具体操作如下:
在抽象的数学结构与具体的计算机表示之间建立连接,建立抽象规范与其精化后的规范之间的联系,采取不同的证明策略对其进行证明。
进一步地,所述的步骤二中的静态和动态特性包括一致性、完整性和运行时状态变化特性。
进一步地,所述的步骤一中的安全属性包括原子安全属性和资源安全属性,原子安全属性包括权限定义、访问位置、用户类型;资源安全属性包括主体安全属性和客体安全属性。
本发明的有益效果如下:
本发明的方法针对操作系统访问控制展开研究,通过对访问控制安全属性分析,形式化抽象访问控制模块,逐步精化构建访问控制模型,通过模型检测工具检测访问控制模型中可能存在的访问冲突,并模拟实际运行场景检测访问控制安全隐患及脆弱点。该方法通过模型检测方式探索访问控制脆弱性问题,为操作系统安全验证和安全加固提供理论依据和通用方法。
附图说明
图1是本发明的基于模型检测的操作系统访问控制脆弱性发现方法流程图;
图2是优选实例中TZ_Res抽象机模型检测的状态空间图;
图3是优选实例中TZ_Policy抽象机模型检测的部分状态空间图;
图4是优选实例中TZ_Sys抽象机模型检测的部分状态空间图。
具体实施方式
下面根据附图和优选实施例详细描述本发明,本发明的目的和效果将变得更加明白,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明的基于模型检测的操作系统访问控制脆弱性发现方法,该方法包括如下步骤:
步骤一:分析操作系统访问控制安全需求,定义访问控制规则及安全属性,并通过分析系统规约和系统动态行为,描述安全属性规约条件,给出具有严格定义的包括形式和语义的安全规约,实现在较高的层次上描述操作系统访问控制机制的规范;安全属性用于形式化描述安全规则,作为其中一种实施方式,其包括原子安全属性和资源安全属性,原子安全属性包括权限定义、访问位置、用户类型;资源安全属性包括主体安全属性和客体安全属性。
步骤二:对操作系统的访问控制模块进行形式化抽象,定义基本抽象机及其要素,对形式化规范进行分析和推理,确定静态和动态特性;作为其中一种实施方式,静态和动态特性包括一致性、完整性、运行时状态变化特性。利用不变式维持系统静态属性,利用操作规范维持系统动态属性。在严格保证语义的前提下,对抽象描述规范进行逐步求精与细化,以递增的方式构建目标抽象机,推导出更接近实现的包含更多细节的形式化规范,实现访问控制模型;
步骤三:利用定理证明工具对访问控制模型的证明义务进行自动化证明和人工交互证明,保证抽象机在初始化规范、推理分析和精化实现阶段的内在一致性,进而根据自动化证明结果分析访问控制模型的安全性;
作为其中一种实施方式,利用定理证明工具对多级访问控制模型的证明义务进行人工交互证明,具体操作如下:在抽象的数学结构与具体的计算机表示之间建立连接,建立抽象规范与其精化后的规范之间的联系,采取不同的证明策略对其进行证明。
步骤四:针对访问控制模型在安全规约中可能出现的访问规则冲突,在模型检测工具中选取合理的检测方法和验证规则进行状态搜索或不动点计算,验证是否存在不变式冲突;
步骤五:结合步骤三的对访问控制模型的安全性分析以及步骤四的模型检测结果分析,模拟实际攻击场景,实现访问控制模型的安全隐患和脆弱点检测。
下面给出一个按照本发明的方法实现的一个具体实施例。该实施例是基于模型检测的ARM-Android访问控制脆弱性发现过程。
步骤一:分析ARM平台基于TrustZone隔离机制的访问控制机制,给出访问控制基本规则和安全属性,其中,用户、角色和类型标识符包含在上下文中,进程作为主体,资源作为客体;
步骤二:抽象出形式化模型中的三个基本要素,即进程、资源及访问控制文件,对应三个基本实体抽象机TZ_Proc,TZ_Res及TZ_Policy,抽象机中定义要素所包含的状态,封装基本实体及其属性,并提供关键操作,在此基础上,通过形式化描述系统中进程对资源的具体访问动作,逐步精化构建访问控制模型TZ_Sys,实现访问控制模型的建立。
步骤三:利用Atelier B对访问控制模型进行类型检查和定理证明,通过自动化证明,抽象机TZ_Proc中21个证明义务的证明率为100%,抽象机TZ_Res中46个证明义务的证明率为85%,抽象机TZ_Policy中7个证明义务的证明率为100%,抽象机TZ_Sys中473个证明义务的证明率为78%。对未证明的证明义务进行人工交互证明,保证抽象机在初始化规范、推理分析和精化实现阶段的内在一致性。若存在无法证明的证明义务,回溯分析是否该操作不满足安全规约,实现安全性分析。
步骤四:将访问控制模型载入ProB进行模型检测,对规模较小的TZTZ_Proc和TZ_Res抽象机采用Mixed DF/BF算法探索状态空间,对规模较大的TZ_Policy和TZ_Sys抽象机采用广度优先算法并保证覆盖所有操作。表1所示是访问控制模型的模型检测结果,抽象机中抽象集合越多,其相应的独立状态数和状态迁移越多。
表1访问控制模型的模型检测结果
抽象机 | 独立状态数 | 总迁移数量 |
TZ_Proc | 6562 | 170409 |
TZ_Res | 362 | 1595 |
TZ_Policy | 2782 | 10682 |
TZ_Sys | 208704 | 1111553 |
图2所示是TZ_Res抽象机的完整状态空间,包含了362个状态和1595个迁移,所有的独立状态都显示为完成检查的绿色节点。图3所示是TZ_Policy抽象机的部分状态空间,包含1084个独立状态和3382个迁移,因为此时的模型主要模拟两个进程对两个资源的访问场景,因此出现四个中心对称的密集节点簇。图4所示是TZ_Sys抽象机的部分状态空间,包含298个独立状态和590个迁移,该模型变量多,且由于广度遍历的访问、世界切换等操作多次改变模型变量值,节点间的迁移最为复杂。通过分析检测结果,验证是否存在不变式冲突。
步骤五:基于上述结果,在模型中模拟一种典型的权限提升攻击场景并进行具体分析。通过设置变量模拟攻击场景,判断访问操作是否使能,且有无不变式和前条件冲突,验证该模型是否有效防御攻击,实现访问控制安全隐患和脆弱点检测。
本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。
Claims (4)
1.一种基于模型检测的操作系统访问控制脆弱性发现方法,其特征在于,该方法包括如下步骤:
步骤一:分析操作系统访问控制安全需求,定义访问控制规则及安全属性,并通过分析系统规约和系统动态行为,描述安全属性规约条件,给出具有严格定义的包括形式和语义的安全规约,实现在较高的层次上描述操作系统访问控制的规范;
步骤二:对操作系统的访问控制模块进行形式化抽象,定义基本抽象机及其要素,对形式化规范进行分析和推理,确定静态和动态特性;在严格保证语义的前提下,对抽象描述规范进行逐步求精与细化,以递增的方式构建目标抽象机,推导出更接近实现的包含更多细节的形式化规范,实现访问控制模型;
步骤三:利用定理证明工具对访问控制模型的证明义务进行自动化证明和人工交互证明,保证抽象机在初始化规范、推理分析和精化实现阶段的内在一致性,进而根据证明结果分析访问控制模型的安全性;
步骤四:针对访问控制模型在安全规约中可能出现的访问规则冲突,在模型检测工具中选取合理的检测方法和验证规则进行状态搜索或不动点计算,验证是否存在不变式冲突;
步骤五:结合步骤三的对访问控制模型的安全性分析及步骤四的模型检测结果分析,模拟实际攻击场景,实现访问控制的安全隐患和脆弱点检测。
2.根据权利要求1所述的基于模型检测的操作系统访问控制脆弱性发现方法,其特征在于,所述的步骤三中,利用定理证明工具对访问控制模型的证明义务进行人工交互证明具体操作如下:
在抽象的数学结构与具体的计算机表示之间建立连接,建立抽象规范与其精化后的规范之间的联系,采取不同的证明策略对其进行证明。
3.根据权利要求1所述的基于模型检测的操作系统访问控制脆弱性发现方法,其特征在于,所述的步骤二中的静态和动态特性包括一致性、完整性和运行时状态变化特性。
4.根据权利要求1所述的基于模型检测的操作系统访问控制脆弱性发现方法,其特征在于,所述的步骤一中的安全属性包括原子安全属性和资源安全属性,原子安全属性包括权限定义、访问位置、用户类型;资源安全属性包括主体安全属性和客体安全属性。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010961713.XA CN112100625B (zh) | 2020-09-14 | 2020-09-14 | 一种基于模型检测的操作系统访问控制脆弱性发现方法 |
PCT/CN2020/115227 WO2021147343A1 (zh) | 2020-09-14 | 2020-09-15 | 一种基于模型检测的操作系统访问控制脆弱性发现方法 |
US17/386,494 US11868481B2 (en) | 2020-09-14 | 2021-07-27 | Method for discovering vulnerabilities of operating system access control mechanism based on model checking |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010961713.XA CN112100625B (zh) | 2020-09-14 | 2020-09-14 | 一种基于模型检测的操作系统访问控制脆弱性发现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100625A CN112100625A (zh) | 2020-12-18 |
CN112100625B true CN112100625B (zh) | 2021-10-19 |
Family
ID=73751544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010961713.XA Active CN112100625B (zh) | 2020-09-14 | 2020-09-14 | 一种基于模型检测的操作系统访问控制脆弱性发现方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11868481B2 (zh) |
CN (1) | CN112100625B (zh) |
WO (1) | WO2021147343A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112764722A (zh) * | 2021-01-20 | 2021-05-07 | 西北工业大学 | 基于aadl的系统脆弱性模型设计方法 |
CN113704795B (zh) * | 2021-09-02 | 2024-02-06 | 杭州戎戍网络安全技术有限公司 | 一种基于标签属性的多域访问控制形式化建模方法 |
CN114510714A (zh) * | 2022-01-14 | 2022-05-17 | 麒麟软件有限公司 | 一种Kysec安全机制的测试方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136047A (zh) * | 2011-02-25 | 2011-07-27 | 天津大学 | 一种基于形式化及统一软件模型的软件可信工程方法 |
CN106708730A (zh) * | 2016-11-22 | 2017-05-24 | 北京控制工程研究所 | 一种针对嵌入式实时操作系统形式化验证方法 |
CN109918049A (zh) * | 2019-01-12 | 2019-06-21 | 西北工业大学 | 基于形式化验证的软件开发模型的验证方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9607155B2 (en) * | 2010-10-29 | 2017-03-28 | Hewlett Packard Enterprise Development Lp | Method and system for analyzing an environment |
US11423147B2 (en) * | 2017-05-02 | 2022-08-23 | The United States Of America As Represented By The Secretary Of The Air Force | Method for executing single-use systems |
US20180351806A1 (en) * | 2017-05-31 | 2018-12-06 | Cisco Technology, Inc. | Intent specification checks for inconsistencies |
CN109787943B (zh) * | 2017-11-14 | 2022-02-22 | 华为技术有限公司 | 一种抵御拒绝服务攻击的方法及设备 |
US11178182B2 (en) * | 2018-04-20 | 2021-11-16 | Sailpoint Technologies, Inc. | Automated access control management for computing systems |
-
2020
- 2020-09-14 CN CN202010961713.XA patent/CN112100625B/zh active Active
- 2020-09-15 WO PCT/CN2020/115227 patent/WO2021147343A1/zh active Application Filing
-
2021
- 2021-07-27 US US17/386,494 patent/US11868481B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136047A (zh) * | 2011-02-25 | 2011-07-27 | 天津大学 | 一种基于形式化及统一软件模型的软件可信工程方法 |
CN106708730A (zh) * | 2016-11-22 | 2017-05-24 | 北京控制工程研究所 | 一种针对嵌入式实时操作系统形式化验证方法 |
CN109918049A (zh) * | 2019-01-12 | 2019-06-21 | 西北工业大学 | 基于形式化验证的软件开发模型的验证方法 |
Non-Patent Citations (1)
Title |
---|
工业控制系统脆弱性分析及漏洞挖掘技术研究综述;赖英旭等;《北京工业大学学报》;20200630;第46卷(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
US11868481B2 (en) | 2024-01-09 |
US20220083668A1 (en) | 2022-03-17 |
WO2021147343A1 (zh) | 2021-07-29 |
CN112100625A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112100625B (zh) | 一种基于模型检测的操作系统访问控制脆弱性发现方法 | |
Falco et al. | IIoT cybersecurity risk modeling for SCADA systems | |
Sommestad et al. | The cyber security modeling language: A tool for assessing the vulnerability of enterprise system architectures | |
CN102624574B (zh) | 一种对协议实现进行安全测试的方法及装置 | |
Luo et al. | Threat analysis and risk assessment for connected vehicles: A survey | |
Schnepf et al. | Automated verification of security chains in software-defined networks with synaptic | |
Reger | Automata based monitoring and mining of execution traces | |
CN113051624B (zh) | 基于类型检测的智能合约信息流完整性验证方法及系统 | |
Cao et al. | A survey on security in consensus and smart contracts | |
CN111625448B (zh) | 协议包生成方法、装置、设备及存储介质 | |
CN102982282B (zh) | 程序漏洞的检测系统和方法 | |
Kang et al. | Iotbox: Sandbox mining to prevent interaction threats in iot systems | |
CN109165509B (zh) | 软件实时可信度量的方法、设备、系统及存储介质 | |
Tsai et al. | Simulation verification and validation by dynamic policy enforcement | |
Di Nardo et al. | Augmenting field data for testing systems subject to incremental requirements changes | |
Khezami et al. | A systematic literature review on software maintenance for cyber-physical systems | |
Schulz et al. | Continuous Secure Software Development and Analysis. | |
Valle‐Gómez et al. | Mutation‐inspired symbolic execution for software testing | |
Harris et al. | Verifying information flow control over unbounded processes | |
Jiang et al. | An exploitability analysis technique for binary vulnerability based on automatic exception suppression | |
CN110995747A (zh) | 一种分布式存储安全性分析方法 | |
Koleini et al. | Model checking agent knowledge in dynamic access control policies | |
Alshmrany et al. | Finding security vulnerabilities in network protocol implementations | |
Praus et al. | Secure Control Applications in Smart Homes and Buildings. | |
Ahmadi et al. | Proving Memory Access Violations in Isabelle/HOL |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |