CN101499115B - 基于攻击模式的用例图检测方法 - Google Patents

基于攻击模式的用例图检测方法 Download PDF

Info

Publication number
CN101499115B
CN101499115B CN200810154289.7A CN200810154289A CN101499115B CN 101499115 B CN101499115 B CN 101499115B CN 200810154289 A CN200810154289 A CN 200810154289A CN 101499115 B CN101499115 B CN 101499115B
Authority
CN
China
Prior art keywords
attack mode
illustration
use case
misuse
software
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
Application number
CN200810154289.7A
Other languages
English (en)
Other versions
CN101499115A (zh
Inventor
李晓红
王翔宇
许光全
李旭
雷亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Yongda power telecommunication installation engineering Co., Ltd
Original Assignee
Tianjin University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN200810154289.7A priority Critical patent/CN101499115B/zh
Publication of CN101499115A publication Critical patent/CN101499115A/zh
Application granted granted Critical
Publication of CN101499115B publication Critical patent/CN101499115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明属于安全技术领域。涉及一种基于攻击模式的用例图检测方法,包括下列步骤:构建有效攻击模式库:库中列举已有攻击模式的名称、概要描述、相应误用例、可选缓和方案信息,并建立用例、误用例、攻击模式和可选缓和方案间的映射关系;(2)读入待检测的用例图;从用例图中提取与攻击模式库中已有攻击模式的名称及概要描述相匹配的相关资产信息;将从用例图中提取的资产信息与攻击模式库中的相应内容进行对比、匹配,针对每一个用例逐一进行,检测用例。本发明有利于降低开发成本,提高软件的可信度和开发效率。

Description

基于攻击模式的用例图检测方法
技术领域
本发明以可信软件开发过程作为主要对象,致力于提高软件规避安全隐患的能力、提高可信软件的开发效率,属于软件安全技术领域。
背景技术
随着计算机和互联网的普及,软件已经成为信息时代资源获得和利用的重要载体。在这种形势下,软件的安全就成为各项工作正常、高效进行的重要保障。从软件开发周期的角度讲,越早发现软件设计中的缺陷和漏洞,其修改、修复的代价越小,对攻击行为的规避就越有效。如何有效的在需求分析阶段确认、分析、并进一步解决软件设计中潜在的安全隐患,对于可信软件的开发有重要意义。
为了规范和统一软件开发的过程,人们提出了统一建模语言(UML)的概念,并已在世界范围内得到广泛应用。UML中的用例图是用于需求分析阶段的半形式化视图,用来描绘软件系统功能。用例图直观的描述了软件系统的一系列行为序列和系统与外界间的必要交互。软件设计人员通过用例图来刻画用户对软件的功能需求。换言之,通过读取设计人员提供的用例图,就可以对待开发软件的行为有一个功能层面的了解。而用户对软件的特定需求往往可能导致软件存在一些容易被攻击的薄弱点。那么,通过解读用例图中的关键资产信息,就可以检测出其中是否带有安全隐患。从而在需求分析阶段最大程度的了解软件系统中的潜在威胁,有利于在随后的开发过程中消除安全隐患,大幅提高软件的安全性能。
与之对应的,误用例也是一种对系统功能行为的描述,但在内容上讲,误用例所描述的是软件系统正常运行时不允许出现的状态,即系统要避免出现的情况。误用例常常与用例的特定功能需求相关。也就是说,针对于某一个用例,其特定的功能需求就自然导致可能会存在安全隐患,即误用例。误用例也是一个半形式化的概念。与之不同的,攻击模式是一种抽象机制,用来描述一种观察到的攻击是如何被执行的。它所针对的问题即为软件产品攻击者的目标对象,描述的是攻击者用来破坏软件产品的技术。依据攻击范式,攻击模式还提供了本身的适用范围的上下文描述以及缓和攻击的方案。使用攻击模式的动机为软件开发者通过将自己想象为攻击者,参与到威胁中去,从而有效提高软件的安全性。
用例与误用例之间具有的是自然的、内在的联系,二者在语义上包含着相对立的内容;误用例与攻击模式之间具有的是实现相关的、语义互通的联系,二者是在不同的层面解析系统所面对的攻击行为,即误用例是功能描述式的说明,而攻击模式则重在具体的实现方法。而缓和方案则是针对于特定的攻击模式,系统可能采取的改进措施。通过实施缓和方案可以一定程度上的控制、减缓、甚至消除软件系统的潜在威胁。
发明内容
基于软件开发的现状及规避攻击的基本规律,本发明的目的是通过分析软件需求分析阶段的用例图设计,明确当中可能出现的安全隐患,并为其找到一些可行的解决方案,从而在软件开发的初期有效提高软件的安全性。
为此,本发明采用如下的技术方案:
一种基于攻击模式的用例图检测方法,包括下列步骤:
(1)构建有效攻击模式库:库中列举已有攻击模式的名称、概要描述、相应误用例、可选缓和方案信息,并建立用例、误用例、攻击模式和可选缓和方案间的映射关系;
(2)读入待检测的用例图;
(3)从用例图中提取与攻击模式库中已有攻击模式的名称及概要描述相匹配的相关资产信息。
(4)将从用例图中提取的资产信息与攻击模式库中的相应内容进行对比、匹配,针对每一个用例逐一进行,检测当中是否存在误用例,如果存在,则进一步从模式库里寻找与此误用例相对应的攻击模式,针对每一个可能出现的攻击模式,查找与其相当的缓和方案。
依据本发明提供的方法,可以构建基于攻击模式的用例图检测和完善系统,该系统的数据部分完成了已有常用用例、误用例、攻击模式及缓和方案的总结、整理和分类,提供了一个标准的、较为全面的信息库,有利于用户系统的了解和掌握攻击模式相关的安全软件开发方法。而且也为接下来的用例检测工作奠定了基础。输入部分和预处理部分可以成功完成用例图的资产信息提取,有得于了解设计人员的开发意图、了解用户对待开发软件的功能期待,从而针对于特定的软件开发情景进行有针对性的检测。匹配部分中则针对于得到的资产信息进行匹配,看是否存在于所构建的数据库中,从而知道这些用例是否隐含误用例、攻击模式,从而达到检测用例图的目的。通过最后的输出部分,将所有的检测结果提交给需求分析人员查看,包括用例、误用例、攻击模式的相关信息及可选的缓和方案。软件设计人员可以结合自身的情况进行综合考量,修改、完善自己的用例设计。通过以上五个部分的工作,可以有效的检测用例图中出现的用例是否隐含误用例,在软件开发的初期明确其可能面对的安全问题,有利于及早修改和解决。有利于降低开发成本,提高软件的可信度和开发效率。
附图说明
图1本发明的用例检测方法的整体流程图;
图2数据部分的基本结构;
图3读图、扫描、匹配过程示意图;
图4利用argoUML工具画出的示意用例图;
图5示意用例的扫描过程。
具体实施方式
本发明要做的就是分类现有的常见用例、误用例、攻击模式和缓和方案,建立起其间的对应关联关系。在此基础上,提出一种通过分析用例图来得出软件系统中隐含误用例和攻击模式、并进一步提出可选缓和方案、完善软件设计的方法。
具体来讲,包括以下几个方面:
1.构建有效攻击模式库:库中简要列举已有攻击模式的名称、描述、相应误用例、可选缓和方案等信息。更重要的,要包含必要的映射关系。
2.资产信息提取:从用户(软件设计人员,尤指需求分析人员)提供的用例图中提取相关资产信息。提取目标的选取要与攻击模式库中攻击模式名及概要描述相配,因为这样才可以检测出用例图中是否隐含攻击模式。
3.建立主体信息间的映射关系:具体的讲,就是建立用例、误用例、攻击模式、缓和方案间的映射关系,完善到攻击模式库中,以进行误用例检测及检测结果的进一步分析。
本发明提出的方法大致分为五个部分,即数据库部分、输入部分、预处理部分、匹配部分、输出部分。首先,要完成数据库部分。因为数据库部分包含了大量常见用例、误用例、攻击模式、缓和方案,及它们之间的对应关联关系,这些信息都是进一步进行用例匹配、误用例检测及缓和建议的基础。随后要通过输入部分来读入用户的用例图、通过预处理过程进行资产信息提取,有了这些资产信息,匹配过程就可以访问数据库当中的信息,来查找用例图中是不是存在误用例、攻击模式,并找到相应的可行缓和办法。最后将这些信息呈现给用户。其主体过程的流程图如附图1所示。
a)数据库部分:一个囊括了常见用例、误用例、相关攻击模式及缓和方案的数据库。通过对常见用例、误用例,及现有的攻击模式和缓和方案进行分类整理,找到其中足以相互区别的关键属性信息。更重要的,建立起用例与误用例、误用例与攻击模式、攻击模式与缓和方案之间的映射关系,为之后的误用例检测打下基础。主体结构如附图2所示。
b)输入部分:此部分用来读入用户提交的用例图。具体的讲就是将软件设计人员绘制的用例图作为整个过程的起点和输入。通常用例图会以*.uml的格式存取,但由于.uml格式可以无信息损失的转换为.xml格式,所以这一部分的主要内容就是读入包含有用例图信息的.xml文件。
c)预处理部分:这部分负责提取用例图中的资产信息。这里所说的资产信息是指可以作为关键字来进行误用例匹配的信息,如用例名等。针对于用例图中的每一个用例,进行同样的信息提取,作为下一步匹配查找的输入。
d)匹配部分:将用例图中提取的资产信息,与数据库中的相应内容进行对比、匹配。针对每一个用例逐一进行,检测当中是否存在误用例。如果存在,则进一步找到与此误用例相对应的攻击模式,针对每一个可能出现的攻击模式,找到与其相当的缓和方案。输入部分、预处理部分及匹配部分的主要过程如附图3所示。
e)输出部分:将上述过程所得到的误用例信息、攻击模式及缓和方案信息呈现给用户。用户可能通过自身对待开发软件安全性能的需求及项目预算来综合考虑是否采取、采取什么样的缓和方案。
以附图4中的用例图为例,来说明本发明的应用。
首先,由用户选择目标文件,即待检测的用例图所在文件。为了更准确的匹配标准用例及误用例,在用例图设计中,期待用户可以对用例图中各用例进行关系分解(以父、子用例的方式标识即可)。针对读入的用例图,可先进行完整性扫描,以检测用例图中是否含有可分解而未分解的父用例。对于读入的用例图,可提取当中的关键资产信息,如下:
用例图的基本信息:
用例图中actor(活动者)的个数:1
用例图中用例的个数:8
用例图中dependency(依赖)关系的个数:3
用例图中include(包含)关系的个数:3
可能的误用例数:3
      用例图的用例结构:
         Login(process)
            Input(thread)
               Input_check(migition)
            Check(thread)
               Usename_check(migition)
            System_echo(thread)
               Formatted_error(migition)
         Dblog(process)
若用例图中已无可再分解的用例,则针对用例图进行误用例扫描,返回给用户被测用例图当中可能出现的误用例,如下:
Check(usecase)
   利用系统对用户输入的处理操作
Login(usecase)
         锁定帐号
         用户名密码缺省值漏洞
         密码破解
      Dblog(usecase)
         利用用户可获得的权限
         利用系统日志
         利用权限控制
针对每一个误用例,用户又可以进一步查询此误用例涉及到哪些攻击模式,以及与这些攻击模式对应的缓和方案。以误用例“密码破解”为例,信息如下:
(一)误用例名称:密码破解
(二)误用例描述:通过各种手段获取用户密码
(三)误用例涉及的攻击模式:
    1.密码分析(Cryptanalysis)
    2.基于字典的密码攻击(Dictionary-based Password Attack)
    3.密码的暴力破解(Encryption Brute Forcing)
    4.强力破解密码(Password Brute Forcing)
    5.利用密码恢复(Password Recovery Exploitation)
    6.密码破解工具(Rainbow Table Password Cracking)
    7.除去或短路保护逻辑部分(Removing/short-circuiting’guard logic’)
(四)可选的缓和方案:强制要求用户设置较复杂的密码
根据这些信息,用户综合考虑其待开发软件的安全性能要求及开发成本,权衡利弊得失,修改、完善其原有设计,得到高安全性能的软件开发方案。从而达到在软件开发之初便发现、控制、规避安全隐患的目的。

Claims (1)

1.一种基于攻击模式的用例图检测方法,包括下列步骤:
(1)构建有效攻击模式库:库中列举已有攻击模式的名称、概要描述、相应误用例、可选缓和方案信息,并建立误用例、攻击模式和可选缓和方案间的映射关系;
(2)读入待检测的用例图;
(3)从用例图中提取资产信息,即可以作为关键字来进行误用例匹配的信息,提取目标的选取要与攻击模式库中攻击模式名及概要描述相配;
(4)将从用例图中提取的资产信息与攻击模式库中的相应内容进行对比、匹配,针对每一个用例逐一进行,检测当中是否存在误用例,如果存在,则进一步从模式库里寻找与此误用例相对应的攻击模式,针对每一个可能出现的攻击模式,查找与其相当的缓和方案。
CN200810154289.7A 2008-12-19 2008-12-19 基于攻击模式的用例图检测方法 Active CN101499115B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810154289.7A CN101499115B (zh) 2008-12-19 2008-12-19 基于攻击模式的用例图检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810154289.7A CN101499115B (zh) 2008-12-19 2008-12-19 基于攻击模式的用例图检测方法

Publications (2)

Publication Number Publication Date
CN101499115A CN101499115A (zh) 2009-08-05
CN101499115B true CN101499115B (zh) 2010-11-03

Family

ID=40946186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810154289.7A Active CN101499115B (zh) 2008-12-19 2008-12-19 基于攻击模式的用例图检测方法

Country Status (1)

Country Link
CN (1) CN101499115B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833453B (zh) * 2010-05-13 2012-12-05 天津大学 基于安全知识库的顺序图缺陷检测方法
CN111309368B (zh) * 2020-03-12 2023-05-16 超越科技股份有限公司 一种基于b/s框架开发信息管理方法,系统,设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173404B1 (en) * 1998-02-24 2001-01-09 Microsoft Corporation Software object security mechanism
CN1866206A (zh) * 2005-03-30 2006-11-22 西门子共同研究公司 利用马尔可夫链根据uml规范生成性能测试
CN1928816A (zh) * 2006-09-26 2007-03-14 武汉大学 嵌入式系统软件的模型驱动与构件化开发方法
US20070239766A1 (en) * 2006-03-31 2007-10-11 Microsoft Corporation Dynamic software performance models

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173404B1 (en) * 1998-02-24 2001-01-09 Microsoft Corporation Software object security mechanism
CN1866206A (zh) * 2005-03-30 2006-11-22 西门子共同研究公司 利用马尔可夫链根据uml规范生成性能测试
US20070239766A1 (en) * 2006-03-31 2007-10-11 Microsoft Corporation Dynamic software performance models
CN1928816A (zh) * 2006-09-26 2007-03-14 武汉大学 嵌入式系统软件的模型驱动与构件化开发方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘亚军等.采用动态描述逻辑实现UML状态图特性检测.计算机科学 10.2007,(10),全文. *

Also Published As

Publication number Publication date
CN101499115A (zh) 2009-08-05

Similar Documents

Publication Publication Date Title
Tian et al. Evaluating representation learning of code changes for predicting patch correctness in program repair
Pnueli et al. Automatic deductive verification with invisible invariants
Alhindawi et al. Improving feature location by enhancing source code with stereotypes
Ghafarian A hybrid method for detection and prevention of SQL injection attacks
Pan et al. {FlowCog}: Context-aware semantics extraction and analysis of information flow leaks in android apps
Hooi et al. A survey on ontology mapping techniques
US20130159346A1 (en) Combinatorial document matching
Mariani et al. Semantic matching of gui events for test reuse: are we there yet?
CN113609261A (zh) 基于网络信息安全的知识图谱的漏洞信息挖掘方法和装置
Lin et al. Machine learning in vulnerability databases
Zou et al. Automatically identifying security bug reports via multitype features analysis
Liu et al. Learning-based extraction of first-order logic representations of API directives
CN101499115B (zh) 基于攻击模式的用例图检测方法
Peng et al. Iterative context-aware feature location (NIER track)
Storhaug et al. Efficient avoidance of vulnerabilities in auto-completed smart contract code using vulnerability-constrained decoding
Kimelfeld Database principles in information extraction
Binkley et al. The impact of vocabulary normalization
Jackson et al. Locating SQL injection vulnerabilities in Java byte code using natural language techniques
Madhani et al. Aksharantar: Open Indic-language transliteration datasets and models for the next billion users
Gadgikar Preventing SQL injection attacks using negative tainting approach
Fantechi et al. Applying the QuARS tool to detect variability
CN103973708B (zh) 一种外泄事件的确定方法和系统
Hayes et al. Software verification and validation research laboratory (svvrl) of the university of kentucky: traceability challenge 2011: language translation
Xu et al. Knowledge Conflicts for LLMs: A Survey
Wu et al. Mining effective temporal specifications from heterogeneous API data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201201

Address after: No.150 Pingdong Avenue, Pingchao Town, Tongzhou District, Nantong City, Jiangsu Province

Patentee after: Jiangsu Yongda power telecommunication installation engineering Co., Ltd

Address before: 300072 Tianjin City, Nankai District Wei Jin Road No. 92, Tianjin University

Patentee before: Tianjin University

TR01 Transfer of patent right