应用安全评估方法.doc
《应用安全评估方法.doc》由会员分享,可在线阅读,更多相关《应用安全评估方法.doc(17页珍藏版)》请在咨信网上搜索。
1、1.1.1 应用安全评估应用评估概述针对企业关键应用的安全性进行的评估,分析XXX应用程序体系结构、设计思想和功能模块,从中发现可能的安全隐患。全面的了解应用系统在网络上的“表现”,将有助于对应用系统的维护与支持工作。了解XXX应用系统的现状,发现存在的弱点和风险,作为后期改造的需求。本期项目针对XXX具有代表性的不超过10个关键应用进行安全评估。在进行应用评估的时候,引入了威胁建模的方法,这一方法是一种基于安全的分析,有助于我们确定应用系统造成的安全风险,以及攻击是如何体现出来的。输入:对于威胁建模,下面的输入非常有用: n 用例和使用方案 n 数据流 n 数据架构 n 部署关系图 虽然这些
2、都非常有用,但它们都不是必需的。但是,一定要了解应用程序的主要功能和体系结构。输出:威胁建模活动的输出结果是一个威胁模型。威胁模型捕获的主要项目包括: 威胁列表 漏洞列表 应用评估步骤五个主要的威胁建模步骤如图 1 所示。图1我们把应用系统的安全评估划分为以下五个步骤:1. 识别应用系统的安全目标:其中包括系统业务目标和安全目标。目标清晰有助于将注意力集中在威胁建模活动,以及确定后续步骤要做多少工作。112. 了解应用系统概况:逐条列出应用程序的重要特征和参与者有助于在步骤 4 中确定相关威胁。3. 应用系统分解:全面了解应用程序的结构可以更轻松地发现更相关、更具体的威胁。4. 应用系统的威胁
3、识别:使用步骤 2 和 3 中的详细信息来确定与您的应用程序方案和上下文相关的威胁。5. 应用系统的弱点分析:查应用程序的各层以确定与威胁有关的弱点。步骤1:识别安全目标业务目标是应用系统使用的相关目标和约束。安全目标是与数据及应用程序的保密性、完整性和可用性相关的目标和约束。以约束的观点来考虑安全目标利用安全目标来指导威胁建模活动。请考虑这个问题,“您不希望发生什么?”例如,确保攻击者无法窃取用户凭据。 通过确定主要的安全目标,可以决定将主要精力放在什么地方。确定目标也有助于理解潜在攻击者的目标,并将注意力集中于那些需要密切留意的应用程序区域。例如,如果将客户帐户的详细信息确定为需要保护的敏
4、感数据,那么您可以检查数据存储的安全性,以及如何控制和审核对数据的访问。业务目标:一个应用系统的业务目标应该从如下几个方面入手进行分析:n 信誉:应用系统发生异常情况以及遭到攻击造成的商业信誉的损失;n 经济:对于应用系统,如果发生攻击或者其它安全时间造成的直接和潜在的经济损失。n 隐私:应用系统需要保护的用户数据。n 国家的法律或者政策:例如:等级化保护要求、SOX法案等。n 公司的规章制度。n 国际标准:例如:ISO17799、ISO13335等。n 法律协议。n 公司的信息安全策略。安全目标:一个应用系统的安全目标应该从如下几个方面入手进行分析:n 系统的机密性:明确需要保护哪些客户端数
5、据。应用系统是否能够保护用户的识别信息不被滥用?例如:用户的信息被盗取用于其它非法用途; n 系统的完整性:明确应用系统是否要求确保数据信息的有效性。n 系统的可用性:明确有特殊的服务质量要求。应用系统得可用性应该达到什么级别(例如:中断的时间不能超过10分钟/年)?根据系统可靠性的要求,可以重点保护重点的应用系统,从而节约投资。通过访谈的方式确定应用系统业务目标和安全目标,对业务目标和安全目标进行细化,得到应用系统安全要求。输入:访谈备忘录输出:应用系统业务目标、安全目标和安全要求。资料来源:分类序号目标安全要求备注业务目标123安全目标1234步骤2:应用系统概述在本步骤中,概述应用系统的
6、行为。确定应用程序的主要功能、特性和客户端。创建应用系统概述步骤:n 画出端对端的部署方案。n 确定角色。 n 确定主要使用方案。 n 确定技术。 n 确定应用程序的安全机制。 下面几部分将对此逐一进行说明:画出端对端的部署方案:画出一个描述应用程序的组成和结构、它的子系统以及部署特征的粗略图。随着对身份验证、授权和通信机制的发现来添加相关细节。部署关系图通常应当包含以下元素:n 端对端的部署拓扑:显示服务器的布局,并指示 Intranet、Extranet 或 Internet 访问。从逻辑网络拓扑入手,然后在掌握详细信息时对其进行细化,以显示物理拓扑。根据所选的特定物理拓扑来添加或删除威胁
7、。 n 逻辑层:显示表示层、业务层和数据访问层的位置。知道物理服务器的边界后,对此进行细化以将它们包括在内。 n 主要组件:显示每个逻辑层中的重要组件。明确实际流程和组件边界后,对此进行细化以将它们包括在内。 n 主要服务:确定重要的服务。n 通信端口和协议。显示哪些服务器、组件和服务相互进行通信,以及它们如何进行通信。了解入站和出站信息包的细节后,显示它们。 n 标识:如果您有这些信息,则显示用于应用程序和所有相关服务帐户的主要标识。 n 外部依赖项:显示应用程序在外部系统上的依赖项。在稍后的建模过程中,这会帮助您确定由于您所作的有关外部系统的假设是错误的、或者由于外部系统发生任何更改而产生
8、的漏洞。随着设计的进行,您应当定期复查威胁模型以添加更多细节。例如,最初您可能不了解所有的组件。应根据需要细分应用程序,以获得足够的细节来确定威胁。确定角色:确定应用程序的角色:即,确定应用程序中由谁来完成哪些工作。用户能做什么?您有什么样的高特权用户组?例如,谁可以读取数据、谁可以更新数据、谁可以删除数据?利用角色标识来确定应当发生什么以及不应当发生什么。确定主要的使用方案:确定的应用程序的主要功能是什么?它可以做什么?利用应用程序的用例来获得这些信息。确定应用程序的主要功能和用法,并捕获 Create、Read、Update 和 Delete 等方面。 经常在用例的上下文中解释主要功能。可
9、以帮助理解应用程序应当如何使用,以及怎样是误用。用例有助于确定数据流,并可以在稍后的建模过程中确定威胁时提供焦点。在这些用例中,您可以考察误用业务规则的可能性。例如,考虑某个用户试图更改另一个用户的个人详细资料。您通常需要考虑为进行完整的分析而同时发生的几个用例。确定技术:只要您能确定,就列出软件的技术和主要功能,以及您使用的技术。确定下列各项: n 操作系统。 n 服务器软件。n 数据库服务器软件。n 在表示层、业务层和数据访问层中使用的技术。n 开发语言。确定技术有助于在稍后的威胁建模活动中将主要精力放在特定于技术的威胁上,有助于确定正确的和最适当的缓解技术。步骤3:系统分解通过分解应用程
10、序来确定信任边界、数据流、入口点和出口点。对应用程序结构了解得越多,就越容易发现威胁和漏洞。分解应用程序按如下步骤: n 确定信任边界。n 确定数据流。n 确定入口点。n 确定出口点。下面几部分将对此逐一进行说明。确定信任边界:确定应用程序的信任边界有助于将分析集中在所关注的区域。信任边界指示在什么地方更改信任级别。可以从机密性和完整性的角度来考虑信任。例如,在需要特定的角色或特权级别才能访问资源或操作的应用程序中,更改访问控制级别就是更改信任级别。另一个例子是应用程序的入口点,您可能不会完全信任传递到入口点的数据。如何确定信任边界: 1. 从确定外部系统边界入手。例如,应用程序可以写服务器
11、X 上的文件,可以调用服务器Y上的数据库,并且可以调用 Web 服务 Z。这就定义了系统边界。 2. 确定访问控制点或需要附加的特权或角色成员资格才能访问的关键地方。例如,某个特殊页可能只限于管理人员使用。该页要求经过身份验证的访问,还要求调用方是某个特定角色的成员。 3. 从数据流的角度确定信任边界。对于每个子系统,考虑是否信任上游数据流或用户输入,如果不信任,则考虑如何对数据流和输入进行身份验证和授权。了解信任边界之间存在哪些入口点可以使您将威胁识别集中在这些关键入口点上。例如,可能需要在信任边界处对通过入口点的数据执行更多的验证。 确定数据流:从入口到出口,跟踪应用程序的数据输入通过应用
12、程序。这样做可以了解应用程序如何与外部系统和客户端进行交互,以及内部组件之间如何交互。要特别注意跨信任边界的数据流,以及如何在信任边界的入口点验证这些数据。还要密切注意敏感数据项,以及这些数据如何流过系统、它们通过网络传递到何处以及在什么地方保留。一种较好的方法是从最高级别入手,然后通过分析各个子系统之间的数据流来解构应用程序。例如,从分析应用程序、中间层服务器和数据库服务器之间的数据流开始。然后,考虑组件到组件的数据流。 确定入口点:应用程序的入口点也是攻击的入口点。入口点可以包括侦听前端应用程序。这种入口点原本就是向客户端公开的。存在的其他入口点(例如,由跨应用程序层的子组件公开的内部入口
13、点)。考虑访问入口点所需的信任级别,以及由入口点公开的功能类型。确定出口点:确定应用程序向客户端或者外部系统发送数据的点。设置出口点的优先级,应用程序可以在这些出口点上写数据,包括客户端输入或来自不受信任的源(例如,共享数据库)的数据。步骤4:威胁识别在本步骤中,确定可能影响应用程序和危及安全目标的威胁和攻击。这些威胁可能会对应用程序有不良影响。可以使用两种基本方法: 1. 从常见的威胁和攻击入手。利用这种方法,您可以从一系列按应用程序漏洞类别分组的常见威胁入手。接下来,将威胁列表应用到您自己的应用程序体系结构中。2. 使用问题驱动的方法。问题驱动的方法确定相关的威胁和攻击。STRIDE 类别
14、包括各种类型的威胁,例如,欺骗、篡改、否认、信息泄漏和拒绝访问。使用 STRIDE 模型来提出与应用程序的体系结构和设计的各个方面有关的问题。这是一种基于目标的方法,您要考虑的是攻击者的目标。例如,攻击者能够以一个虚假身份来访问您的服务器或 Web 应用程序吗?他人能够在网络或数据存储中篡改数据吗?当您报告错误消息或者记录事件时会泄漏敏感信息吗?他人能拒绝服务吗? 确定威胁时,要逐级、逐层、逐功能地进行检查。通过关注漏洞类别,将注意力集中在那些最常发生安全错误的区域。在本步骤中,您要完成下列任务: n 确定常见的威胁和攻击。n 根据用例来确定威胁。n 根据数据流来确定威胁。n 利用威胁/攻击树
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用 安全 评估 方法
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。