ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:86.25KB ,
资源ID:18937429      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18937429.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件安全设计讲解Word文件下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件安全设计讲解Word文件下载.docx

1、已授权的 (authorized,经授权的) 和XX的 (unauthorized ,未被授权的,未经认可的)。漏洞是软件的属性。质量特性功能性易用性效率维护性可移植性关于软件安全的基本概念及认识安全的代码(secure code): 能够抵抗恶意攻击的代码;安全的代码同时也是健壮的代码(robust code)安全性代码(security code): 实现安全功能的代码。程序是“安全的”:安全隐含某种程度的信任(trust),程序实现了期望的机密性、完整性、可用性及其功能。第二部分安全问题来源1、漏洞漏洞是软件的属性2、攻击者3、软件存在的攻击路径攻击面问题意外行为及缺陷意外行为(Unex

2、pected Behavior):也称程序安全缺陷,是由于程序脆弱性引起的不适当的程序行为。缺陷(Flaw):缺陷可以是故障(Fault),或者失效(Failure)程序安全缺陷可能来源于任何种类的软件错误:无意或疏忽的故意或有意的缺陷类型Landwehr et al. 提出了程序缺陷分类方法(taxonomy)有意的缺陷( Intentional,故意的)恶意的(Malicious)非恶意的(Nonmalicious)无意中的缺陷( Inadvertent,不注意的;疏忽的) 确认错误(Validation(验证;合法性,有效)error) (incomplete / inconsisten

3、t) 域的错误(Domain error) 顺序化和混淆现象(Serialization and aliasing) 不完全的身份识别和认证(Inadequate identification and authentication) 边界条件违反(Boundary condition violation) 其它可利用的逻辑错误(Other exploitable logic errors)漏洞类型软件漏洞包括设计漏洞和实现漏洞。漏洞是软件安全威胁的根源.设计漏洞:设计错误,往往发现于软件的安全功能特性中。实现漏洞:来源于软件实际编码中的安全缺陷。软件安全缺陷及其来源(以上)常见软件安全设计问题

4、常见的安全设计问题1: 密码技术使用的败笔创建自己的密码技术选用了不当的密码技术依赖隐蔽式安全编写到程序中的密钥错误地处理私密信息常见的安全设计问题2: 对用户及其许可权限进行跟踪的薄弱或缺失会话管理薄弱或者缺失身份鉴别薄弱或缺失授权薄弱或缺失常见的安全设计问题3: 有缺陷的输入验证没有在安全的上下文环境中执行验证,如在服务器验证而在客户端没有验证验证例程不集中,验证应尽可能靠近用户输入,并应集中以便于核实不安全的组件边界常见的安全设计问题4:薄弱的结构性安全过大的攻击面在过高权限级别上运行进程没有纵深防御失效时的处理不安全常见的安全设计问题5:其他设计缺陷代码和数据混在一起错将信任寄予外部系

5、统不安全的默认值未做审计日志编程语言的问题 C/C+的问题问题1:没有安全的本地字符串类型,也没有安全而易用的字符串处理函数。典型例子-缓冲区溢出(Buffer Overflow)C/C+问题2:缓冲区超限覆盖栈中的函数返回地址典型例子栈溢出(Stack Smashing)C/C+问题3:printf类型的格式化函数格式化字符串攻击C/C+问题4:整数溢出第三部分安全工程SSE/CMMSSE-CMM背景知识开发SSE-CMM的目的:降低开发和维护系统的花费;提高工程进度和预算的一致性;选择合适的承包者。发起者国防部;国家安全局。SSE-CMM主要内容能力方面:1、通用实施:增强执行任何过程能力

6、的实现和制度化实施 。2、公共特征:一组实施,列出管理和制度化过程的相同方面 。3、能力级别:共同工作的一组公共特征,主要增强执行一个过程的能力 。能力级别:能力级别非正式执行能力级别计划与跟踪能力级别充分定义能力级别定量控制能力级别连续改进域方面:1、基础实施:工程和安全实施是安全工程过程中必须存在的性质,指出特殊过程区的目的属于该过程区 。2、过程区:每个过程区(PA)是一组相关安全工程过程的性质,当这些性质全部实施后则能够达到过程区定义的目的。 3、过程类:一组过程区指出活动的同一通用区 。CMM的5个级别一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。安全工

7、程的三个基本过程安全工程分三个基本过程:风险、工程和保证风险过程是要确定产品或者系统的危险性,并对这些危险性进行优先级排序工程过程是针对面临的危险性,安全工程过程与相关工程过程一起来确定并实施解决方案保证过程是建立起对解决方案的信任,并把这种信任传达给顾客SDL及它的三个阶段什么是 SDL?Secure Development Lifecycle微软可信计算(TrustWorthy Computing )努力的一个组成部分基于并行理念的标准软件开发过程基于威胁建模和测试SDL从三个方面考虑软件安全的保障。设计安全:为了保护软件自身以及软件处理的信息,并抵御攻击,软件应该从架构,设计和实现上进行

8、考虑.缺省安全:设计者应该假定安全缺陷将会出现。为了当攻击者对软件存在的缺陷进行攻击时使损害降到最小, 软件的缺省状态应该保证安全。比如,最小特权原则。提交安全:工具和指南应该随着软件提供以帮助最终用户或管理员安全使用。关于软件的更新应该容易提交。威胁建模威胁建模过程:定义应用场景收集外部依赖列表定义安全假设创建外部安全备注绘制待建模应用的一个或多个数据流图确定威胁类型识别系统威胁判断风险规划消减措施常见安全设计原则隐私分级第四部分软件测试测试相关概念白盒、黑盒和灰盒测试白盒测试:也称明盒测试、开盒测试或信息充分测试。白盒测试可以看作是内部的攻击。测试人员可以访问源代码和设计文档,可以进行威胁

9、建模或逐行的代码检查。白盒测试是找出漏洞最为有效的方法。黑盒测试:以局外人的身份对系统进行攻击,使用工具检查系统的攻击面,并探查系统的内部信息。黑盒测试是白盒测试的补充。方向工程团队利用黑盒测试验证隐蔽式安全方法的强度。灰盒测试:组合使用白盒测和黑盒测试。白盒测试用于发现在设计和开发中详细说明的功能中的缺陷;黑盒测试在无法了解程序内部信息的时候找出缺陷。程序开发中的调试运行是典型的灰盒测试方法。两个模型TRAP模型及DREAD模型DREAD模型:进行威胁程度级别分析的有效技术。Michael Howard 和David Leblanc在编写安全的代码提出。DREAD:潜在的破坏(Damage

10、potential)再现性(Reproducibility)可利用性(Exploitability)受影响用户(Affected users)可发现性(Discoverability)利用DREAD模型对威胁分级:潜在的破坏如果该漏洞被利用,所产生的破坏程度再现性探测并利用该漏洞所需要的努力要多久可利用性是否需要身份鉴别?需要身份鉴别不需要身份鉴别,但需要难以确定的知识不需要身份鉴别,也不需要特殊的知识受影响的用户漏洞利用的影响面有多大仅仅是特殊的配置普通情况默认用户或者大多数用户可发现性漏洞研究人员或黑客找出该漏洞的可能性TRAP模型基于可利用性提出。TRAP包括因素:时间(Time)可靠性

11、(Reliability)/再现性(Reproducibility)访问(Access)定位(Positioning)利用TRAP模型对威胁分析时间:某些漏洞可能需要长时间的探测并利用。如加密漏洞需要数千年的时间计算才能利用,表示该漏洞的风险非常低。可靠性/再现性:漏洞的严重程度依赖于该漏洞可被攻击者利用的可靠性或再现性。通常高级别漏洞的可靠性和可再现性高。访问:利用漏洞通常可以为攻击者提供更高的访问权。定位:利用一个漏洞,攻击者必须能够与存在该漏洞的应用程序交互,并能访问到含有该漏洞的代码。基于风险的测试的三个步骤: Step1 信息搜集 Step2 威胁(风险)建模 Step3 可用性分析

12、9个高风险活动数据解析文件访问数据库访问生成子进程身份鉴别授权同步或会话管理处理私密数据网络访问第五部分SDL的3原则安全设计安排具体的安全设计的人员;进行安全教育教育;确保威胁分析已经完成;符合安全设计和编码的指导原则;尽可能修补任何安全编程指南上的BUG;确保安全指南是逐步改进的;针对已经修复的缺陷开发回归测试;简化代码和安全模型;在打包以前完成穿透测试。缺省安全缺省状态下,不要设置所有的特点和功能;允许最小权限;恰当的资源保护。安全提交确认程序给管理员提供了安全功能;尽可能提供高质量的补丁;提供足够的信息以使用户安全的使用软件。第六部分信息系统安全一个信息系统的主要特征包括: 一定是依赖

13、于计算机的; 涉及了计算机的软件和硬件; 实现数据的采集、传递、加工、处理功能。系统的主要特性可以概括为: 1整体性系统的各个部分一定以整体目标为目标,追求全局最优; 2目的性一个系统一定是具有明确目标的,并完成一定的功能; 3层次性一个系统可以分为若干层次和子系统; 4边界性每一个系统都能够明显地区别于其他系统,系统之间有明确的界限; 5关联性系统包括若干元素,元素之间存在一定的关联性; 6环境性系统处于一定的环境之中并受环境影响。典型问题:1如何使经理消除对敏感信息失密的顾虑?2系统管理员是否可信?3系统第一次如何启动?即如何使用户获得第一次权限?4如何建立一个可信的口令机制?5如何确认某

14、个操作人员的行为?6安全模型系统的使用者划分为:1.用户,2.系统管理员,3.信息主管(或企业主管)把整个系统划分为以下三个部分:1用户界面逻辑;2业务逻辑;3异常检测机。在系统安全方面要实现的主要功能包括:1访问控制;2抗抵赖;3数据保密;4身份鉴别;5授权机制;6日志审计;7系统异常探测。用户界面逻辑:用户界面逻辑主要包括两个部件:数据访问和登录控制。在系统启动时,用户首先登录系统,通过系统验证后才可以完成数据访问功能。通过登录控制界面,可以完成的主要功能包括:1口令验证;2口令修改;3口令数据的加密;4登录时间记录。关于登录控制的设计考虑:用户ID:用户输入用户ID,从权限数据中提取出相

15、应的用户名。采用用户编号的原因是回避重名,简化输入,同时用户号本身也可以增加一定的安全性。用户修改口令,而不是系统管理员:用户修改口令,而不是系统管理员系统管理员对用户授权,但是口令由用户在用户界面输入,并加密存储至后台数据库中,以避免系统管理员获取用户口令造成泄密。初始口令的安全:初始口令的安全系统的第一次运行关键是初始口令的赋予,由信息主管(或其他高层)完成用户身份的确认,同时要求用户第一次登录时必须更改初始口令.口令安全:口令安全(越复杂越长越好,最复杂是指数字加字母加符号)下表为在www.LockD公布的采用“暴力字母破解”方式获取密码的“时间列表”(该结果采用一台双核心PC)。用户封

16、锁所谓的用户封锁是当出现用户多次登录系统失败的情况时,系统将锁定用户的操作并提示,解锁过程必须由系统管理员完成。如果是其他人员冒用用户身份尝试对系统攻击,则锁定后合法用户将会发现。ISO 7498 五种ISO7498-2标准中所定义的五种安全服务类型:1身份鉴别(Authentication);2访问控制(Access Control);3数据保密(Data Confidentiality);4数据完整性( Data integrity);5抗抵赖(Non-reputation)。第七部分web安全(多啊,没抄完)关于WEB APPLICATION(4个定义):采用HTTP协议完成通信的应用程

17、序与后台WEB Server实现交互的程序与互联网(Internet)服务器,包括Web Server,database server进行交互的程序位于中间层,进行数据交互或者其他服务程序WEB应用特征:远程客户端程序专用客户端BROWSER通过Internet进行数据通信后端系统包括WEB Server,OS,以及数据库可能包括中间层(中间件):-中间层应用实现客户端数据处理或者其他服务-中间层应用请求服务数据7.2.1 WEB应用安全建模(微软)活动:Web 应用程序的威胁建模目的:确定方案中的相关威胁和漏洞,以帮助您构建应用程序的安全设计。输入:主要用例和使用方案 数据流 数据架构 部署

18、关系图 输出:威胁列表 漏洞列表 威胁建模的五个主要步骤如下图 所示。应该通过重复执行步骤 2 至步骤 5 来逐步细化威胁模型。随着应用程序开发周期的向前推进,您会发现有关应用程序设计的更多内容,并能够添加更多细节。(图)五个步骤:步骤 1 :确定安全目标。目标清晰有助于您将注意力集中在威胁建模活动上,以及确定后续步骤要做多少工作。步骤 2 :创建应用程序概述。逐条列出应用程序的重要特征和参与者有助于在步骤 4 中确定相关威胁。步骤 3 :分解应用程序。全面了解应用程序的结构可以使您更轻松地发现更相关、更具体的威胁。步骤 4 :确定威胁。使用步骤 2 和 3 中的详细信息来确定与您的应用程序方

19、案和上下文相关的威胁。步骤 5 :确定漏洞。检查应用程序的各层以确定与威胁有关的弱点。使用漏洞类别来帮助您关注最常出现错误的区域。7.3 一个WEB应用安全模型:威胁建模:一种用于理解和消除系统安全威胁的形式化的方法信息收集方法:定位文档(Locate written document)访问相关人员(Interview stakeholders)探查系统(Inspect system)分析:用户Users构件,资产,动机 Components, assets, and motivation入口 Entry points弱点和威胁 Weaknesses and threats消除:建立预算 Es

20、tablish your budget.排序处理 Rank treats using a model that works for you.确立针对威胁的工作 Decide what to do with threats.7.3.2 一个安全模型电子商务:Web site (CMS-powered)在线商店.两个服务器:Application serverDatabase server.物理安全:服务器托管在主页寄存公司(hosting company):严格限制物理访问在入口采用生理特征识别方法采用自锁方法系统用户(1):客户 (public).商店管理职员.市场部.开发者.系统管理员.系统

21、用户(2)系统用户(3):系统用户(4):威胁: 由于采用明文通信协议的口令和数据危害消除方法: 禁用plain-text协议:在商店的采购过程管理接口代码安全检查文档(没找着)通用编码规范:为常用的任务使用已测试且已认可的托管代码,而不创建新的非托管代码。使用特定任务的内置API以执行操作系统的任务。不允许应用程序直接将代码发送给操作系统,特别是通过使用应用程序初始的命令shell。使用校验和或哈希值验证编译后的代码、库文件、可执行文件和配置文件的完整性。使用死锁来防止多个同时发送的请求,或使用一个同步机制防止竞态条件。在同时发生不恰当的访问时,保护共享的变量和资源。附加微软安全工具使用相关知识CWE,OWP题型选择判断改错2分综合威胁分析至少2个,威胁分析表格和UML模型

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1