您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > CISP软件安全开发(含真题)201608
操作系统安全中电运行杨贤渠版本:3.0软件开发安全背景为什么要做软件安全开发?一、网络攻击阶段自动化二、网络攻击智能化:相当多的工具已经具备了反侦破、只能动态行为、攻击工具变异等特点三、漏洞的发现和利用速度越来越快四、突破防火墙的渗透率越来越高课程内容3软件安全开发知识体知识域软件安全开发概况软件安全需求和设计软件安全编码软件安全测试软件安全开发的关键工作软件安全开发的必要性软件安全开发背景知识子域软件安全开发模型及研究软件安全的基本概念•软件的定义•计算机程序、方法、规则和相关的文档资料以及在计算机上运行时所需的数据(IEEE)•软件安全•软件安全(SoftwareSecurity)就是使软件在受到恶意攻击的情形下依然能够继续正确运行及确保软件被在授权范围内合法使用的思想。•保护软件中的知识成果、知识产权、数据不被非法使用,包括篡改及盗用、破坏等,保证系统的正常运作。4软件安全问题广泛存在•软件应用广泛•电脑游戏、火车票售票系统、多媒体教学•手机、航天飞机、人造卫星•…•软件安全问题广泛存在•运行错误•售票系统反应慢、连不上、崩溃•多媒体教学系统死机•黑客盗取泄漏的银行密码•系统被攻击•服务器被攻击•机密数据丢失等•安全问题日益增加…5软件安全问题产生后果•软件安全问题的后果•造成产品运行不稳定,得不到正确结果甚至崩溃•可靠性、可用性•被恶意攻击,导致信息泄漏/数据破坏等后果•保密性、完整性•一些因软件安全问题导致的严重后果•售票系统瘫痪•美国放射治疗仪超剂量辐射事件•阿丽亚纳5号火箭首发失败事件•Stuxnet病毒攻击伊朗布什尔核电站6社工库社工库漏洞情况统计•中国国家漏洞库15年漏洞数量情况统计()9软件产生安全问题的原因•内因•软件开发安全意识淡薄•软件开发缺乏安全知识•软件趋向大型化和复杂化•软件第三方扩展增多•外因•软件使用场景更具威胁(部署环境)•系统漏洞、第三方应用漏洞•旁站攻击、C段攻击、C段嗅探等10软件越来越复杂11•Windows系列软件源代码行数漏洞与软件安全•漏洞普遍存在•平均每1000行程序存在20个缺陷(Dacey2003)•采用严格的软件开发质量管理机制和多重测试环节,软件公司的缺陷率(千行代码):•普通软件开发公司的缺陷密度为4~40个缺陷•高水平的软件公司的缺陷密度为2~4个缺陷•美国NASA的软件缺陷密度可达到0.1个缺陷•漏洞已经成为危害软件安全的主要因素•危及用户对软件的信任、业务运营,还会危及一系列关键基础设施和应用12试题131.安全的运行环境是软件安全的基础,操作系统安全配置是确保运行环境安全必不可少的工作,某管理员对即将上线的Windows操作系统进行了以下四项安全部署工作,其中哪项设置不利于提高运行环境安全?a、操作系统安装完成后安装最新的安全补丁,确保操作系统不存在可被利用的安全漏洞b、为了方便进行数据备份,安装Windows操作系统时只使用一个分区所有数据和操作系统都存放在C盘c、操作系统上部署防病毒软件,以对抗病毒的威胁d、将默认的管理员账号Administrator改名,降低口令暴力破解攻击的发生可能某购物网站开发项目经过需求分析进入系统设计阶段,为了保证用户账户的安全,项目开发人员决定用户登陆时如果用户名或口令输入错误,给用户返回“用户名或口令输入错误”信息,输入错误达到三次,将暂时禁止登录该账户,请问以上安全设计遵循的是哪项安全设计原则:a、最少共享机制原则b、经济机制原则c、不信任原则d、默认故障处理保护原则答案C试题14某网站管理员小邓在流量监测中发现近期网站的入站ICMP流量上升了250%,尽管网站没有发现任何的性能下降或其他问题,但为了安全起见,他仍然向主管领导提出了应对措施,作为主管负责人,请选择有效的针对此问题的应对措施:a、在防火墙上设置策略,阻止所有的ICMP流量进入(关掉ping)b、删除服务器上的ping.exe程序c、增加带宽以应对可能的拒绝服务攻击d、增加网站服务器以应对即将来临的拒绝服务攻击试题15某单位系统管理员对组织内核心资源的访问制定访问策略,针对每个用户指明能够访问的资源,对于不在指定资源列表中的对象不允许访问,该访问控制策略属于以下哪一种:a、强制访问控制b、基于角色的访问控制c、自主访问控制d、基于任务的访问控制答案C在2014年巴西世界杯举行期间,,一些黑客组织攻击了世界杯赞助商及政府网站,制造了大量网络流量,阻塞正常用户访问网站。这种攻击类型属于下面什么攻击()a、跨站脚本(crosssitescripting,XSS)攻击b、TCP会话劫持(TCPHIJACK)攻击c、ip欺骗攻击d、拒绝服务(denialservice.dos)攻击知识域:软件安全开发概况•知识子域:软件安全开发的必要性•理解软件安全保障的含义、思路和目标•了解传统软件开发的局限性•理解软件安全开发生命周期的概念和必要性16需要安全的软件•理想的安全软件•不存在安全漏洞•能抵御各种攻击威胁•按照预期的方式执行•软件安全保障的思路•通过在软件开发生命周期各阶段采取必要的、相适应的安全措施来避免绝大多数的安全漏洞。•采取措施只能有效减少,但并不能完全杜绝所有的安全漏洞。•没有完全安全的软件17软件安全保障•软件可以规避安全漏洞而按照预期的方式执行其功能•目标:在软件开发生命周期中提升软件的安全性•可信赖性:无论是恶意而为还是无意疏忽,软件都没有可利用的漏洞存在•可预见性:对软件执行时其功能符合开发者的意图的信心。•遵循性:将(软件开发)跨学科的活动计划并系统化,以确保软件过程和软件产品满足需求、遵循相关标准。18软件安全保障与风险管理•在软件安全保障中,需要贯彻风险管理的思想•“安全就是风险管理”•软件安全是以风险管理为基础•安全不必是完美无缺的,但风险必须是能够管理的,将风险值降到最低•最适宜的软件安全策略就是最优的风险管理对策•这是一个在有限资源前提下的最优选择问题•防范不足会造成直接的损失;防范过多又会造成间接的损失19传统的软件开发局限性传统软件开发教育的局限性传统开发人员能力的局限性传统软件生命周期的局限性•软件教育包括软件工程、数据结构、编译原理、系统结构、程序语言等•缺乏安全开发教育•对安全问题没有的足够理解•不了解安全设计的基本原理•不知道安全漏洞的常见类型•不知道如何设计针对安全的测试数据•软件生命周期包括需求分析、架构设计、代码编写、测试和运行维护五个阶段•缺乏安全介入的阶段20软件安全开发生命周期•软件安全开发•采取措施防止由于设计、开发、提交、升级或维护中的缺陷而导致的系统脆弱性•20世纪末/21世纪初开始展开研究安全软件开发生命周期•安全软件开发涵盖了软件开发整个生命周期•是软件从产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。•通过软件开发的各个步骤来确保软件的安全性,其目标是确保安全的软件得以成功21安全软件开发生命周期•将安全融入•在设计/开发/测试等过程中融入安全•在传统的过程中增加安全过程•安全提前介入•NIST:在软件发布以后进行修复的代价是在软件设计和编码阶段即进行修复所花代价的30倍•软件系统发布以后才进行漏洞修复代价是最高的,且常常伴随着软件系统使用者的极大损失•实施软件安全开发•规范指南•最佳实践22降低解决软件安全问题的代价•早期发现并改正错误有以下优点•在软件开发生命周期中,后面的阶段改正错误开销比前面的阶段要高出数倍•早期发现并改正错误可以减少时间和开销23试题24某公司在互联网区域新建了一个WEB网站,为了保护该网站主页安全性,尤其是不能让攻击者修改主页内容,该公司应当购买并部署下面哪个设备()a、负载均衡设备b、网页防篡改系统c、网络防病毒系统d、网络审计系统答案B某政府机构委托开发商开发了一个OA系统,其中有一个公文分发,公文通知等为WORD文档,厂商在进行系统设计时使用了FTP来对公文进行分发,以下说法不正确的是a、FTP协议明文传输数据,包括用户名和密码,攻击者可能通过会话过程嗅探获得FTP密码,从而威胁OA系统b、FTP协议需要进行验证才能访问在,攻击者可以利用FTP进行口令的暴力破解c、FTP协议已经是不太使用的协议,可能与新版本的浏览器存在兼容性问题d、FTP应用需要安装服务器端软件,软件存在漏洞可能会影响到OA系统的安全试题25IS审计师参与应用系统开发,他们从事以下哪项可以导致独立性的减弱.a、对系统开发进行了复核b、对控制和系统的其他改进提出了建议c、对完成后的系统进行了独立评价d、积极参与了系统的设计和完成以下关于安全套接层协议(SecureSocketsLayer,SSL)说法错误的是:a、SSL协议位于TCP/IP协议层和应用协议之间b、SSL协议广泛应用于web浏览器与服务器之间的身份认证和加密数据传输c、SSL是一种可靠的端到端的安全服务协议d、SSL是设计用来保护操作系统的知识域:软件安全开发概况•知识子域:软件安全开发模型及研究•了解安全开发生命周期(SDL)的发展历程,理解SDL的主要内容•了解使安全成为软件开发必须的部分(BSI)系列模型•了解综合的轻量级应用安全过程(CLASP)的主要内容•了解软件保障成熟度模型(SAMM)的框架•了解各个模型的特点及适用性26可信计算安全开发生命周期•微软,2002.1,盖茨安全开发生命周期SDL•SDL即SecurityDevelopmentLifecycle(SDL),是微软提出的从安全角度指导软件开发过程的管理模式。SDL不是一个空想的理论模型。它是微软为了面对现实世界中安全挑战,在实践中的一步步发展起来的模式。•软件安全开发周期SDL的核心理念就是将软件安全的考虑集成在软件开发的每一个阶段需求分析、设计、编码、测试和维护。27SDL发展历史•2002.1~今•20世纪90年代中期到后期(Melissa)和21世纪初期(CodeRed、Nimda、UPnP等)出现了一系列影响重大的恶意软件事件,促使微软重新考虑开发人员安全过程和策略28SDL的阶段和安全活动•软件安全开发生命阶段•5+2个阶段•16项必需的安全活动29IE采用SDL后的效果30Source:BrowserVulnerabilityAnalysis,MicrosoftSecurityBlog27-NOV-2007采用SDL之前采用SDL之后漏洞总数降低了35%高危漏洞数降低了63%正式发布后12个月内修复的漏洞总数BSI系列模型•BSI——使安全成为软件开发必须的部分•在整个软件开发生命周期中要确保将安全作为软件的一个有机组成部分。•无须改变你的软件开发方法•适用各种软件开发生命周期•合作•NIST•美国国土安全部•大学(加州大学戴维斯分校、普林斯顿、莱斯…)31接触点模型•接触点,即在软件开发生命周期中保障软件安全•一套最优方法、一种战术性方法•在每一个开发阶段上尽可能地避免和消除漏洞•“黑帽子”和“白帽子”32SSF•SSF(SoftwareSecurityFramework)•软件安全框架33监管信息/情报SSDL接触点部署策略和度量攻击模式架构分析渗透测试履约和策略安全特征和设计代码审计软件环境培训标准和需求安全测试配置管理和漏洞管理BSIMM•BSI成熟度模型•BuildingSecurityInMaturityMode•GaryMcGraw、BrianChess和SammyMigues•使用SSF对所有项目进行描述•了解别人的安全项目过程,指导自己的安全项目•目标•是对真实的软件安全项目所开展的活动进行量化•构建和不断发展软件安全行动的指南•BSIMM3.0•2011年•42个公司(Microsoft、Intel、Google、…)34CLASP•综合的轻量应用安全过程(Comprehensive,LightweightApplicationSecurityProcess(CLASP))•选取了30个
本文标题:CISP软件安全开发(含真题)201608
链接地址:https://www.777doc.com/doc-2905926 .html