CN102236758A - 基于安全知识库的安全需求获取方法 - Google Patents
基于安全知识库的安全需求获取方法 Download PDFInfo
- Publication number
- CN102236758A CN102236758A CN2011102110816A CN201110211081A CN102236758A CN 102236758 A CN102236758 A CN 102236758A CN 2011102110816 A CN2011102110816 A CN 2011102110816A CN 201110211081 A CN201110211081 A CN 201110211081A CN 102236758 A CN102236758 A CN 102236758A
- Authority
- CN
- China
- Prior art keywords
- assets
- security
- threat
- demand
- threaten
- 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
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于可信计算领域,涉及一种基于安全知识库的安全需求获取方法,包括两个部分1)资产和威胁分别进行分类,然后建立对应关系,并构建包括资产、威胁和安全功能组件三部分的资产威胁知识库;2)具体的安全需求获取过程,包括用例分析、确定资产、威胁分析、细化安全需求、安全需求迭代几个步骤。本发明主要用于在需求分析阶段利用CC标准对软件进行安全需求分析和信息获取,以减少软件开发初期的安全漏洞。
Description
技术领域
本发明提出了一种在软件开发需求阶段的安全需求获取方法,旨在提高软件的安全性和可信程度,属于软件安全领域。
背景技术
随着计算机软件的广泛应用,软件安全问题已成为各行业用户关注的焦点。有效的设计和开发可信软件是当今软件开发者的重要目标。根据经验:软件开发过程中,越早发现问题,则修复此问题所耗的代价越小。研究数据也表明:当安全分析和安全工程在软件开发的早期就引入软件开发的回报率高达10%~20%。从过程化软件工程角度来讲,需求分析是软件开发的第一步。那么,高质量的需求分析对于高效开发安全软件就有着至关重要的作用。
安全需求工程作为可信软件开发生命周期的初始阶段,在安全软件的构建过程中起着举足轻重的作用。当前对安全需求相关领域的研究很多,安全需求工程方法也是百花齐放。比如有面向技术的安全需求方法,面向工具与语言的安全需求方法和面向过程的安全需求方法等。然而目前尚没有统一广泛的安全需求方法,而且这些方法都有一个共同的特征,即都需要安全专家的参与实施。其实质是安全专家根据已有的经验对系统进行分析,从而达到获取安全需求的目的。由于安全需求的主观性,安全需求的效果过多的依赖于实施者的经验技能,不具有普遍性。
CC(Common Criteria)是第一个国际化的安全评估准则,是为软件安全性能的评估而开发的,它将安全需求分为安全功能需求和安全保证需求两部分,提出安全功能组件、安全保证组件和安全保证等级等概念,安全功能组件给出需求阶段的安全功能需求抽象描述,安全保证组件从需求、设计、编码、测试到运行维护各阶段保证安全功能的实施。CC作为国际安全评估标准,不仅仅用于软件安全评估,而且对于安全软件开发起指导作用。
综上所述,先阶段针对安全需求工程方法的研究百花齐放,但没有统一的安全需求分析和获取方法。而且这些方法普遍依赖于安全专家的主观经验,安全需求工程过程的实施耗费大量时间和精力,效率十分低下。CC安全评估标准在国际上影响广泛,并且可以很好的指导安全需求开发,但是它只是作为一个指导原则,并没有形成到系统的安全需求方法中。
发明内容
本发明目的是克服现有技术的上述不足,提出一种效率高,能够快速进行安全需求分析,获取安全需求信息的方法。本发明的安全需求获取方法,基于CC标准,构建资产威胁知识库,从系统功能用例图出发,确定资产威胁,继而使用CC安全功能组件进行威胁缓和,获取安全需求。从而降低安全需求开发成本,提高软件开发效率,进而提高了软件的安全性。
一种基于安全知识库的安全需求获取方法,包括下列两个方面
1)构建包括资产、威胁和安全功能组件三部分的资产威胁知识库
a.将资产分为角色、数据、资源和服务四类,对于每一类资产,又可以继续划分子类,这样不断细化,从而确定一棵由粗到细的资产树结构;除了类别关系,资产之间还具有包含关系,当一个资产中存在可再分的细粒度实体,且细粒度实体是此资产特有的组成部分,即称此资产包含一个或多个子资产,并将这些子资产称为特殊资产,特殊资产并不考虑类别属性,只与其父资产有关联。
b.将威胁分为假冒、否认、数据篡改、信息泄露和拒绝服务五大类,对于每一类威胁,构造其抽象威胁树模型,将威胁不断细化描述,得到一棵威胁树;对于威胁树中每个叶子节点的具体威胁,建立两个属性:危害等级和候选安全功能组件,威胁对应的候选安全功能组件的选取一方面通过现有的CC评估文档中典型威胁与特定安全功能组件集得对应,另一方面从CC文档安全功能组件中获取相应组件进行缓和;
c.建立资产和威胁之间的对应关系,进一步还建立资产子类与威胁子树某一节点的对应关系,更进一步的对于特殊资产,建立其与具体威胁和攻击模式之间的对应关系;
2)安全需求获取过程
a.用例分析:对系统的功能用例进行分析;
b.确定资产:将确定的资产在资产威胁知识库中进行查找匹配,若库中已存在该资产则自动获其相应的威胁信息;若资产库中无对应资产,需根据资产所属类、子类等手动添加资产信息至资产威胁知识库中。资产对应的威胁即为所属层次类别对应的威胁;
c.威胁分析:根据威胁的危害等级,对于可能造成重要信息数据丢失,系统崩溃或系统功能失效的威胁,结合威胁的候选安全功能组件,选取合适的安全功能组件进行威胁缓和;
d.细化安全需求:结合应用实例进行对安全功能组件细化描述,形成详细的安全需求;
e.安全需求迭代:对安全需求进行分析,确定新资产,形成新一轮的安全需求获取。
本发明以提高软件系统的安全性为目的,在CC国际安全评估标准的基础上,提出了一种基于资产威胁知识库的安全需求获取方法,以期尽早的发现软件系统中可能存在的安全威胁,降低修补成本,提高软件的安全性。预期的有益效果包括:
1)本发明结合CC国际标准,引入安全功能组件描述安全需求,具有一定的权威性,更有利于指导进一步的设计开发。同时基于本发明可以很方面的生成CC评估的ST文档,为进行CC安全评估打下了良好的基础。
2)传统的安全需求获取过程需要专业的安全专家全人工分析,而本发明只需要确定系统资产后与知识库中进行自动化匹配分析,就可获得相关解决方法雏形,从而大幅度降低了安全需求分析的成本,提高了安全软件的开发效率。
3)资产威胁知识库系统化的存储相关资产威胁信息,对于软件安全来说是一笔宝贵的资产,可以为软件安全相关的诸多工具提供数据支持。
附图说明
附图1:资产树结构。
附图2:假冒威胁树。
附图3:资产威胁对应关系。
附图4:安全需求过程概图。
附图5:网上银行注册用户查看账户用例图。
具体实施方式
本发明提出了一种基于CC的安全需求获取方法,在软件需求阶段针对软件系统中资产可能存在的安全威胁进行半自动分析检测,一方面提高了软件系统的安全性,另一方面降低了安全漏洞的缓和成本。该方法首先是通过对应用系统常见资产和威胁进行抽象分类从而建立资产威胁知识库。继而针对系统用例图进行分析,获取其中的关键资产,然后将系统关键资产与资产威胁知识库中进行匹配,自动化分析得到威胁和CC安全功能组件,进一步获得安全需求。介绍如下:
3)构建资产威胁知识库
知识库的构建包括三部分:资产、威胁和安全功能组件。在这里根据普遍的定义,将资产定义为对组织或个人有价值的信息、资源、功能或其他实体;威胁定义为攻击者针对资产潜在的攻击,可能对资产形成危害,造成损失。而安全功能组件在CC中定义为安全功能性要求,在此处可作为针对威胁的解决缓和方案,形成抽象安全需求描述。
由于资产和威胁之间的复杂多对多关系,本发明提出将资产和威胁分别进行分类,然后建立对应关系。根据需要,将资产分为以下几类:
角色(Role):代表与系统交互的外部对象,一般而言,用户或与系统交互的某一外部实体、功能模块都属于此类。
数据(Data):系统中需要保护的数据信息,包括用户数据,系统数据等。
资源(Resource):一般指硬件资源,诸如处理能力和存储能力等。
服务(Service):一般指软件提供的服务,例如已有的软件,API,协议等。
对于每一类资产,又可以继续划分子类,这样不断细化,从而确定一棵由粗到细的资产树结构(如图1所示)。除了类别关系,资产之间还具有包含关系,当一个资产中存在可再分的细粒度实体,且细粒度实体是此资产特有的组成部分,即称此资产包含一个或多个子资产。我们将这些子资产称为特殊资产,特殊资产并不考虑类别属性,只与其父资产有关联。例如对于服务类协议子类下的HTTP协议这一资产,其中就包含Cookie和Session两个特殊资产。资产分类体系确保了资产树的条理性,而资产的包含关系确保资产树的完备性。
同样,根据需要将威胁分为五大类:
假冒:假冒其他实体进行欺骗活动。
否认:行为发起者否认自己的身份或行为。
数据篡改:数据信息被非法篡改。
信息泄露:数据信息被未授权的窃取、查看。
拒绝服务:系统功能或服务失效。
对于每一类威胁,构造其抽象威胁树模型,将威胁不断细化描述,得到一棵威胁树。例如假冒威胁的威胁树如图2所示,假冒可以有三种实现方式:a、不充分的认证;b、伪造凭证;c、获取合法凭证,而伪造凭证又可以继续细化为猜测凭证和凭证等价这两种具体方法。图中的圆圈表示常用的攻击模式,对于猜测凭证,可以采用暴力破解的方式进行攻击。
对于威胁树中每个叶子节点的具体威胁,考虑其两个属性:危害等级和候选安全功能组件。
危害等级描述该威胁的危害程度,在这里将攻击造成的危害程度分为以下三级:
高:攻击极易实施,无需专业技能,造成重要信息数据丢失,系统崩溃,或系统功能失效,遭遇后无法恢复。
中:攻击实施需要特殊工具,或需要一定技能,造成密码等重要信息丢失,会导致系统功能失效,遭遇后较难恢复。
低:攻击实施需要专业技能及特殊工具,造成对系统性能有轻微影响,较容易恢复。
威胁对应的候选安全功能组件的选取一方面通过现有的CC评估文档中典型威胁与特定安全功能组件集得对应,另一方面通过人工分析从CC文档安全功能组件中获取相应组件进行缓和。
确定资产、威胁的分类体系之后,建立二者之间的层次映射关系。资产与威胁之间是多对多的关系,这里主要是建立资产与威胁的层次对应关系。首先资产类与威胁类之间的对应关系如图3所示,对于角色资产类,其对应的威胁为假冒和否认;对于数据资产类,其威胁一般来源于数据篡改和信息泄漏;对于资源类资产,其对应于拒绝服务威胁;对于服务类资产,由于服务本身的多样性,其对应的威胁包含假冒、否认、数据篡改、信息泄漏和拒绝服务。进一步的可建立资产子类与威胁子树某一节点的对应关系,更进一步的对于特殊资产(服务类资产居多),可建立其与具体威胁和攻击模式之间的对应关系。
4)安全需求获取过程
安全需求的获取是一个迭代递增的过程。本发明从系统用例图出发,对每个系统功能用例进行分析,获取其中涉及到的关键资产。在资产威胁知识库的辅助下对资产进行威胁分析,并针对威胁选取安全功能组件进行缓和,从而获取安全需求(如图4)。具体步骤如下:
a、用例分析:对系统的功能用例进行分析,系统的参与者、所涉及到的功能、所需要的服务、用到的软硬件资源等。分析确定的资产可能是抽象的,也可能是具体的。
b、确定资产:将确定的资产与资产库中进行查找匹配,若库中已存在该资产则自动获其相应的威胁信息;若资产库中无对应资产,需根据资产所属类、子类等手动添加资产信息至库中。资产对应的威胁即为所属层次类别对应的威胁。
c、威胁分析:根据威胁的危害等级,对与等级为高及或等级为中的威胁,如果实施后可能造成重要信息数据丢失,系统崩溃或系统功能失效,使得系统无法恢复或难以恢复,结合威胁的候选安全功能组件,选取合适的安全功能组件进行威胁缓和。
d、细化安全需求:结合应用实例进行对安全功能组件细化描述,形成详细的安全需求。
e、安全需求迭代:对安全需求进行分析,确定新资产,形成新一轮的安全需求获取。
下面通过一个示例来展示基于资产威胁知识库的安全需求的获取方法。如图5所示是一个最简单的用例图,用例描述一个合法用户远程访问网上银行查看账户。
分析此用例可知,注册用户远程查看账户,其中包含的资产包括注册用户和账户信息。而根据资产定义可知,注册用户属于角色类资产,而账户信息属于数据类资产。为简单起见,此处仅考虑注册用户这一资产。由资产威胁知识库可知,角色类资产对应的威胁类别有假冒类和否认类,对于假冒类对应的具体威胁如下:
威胁 | 危害等级 |
无认证 | 高 |
认证过程破坏 | 低 |
凭证预测 | 低 |
猜测凭证 | 高 |
脆弱的凭证存储 | 低 |
脆弱的凭证传输 | 中 |
在此处,综合各方面的考虑,对于危害等级中、低的威胁不予考虑,只是缓和危害等级高的威胁,即无认证威胁和猜测凭证威胁。从资产威胁知识库中获取这两个威胁对应的候选安全功能组件如下:
针对系统应用实际,将安全功能组件进行细化描述,形成安全需求,即完成了安全需求的初步获取。接着针对安全需求进行资产分析,获取新的安全需求。
Claims (1)
1.一种基于安全知识库的安全需求获取方法,包括下列两个方面
1)构建包括资产、威胁和安全功能组件三部分的资产威胁知识库
a.将资产分为角色、数据、资源和服务四类,对于每一类资产,又可以继续划分子类,这样不断细化,从而确定一棵由粗到细的资产树结构;除了类别关系,资产之间还具有包含关系,当一个资产中存在可再分的细粒度实体,且细粒度实体是此资产特有的组成部分,即称此资产包含一个或多个子资产,并将这些子资产称为特殊资产,特殊资产并不考虑类别属性,只与其父资产有关联;
b.将威胁分为假冒、否认、数据篡改、信息泄露和拒绝服务五大类,对于每一类威胁,构造其抽象威胁树模型,将威胁不断细化描述,得到一棵威胁树;对于威胁树中每个叶子节点的具体威胁,建立两个属性:危害等级和候选安全功能组件,威胁对应的候选安全功能组件的选取一方面通过现有的CC评估文档中典型威胁与特定安全功能组件集得对应,另一方面从CC文档安全功能组件中获取相应组件进行缓和;
c.建立资产和威胁之间的对应关系,进一步还建立资产子类与威胁子树某一节点的对应关系,更进一步的对于特殊资产,建立其与具体威胁和攻击模式之间的对应关系。
2)安全需求获取过程
a.用例分析:对系统的功能用例进行分析;
b.确定资产:将确定的资产在资产威胁知识库中进行查找匹配,若库中已存在该资产则自动获其相应的威胁信息;若资产库中无对应资产,需根据资产所属类、子类等手动添加资产信息至资产威胁知识库中,资产对应的威胁即为所属层次类别对应的威胁;
c.威胁分析:根据威胁的危害等级,对于可能造成重要信息数据丢失,系统崩溃或系统功能失效的威胁,结合威胁的候选安全功能组件,选取合适的安全功能组件进行威胁缓和;
d.细化安全需求:结合应用实例进行对安全功能组件细化描述,形成详细的安全需求;
e.安全需求迭代:对安全需求进行分析,确定新资产,形成新一轮的安全需求获取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102110816A CN102236758A (zh) | 2011-07-26 | 2011-07-26 | 基于安全知识库的安全需求获取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102110816A CN102236758A (zh) | 2011-07-26 | 2011-07-26 | 基于安全知识库的安全需求获取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102236758A true CN102236758A (zh) | 2011-11-09 |
Family
ID=44887401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102110816A Pending CN102236758A (zh) | 2011-07-26 | 2011-07-26 | 基于安全知识库的安全需求获取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102236758A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799834A (zh) * | 2012-06-07 | 2012-11-28 | 天津大学 | 基于系统资产的软件安全需求分析方法 |
CN102799816A (zh) * | 2012-06-29 | 2012-11-28 | 天津大学 | 基于cc标准的软件安全功能组件管理方法 |
CN104881606A (zh) * | 2015-04-30 | 2015-09-02 | 天津大学 | 基于形式化建模的软件安全需求获取方法 |
CN104899043A (zh) * | 2015-06-16 | 2015-09-09 | 北京航空航天大学 | 采用模块安全性分析获取软件安全性需求的方法 |
CN105045251A (zh) * | 2015-05-27 | 2015-11-11 | 华中科技大学 | 工业控制系统功能安全与信息安全的需求分析及融合方法 |
CN107045439A (zh) * | 2016-12-26 | 2017-08-15 | 天津大学 | 基于安全需求模板的软件安全需求获取系统及方法 |
CN107145443A (zh) * | 2017-04-28 | 2017-09-08 | 中国民生银行股份有限公司 | 基于情景交互的安全需求分析方法及系统 |
CN109446805A (zh) * | 2018-10-19 | 2019-03-08 | 西安电子科技大学 | 一种信息流完整性攻击的度量方法及其计算机装置、可读存储介质 |
CN110457009A (zh) * | 2019-07-06 | 2019-11-15 | 天津大学 | 基于数据分析的软件安全需求推荐模型的实现方法 |
CN110955897A (zh) * | 2019-11-25 | 2020-04-03 | 中国人寿保险股份有限公司 | 基于大数据的软件研发安全管控可视化方法及系统 |
CN112016138A (zh) * | 2020-08-13 | 2020-12-01 | 上海帆一尚行科技有限公司 | 一种车联网自动化安全建模的方法、装置和电子设备 |
CN113835696A (zh) * | 2021-08-26 | 2021-12-24 | 北京擎天信安科技有限公司 | 一种基于资产类型的汽车网络安全组件复用方法 |
-
2011
- 2011-07-26 CN CN2011102110816A patent/CN102236758A/zh active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799834A (zh) * | 2012-06-07 | 2012-11-28 | 天津大学 | 基于系统资产的软件安全需求分析方法 |
CN102799816A (zh) * | 2012-06-29 | 2012-11-28 | 天津大学 | 基于cc标准的软件安全功能组件管理方法 |
CN104881606A (zh) * | 2015-04-30 | 2015-09-02 | 天津大学 | 基于形式化建模的软件安全需求获取方法 |
CN104881606B (zh) * | 2015-04-30 | 2017-12-26 | 天津大学 | 基于形式化建模的软件安全需求获取方法 |
CN105045251A (zh) * | 2015-05-27 | 2015-11-11 | 华中科技大学 | 工业控制系统功能安全与信息安全的需求分析及融合方法 |
CN105045251B (zh) * | 2015-05-27 | 2017-11-14 | 华中科技大学 | 工业控制系统功能安全与信息安全的需求分析及融合方法 |
CN104899043A (zh) * | 2015-06-16 | 2015-09-09 | 北京航空航天大学 | 采用模块安全性分析获取软件安全性需求的方法 |
CN104899043B (zh) * | 2015-06-16 | 2018-07-17 | 北京航空航天大学 | 采用模块安全性分析获取软件安全性需求的方法 |
CN107045439A (zh) * | 2016-12-26 | 2017-08-15 | 天津大学 | 基于安全需求模板的软件安全需求获取系统及方法 |
CN107145443A (zh) * | 2017-04-28 | 2017-09-08 | 中国民生银行股份有限公司 | 基于情景交互的安全需求分析方法及系统 |
CN109446805A (zh) * | 2018-10-19 | 2019-03-08 | 西安电子科技大学 | 一种信息流完整性攻击的度量方法及其计算机装置、可读存储介质 |
CN109446805B (zh) * | 2018-10-19 | 2021-10-29 | 西安电子科技大学 | 信息流完整性攻击度量方法及其计算机装置、可读存储介质 |
CN110457009A (zh) * | 2019-07-06 | 2019-11-15 | 天津大学 | 基于数据分析的软件安全需求推荐模型的实现方法 |
CN110955897A (zh) * | 2019-11-25 | 2020-04-03 | 中国人寿保险股份有限公司 | 基于大数据的软件研发安全管控可视化方法及系统 |
CN112016138A (zh) * | 2020-08-13 | 2020-12-01 | 上海帆一尚行科技有限公司 | 一种车联网自动化安全建模的方法、装置和电子设备 |
CN113835696A (zh) * | 2021-08-26 | 2021-12-24 | 北京擎天信安科技有限公司 | 一种基于资产类型的汽车网络安全组件复用方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102236758A (zh) | 基于安全知识库的安全需求获取方法 | |
WO2021077642A1 (zh) | 一种基于异构图嵌入的网络空间安全威胁检测方法及系统 | |
CN101730903B (zh) | 多维声誉评分 | |
Das et al. | Manipulation among the arbiters of collective intelligence: How Wikipedia administrators mold public opinion | |
CN101452469B (zh) | 基于攻击模式的软件安全缺陷库系统及其管理方法 | |
CN106295349A (zh) | 账号被盗的风险识别方法、识别装置及防控系统 | |
CN101730904A (zh) | 实体属性的关联和分析 | |
CN103268450B (zh) | 基于测试的移动智能终端系统安全评估体系模型与评估方法 | |
CN102799834A (zh) | 基于系统资产的软件安全需求分析方法 | |
CN101950271A (zh) | 一种基于建模技术的软件安全性测试方法 | |
Yarovenko et al. | Strategy for determining country ranking by level of cybersecurity | |
AU2019101565A4 (en) | User data sharing method and device | |
CN105320887A (zh) | 一种基于静态特征提取和选择的Android恶意应用检测方法 | |
CN106330837A (zh) | 一种可疑网络用户的识别方法和装置 | |
Mellado et al. | A comparison of software design security metrics | |
CN104202339A (zh) | 一种基于用户行为的跨云认证服务方法 | |
CN102739652A (zh) | 网络抗攻击性能评估指标体系构建方法及装置 | |
Macskassy et al. | Suspicion scoring of networked entities based on guilt-by-association, collective inference, and focused data access1 | |
Wang et al. | Characterizing and detecting malicious crowdsourcing | |
Parkinson et al. | GraphBAD: A general technique for anomaly detection in security information and event management | |
Farokhi et al. | Security versus privacy | |
CN106101098A (zh) | 一种信息资产识别方法及装置 | |
CN106897880B (zh) | 一种账号风险评估方法和设备 | |
CN110457009B (zh) | 基于数据分析的软件安全需求推荐模型的实现方法 | |
Boehmer | Analyzing human behavior using case-based reasoning with the help of forensic questions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20111109 |