没有合适的资源?快使用搜索试试~ 我知道了~
沙特国王大学学报面向安全威胁的需求工程方法Md Tarique Jamal Ansaria,Dhirendra Pandeya,Mamdouh Aleneziba印度工商管理学士大学信息技术系b沙特阿拉伯苏丹王子大学计算机信息科学学院阿提奇莱因福奥文章历史记录:2018年6月29日收到2018年10月16日修订2018年12月15日接受在线提供2018年保留字:安全需求工程威胁建模软件安全安全攻击分析A B S T R A C T随着我们通过采用电子渠道和软件应用程序来进行业务、在线交易和通信,不断依赖信息技术应用程序,软件安全日益成为一个必要和更高级的问题。功能需求和非功能需求都很重要,在软件开发过程的早期阶段,特别是在需求阶段提供了必要的需求。本研究的目的是在软件开发过程中早期识别安全威胁,以帮助需求工程师在整个需求工程过程中以更系统的方式引出适当的安全需求,以确保安全和高质量的软件开发。本文提出了基于安全威胁分析的安全需求获取的STORE方法,该方法包括识别PoA、PoB、PoD和PoD四个点,以进行有效的安全攻击分析。此外,建议的存储方法也验证了一个ERP系统的案例研究。我们还比较了我们的STORE方法与现有的两种技术,即SQUARE和MOSRE。我们已经表明,更有效和更高效的安全需求,可以引出的存储方法,它可以帮助安全需求工程师引出安全需求,在一个更有组织的方式。©2018作者(S)。由爱思唯尔公司出版代表沙特国王大学这是一个开放的访问CC BY-NC-ND许可证下的文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。1. 介绍近年来,一些组织越来越依赖于信息处理系统来快速获得更多的利益。这种依赖性产生了保护软件系统免受威胁的需要。因此,软件安全已 成 为 一 个 重 要 问 题 ( Zulkernine 和 Ahamed , 2006; Ansari 和Pandey,2018)。软件安全漏洞和缺陷是构建不良的软件的结果,可以导致黑客轻松利用。不适当的安全需求工程是开发质量差的软件产品的原因之一。这个问题可以通过从软件开发过程的早期阶段考虑安全问题来减少。*通讯作者。电子邮件地址:tjtjansari@gmail.com(M.T.J. Ansari),malenezi@psu.edu.sa(M.Alenezi)。沙特国王大学负责同行审查制作和主办:Elsevier开发过程需要通过添加安全方法并正确地实现它们,通过遵守安全原则和避免缺陷来塑造它们的安全属性。安全要求指导这种设计,实施和验证工作(Türpe,2017)。Gartner公司预计2018年全球企业安全支出总额将达到963亿美元,比2017年增长8%。该报告显示,数字行业正在花费大量资金来维持法规的安全后果,改变和吸引客户的心态,对新兴威胁的认识以及推进数字行业规划(Gartner,2018)。白宫网络安全协调员(Rob Joyce,2017年)概述了接收和维护必要的网络能力以保护国家,这在政府需要保持资源以通过使用数字漏洞来跟踪数字世界中的攻击者之间产生了紧张关系Amoroso(2018)认为,网络安全社区一直在积极寻找改进软件的方法,因为大多数漏洞都涉及通过编写糟糕的代码引入的可利用的安全需求https://doi.org/10.1016/j.jksuci.2018.12.0051319-1578/©2018作者。由爱思唯尔公司出版代表沙特国王大学这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表沙特国王大学学报杂志首页:www.sciencedirect.com192M.T. J Ansari等人/Journal of King Saud University工程是软件开发过程中的一个重要阶段,它从一开始就确保软件开发的安全。在过去的几年里,安全性已经成为开发和部署安全软件产品的关键问题。这个关键问题已经被一些安全专业人员和研究人员考虑过,他们发表了关于将安全考虑因素集成到软件开发过程中的研究论文然而,只有少量的论文说明了复杂的案例研究(Massacci等人, 2005年)。为了解决软件和基于Web的应用程序的安全问题,近年来越来越多的文献出版物,研讨会跟踪和研讨会呼吁关注的研究人员和作者在设计和开发安全需求工程框架,技术,过程和方法的越来越多的关注安全需求工程涉及到软件系统的非功能需求,是保证软件产品质量的一项重要任务。因此,提高需求的质量非常重要。但这是一个难以实现的目标。为了理解原因,首先应该定义需求工程真正是关于什么的(Van Lamsweerde,2000)。基于计算机的系统的安全需求主要涉及机密性,完整性和可用性特征(Herrmann和Herrmann,2006)。安全 性 被 认 为 是 可 信 性 、 完 整 性 和 可 用 性 之 间 的 平 衡 ( Olivier ,2002)。安全需求是一种非功能性需求(Devanbu和Stubblebine,2000年)。根据(Firemith,2004a,b),安全需求通过增加与系统相关的条件的必要数量的安全性和低水平的相关质量度量来提高软件产品的质量,这对于召集一个或多个安全策略是必不可少的。工程软件安全是一种系统化的方法,分析识别软件产品的安全问题。这是在软件开发过程的早期阶段为实现安全软件产品而考虑的非常重要的过程。安全需求是必要的,当利益相关者发现软件系统上下文中的某些对象是宝贵的,它们可能是有形的或无形的,它们具有利益相关者希望保护的某些价值时,就会发生安全需求(Haley等人, 2006年)。一些研究人员已经提出了安全要求engi-在软件开发周期的早期阶段,用于引出安全需求的技术、工具、框架、方法和规范工程安全要求进入开发过程的早期阶段是有利可图的,安全的,也提供了优质的软件产品。安全需求工程应该是系统的、可重复的,并且能够引出完整的、可靠的、清晰的、简单的和易于软件开发过程的其他成员分析的(Kotonya和Sommerville,1998)。安全需求的开发通常独立于其他需求工程活动。一般来说,安全需求工程与其他功能需求工程活动分开进行。因此,许多重要的安全需求被反复忽略,需求工程师只关注功能需求,而忽略了重要的安全方面(Mead,2008)。 几个安全需求工程框架(Yu,1997; Moffett和Nuseibeh,2003; Viega,2005; Lee等人,2006;Tsoumas和Gritzalis,2006; Hussein和Zulkernine,2007; Haley等人,2008;Salini和Kanmani,2013; Riaz等人,2016年; Ansari和 Pandey , 2017 年 ; Mülman 和 Gruhn , 2018 年 ) , 技 术(Jürjens,2002年; Popp等人,2003; Peeters,2005; Firemith,2005; Sindre 和 Opdahl , 2005; Basin 等 人 , 2006; Paja 等 人 ,2015)、过程(Toval等人,2002; Lee等人,2003; Zuccato,2004;Myagmar 等人,2005;Mellado 等人,2007; Van Lamsweerde ,2007; Shin 和 Gomaa , 2007; Hassan 等人, 2010; Mufti 等人,2018)和方法(Bresciani等人,2004; Jennex,2005; Mead和Stehney,2005;El-Hadary和El-Kassas,2014)由不同的作者提出。通常情况下,需求工程师在功能需求方面很熟练,但在软件安全方面却不熟练。只有极少数的需求工程师只知道基本的安全体系结构知识,如密码安全、加密和解密。他们对真正的安全需求工程没有深入的了解。要开发的软件系统可能有几个利益相关者。只有部分利益相关者参与了软件产品的开发,但所有的利益相关者都与软件系统相关联。一些利益相关者能够在资产的识别过程中提供帮助。他们从自己的角度提出系统的资产。这些资产可能存在漏洞。威胁利用这些漏洞来访问系统。与每个已确定的威胁相关的风险并不相同。攻击者总是以高风险为目标的漏洞。需求工程师对识别出的威胁进行分类和优先级排序。在此之后,通过使用满足系统安全需求的安全机制来减轻威胁。有效和高效的安全需求的启发是一个重要的和具有挑战性的任务。这是一项重要的任务,因为在软件开发阶段必须克服许多与安全问题有关的安全需求工程是具有挑战性的,因为有这样一个面向安全的方法必须满足的要求。通常,在软件开发生命周期的早期阶段,开发人员不会考虑软件安全性(Ansari和Pandey,2017)。大多数安全需求工程方法通常不包括所有重要的利益相关者,也不使用组织良好的技术来识别利益相关者和确定优先级(Festival,2015)。通常情况下,安全需求规范是不完整的,混乱的,相互冲突的,不连贯的,混乱的,不可行的,过时的,无法验证的,并且不能被预期的人使用(Mead,2008)。几位作者提出了分析安全需求工程的方法。所有有效和高效的安全需求都应该以系统的方式组织好,否则无法评估软件系统的完成情况。因此,有必要制定一个框架,这是能够引起更有效和更高效的安全要求,考虑到所有的问题,被忽视的以前的方法。本文的主要目的是设计和开发一种面向安全威胁的安全需求工程方法,该方法能够产生有效、高效、完整、清晰、一致、有组织、可行、及时和易于验证的安全需求。这种方法特别适用于从开发过程开始就需要安全性的任何类型的软件产品。本文提出了一种面向安全威胁的需求工程(STORE)方法,它是一个十步系统过程。在这里,我们描述了每一个步骤,以及参与每一个步骤的参与者。 我们提出的方法的主要目标是获得尽可能多的有效和高效的安全需求,为安全和高质量的软件产品开发。本文件的结构如下。第2第3第四部分第5第六节M.T. J Ansari等人/Journal of King Saud University1932. 相关工作为了开发一个安全的软件产品,已经开发了几种需求工程方法。每种方法都代表了独特的功能,使其在语法和语义上与另一种方法不同。(Toval等人,2002)提出了一种从需求工程过程管理信息系统安全的实用方法。这种方法是一个特殊的通用过程的需求重用称为SIREN,它缩 短 了 开 发 过 程 , 因 为 分 析 师 从 一 个 可 重 用 的 需 求 集 开 始 。(Jürjens,2002年; Popp等人,2003年)提出了UML的UMLsec扩展,以在系统规范中的UML图中添加与安全相关的信息。该安全需求模型具有多级安全性和强制访问控制。(Basin等人,2003)提出了模型驱动的安全方法。为此,他们将模型驱动的架构范式专门用于模型驱动的安全性。在此之后,他们设计了一个通过过程模型开发软件系统的应用 程序,其 中他们集 成了过程 设计语 言UML 和安 全建模语 言SecureUML,用于分配访问控制需求。UML和SecureUML集成中的过程模型用于重复生成分布式软件应用程序的安全架构。基于系统理论考虑的方法(Zuccato,2004)被提出用于引出安全需求。这种方法表明,可以借助对业务环境的分析、与所有潜在利 益 攸 关 方 的 会 晤 和 风 险 调 查 来 描 述 安 全 要 求 Tropos 方 法(Bresciani等人,2004),使软件开发过程中的分析和设计任务更加容易。Tropos方法基于i* 框架的排名和修订Tropos方法基于使用需求建模思想的概念,即在其操作环境中建立系统的模型,该模型是逐渐复杂和广泛的,以提供各种软件开发任务的公共接口,并作为软件产品的文档和开发的基础。Tropos方法的开发阶段主要包括初始需求、后期需求、体系结构设计、完整设计和实现。 几位作者(Giorgini等人,2006; Mouratidis和Giorgini,2007; Ali等人,2009; Dalpiaz例 如 , 2009 年 , 他 提 出 了 Tropos 的 扩 展 。(Giorgini等人, 2006)是最重要的扩展之一,它提供了一个用于分析和建模安全和信任需求的正式框架。此外(Jennex,2005年)提出了一种方法,在元符号中插入安全信息以访问系统开发图。这种方法考虑了将安全设计集成到软件开发生命周期中的技术。另一位作者(Firemith,2003;Firemith,2004 a,b;Firemith,2005)提出了一种技术,其中包括从可重用模板定义安全需求的一些步骤。他根据从OCTAVE获得的两个基本概念(运营关键威胁、资产和漏洞评估)进行了安全分析。他提出了安全用例作为一种方法,应用于识别应用程序将有效实现的安全需求,以保护自己免受软件开发过程中的重大安全威胁。SQUARE(Meadand Stehney,2005)是一种由九个步骤组成的系统安全需求工程方法。这种方法提供了一种技术,用于为IT应用程序和软件产品引出、分类和确定安全需求的优先级。SQUARE方法论主要用于构建安全概念,软件开发生命周期的早期阶段。SQUARE方法也可用于记录和评估软件系统的安全需求。另一位作者Peeters(2005)扩展了敏捷实践,以非正式、开放和确定保证的方式解决安全问题。为了提高需求工程的敏捷性,他提出了使用“滥用者故事”的概念。这些存储器识别攻击者如何滥用系统并威胁利益相关者的资产。因此,滥用者的故事使安全需求的建立变得更容易。Sindre和Opdahl(2005)扩展了传统的用例方法,也考虑了误用情况,这意味着要开发的系统中不需要的功能。Viega(2005)提出了CLASP的一个子集,它是一组帮助开发组织提高软件安全性的过程片段CLASP处理安全需求的方式背后的基本思想是执行资源的结构化走查,确定它们如何在资源的整个生命周期内Myagmar等人(2005)提出的另一种基于威胁建模的安全需求获取方法研究了如何将威胁建模作为安全需求规范的基础,并给出了三个威胁建模的案例研究。Tsoumas和Gritzalis(2006)指定了任意信息系统的安全框架。这是一个基于安全本体的框架,它扩展了DMTF公共信息模型(CIM)与本体语义的意图实践作为一个容器的信息系统安全相关的信息。该框架以有效的方式提供安全实现和知识管理。Gürses(2006)介绍了MSRA(多边安全需求分析)方法,该方法将最终用户的安全需求获取过程集成到多边安全系统的需求获取过程中。这种方法的目的是从涉众的多个角度识别和分析安全需求。Basin等人(2006)提出了一种模型驱动的方法来构建安全的软件系统,并在基于UML的CASE工具中实现了这种方法。Hussein和Zulkernine(2007)提出了一个框架,用于开发具有入侵检测功能的组件。在这个框架中,第一步是对需求进行细化,开发人员在其中检测服务和入侵。具体而言,它们捕获与组件提供的服务和功能有关的用户需求,并识别入侵者对组件的不必要或非法使用。入侵场景是通过使用UML概要文件(称为UMLintr)的其他方法误用案例来引出的。Van Lamsweerde(2007年)将混沌系统扩展到包括安全要求的修饰。他提出的方法是基于模型的,在一定程度上依赖于关于在特定于可再生能源的任务需要时使用正式方法,特别是目标细化和操作化、危险和威胁分析、冲突管理和行为模型的合成。Mellado等人(2007)提出了一个基于标准的过程,称为SREP(安全需求工程过程),以系统和直观的方式处理软件开发早期阶段的安全需求。Haley等人(2008)提出了一个安全需求获取和分析框架。该框架基于为软件系统创建背景,将安全需求作为约束进行演示,并详细说明安全需求的满意度参数。Hassan等人(2010)提出了一种形式化的工程安全分析和设计(FADES),作为第一个面向目标的软件安全工程方法。194M.T. J Ansari等人/Journal of King Saud University该方法在面向目标的半形式化知识获取自动规范(KAOS)框架和B形式化方法之间架起了一座自动化的桥梁。Salini和Kanmani(2013)提出了一个面向模型的安全需求工程(MOSRE)框架,该框架使用用例图来引出安全需求。MOSRE已应用于电子保健网络应用程序。为了确定安全要求,它有能力识别、量化和排名安全威胁和漏洞的风险。El-Hadary和El-Kassas(2014)提出了一种基于问题框架和滥用框架的安全需求启发方法。他们使用prob- lem帧来构建安全目录并表示安全需求,而滥用帧用于威胁建模。Paja等人(2015)提出了STS方法,用于对安全需求进行建模和推理。在这种方法中,安全需求的确定由STS-ml需求建模语言。STS-ml的需求模型有一个正式的语义,它允许自动推理,用于检测安全需求之间可能的冲突,以及安全需求和参与者的业务策略之间的冲突。Riaz等人(2016)开发了发现安全目标(DIGS)框架,该框架对信息安全中的关键实体进行建模,包括资产和安全目标。Ansari和Pandey(2017)提出了一个框架,通过集成三种有效的安全需求获取技术,即威胁建模、误用案例和攻击模式来获取安全需求。最近,作者讨论并提出了新的方法,安 全 需 求 工 程 。 Mufti 等 人 ( 2018 ) 开 发 了 需 求 工 程 就 绪 模 型(SRERM),允许组织测量其安全需求工程(SRE)就绪水平。他们进行了两个案例研究,以衡量SRERM的可用性。Rehman和Gruhn(2018)提出了CPSs的安全需求框架,克服了异构CPS组件的安全需求启发问题。已经发表了几篇研究论文,从方法论、技术、过程和框架等方面描述了安全需求工程大多数安全要求工程方法考虑完整的中情局黑社会。其中一些还涉及安全要求以外的其他要求。虽然在安全需求工程中考虑利益相关者的观点是一个重要的关注点,但只有一些SRE方法,如MSRA,KAOS,Secure Tropos,SQUARE,STS,DIGS和SRERM解决了这个问题。这并不意味着不可能使用其他方法来考虑不同利益相关者的观点。然而,大多数安全要求在其各种活动中没有涉及这一问题。MSRA(Gürsesand Santen,2006)是唯一一种安全需求工程方法,它提出了在不同利益相关者接受的不同安全问题所有利益相关者都在这一过程中参与进来(Fabian等人, 2010年)。MSRA中的反利益相关者概念不能被视为威胁因素,因为它并不意味着反利益相关者将威胁系统。SecureUML只关注访问控制因此,一般威胁分析不在此方法的范围内。所提出的STORE方法提供了考虑软件系统的所有利益相关者的安全利益的步骤,并且还涉及威胁代理识别和风险分析,以实现简单、有效和高效的安全需求工程。3. 该方法以下部分详细描述了建议的STORE方法及其几个步骤。3.1. 面向安全威胁的需求工程(STORE)方法本文的主要贡献是建议的存储方法,这是我们的新工作。STORE方法是一个十步顺序过程,它提供了一种有效、高效和系统化的方法,从软件开发的早期阶段引出和记录软件以及基于Web的应用程序的安全要求。STORE方法提供了考虑软件系统所有利益相关者的安全利益的步骤,还涉及威胁代理识别和风险分析,以实现简单、有效和高效的安全需求工程。在这种方法中,安全需求通常在威胁的背景下讨论。威胁有助于安全需求工程师计算与之相关的风险,也代表了对手的能力。利益相关者在STORE方法中扮演着重要的角色。下面的图1显示了所提出的STORE方法的安全需求工程概念模型,其中SH代表利益相关者,A代表相应的资产。一个待开发的软件系统可以有多个利益相关者,只有少数利益相关者与软件产品的安全性相关。这些利益相关者对软件系统的安全性有关注,他们知道要保护的系统的相关资产免受威胁。下面的图2显示了STORE方法的活动图。在STORE方法中,我们根据利益相关者的重要性来识别和优先考虑他们.从软件开发的开始就考虑每一个重要的涉众是很重要的。拟议的方法考虑到安全威胁,安全要求与的帮助潜在Fig. 1. 安全需求工程概念模型的存储方法。M.T. J Ansari等人/Journal of King Saud University195图二. STORE方法的活动图。持份者这些涉众帮助需求工程师识别软件产品的资产。STORE方法从确定系统目标开始。STORE方法的每一步都同样重要。需求工程师不能跳过或跳到任何其他步骤,因为这是一个系统的方法来引出和记录安全需求。STORE方法完全基于威胁,因为在识别-潜在威胁需求工程师能够在威胁字典的帮助下引出安全需求3.2. 面向安全威胁的需求工程(STORE)方法步骤STORE方法论是一个十步安全需求工程方法论。本节旨在阐明每一步的目的、参与者的期望、每一步可能的吸收和取出以及每一步的适当方法。以下部分列出了STORE方法的所有步骤,并描述了每个步骤的功能(表1)。步骤1.确定系统目标步骤2.确定利益相关者并确定其优先顺序步骤3.商定目标步骤4.第5步.安全攻击分析A. 攻击点(PoA)B. 信念点(PoB)C. 猜想(猜想)D. 出发点(PoD)步骤6.威胁识别和分类步骤7.风险评估和优先顺序步骤8.安全需求获取步骤9.安全需求确认步骤10.安全要求规范文件3.2.1. 步骤1. 确定系统目标确定系统目标是所提出的STORE方法的第一步。目标是书面或口头的陈述,说明了软件产品中的期望结果,开发团队旨在通过几个活动来实现它。软件系统的目标必须由需求工程师从需要软件产品的客户中识别出来根据(Yue,1987; Van Lamsweerde,2001),目标是需求工程过程中需要识别的实现完整的需求是任何需求工程师的主要关注点目标为满意地完成需求规格说明提供了一个精确的条件需求规格说明的结果相对于一组目标是完整的表1建议的STORE方法中的步骤。步no.步骤吸收方法参与者取出1.确定系统目标拟议系统的目标、政策和程序面试,头脑风暴客户需求工程师系统目标2.确定并优先满足系统目标审查、分析需求工程师利益方3.利益方商定目标系统目标会议需求工程师,商定目标4.资产识别利益相关者访谈,问卷,利益方需求工程师,宝贵财富5.安全攻击分析宝贵财富头脑风暴安全攻击分析利益方需求工程师,PoA、PoB、PoD、PoD6.威胁识别和PoA、PoB、PoD、PoDSTRIDE分析安全专家需求工程师分类优先7.分类风险评价和分类的优先级威胁DREAD风险评估需求工程师,威胁风险评估报告8.优先化安全要求潜在威胁方法威胁字典风险经理需求工程师安全要求9.启发安全要求安全要求回顾、演练需求工程师,有效的安全要求10.验证安全要求有效的安全要求文件安全专家需求工程师安全要求规范文档规范文档196M.T. J Ansari等人/Journal of King Saud University如果所有的目标都可以从所考虑的域的规范和已知的属性中证明是可以实现的。为了更好地确定目标,对现有系统进行初步分析是一个至关重要的起点。需求工程师可以使用几种技术来确定系统目标,如面试,头脑风暴等。STORE方法的第一步输出是产生一个系统目标列表。3.2.2. 步骤2.确定利益相关者并确定其优先顺序STORE方法的第二步是识别和优先考虑与软件系统开发相关的利益相关者。在战略管理领域,通过讨论利益相关者模型中的组织,考虑了利益相关者的重要性。(Sharp等人,1999)描述了识别和优先考虑利益相关者是一个重要的过程,这可以用来评估一个组织的绩效和控制其未来的战略方向。有几种类型的涉众与任何软件开发过程相关.利益相关者可以在不同的细节级别上表达安全问题(Fabian等人,根据(Glinz和Wieringa,2007)“利益相关者是影响系统需求或受系统影响的人或组织。涉众可以是客户、最终用户、开发人员、需求工程师、项目经理和其他与软件开发相关的人员。并非所有的利益相关者都同等重要,因此我们必须优先考虑已确定的利益相关者。所识别的利益相关者可以被优先化为关键的、主要的和次要的。每个涉众都有不同的安全约束来执行相同的服务。每个涉众都有自己的安全需求,这些需求可能与其他涉众的需求发生冲突。(Almorsy等人,2011年)。软件开发中的所有涉众并不具有同等的重要性,因此(Glinz和Wieringa,2007)根据其重要性对已识别的涉众角色进行优先级排序。关键:如果忽视利益相关者可能会破坏项目或使系统无用,那么利益相关者的角色就是关键的。主要:如果忽视利益相关者会产生主要的不积极影响,那么利益相关者次要:如果忽略利益相关者会对系统产生次要影响,那么利益相关者3.2.3. 步骤3.商定目标一旦系统目标和利益相关者基于他们的兴趣被识别,STORE方法的下一步是在需求工程师和不同的利益相关者之间建立对系统目标的正确理解。必须将这种理解明确地传达给利益相关者,以获得定义和一致意见。需求工程师和涉众都必须就所要开发的软件产品的已识别目标达成一致。这将创造一个完美的环境开发一个软件产品,使每个利益相关者都能清晰地相互沟通。定义和与明确的目标和目的的协议必须记录在案。3.2.4. 步骤4. 资产识别识别有价值的资产是STORE方法中最重要和最复杂的步骤之一。这一步的结果应该是完整和正确的,否则这种方法将不会产生有效和高效的安全要求。识别所有有价值的资产是至关重要的,以便能够引出完整的安全要求。资产可以是数字现金、数据、密码、信息、商品、人员、计算机等。资产应在参与软件开发过程的所有潜在利益相关者的帮助下进行识别。需求工程师可以使用不同的技术,如问题-naires,头脑风暴,访谈,分析,讨论资产识别。安全需求工程的目标是保护这些有价值的资产免受攻击者的攻击,因此资产不仅应该从利益相关者的角度来看,而且应该从攻击者的角度来看。每个利益相关者从以下方面识别资产:他的观点。之后,必须对已确定的资产进行分类和优先排序。此外,所识别的资产被分类为机密性、完整性和可用性,并按优先级分为低、中、高级别。3.2.5. 步骤5.安全攻击分析一旦所有有价值的资产都被识别并确定了优先级,STORE方法的下一步就是分析所有的安全攻击源。分析正在开发的软件系统上的潜在安全攻击是设计安全软件系统的重要步骤,因为所识别的安全攻击将引出必要的安全要求。下面的图3显示了安全攻击分析的四个要点,它们对于安全需求的获取是必不可少的。3.2.5.1. A.攻击点(PoA)。任何软件或基于Web的应用程序的攻击点是对手可以进入系统的点。攻击者总是试图识别PoA来攻击系统。攻击点就像一个漏洞,对手试图通过它与系统进行交互。一个软件有许多攻击点,如登录页面,注册页面,数据输入页面等,Advertisement试图识别这些点,这样他就可以潜在地损害系统的机密性,完整性和可用性。3.2.5.2. B.信念点(PoB)信念点表示对软件系统外部实体的信念。软件系统提供对外部实体的访问权限。这些实体被称为信仰点。几个实体可以是软件产品的信任点,例如访问基于Web的应用程序、具有有效证书的授权用户、软件产品管理员、数据库服务器管理员等。安全需求工程师在分析安全攻击时必须识别所有的信任点。3.2.5.3. C.猜想点(Point of Conjecture)。猜想部分对软件产品开发后点图三. 四点安全攻击分析。●●●M.T. J Ansari等人/Journal of King Saud University197猜想应该在实现阶段开始之前就被识别出来,这些点在引出安全需求方面非常重要在软件产品开发完成后,对猜想点进行验证.3.2.5.4. D.依赖点(PoD)。依赖点显示了软件对外部实体的依赖性对于软件系统,依赖点可能是潜在损害的原因PoD应该是有效的和授权的,因为不一致性可能会导致安全攻击。一个软件产品可以有几个依赖点,如基于Web的应用程序所依赖的Web服务器、数据库服务器、网络连接等。3.2.6. 步骤6.威胁识别和分类在前一步安全攻击分析中识别出PoA、PoB、PoD、PoD四个点后,就可以很容易地识别出威胁。这一步确定了所有潜在的威胁软件系统,这是要开发的。这种威胁被认为是对软件开发的可能攻击的来源,并且兼容性是软件设计中的弱点。存在可能损害软件应用程序的许多潜在威胁。虽然识别软件开发的所有潜在威胁是不切实际的,但应该考虑所有可能的威胁。 有许多识别威胁的方法,例如审查攻击历史,审查涉及数据泄露的当前头条新闻,审查互联网网站,威胁建模。威胁建模是识别威胁和脆弱性的有效且最佳的方法(Ashbaugh,2008)。威胁建模是一种用于查看潜在攻击的技术,通过将软件分解为最基本的组件,可以应用于给定的软件开发。我们已经构建了一个威胁字典,其中包含了以前确定的威胁与相应的最适当的安全要求的集合。其主要目的是帮助安全需求工程师通过访问威胁字典知识来获取安全需求。STORE方法的这一步骤还通过Microsoft的STRIDE模型对每个威胁进行分类。STRIDE(Swiderski和Snyder,2004年)是一种基于欺骗、篡改、否认等威胁类别的潜在威胁分类方法,表2微软缩写完整形式描述S欺骗欺骗威胁允许未经授权的用户成为授权用户。在这类威胁中,攻击者通过黑客技术(如肩击、恶意登录等)T篡改篡改威胁允许攻击者修改软件系统内的数据,以达到故意的恶意目的这种类型的威胁允许攻击者声称他们信息泄露、拒绝服务和特权提升(表2)。3.2.7. 步骤7. 风险评估和优先次序STORE方法的下一步是风险评估,以识别潜在威胁。此步骤评估威胁对软件应用程序的影响。在软件开发过程中,有许多风险评估方法来评估威胁。缓解所有已识别的威胁可能并非必要且经济上可行。已识别的威胁按其潜在风险从最高到最低排列。最低等级的威胁可能会被忽略,因为它们对软件系统造成损害的可能性很低。下面给出的工业中使用的典型风险概率公式表明,特定漏洞的风险和后果等于威胁发生的概率乘以潜在损害。风险/概率x潜在损害该公式以10级衡量概率和潜在损害,其中1表示最不可能发生,10表示最可能发生。根据这个公式,如果威胁发生的概率是5,威胁的潜在风险评估可以通过微软的DREAD风险评估模型进行DREAD_Risk_Value =(损害+再现性+可利用性+受影响用户+可发现性)/5另一种风险评估方法是OCTAVE(Operationally Critical Threat,Asset,and Vulnerability Evaluation),它是由CMU的SEI开发的一种非常复杂的风险评估方法。通用漏洞评分系统(CVSS)也可用于根据漏洞对风险进行评级。通用漏洞评分系统提供了一个开放式框架,用于传达IT漏洞的特征和影响(Mell等人,2007年)。STORE方法的风险评估和优先级确定步骤计算威胁对资产的影响,并通过对资产风险程度的全面评估对威胁进行优先级确定。3.2.8. 步骤8. 安全需求获取STORE方法的下一步是从STORE方法的先前输出中得出有效和高效的安全需求。STORE方法首先考虑具有较高风险的威胁,然后是平均风险的潜在威胁,最后是低潜在威胁。我们已经提出了一个威胁字典,其中包含一个集合,以前确定的威胁与相应的最适当的安全要求。主要目的是帮助安全需求工程师通过访问威胁字典知识来引出安全需求。STORE方法的这一步骤为每个已识别的威胁提出了适当的安全要求。3.2.9. 步骤9. 安全需求确认在STORE方法的前一步中成功地提取安全需求之后,我们得到了用于缓解每个潜在威胁的高效且有效的安全需求。威胁缓解是用于缓解特定安全威胁的安全功能或保证技术。绝对安全一、信息披露D拒绝服务E特权提升在这种类型的威胁中,攻击者将受保护的数据(如登录凭据、信用卡/借记卡号码等)泄露给未经授权的用户。当攻击者可以阻止合法用户使用软件系统的一般功能时,就会发生这种类型的威胁。当攻击者能够获得他们没有资格获得的额外权利和特权时,就会发生这种类型的威胁威胁是攻击者可以利用的漏洞危害系统。并非所有威胁都对软件系统有潜在危害。因此,没有必要减轻每一种威胁。3.2.10. 步骤10. 安全要求规格文件STORE方法的最后一步是创建SRS文档。制定了安全要求规范,198M.T. J Ansari等人/Journal of King Saud University与利益相关者一起验证。此安全需求规范报告将由需求工程师提交表3确定了高校ERP系统的系统目标。为软件开发团队提供早期安全集成在软件开发中。(Finkelstein和Fuks,1989年)目标ID描述通过采用具有不同观点的几个利益相关者的观点来构建规范文档,可以通过记录陈述、询问、拒绝、质疑等形式的响应的分类对话来收集4. 为例4.1. 企业资源规划系统拟议的STORE方法适用于企业资源规划网络应用软件。该系统能够对学生档案、院系、图书馆等信息进行管理.高校ERP系统中包含了学生、教职工、图书馆、院系等所有需要保密的信息。在该软件产品开发之前,将所提出的方法应用于该高校ERP系统,使需求工程师可以很容易地得出该软件产品所需的所有安全需求。在开发软件产品之前获取整个安全需求并不是一件容易的事情,但是所提出的方法使得这对需求工程师来说很容易。一些文献研究表明ERP实施中的几个重要成功因素( Nah 和 Lau , 2001; Hong 和 Kim , 2002; Umble 等 人 , 2003;Al-Mashari 等 人 , 2003 年 ;Al-Mashari 和 Al-Mudimigh , 2003 年 ;Okunoye等人,2008年)。为了成功实施ERP系统,必须创建需求,系统要求应该以适当的方式记录(Scheer和Habermann 2000)。根据Nah和Lau(2001)的观点,ERP系统能够自动化和集成组织如果一个组织能够克服实施方面的障碍,ERP系统对该组织是非常ERP系统不能停留在组织边界内。从技术上讲,ERP开发人员更愿意考虑浏览器/Web服务器架构,而不是传统的客户端/服务器架构,以便提供电子商务功能。因此,对于他们的第一代电子商务解决方案,几乎所有的大型ERP供应商都在使用Java/XML混合策略(Scheer和Habermann,2000)。4.2. 案例研究一个ERP系统的案例研究显示了STORE方法对安全需求工程的支持。在软件工程领域,执行案例研究以验证新方法是一项非常常见和复杂的任务。为了有效和高效的安全需求工程,在下面的部分中遵循了STORE方法的所有顺序步骤。4.2.1. 步骤1. 确定系统目标确定系统目标是所提出的STORE方法的第一步。在这一步中,需求工程师收集所有系统目标是要开发的软件系统。需求工程师可以使用几种技术来识别和收集系统目标,如访谈,头脑风暴等。对于col-colERP系统,以下可以是系统目标(见表3)。G1学院ERP系统将安装在一个Web服务器上,该服务器已被保护以保护机密信息。必须启用Web服务器的所有安全G2学院ERP系统也将安装在一个数据库服务器上,该服务器已经得到保护。必须启用G3必须通过防火墙G4 Web服务器应通过防火墙G5仅HTTP和HTTPS端口允许从Internet直接访问G6Web服务器和数据库服务器之间的通信应通过专用网络G7高校ERP系统应通过HTTPS部署4.2.2. 步骤2.确定利益相关者并确定其优先顺序STORE方法的这一步骤,确定并优先考虑在ERP系统开发的不同层次所涉及的内部和外部利益相关者(表4)。4.2.3. 步骤3.商定目标在确定了与ERP系统项目相关的所有利益相关者之后,STORE方法的下一步是使所有利益相关者对拟议的系统目标达成一致需求工程师和涉众必须就软件产品的开发目标达成一致这将为软件产品的开发创造一个完美的环境,在这个环境中,每个利益相关者都
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功