基于NET的需求分析和解决方案设计_09设计安全规范.ppt_第1页
基于NET的需求分析和解决方案设计_09设计安全规范.ppt_第2页
基于NET的需求分析和解决方案设计_09设计安全规范.ppt_第3页
基于NET的需求分析和解决方案设计_09设计安全规范.ppt_第4页
基于NET的需求分析和解决方案设计_09设计安全规范.ppt_第5页
免费预览已结束,剩余41页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于.NET的需求分析和解决方案设计,第1章 商务解决方案设计 第2章 收集和分析信息 第3章 解决方案的构思 第4章 概念设计的创建 第5章 逻辑设计的创建 第6章 物理设计的创建 第7章 表示层的设计 第8章 数据层的设计 第9章 设计安全规范 第10章 完成计划阶段 第11章 稳定和部署方案,第9章 设计安全规范,应用程序开发的安全性概述 为应用程序安全性制定计划 使用.NET框架中的安全性 设计授权、验证和审核策略,应用程序开发的安全性概述,常见的安全漏洞类型 传统安全模型的不足 创建安全策略的原则 主要安全性术语,9.1 应用程序开发的安全性概述,常见的安全漏洞类型,弱密码 举例 员

2、工使用空密码或者自己的生日作为密码 影响 攻击者能通过不断尝试取得密码,9.1.1 常见的安全漏洞类型,常见的安全漏洞类型,未配置正确的软件 举例 网络 如防火墙 应用程序 如应用程序配置文件 主机 如某些服务有过高的权限(超过正常运行所需的权限)、一些以系统账户启动的服务 影响 攻击者能利用这些服务取得访问系统的权限,9.1.1 常见的安全漏洞类型,常见的安全漏洞类型,社会工程陷阱 举例 攻击者装作技术支持人员骗取用户密码 影响 攻击者能利用骗来的密码或管理员账户进行破坏,9.1.1 常见的安全漏洞类型,常见的安全漏洞类型,未加密的数据传输 举例 验证包以明文方式传送 重要数据通过互联网明文

3、传播 影响 攻击者能方便的获取数据对企业或者应用程序进行攻击,9.1.1 常见的安全漏洞类型,常见的安全漏洞类型,缓存溢出 举例 受信任的进程运行未受信任的代码 影响 攻击者能让操作系统或应用程序崩溃 通过出错信息发现更多的安全漏洞 获取能运行任何程序的系统内存,9.1.1 常见的安全漏洞类型,常见的安全漏洞类型,代码注入 举例 跨站点脚本 SQL注入 利用缓存溢出注入恶意代码 影响 攻击者能在客户端、Web服务器、数据库服务器上注入恶意代码,9.1.1 常见的安全漏洞类型,常见的安全漏洞类型,代码中的秘密信息 举例 从代码中直接获取秘密信息 在调试方式下运行不同的安全应用程序 在客户端页面文

4、件中获取秘密信息 影响 密码、密钥泄漏,9.1.1 常见的安全漏洞类型,传统安全模型的不足,没有对代码本身提供特定的限制访问机制 病毒、蠕虫可通过以下途径感染受信任的用户 打开电子邮件的附件 运行Web页面内嵌的脚本 打开从互联网上下载的文件,9.1.2 传统安全模型的不足,创建安全策略的原则,仅信任测试过并证明为安全的系统,假设外部系统不安全,应用最小权限原则,减小数据暴露区域,默认设置为安全模式,不要信任外部输入,不要信任未知的东西,遵循STRIDE原则,9.1.3 创建安全策略的原则,主要安全性术语,验证 主动识别客户端的身份(客户端包括最终用户、服务、进程或计算机) 授权 规定验证用户

5、能看到或者能做什么,9.1.4 主要安全性术语,主要安全性术语,模拟 服务器应用程序以客户端身份访问资源的方式 委派 一种扩展形式的模拟 服务器进程代表客户端访问远程计算机的资源,9.1.4 主要安全性术语,主要安全性术语,安全通信 确保通信过程中信息私密性和完整性 安全上下文 能影响进程、线程安全方面动作的设置集合 由进程的登录会话和访问标志组成 身份 惟一表征用户、进程,9.1.4 主要安全性术语,第9章 设计安全规范,应用程序开发的安全性概述 为应用程序安全性制定计划 使用.NET框架中的安全性 设计授权、验证和审核策略,为应用程序安全性制定计划,MSF 阶段和安全性措施 STRIDE威

6、胁模型 创建威胁模型 使用威胁模型 安全策略,9.2 为应用程序安全性制定计划,MSF 阶段和安全性措施,构思,收集安全性方面的需求 将这些需求写入文档中,创建威胁模型 规划安全性方面的功能减轻找出的威胁,实施功能规格说明书中涉及的安全性 方面的功能,进行安全性测试,监控对应用程序安全性方面的威胁,规划,开发,稳定,部署,9.2.1 MSF 阶段和安全性措施,STRIDE威胁模型,伪造身份,S,否认,R,信息泄露,I,拒绝服务,D,权限提升,E,篡改数据(完整性),T,9.2.2 STRIDE威胁模型,创建威胁模型,组织集思广益的会议,1,使用STRIDE模型中的类别,3,记录笔记,4,调研,

7、5,将威胁按照严重性分级,6,列出所有可能的威胁,2,9.2.3 创建威胁模型,示例 创建威胁模型,9.2.3 创建威胁模型,使用威胁模型,对每种威胁提出应对方案 通知用户 削减功能(Remove features) 使用减轻威胁的技术,9.2.4 使用威胁模型,使用威胁模型,减轻安全性方面威胁可采用的技术,验证和授权 安全通信 服务质量(QoS) 限制(Throttling) 审核 筛选 最小权限,9.2.4 使用威胁模型,安全策略,安全策略 定义了保护企业计算机和网络安全性的需求 决定了应用程序能做什么,哪些用户能使用该应用程序 对比安全策略决定威胁的应对措施 容忍威胁 委派其他公司解决威

8、胁 采取保护措施,9.2.5 安全策略,第9章 设计安全规范,应用程序开发的安全性概述 为应用程序安全性制定计划 使用.NET框架中的安全性 设计授权、验证和审核策略,使用.NET框架的安全特性,类型安全验证 代码签名 加密和数据签名 代码访问安全 基于角色的安全性 独立存储 .NET的安全特性,9.3 使用.NET框架的安全特性,类型安全验证,类型安全代码 仅能访问有权限的特定内存 仅能访问对象可以访问的成员 符合以下条件的运行时是类型安全的 对类型的引用与引用的类型相一致 对象仅被调用了适当定义后的操作 通过定义好的接口调用方法,避免安全检测被跳过,9.3.1 类型安全验证,代码签名,代码

9、签名保证了真实性和完整性 .NET框架中的代码签名 依靠强名称签名 支持Authenticode数字证书和签名,9.3.2 代码签名,加密和数据签名,加密 将明文转成密文 使用哈希和数据签名 哈希 将任何长度的数据变换成惟一且长度固定的字节序列 数据签名 可包含通过哈希加密后的任何形式内容的签名数据 哈希保证数据签名者的身份并且确保数据未经篡改,9.3.3 加密和数据签名,代码访问安全,好处 限制了代码能做的事情 示例:一个文件访问的应用程序可限制可访问的文件 限制了哪些代码能访问你的代码 示例:仅允许企业中开发的其他程序访问你的程序集 识别代码 示例:可通过强名称、URL或者哈希值来识别代码

10、,9.3.4 代码访问安全,代码访问安全,组成部分 代码 证据(Evidence) 权限 策略 代码组,9.3.4 代码访问安全,基于角色的安全性,防止未授权的用户进行特定操作,用户名 = Fred,用户,.NET 框架,Windows用户和组成员 或 普通身份和策略,验证,验证,资源,9.3.5 基于角色的安全性,独立存储,为应用程序提供安全的数据存储 使用虚拟文件系统 允许设置大小 对存储的访问许可基于下列身份 用户 程序集 应用程序,9.3.6 独立存储,.NET的安全特性,9.3.7 .NET的安全特性,第9章 设计安全规范,应用程序开发的安全性概述 为应用程序安全性制定计划 使用.N

11、ET框架中的安全性 设计授权、验证和审核策略,设计授权、验证和审核策略,设计授权和身份验证策略 为用户界面组件设计授权策略 为业务组件设计授权策略 为数据访问组件设计授权 为用户界面组件设计身份验证策略 为数据访问组件设计身份验证策略 设计审核策略,9.4 设计授权、验证和审核策略,应用程序级别 操作系统级别,表单、Passport、Windows集成(Kerberos或NTLM)、Basic、 Digest,确定哪些身份需要在整个应用程序中传递 例如,一个后端资源管理器需要在每次调用时进行授权,调用者的身份必须传递给资源管理器,调用者的身份 进程身份 服务账户 自定义身份,基于角色 基于资源

12、,实例: Web服务器资源如 Web页面、Web服务和静态资源(HTML页面和图片) 数据库资源如每个用户的数据或应用程序的数据 网络资源如远程文件系统资源和活动目录中存储的数据,设计授权和身份验证策略,9.4.1 设计授权和身份验证策略,为用户界面组件设计授权策略,在用户界面组件上进行授权限制用户输入或查看,用户界面组件授权指导方针,用户进程组件授权指导方针,仅显示给需要看到的用户,设置用户界面程序集代码的访问权限,按照用户不同在用户交互过程中添加删除步骤或者用户界面组件,控制用户是否能开始一个用户界面交互进程,9.4.2 为用户界面组件设计授权策略,为业务组件设计授权策略,指导方针,业务进

13、程授权应独立于用户上下文,尽可能使用基于角色的权限,9.4.3 为业务组件设计授权策略,为数据访问组件设计授权,对数据访问组件进行授权,Windows验证情况下,使用企业服务角色和.NET PrincipalPermission属性,Windows安全上下文情况下,使用.NET角色和相关属性,限制用户仅能访问需要的程序集,在数据存储中采用相同用户上下文的情况下,使用数据库授权功能,9.4.4 为数据访问组件设计授权,为用户界面组件设计身份验证策略,基于Web界面的验证方式 根据情况选择验证机制 基于Windows界面的验证方式 自定义验证 Windows登录 用户进程组件的验证方式 不进行验证 通过在程序开始设置的安全上下文,9.4.5 为用户界面组件设计身份验证策略,示例 基于Web界面的验证方式,9.4.5 为用户界面组件设计身份验证策略,为数据访问组件设计身份验证策略,使用服务账户 在连接数据源时,对最初调用者的身份模拟无法进行 对登录其他系统的账户只有很小的更改权利 访问的数据存储与其他应用程序使用不同的验证机制 使用调用者的身份模拟 数据存储根据登录用户进行授权 数据存储需要审核每个最终用户的活动 安全计划示例,9.4.6 为数据访问组件设计身份验证策略,设计审核策略,确保恶意用户无法篡改审核日志 用户界面和用户进程组件的审核 审核全局事件,如登录、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论