




已阅读5页,还剩91页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统安全 中电运行杨贤渠 版本 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 试题 13 1 安全的运行环境是软件安全的基础 操作系统安全配置是确保运行环境安全必不可少的工作 某管理员对即将上线的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系统的安全 试题 25 IS审计师参与应用系统开发 他们从事以下哪项可以导致独立性的减弱 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 盖茨安全开发生命周期SDLSDL即SecurityDevelopmentLifecycle SDL 是微软提出的从安全角度指导软件开发过程的管理模式 SDL不是一个空想的理论模型 它是微软为了面对现实世界中安全挑战 在实践中的一步步发展起来的模式 软件安全开发周期SDL的核心理念就是将软件安全的考虑集成在软件开发的每一个阶段需求分析 设计 编码 测试和维护 27 SDL发展历史 2002 1 今20世纪90年代中期到后期 Melissa 和21世纪初期 CodeRed Nimda UPnP等 出现了一系列影响重大的恶意软件事件 促使微软重新考虑开发人员安全过程和策略 28 SDL的阶段和安全活动 软件安全开发生命阶段5 2个阶段16项必需的安全活动 29 IE采用SDL后的效果 30 Source BrowserVulnerabilityAnalysis MicrosoftSecurityBlog27 NOV 2007 采用SDL之前 采用SDL之后 漏洞总数降低了35 高危漏洞数降低了63 正式发布后12个月内修复的漏洞总数 BSI系列模型 BSI 使安全成为软件开发必须的部分在整个软件开发生命周期中要确保将安全作为软件的一个有机组成部分 无须改变你的软件开发方法适用各种软件开发生命周期合作NIST美国国土安全部大学 加州大学戴维斯分校 普林斯顿 莱斯 31 接触点模型 接触点 即在软件开发生命周期中保障软件安全一套最优方法 一种战术性方法在每一个开发阶段上尽可能地避免和消除漏洞 黑帽子 和 白帽子 32 SSF SSF SoftwareSecurityFramework 软件安全框架 33 BSIMM BSI成熟度模型BuildingSecurityInMaturityModeGaryMcGraw BrianChess和SammyMigues使用SSF对所有项目进行描述了解别人的安全项目过程 指导自己的安全项目目标是对真实的软件安全项目所开展的活动进行量化构建和不断发展软件安全行动的指南BSIMM3 02011年42个公司 Microsoft Intel Google 34 CLASP 综合的轻量应用安全过程 Comprehensive LightweightApplicationSecurityProcess CLASP 选取了30个特定的基于角色的活动 activities 用于提升整个开发团队的安全意识 并针对这些活动给出了相应的指南 导则和检查列表 35 CLASP介绍 基于角色项目经理 需求分析师 软件架构师 设计者 实施人员 集成和编译人员 测试者和测试分析师 安全审计员对于每个活动 CLASP描述了以下内容安全活动应该在什么时间 应该如何实施如果不进行这项安全活动 将会带来的多大的风险如果实施这项安全活动 估计需要多少成本 36 SAMM OWASPSAMMSoftwareAssuranceMaturityMode软件保证成熟度模型OWASP 开放Web应用安全项目 一个开放的框架 用以帮助制定并实施针对软件安全特定风险的策略评估一个组织已有的软件安全实践 建立一个迭代的权衡的软件安全保证计划 证明安全保证计划带来的实质性改善 定义并衡量组织中与安全相关的措施 37 SAMM 规定了四个软件开发过程中的核心业务功能治理 组织管理其软件开发的过程和活动构造 组织在开发项目中确定目标并开发软件的过程与活动验证 组织测试和验证软件的过程与活动部署 组织软件发布的相关管理过程与活动4个成熟度级别0 3级 38 各模型比较 39 试题 40 以下哪个选项不是防火墙技术 a IP地址欺骗防护b NATc 访问控制d SQL注入攻击防护答案D消息在发送前 用发送者的私钥加密消息内容和它的哈希 hash 或译作 杂选 摘要 值 能够保证 a 消息的真实性和完整性b 消息的真实性和保密性c 消息的完整性和保密性d 保密性和防抵赖性答案A为增强Web应用程序的安全性 某软件开发经理决定加强Web软件安全开发培训 下面哪项内容要在他的考虑范围内 a 关于网站身份签别技术方面安全知识的培训b 针对OpenSSL心脏出血漏洞方面安全知识的培训c 针对SQL注入漏洞的安全编程培训d 关于ARM系统漏洞挖掘方面安全知识的培训 试题 41 下面哪项属于软件开发安全方面的问题 a 软件部署时所需选用服务性能不高 导致软件执行效率低b 应用软件来考虑多线程技术 在对用户服务时按序排队提供服务c 应用软件存在sql注入漏洞 若被黑客利用能窃取数据库所用数据d 软件受许可证 license 限制 不能在多台电脑上安装某网站在设计时经过了威胁建模和攻击面分析 在开发时要求程序员编写安全的代码 但是在部署时由于管理员将备份存放在WEB目录下导致了攻击者可直接下载备份 为了发现系统中是否存在其他类拟问题 以下哪种测试方式是最佳的测试方法 a 模糊测试b 源代码测试c 渗透测试d 软件功能测试答案C由于频繁出现软件运行时被黑客远程攻击获取数据的现象 某软件公司准备加强软件安全开发管理 在下面做法中 对于解决问题没有直接帮助的是 a 要求所有的开发人员参加软件安全开发知识培训b 要求增加软件源代码审核环节 加强对软件代码的安全性审查c 要求统一采用Windows8系统进行开发 不能采用之前的Windows版本d 要求邀请专业队伍进行第三方安全性测试 尽量从多角度发现软件安全问题 试题 42 微软SDL将软件开发生命周期制分为七个阶段 并列出了十七项重要的安全活动 其中 弃用不安全的函数 属于 的安全活动a 要求 Rapuiroments 阶段b 设计 Design 阶段c 实施 Implenpentation 阶段d 验证 Verifcation 阶段某公司开发了一个游戏网站 但是由于网站软件存在漏洞 在网络中传输大数据包时总是会丢失一些数据 如一次性传输大于2000个字节数据时 总是会有3到5个字节不能传送到对方 关于此案例 可以推断的是 a 该网站软件存在保密性方面安全问题b 该网站软件存在完整性方面安全问题c 该网站软件存在可用性方面安全问题d 该网站软件存在不可否认性方面安全问题 试题 43 在提高阿帕奇系统 ApacheHTTPServer 系统安全性时 下面哪项措施不属于安全配置内容 a 不在Windows下安装Apache 只在Linux和Unix下安装b 安装Apache时 只安装需要的组件模块c 不使用操作系统管理员用户身份运行Apache 而是采用权限受限的专用用户账号来运行d 积极了解Apache的安全通告 并及时下载和更新下面哪一种关于安全的说法是不对的 a 加密技术的安全性不应大于使用该技术的人的安全性b 任何电子邮件程序的安全性不应大于实施加密的计算机的安全性c 加密算法的安全性与密钥的安全性一致d 每个电子邮件消息的安全性是通过用标准的非随机的密钥加密来实现 试题 44 某网站为了更好向用户提供服务 在新版本设计时提供了用户快捷登录功能 用户如果使用上次的IP地址进行访问 就可以无需验证直接登录 该功能推出后 导致大量用户账号被盗用 关于以上问题的说法正确的是 a 网站问题是由于开发人员不熟悉安全编码 编写了不安全的代码 导致攻击面增大 产生此安全问题b 网站问题是由于用户缺乏安全意识导致 使用了不安全的功能 导致网站攻击面增大 产生此问题c 网站问题是由于使用便利性提高 带来网站用户数增加 导致网站攻击面增大 产生此安全问题d 网站问题是设计人员不了解安全设计关键要素 设计了不安全的功能 导致网站攻击面增大 产生此问题在对某面向互联网提供服务的某应用服务器的安全检测中发现 服务器上开放了以下几个应用 除了一个应用外其他应用都存在明文传输信息的安全问题 作为一名检测人员 你需要告诉用户对应用进行安全整改以外解决明文传输数据的问题 以下哪个应用已经解决了明文传输数据问题 a SSHb HTTPc FTPd SMTP答案A 试题 45 S公司在全国有20个分支机构 总部有10台服务器 200个用户终端 每个分支机构都有一台服务器 100个左右用户终端 通过专网进行互联互通 公司招标的网络设计方案中 四家集成商给出了各自的IP地址规划和分配的方法 作为评标专家 请给S公司选出设计最合理的一个 a 总部使用服务器 用户终端统一作用10 0 1 X 各分支机构服务器和用户终端使用192 168 2 X 192 168 20 Xb 总部使用服务器使用10 0 1 1 11 用户终端使用10 0 1 12 212 分支机构IP地址随意确定即可c 总部服务器使用10 0 1 X 用户终端根据部门划分使用10 0 2 X 每个分支机构分配两个A类地址段 一个用做服务器地址段 另外一个做用户终端地址段d 因为通过互联网连接 访问的是互联网地址 内部地址经NAT映射 因此IP地址无需特别规划 各机构自行决定即可在软件保障成熟度模型 SoftwareAssuranceMaturityMode SAMM 中 规定了软件开发过程中的核心业务功能 下列哪个选项不属于核心业务功能 a 治理 主要是管理软件开发的过程和活动b 构造 主要是在开发项目中确定目标并开发软件的过程与活动c 验证 主要是测试和验证软件的过程与活动d 购置 主要是购买第三方商业软件或者采用开源组件的相关管理过程与活动 试题 46 关于软件安全开发生命周期 SDL 下面说法错误的是 a 在软件开发的各个周期都要考虑安全因素b 软件安全开发生命周期要综合采用技术 管理和工程等手段c 测试阶段是发现并改正软件安全漏洞的最佳环节 过早或过晚检测修改漏洞都将增大软件开发成本d 在设计阶段就尽可能发现并改正安全隐患 将极大减少整个软件开发成本 知识域 软件安全开发关键工作 知识子域 软件安全需求和设计了解软件安全需求分析和安全设计的重要性理解软件安全设计基本原则理解影响系统安全性的6类威胁 以及威胁建模过程 47 软件安全需求及安全设计的重要性 安全编码 安全测试 传统方法 软件发布后测试 等待修复Bug安全提前介入 效益高 成本低 48 设计缺陷 举例明文存储口令 甚至将口令拿到客户端对比验证SQL注入越权访问 验证机制不完善上传漏洞 软件安全需求及安全设计的重要性 软件安全需求和设计是开发安全软件的基础软件安全需求分析以风险管理为基础 建立 威胁 分析计划建立软件安全需求定义 确保软件安全需求定义正确安全需求应文档化软件安全设计软件系统的每一项需求 都应该在软件安全设计阶段认真考虑 49 安全设计原则 最小特权 只分配所需的权限权限分离 不允许根据单一条件执行操作最小共享完全中立 不偏重任何技术手段的原则心理可接受 他们将使用它吗 默认故障处理 出故障时自动关闭 无单点故障经济机制 保持简单 易懂的特性不信任纵深防御保护最薄弱的环节公开设计 假设攻击者具有源代码和规格隐私保护攻击面最小化 50 受攻击面概念 什么是受攻击面对一个软件系统可以采取的攻击方法集合 软件的功能 API 接口 资源 数据存储等都是受攻击面为什么要降低受攻击面一个软件的攻击面越大安全风险就越大房子门窗越多 被入侵的可能性更高 51 降低受攻击面的方法 第一步 分析产品功能的重要性 是否必须 第二步 分析从哪里访问这些功能第三步 采取合理措施 降低特权 52 降低软件受攻击面策略 重要等级为低的功能 攻击面大 取消该功能重要等级为中的功能 攻击面大 设置为非默认开启 需要用户配置后才予以开启重要等级为高的功能 攻击面大 关闭或限制一些接口方式 增加一些安全的保证措施或技术 53 降低受攻击面对于提高软件源代码安全性至关重要 减少软件受攻击面 54 威胁建模 什么是威胁建模威胁建模是了解系统面临的安全威胁 确定威胁风险并通过适当的缓解措施以降低风险 提高系统安全性的过程 为什么要威胁建模帮助在设计阶段充分了解各种安全威胁 并指导选择适当的应对措施对可能的风险进行管理可以重新验证其架构和设计有助于软件的受攻击面降低威胁建模使得您可以对最可能影响系统的威胁进行系统地识别和评价 55 威胁建模 为什么要用威胁建模 无论您是构建新系统还是更新现有系统 都需要考虑入侵者攻击系统的可能方式 然后在系统的设计和实施阶段构建适当的防御手段 Microsoft通过称作威胁建模的技术来进行安全系统设计 这种技术对系统设计和体系结构进行系统化的检查 以发现和更正设计级的安全性问题 威胁建模是安全性开发生命周期 SecurityDevelopmentLifecycle 项目不可或缺的一部分 56 威胁建模流程 确定对象识别威胁评估威胁消减威胁 57 威胁 降低威胁 漏洞 攻击者 威胁建模流程 标识资源 找出系统必须保护的有价值的资源 创建总体体系结构 利用简单的图表来记录应用程序的体系结构 包括子系统 信任边界和数据流 分解应用程序 分解应用程序的体系结构 包括基本的网络和主机基础结构的设计 从而为应用程序创建安全配置文件 安全配置文件的目的是发现应用程序的设计 实现或部署配置中的缺陷 识别威胁 牢记攻击者的目标 利用对应用程序的体系结构和潜在缺陷的了解 找出可能影响应用程序的威胁 记录威胁 利用通用威胁模板记录每种威胁 该模板定义了一套要捕获的各种威胁的核心属性 评价威胁 对威胁进行评价以区分优先顺序 并首先处理最重要的威胁 这些威胁带来的危险最大 评价过程要权衡威胁的可能性 以及攻击发生时可能造成的危害 评价的结果可能是 通过对比威胁带来的风险与为使威胁得到减少所花费的成本 对于某些威胁采取的行动是不值得的 58 STRIDE建模方法 STRIDE建模微软SDL中提出发现或纠正设计级 design level 的安全问题一种确保应用程序具有这些属性的方法是使用STRIDE进行威胁建模 STRIDE是Spoofing 假冒 Tampering 篡改 Repudiation 否认 InformationDisclosure 信息泄漏 DenialofService 拒绝服务 和ElevationofPrivilege 提升权限 的字母缩略词 59 理解STRIDE威胁 60 消减威胁举例 61 消减威胁 试题 62 数据在进行传输前 需要由协议栈自上而下对数据进行封装 TCP IP协议中 数据封装的顺序是 a 传输层 网络接口层 互联网络层b 传输层 互联网络层 网络接口层c 互联网络层 传输层 网络接口层d 互联网络层 网络接口层 传输层以下关于PGP PrettyGoodPrivacy 软件叙述错误的是 a PGP可以实现对邮件的加密 签名和认证b PGP可以实现数据压缩c PGP可以对邮件进行分段和重组d PGP采用SHA算法加密邮件微软提出了STRIDE模型 其中R是Repudiation 抵赖 的缩写 关于此项错误的是 a 某用户在登录系统并下载数据后 却声称 我没有下载过数据 软件R威胁b 某用户在网络通信中传输完数据后 却声称 这些数据不是我传输的 威胁也属于R威胁 c 对于R威胁 可以选择使用如强认证 数字签名 安全审计等技术d 对于R威胁 可以选择使用如隐私保护 过滤 流量控制等技术 试题 63 以下关于软件安全测试说法正确的是 a 软件安全测试就是黑盒测试b Fuzz测试是经常采用的安全测试方法之一c 软件安全测试关注的是软件的功能d 软件安全测试可以发现软件中产生的所有安全问题下面哪个模型和软件安全开发无关 a 微软提出的 安全开发生命周期 SecurityDevelopmentLifecycle SDL b GrayMcGraw等提出的 使安全成为软件开发必须的部分 BuildingSecurityIN BSI c OWASP维护的 软件保证成熟度模型 SoftwareAssuranceMaturityMode SAMM d 美国提出的 信息安全保障技术框架 InformationAssuranceTechnicalFramework IATF 试题 64 微软提出了STRIDE模型 其中R是Repudiation 抵赖 的缩写 关于此项安全要求 下面描述错误的是 a 某用户在登录系统并下载数据后 却声称 我没有下载过数据 软件系统中的这种威胁就属于R威胁b 解决R威胁 可以选择使用抗抵赖性服务技术来解决 如强认证 数字签名 安全审计等技术措施c R威胁是STRIDE六种威胁中第三严重的威胁 比D威胁和E威胁的严重程度更高d 解决R威胁 也应按照确定建模对象 识别威胁 评估威胁以及消减威胁等四个步骤来进行 知识域 软件安全开发关键工作 知识子域 软件安全编码理解通用安全编码准则 验证输入 避免缓冲区溢出 程序内部安全 安全调用组件 禁止使用不安全函数等理解使用安全编译技术对提高编码安全水平的作用 了解常用安全编译技术理解源代码审核的目的及方式 了解常见源代码静态审核工具 65 通用安全编码准则 验证输入避免缓冲区溢出程序内部安全安全调用组件禁止使用不安全函数 66 验证输入 安全程序第一道防线是检查每一个不可信的输入难以检查所有的输入 可能导致IE被恶意利用检查 验证或者过滤输入不让恶意数据进入程序后续处理类似网络中部署防火墙何处检查最初接收数据时 第一次 使用数据时 67 验证输入 常见输入源 命令行参数数量 数据格式 内容环境变量环境变量可能超出期望有的环境变量存储格式存在危险文件不信任可以被不可信用户控制的文件内容不信任临时文件网络来自网络的数据是 高度不可信的 其他来源 68 验证输入 常见数据类型 数字数字检查 正则表达式 ASCII值 负数检查 大数溢出为负数 Sendamil攻击合法范围检查文件名最好不让用户设置文件名避免特殊字符 69 验证输入 常见数据类型 电子邮件地址非法的电子邮件地址UTF 8变长编码URI URL非法地址在合法地址后面增加恶意内容畸形数据包 70 避免缓冲区溢出 缓冲区溢出 是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量 溢出的数据覆盖在合法数据上 理想的情况是 程序会检查数据长度 而且并不允许输入超过缓冲区长度的字符 但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配 这就为缓冲区溢出埋下隐患 操作系统所使用的缓冲区 又被称为 堆栈 在各个操作进程之间 指令会被临时储存在 堆栈 当中 堆栈 也会出现缓冲区溢出 是一个非常普遍而且严重的问题缓冲区溢出是一种非常普遍 非常危险的漏洞 在各种操作系统 应用软件中广泛存在 利用缓冲区溢出攻击 可以导致程序运行失败 系统宕机 重新启动等后果 更为严重的是 可以利用它执行非授权指令 甚至可以取得系统特权 进而进行各种非法操作 恶意攻击者常用溢出漏洞提升权限 并以管理员权限执行非法操作 71 缓冲区溢出后果 溢出后果攻击者可以使远程服务程序或者本地程序崩溃攻击者可以设计溢出后执行的代码C C 语言语言特性决定大量的库函数存在溢出其他语言调用C语言库C 允许设置 不安全 例程 72 避免缓冲区溢出 解决办法 解决办法编码避免缓冲区溢出填充数据时计算边界 动态分配内存 控制输入使用替代的安全函数或函数库使用没有缓冲区溢出问题的函数 strncpy strncat C 中std string使用替代库 Libmib libsafe使用更新更安全的编译环境 打开具有安全防御机制的安全编译选项StackGuard ProPolice GS非执行的堆栈防御不可在堆栈上执行代码 73 程序内部安全 程序内部接口安全程序内部接口数据的检查异常安全处理检测异常 安全处理各种可能运行路径检测到某些错误行为 数据 必须以合适的方式处理 保证程序运行安全必要时立即拒绝服务 甚至不回送详细的错误代码 74 程序内部安全 最小化反馈避免给予不可靠用户过多的信息成功或失败作为跟踪检查的日志可以记录较为详细的信息认证程序在认证前尽量少给信息 版本 如果程序接受了密码 不要返回它避免拒绝服务攻击输入错误尽快返回设置超时延时服务 75 程序内部安全 避免竞争条件访问共享资源时 文件 变量 没有被适当地控制使用原子操作使用锁操作 避免死锁安全使用临时文件很多安全漏洞发生在访问已知文件名或可猜测的临时文件时 76 安全调用其他组件 应用程序实际上几乎都不会是自包含的 它们通常都会调用其他组件底层的操作系统数据库可重用的库网络服务 WEB DNS 77 安全调用其他组件 组件安全检查组件文档 搜索相关说明gets随机数使用经过认可的组件尽可能不调用外部命令 如果不得已要调用 必须严格检查参数system open exec 78 安全调用其他组件 返回值安全一定要检查返回值 调用是否成功成功时检查返回值 是否按照期望值处理数据中可能含有NUL字符 无效字符或其他可能产生问题的东西错误时检查错误码传递数据安全视安全需求和安全环境考虑传输加密 包括密码算法和安全协议 79 安全编译 使用最新版本编译器与支持工具使用编译器内置防御特性gcc Wall Wpointer arith Wstrict prototypes O2 80 源代码审核 源代码审核就是检查源代码 检测并报告源代码中的可能导致安全弱点的薄弱之处 人工审核费时费力容易遗漏工具审核速度快 自动可升级知识库 81 源代码审核关注编码中的实现缺陷 通常通过静态分析工具进行 它们扫描源代码 能够发现大约50 的安全问题 代码审核工具 商业工具CoverityFortifyOunceLabsSecureSoftware免费 开源工具BOONCqualXg FindBugs 82 好 的源代码分析工具 安全性安全审核 不要以功能为主多层性软件的多层架构 多层平台 多种语言可扩展性扩展规则 扩展技术知识性主用于分析 开发者也能 学到 安全编程知识集成性支持与IDE集成 支持make ant等工具 83 知识域 软件安全开发关键工作 知识子域 软件安全编码理解通用安全编码准则 验证输入 避免缓冲区溢出 程序内部安全 安全调用组件 禁止使用不安全函数等理解使用安全编译技术对提高编码安全水平的作用 了解常用安全编译技术理解源代码审核的目的及方式 了解常见源代码静态审核工具 84 为什么要软件安全测
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- HB-0017-生命科学试剂-MCE
- Glycochenodeoxycholic-acid-3-sulfate-d4-disodium-生命科学试剂-MCE
- 安全培训效果评价方法课件
- 2025恒丰银行成都分行春季校园招聘考前自测高频考点模拟试题附答案详解
- 安全培训效果记录课件
- 财务共享服务协议
- 医疗健康产业科技创新方向
- 视频会议与远程协作综合工具
- 自然中的发现作文(4篇)
- 2025春季中国有研科技集团有限公司校园招聘考前自测高频考点模拟试题有答案详解
- 年6万吨废植物油回收利用项目立项申请报告
- 富贵包形成原因及治疗方法
- 电动起子使用教程
- 10000中国普通人名大全
- 高中数学《组合》公开课优秀课件
- 钢铁冶金学(炼钢学)课件
- 历史虚无主义课件
- 毕业论文范文3000字(精选十六篇)
- 南京力学小学苏教版六年级上册数学《分数乘分数》公开课课件
- 陶艺制作过程介绍教学课件(共48张)
- 发动机构造第7章 发动机总体结构
评论
0/150
提交评论