程序员网站设计报告-软件开发安全考试题及答案

软件开发安全试卷及答案 1. 以下关于软件安全开发中的BSI(Build Security In)系列模型的说法错误的是? () A. BIS 是指安全内置于软件开发过程中,不是可有可无的,更不是脱离软件开发生命周期 B. 软件安全的三大支柱是风险管理、软件安全接触点和安全测试(正确答案) C. 软件安全接触点是软件开发生命周期中一组轻量级且最重要的组成部分 最优工程方法,提供了从不同角度保证安全的行为形式 D、BSI系列模型指出应采用工程方法来保证软件安全,即在整个软件开发生命周期中必须把安全作为软件的有机组成部分 2、模糊测试,又称Fuzz测试,是一种通过提供意想不到的输入和监控异常结果来发现软件故障的技术。 以下描述正确的是() A. 模糊测试本质上是黑盒测试(正确答案) B. 模糊测试本质上是白盒测试 C. 模糊测试有时是黑盒测试,有时是白盒测试,具体取决于其采用的测试方法 D. 模糊测试既不是黑盒测试,也不是白盒测试 3. 在下列对软件安全问题的描述中,哪一项应该是由软件设计缺陷引起的? () A.设计三层WEB架构,但软件存在SQL注入漏洞,导致被黑客攻击后直接访问数据库。 B、C语言开发时,使用了一些存在安全问题的字符串处理函数,导致缓冲区溢出漏洞。 C、设计了缓存。 采用用户隐私数据机制来提升系统处理性能,导致软件发布运行后黑客攻击获取用户隐私数据(正确答案)。 D、使用了符合要求的密码算法,但是在使用算法socket时,没有按照要求生成密钥,从而导致黑客攻击成功,可以得到明文数据 4.最小权限是软件安全设计的基本原则。 在设计应用程序时,设计者给出了以下四种策略,其中一种策略违反了最小特权。作为评审专家,请强调一下是哪一种? () A、当软件基于Linux时,运行时设置为使用nobody用户来运行实例。 B、软件的日志备份模块需要备份所有数据库数据,因此在备份模块运行时,使用数据库备份操作员账号连接数据库 C、软件的日志模块使用日志用户账号来连接数据库连接数据库,因为需要将日志信息写入数据库中的日志表中。 该账户只有日志表D的权限。为了保证软件在Windows下能够稳定运行,请将操作权限设置为system,以保证系统正常运行,不会因为权限不足而出现操作错误(正确答案)1块钱就可以买到价值1000元的产品。 经过分析,是因为设计时是基于性能考虑,浏览时使用了Http协议。 攻击者伪造数据包,从而改变添加到购物车中的产品的价格。 攻击者利用该漏洞,以1元的价格将价值1000元的产品添加到购物车中,且付款时没有验证环节,从而导致上述问题。 网站上出现此问题的原因分析及解决方案。

最正确的说法应该是? ()A。 这个问题的形成是由于使用了不安全的合约造成的。 为了防止类似问题再次发生,整个网站应该重新构建安全性,并且要求所有访问都使用 httpsB 。 本题形成是因为网站开发前未进行恐吓建模等相关工作或工作不到位,未发现恐吓行为并采取相应减少措施(正确答案) C.本题形成因为编码缺陷。 通过对网站进行更改并在订单付款时验证产品的价格。 D.这个问题的形成不是网站的问题。 应向警方报案,寻求警方介入,严惩施暴者。 6、关于源代码初步审查,下列说法正确的是() A、人工初步源代码审查效率较低,但通过多人并行分析完全可以弥补这个缺点。 B. 源代码初始审查通过提供意外输入和监控异常结果来检测软件故障,从而定位可能导致安全漏洞的弱点 C. 使用工具进行源代码初始审查,快速、准确,已取代传统的人工审核 D. 源代码初步审核是检测和分析源代码,检测并报告源代码中可能存在的导致安全漏洞的弱点(正确答案) 7. 以下哪种说法是正确的() A. 验收测试由参与方和用户按照用户指南进行 B. 软件测试的目的是验证软件功能是否正确 C. 监理工程师应根据相关标准对提交的测试计划进行审核,并提出评审意见(正确答案) D、软件测试计划从软件设计阶段开始,到软件开发阶段完成 8.微软提出了STRIDE模型,其中R Repudiation是Repudiation的缩写。 该安全要求的错误是() A、用户登录系统并下载数据后,声明“我没有下载数据”。 软件系统中的这些威胁属于R威胁B。解决R威胁可以选择使用不可否认服务技术来解决,如强认证、数字签名、安全审计等技术措施。C威胁是STRIDE的六种威胁中第三严重的威胁,D威胁和E恐吓的严重程度较高(正确答案)D。解决R恐吓也应该按照确定建模对象的四个步骤进行,识别恐吓、评估恐吓并减少恐吓。 在系统设计阶段,为了保证用户账户的安全,项目开发商决定不仅采用用户名和密码的认证方式,而且在用户登录时添加基于数字证书的身份认证功能。同时,用户密码采用SHA-1算法加密并存储在后台数据库中。 其中安全设计原则()A、最小特权原则B、职责分离原则C、深度防御原则(正确答案)D、最小共享机制原则10、下列关于恐吓建模过程的步骤叙述不正确的是()A威胁建模的主要过程包括四个步骤:确定建模对象、识别恐吓、评估恐吓和减少恐吓 B.评估恐吓是分析恐吓并评估被利用和攻击的概率,了解资产受损的后果C.减少恐吓是根据恐吓的评估结果,确定是否消除恐吓以及减少恐吓的技术措施。 可以通过重新设计直接消除恐吓,也可以设计技术手段减少恐吓。

D. 威胁识别是检测威胁存在的组件或进程。 它可能是恶意的,并且威胁是一个漏洞。 (正确答案) 11、某公司开发了一个游戏网站,但由于网站软件存在漏洞,在网络中传输大数据包时总会丢失一些数据。 例如,当一次传输小于2000字节的数据时,总共会有3到5个字节无法传输给对方。 针对该案例,可以推测() A. 网站软件在保密性方面存在安全问题 B. 网站软件在完整性方面存在安全问题(正确答案) C. 网站软件在完整性方面存在安全问题可用性 D. 网站软件在不可否认性方面存在安全问题 12. 以下哪种说法正确的是( ) A. 验收测试由参与方和用户根据用户指南进行 B. 软件的用途测试的目的是验证软件功能是否正确。 C. 监理工程师应根据相关标准对提交的测试计划进行审核,并提供审核意见(正确答案) D. 软件测试计划在软件设计阶段开始,在软件开发第13阶段完成。 Gary博士McGraw和他的合作者提出,软件安全BSI模型应该由三大支柱支撑,分别是()A、源代码初步审查、风险分析和渗透测试B、应用程序风险管理、软件安全接触点和安全知识(正确答案) C. 威胁建模、渗透测试和软件安全接触点 D. 威胁建模、源代码初审和模糊测试 14. 下列哪一项不是针对常见威胁对应的减少措施() A. 仿冒 B. 为了为了防止传输的信息被篡改,发送方和接收方可以使用双向哈希函数来验证数据的完整性。 C. 为了防止发送方确认原来发送的消息,发送方和接收方可以使用消息验证(正确答案) D. 为了防止用户增加权限,可以使用访问控制表来管理权威。 15. 下列关于模糊测试流程的说法正确的是() A. 模糊测试的疗效和覆盖范围,与输入样本的选择无关 B. 为了保证安全测试的疗效和自动化流程,关键是记录现场发现的异常情况,系统可能很难恢复异常状态以供后续测试。 C.通过异常样本关注异常情况,人工分析异常原因,判断是否是潜在安全漏洞,如果是安全漏洞,需要进一步分析其危害性、影响范围和修复建议(正确)答案)D.对于可能形成的大量异常报告,需要对所有异常报告进行人工分析 16、单位开发了一个为互联网提供服务的应用网站。 单位委托软件评测机构对软件进行源代码分析、模糊测试等软件安全测试。 渗透测试,作为安全总监,需要向领导提出渗透测试相对于源代码测试和模糊测试的优势来做出决策。 以下哪一项是渗透测试的优点? () A. 渗透测试是基于攻击者的思维 通过模拟真实的攻击,可以检测出配置错误等运维期间形成的漏洞(正确答案) B. 渗透测试是替代人工的测试方法与软件配合,测试效率更高。 C. 渗透测试采用手动测试。 不依赖软件,所以测试更准确 D.渗透测试时必须检查软件的源代码,所以测试时发现的漏洞更多。 17、软件安全设计和开发应考虑用户隐私包。 哪一个是错误的? () A. 告诉用户需要收集哪些数据以及收集的数据将如何使用。 B. 当由于某种原因要使用用户的数据时,给予用户允许的选项。 C. 用户提交的用户名和密码属于隐私数据,其他不属于(正确答案) D. 确保数据的使用符合相关国家、地方和行业法律法规。 18.软件安全的思想是将风险管理的思想落实到软件的整个生命周期中,在有限资源的前提下实现软件安全的最优保护,避免因保护不足而造成的直接损失,还需要注意过度保护带来的间接损失。

程序员网站设计报告_网站报告书_制作网页报告

下列软件安全开发策略中,不符合软件安全保障思想的是()A、软件项目立项时考虑软件安全相关费用,安全测试相关费用资金中预留安全审查,确保安全资金落实到位。 B. 在软件安全设计中,邀请软件安全开发专家对软件架构设计进行评审,及时发现架构设计中的安全缺陷。 C. 确保对软编码人员进行安全培训,使开发人员了解安全编码的基本原理和方法,确保开发人员编译出安全的代码 D. 在软件上线前对软件进行全面的安全测试,包括源代码分析、模糊测试和渗透测试。 上面没有经过测试的软件是不允许上线的(正确答案) 19.一些 在电子商务网站的开发设计中,利用威胁建模来分析电子商务网站面临的威胁。 STRIDE是Google SDL中提出的一种威胁建模方法,将威胁分为六类,并在STRIDE中规定Spoofing是一种误导性威胁。 以下哪些威胁可以归类为此类威胁? () A. 网站竞争对手可能雇佣攻击者进行DDoS攻击,降低网站访问率 B. 网站通过http协议进行浏览等操作,未对数据进行加密,可能会导致用户传输信息泄露,例如订购的商品数量。 篡改 D. 网站使用用户名和密码进行登录验证。 攻击者可能利用弱口令或其他方式获取用户密码,并以用户身份登录更改用户订单等信息(正确答案) 20、关于软件安全开发生命周期(SDL),下列说法错误的是() A. 软件开发的每个周期都必须考虑安全激励 B. 软件安全开发生命周期必须综合采用技术、管理和工程方法 C. 测试阶段是发现和纠正软件安全漏洞、检查和修复的最佳环节太早或太晚改变漏洞都会降低软件开发成本(正确答案) D. 在设计阶段尽可能地发现并纠正安全风险,将大大降低整个软件开发成本 21. 某单位开发一个应用网站,提供互联网服务。 单位委托软件评测机构对软件进行源代码分析、模糊测试等软件测试。 在应用上线之前,项目经理提出要对应用网站进行渗透测试,作为安全总监,需要向领导提出渗透测试相对于源代码测试和模糊测试的优势,以使得决定。 以下哪项是渗透的优点? () A. 渗透测试采用手动测试,不依赖软件程序员网站设计报告,因此测试更加准确。 B、渗透测试是一种用软件代替手工测试的测试方法。

制作网页报告_程序员网站设计报告_网站报告书

因此,测试效率更高。 C. 渗透测试利用攻击者的思维来模拟真实的攻击,可以检测出配置错误等运维期间形成的漏洞(正确答案) D. 渗透测试时需要查看软件源代码,因此在测试过程中发现的漏洞较多 22.下列关于软件安全测试的说法正确的是() A.软件安全测试是黑盒测试 B.FUZZ 测试是经常使用的安全测试方法之一(正确答案) C. 注重软件安全测试 更重要的是软件的功能 D. 软件安全测试可以检测出软件中形成的所有安全问题 23. 某软件公司打算提高其开发的软件的安全性,发起了一项关于公司内部软件开发生命周期的讨论。 下面发言的观点中,正确的是()A、软件安全开发生命周期长,最重要的是在软件编码中采取安全措施,可以解决90%以上的安全问题。 B、在软件开发的需求和设计阶段应尽快减少某些安全措施,这样软件发布后修补bug的成本才能少很多。 (正确答案) C. 与传统的软件开发阶段相比,微软提出的安全开发生命周期(SDL)最大的特点是减少了专门的安全编码阶段。 D. 软件安全测试也很重要。 考验程序员的专业水平。 如果开发者已经对软件进行了安全测试,则无需组织第三方进行安全测试。 24. 某个网站的设计经过了威胁建模和攻击面分析。 在开发过程中,要求程序员编写安全的代码,但在部署过程中,由于管理员将备份保存在WEB目录下,攻击者可以直接下载备份,以便查明系统是否存在其他类似问题,测试方法是最好的测试方法。

程序员网站设计报告_制作网页报告_网站报告书

() A. 模糊测试 B. 源代码测试 C. 渗透测试(正确答案) D. 软件功能测试 25. 下列哪项属于软件开发安全问题() A. 软件所需服务的性能部署不好,导致软件执行效率低。 B、应用软件考虑多线程技术,在为用户服务时排队按顺序提供服务。 C、应用软件存在SQL注入漏洞。 如果黑客使用它,他们可以窃取数据库使用的数据(正确答案) D. 软件需要许可证(license),不能安装在多台笔记本电脑上。 26、为了提高Web应用的安全性,某软件开发总监决定加强Web软件安全开发的培训。 以下哪项不予考虑? 肾出血漏洞安全知识培训 C. SQL注入漏洞安全编程培训 D. ARM系统漏洞挖掘安全知识培训(正确答案) 27.微软SDL将软件开发生命周期分为七个阶段,并列出了十七个重要阶段安全活动。 其中,“放弃不安全功能”属于安全活动()() A、需求阶段 B、设计阶段 C、实现阶段(正确答案)D、验证阶段 28、由于计算机时经常受到黑客远程攻击针对运行数据采集的现象,某软件公司打算加强软件安全开发的管理。 以下做法中,不直接帮助解决问题的是() A. 要求所有开发人员参加软件安全开发知识培训 B. 要求减少软件源代码 在初审过程中,加强对软件源代码的安全审查软件代码 C. 要求统一使用 Windows 8 系统进行开发,不能使用以前的 Windows 版本(正确答案) D. 需要专业团队进行第三方安全测试,尽量多角度发现软件安全问题 29.关于源代码初审,正确的描述是()A。源代码初审流程符合信息安全保障技术框架模型(IATF),执行过程中应严格按步骤执行。 B.源代码初步审查有利于软件代码的发现 对于软件中存在的安全问题,相关初步审查工具包括商业开源工具(正确答案) C.如果源代码初步审查是为了为了高效,主要依靠人工初步审查而不是工具初步审查,因为人工智能需要人耳来确定D。对源代码的初步审查可以起到很好的安全保障作用。 如果对源代码进行了初步审查,则不需要进行安全测试。 30、微软提出了STRIDE模型,其中R是Repudiation的缩写。 错误的是() A、用户登录系统并下载数据后,声明“我没有下载数据”。 软件R对B进行威胁,用户在网络通信中传输数据后,宣称“这些数据不是我传输的”威胁”,也属于R恐吓。

网站报告书_制作网页报告_程序员网站设计报告

C. 针对 R 威胁,可以选择使用强认证、数字签名、安全审计等技术。 D. 针对 R 威胁,可以选择使用隐私保护、过滤、流量控制等技术(正确答案) 31、当前,应用软件安全已引起越来越多人们的关注,每年新发现的应用软件漏洞占新发现漏洞总数的一半以上。 以下哪个选项与应用软件漏洞的原因无关? () A. 传统的软件开发项目无法充分考虑安全原因。 B、开发者信息安全知识不足。 中间语言更容易出现漏洞(正确答案) D. 应用软件的功能越来越多,软件也越来越复杂,因此更容易出现漏洞 32. 下列哪种模式与此无关用软件安全开发做什么()? () A. Microsoft 提出的“安全开发生命周期(SDL)” B. GrayMcGraw 等人提出的“让安全成为软件开发不可或缺的一部分(Building Security IN,BSI)” C. OWASP 模型维护的“软件保证成熟度” (软件保障成熟度模式,SAMM)》 D.美国提出的《信息保障技术框架(IATF)》(正确答案) 33、某单位门户网站开发完成后,测试人员利用模糊测试来进行安全测试,以下关于模糊测试过程的正确说法是() A. 模拟正常用户输入行为,生成大量数据包作为测试用例 B. 数据处理点、数据通道入口点和可信边界点往往不是测试对象 C. 监控记录 输入数据后程序的正常运行 D. 深入分析网站测试过程中崩溃或异常的原因,必要时需要测试人员手动复现并分析(正确答案) 34.下列关于模糊测试过程的说法正确的是() A.模糊测试的疗效和覆盖能力与输入样本的选择无关。 B、保证安全检测的疗效和自动化过程,关键是记录现场检测到的异常情况。 系统可能很难恢复异常状态以进行后续测试。 C、通过异常样本重现异常,人工分析异常原因,判断是否是潜在的安全漏洞。 若为安全漏洞,需进一步分析其危害性、影响范围及修复建议(正确答案) D.针对大量可能出现的异常情况 35.某单位计划开发办公自动化(OA)系统明年,将通过互联网协调集团公司的办公。 安全开发少,作为安全专家,请强调其中一项不恰当的建议()A.对软件开发者提出安全相关的要求程序员网站设计报告,确保软件开发者对安全给予足够的重视,投入资源解决软件安全问题B。要求软件开发人员进行安全开发培训,使开发人员掌握基本的软件安全开发知识 C. 要求软件开发人员使用 Java 而不是 ASP 作为开发语言,以避免 SQL 注入漏洞(正确答案) D. 要求软件开发人员进行对软件进行模块化设计,明确各模块的输入输出数据格式,并在使用前对数据进行校准,在以下发言观点中,正确的是()A.软件安全开发生命周期长,具有很多阶段,最重要的是在软件编码阶段采取安全措施,可以解决90%以上的问题。 B、在软件开发的需求和设计阶段应尽快减少某些安全措施,这样软件发布后修补bug的成本才能少很多。

(正确答案)C.与传统软件开发阶段相比,微软提出的安全开发生命周期最大的特点是减少了安全编码阶段。 D. 软件安全测试也很重要,考虑到程序员的专业性,如果开发者已经对软件进行了安全测试,就没有必要组织第三方进行安全测试 37. 以下哪项描述了软件安全问题是由软件设计缺陷引起的吗? () A 、设计了三层Web架构,但是软件存在SQL注入漏洞,导致被黑客攻击后可以直接访问数据库B。 使用C语言开发时,使用了一些存在安全问题的字符串处理函数,导致缓冲区溢出漏洞C。为了提高系统处理性能,设计了缓存用户隐私数据的机制,导致软件被黑客获取用户隐私数据(正确)答案)软件发布并运行后。 D、使用了符合要求的密码算法,但使用了算法socket 38、软件存在漏洞和缺陷是不可避免的。 实践中,常用软件缺陷密度(Defects/KLOC)来判断软件的安全性。 假设某个软件共有296000行源代码,总共检测到145个缺陷,则可以估算出软件缺陷密度值为()A、0.00049B、0.049C、0.49(正确答案) D, 49 Google 提出的 STRIDE 模型中,Repudation(否认)的缩写,关于这个安全需求,下面描述的错误是 () A. 用户登录系统并下载数据后,声明“我有未下载数据”,软件系统这些威胁属于R威胁B。解决R威胁,可以选择使用不可否认服务技术来解决,如强认证、数字签名、安全审计等技术措施C R威胁是STRIDE的六种威胁中第三严重的威胁,比D和E恐吓更为严重(正确答案)D.解决R恐吓也应该按照确定建模对象、识别恐吓、评估恐吓以及减少恐吓。 40.关于Google的SDL 原则上放弃不安全功能属于哪个阶段? (()A、规划B、设计C、实现(正确答案)D、测试41、优秀的源代码初审工具有哪些特点()1安全性2多平台3可扩展性4知识5集成性()A ,12345(正确答案)B,234C,1234D,2342,下列关于测试方法的说法不正确的是()A,从某种角度来看,白盒测试和墨粉测试都属于动态测试B,功能测试属于属于黑盒测试C,结构测试属于白盒测试D,功能的测试一般需要考虑程序的内部结构(正确答案) 43、下列哪一项不属于Web应用软件的范畴表示层测试() A、排版结构测试 B、数据完整性测试(正确答案) C、客户端兼容性测试 D、链接结构测试 44.以下一阶段不属于软件开发期() A、详细设计B、总体设计 C、编码 D、需求分析(正确答案) 45、下列关于软件需求管理和需求开发的说法正确的是( ) A、所谓需求管理,是指对需求开发的管理 B、需求management includes: requirements acquisition, requirements analysis, requirements definition and verification of each requirement C. Requirements development is the process of converting user requirements into application system results D. In requirements management, it is required to maintain the original There are requirements and one- way tracking of all product requirements (correct answer) 46. User privacy protection should be considered in software security design and development. Which of the following statements about user privacy protection is wrong? () A. Tell users what data needs to be collected And how the collected data will be used B. When the user's data is to be used for some reason, give the customer a choice whether to allow it or not. C. The user name and password submitted by the user are private data, and the others are not (correct answer) D. Ensure that the use of data complies with the relevant national, local, and industry laws and regulations 47. Which of the following is wrong about the corresponding relationship of software security issues? () A. Defect (Defect) weakness in software implementation and design B. Defect (Bug) - implementation Software problems at the upper level C. Law-a deeper level, design-level problem D. Failure (Failure)-an external manifestation caused by software defects, which is static and occurs during program execution Behavioral performance (correct answer) 48. The maintainability of software can be judged by seven quality characteristics, namely: understandability, testability, modifiability, reliability, portability, usability and efficiency. The focus of type maintenance is also different. The characteristics of maintainability promote each other () A, understandability and testability (correct answer) B, efficiency and portability C, efficiency and modifiability D. Efficiency and understandability 49. Among the following software development models, the model that supports the development of small software systems with unclear requirements and supports multiple software development methods is () A, prototype model B, waterfall model C, Fountain model D. Spiral model (correct answer) 50. The software engineering method originated from the software crisis, and its purpose should be to finally solve the software problem. () A. Quality assurance B. Production crisis C. Production engineering ( Correct answer) D. Development efficiency