软件安全复习题
一、选择题
1、目前对软件通俗的解释为(  A  )
A、软件= 程序+ 数据+文档资料          B、软件= 程序+ 方法+规则
C、软件= 程序+ 数据+方法              D、软件= 程序+ 数据+规则
2、Windows的三个主要子系统是(  D )
A、应用系统、数据系统、内核系统        B、数据库系统、应用程序、系统程序
C、Kernel、User和API                D、Kernel、User和GDI
3、安全软件的核心属性有(  A )
A、保密性、完整性、可用性、责任性、抗抵抗性
B、保密性、完整性、可用性、可预测性、正确性
C、保密性、完整性、可用性、可依赖性、可靠性
D、保密性、完整性、可用性、复杂性、可追踪性
4、在安全知识中攻击模式采用较(  C  )来描述常见的攻击程序,这种形式能够应用于跨越多个系统的情形。
A、实例化的形式  B、代码扫描的形式  C、抽象的形式  D、安全原则至上的形式
5、软件安全切入点指的是在软件开发生命周期中保障软件安全的一套最佳实际操作方法。这一套最佳实践方法包括:(  A  )
A、代码审核,体系结构风险分析,渗透测试,基于风险的安全测试,滥用案例,安全需求和安全操作。
B、代码审核,体系结构风险分析,黑箱测试,基于风险的安全测试,滥用案例,安全需求和安全操作。
C、安全原则,体系结构风险分析,黑箱测试,基于风险的安全测试,滥用案例,安全需
求和安全操作。
D、代码审核,体系结构风险分析,fuzz测试,基于风险的安全测试,滥用案例,安全需求和安全操作。
6、描述性知识包括(  D  )
A、实例、检测和架构                  B、案例、说明、架构 
C、需求描述、安全操作和安全原则    D、原则、方针、和规则。
7、弱点知识是对真实系统中出现过并报告的软件(  B  )的描述
A、缺陷  B、弱点  C、漏洞  D、风险
8、逆向工程是编译过程的逆过程,即(  C  )
A、从高级语言恢复机器码的结构和语义的过程。
B、从汇编码恢复到高级语言的结构和语义的过程。
C、从机器码恢复高级语言的结构和语义的过程。
D、从高级语言的结构和语义恢复到系统编码的过程。
9、诊断性知识:攻击模式、攻击程序和弱点。诊断性知识不仅包括关于实践的描述性陈述,其更重要的目标是帮助操作人员识别和处理导致(  B  )的常见问题。
A、病毒感染  B、安全攻击  C、系统风险  D、缺陷
10、下面对病毒描述正确的是(  A  )。
A、病毒(virus)是一种人为制造的、能够进行自我复制的、具有对计算机资源的破坏作用的一组程序和指令的集合。
B、病毒与生物病毒不一样,没有其自身的病毒体(病毒程序)和寄生体(宿主HOST,病毒载体,携带者)。
C、所谓感染或寄生,是指病毒将自身嵌入到非宿主指令序列中。
D、寄生体为病毒提供一种生存环境,不是一种合法程序。
二、填空题
1、一般将方法、工具和过程成为软件工程的三要素
2、软件工程以质量为关注焦点,全面( 质量管理 )及相关的现代管理理念为软件工程奠定强有力的根基。
3、软件保证是计划和系统行动集合来确保软件过程和产品符合需求,标准和规程以达到如下两个目标:可信性和执行的( 可预见性 )。
4、软件可靠性工程的研究范围主要是:软件可靠性定量评测、软件可靠性的( 设计与管理 )、软件可靠性保证技术。
5、调试器可以让软件开发人员在程序运行的同时观察程序的运行过程和状态。它的两个基本功能是:( 设置断点 )和代码跟踪。
6、Windows提供两个发送消息的函数PostMessage()和SendMessage(),其中函数( PostMessage() )是将消息发出去就返回,不管该消息是否被处理了。
7、根据漏洞出现的阶段,软件安全漏洞可分为两大类:设计漏洞和( 实现漏洞 )。
8、木马实施网络入侵的基本步骤:( 配置木马 )、传播木马、运行木马、信息反馈、建立连接、远程控制。
9、网页恶意脚本程序利用.asp、.html、.vbs、.js类型的文件进行传播的基于VB Script和Java Script( 脚本语言 )并由Windows Scripting Host解释执行的一类恶意程序。
10、安全软件开发的体系安全需要考虑( 威胁建模 )、安全风险分析、安全风险管理三个方面。
securing三、判断题
1、软件保证关系到两个软件属性:一个是质量,也就是说软件保证是软件质量保障的简短形式,另一个属性是可靠性,特别是可靠性中最重要的内容--安全。 (  正确  )
2、软件容错性是指软件运行时,能对非正常因素引起的运行错误给出适当地处理或信息提示,使软件运行正常结束。(  正确  )
3、对寄存器的解释:处理器用于存储信息的地方。所有处理器都在寄存器上完成操作。(  正确  )
4、在big-edian系统上,最重要的位的字节首先被存储。(  正确  )
5、反汇编器可以将二进制代码作为输入、生成包含整个或部分程序的汇编语言代码的文本文件的程序。(  正确  )
6、反编译器接收可执行的二进制文件,试图从中生成可读性好的高级语言代码。其思想是逆向编译的过程,以获取最初的源代码文件或与接近于最初源代码的文件。(  正确  )
7、修补工具是指可以修改二进制可执行代码以改变其行为的过程。(  正确  )
8、如果处理器将多字节中最不重要的字节存储在低端地址,将最重要的字节存储在高端地址内,就是little-endian方式。反之,是big-endian方式。(  正确  )
9、每个进程的虚拟内存被分为内核地址空间和用户地址空间。(  正确  )
10、分割型蛀穴病毒(fractionated cavity)是蛀穴病毒的一个变形,即病毒代码被分割成
一个装入例程和N个片断,这些片断位于包含闲散空间的节中。(  正确  )
11、在白箱测试中,对于测试人员来说,所有关于被测试的系统的信息都是已知的。(正确  )
12、黑箱测试又叫功能测试,它主要关注的是被测试软件功能的实现,而不是内部逻辑。(正确)
13、灰箱测试是指在安全测试期间,一起使用白箱和黑箱两种测试技术。(  正确  )
14、渗透测试是从攻击的角度测试软件系统是否安全,其价值在于可以测试软件发布到实际系统中的安全状况。(  正确  )
15、数字水印技术用信号处理的方法在数字化的多媒体数据中嵌入隐蔽的标记,这种标记通常是不可见的,只有通过专用的检测器或阅读器才能提取。(  正确  )
16、从技术角度来讲,“可信的”未必意味着对用户而言是“值得信赖的”。(  正确  )
四、简答题
1、软件安全是指
采取工程的方法使得软件在敌对攻击的情况下仍能够继续正常工作。即采用系统化、规范化、和数量化的方法来指导构建安全的软件。
2、软件工程
它是一门研究如何使用系统化、规范化、数量化等工程原则和方法去进行软件的开发和维护的学科。
软件工程采用工程的概念、原理、技术和方法来开发维护软件,把经过时间考验而证明正确的管理方法和最先进的软件开发技术结合起来,应用到软件开发和维护过程中,来解决软件危机问题,生产出无故障的、及时交付的、在预算之内的和满足用户需求的软件。
3、软件缺陷产生的主要原因
需求规格说明书包含错误的需求、或漏掉一些需求,和没有准确表达客户所需要的内容。
需求规格说明书中有些功能不可能或无法实现;
系统设计中的不合理性;
程序设计中的错误;
程序代码中的问题,包括错误的算法、复杂的逻辑等。从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
4、栈溢出的原因及危害
其产生的原因是输入数据时,由于没有进行边界检查,导致输入的数据的数量超过了堆栈预留的存储空间,最终覆盖了堆栈中的返回地址,如果覆盖返回地址的是一个攻击程序的地址,则导致去执行这个恶意程序。
5、堆溢出原理和栈溢出是一样的,即堆的空间无法容量用户输入的数据,导致数据重写了堆块后的地址空间。
通常,堆采用链表的形式组织数据,在块数据之前或之后存在指向前一个和后一个堆块
的指针。这样,超过堆块末尾的地址空间上写入数据或者攻击代码的入口地址将会破坏个链表。
当堆管理器遍历链表时就会引起程序崩溃或者执行攻击代码。由于堆块的大小总是动态计算的,故堆溢出比堆栈溢出要困难一些。
6、恶意软件及其分类
恶意软件大致分为两类,该分类是从主机依赖的角度进行的分类(见图4.1):
依赖主机程序的恶意软件和独立主机的恶意软件。前者不能独立于应用程序或系统程序,即存在宿主文件,必须依赖宿主的运行而启动,包括病毒、木马、后门、逻辑等;后者是能在操作系统上运行的、独立的程序,包括蠕虫、细菌、拒绝服务攻击程序等。
7、简答病毒的检测方法
比较法:比较法是用原始的或者正常的内容与被检测的进行比较。
校验和法:计算正常文件的内容的校验和,并将该校验和写入文件中保存。
扫描法:扫描法是根据每一种病毒含有的特征字符串,对被检测的对象进行扫描。
行为监测法:利用病毒的特有行为特性监测病毒的方法称为行为监测法。
感染实验法:感染实验是一种简单实用的检测方法,该方法可以检测出病毒检测工具不认识的新病毒,摆脱对病毒检测工具的依赖,自主的检测可疑的新病毒。
软件模拟法    多态型病毒每次感染都改变其病毒密码,对付这种病毒时特征代码法会失效。
分析法:搞清楚病毒体的大致结构,提取特征识别用的字符串或者特征字,用于增添到病毒代码库供病毒扫描和识别程序使用。
其它高级方法:启发式代码扫描技术。
8、木马
是一种恶意程序,是一种基于远程控制的攻击工具,它一旦入侵用户的计算机,就悄悄地在宿主计算机上运行,在用户毫无觉察的情况下,让攻击者获得远程访问和控制系统的权
限,进而在用户的计算机中修改文件、修改注册表、控制鼠标、监视/控制键盘,或窃取用户信息,乃至实施远程控制。它是攻击者的主要攻击手段之一,具有隐蔽性和非授权性等特点。
9、木马的结构
系统通常采用服务器,客户端结构。即分为服务端和客户端。通常功能上由木马配置程序、控制程序和木马程序三个部分组成。
木马程序:木马程序也称为服务器程序,驻留在受害者的系统中,非法获取其操作权限,负责接收控制指令,并根据指令或配置发送数据给控制端。
木马配置程序:木马配置程序设置木马程序的端口号、触发条件、木马名称等,使其在服务器端隐藏得更隐蔽。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。