软件评测师写作专栏之安全测试的基础知识26
各位学员大家好,大家在学习软件测试基础知识时,安全测试已经成了必不可少的一部分。为了让大家快速掌握这方面的知识点,接下来就带领大家一起来学习一下!
例题:以下不属于安全测试方法的是()
A、安全功能验证
B、安全漏洞扫描
C、大数据量测试
D、数据侦听
昊洋详解: 安全测试方法包括安全功能验证、安全漏洞扫描、模拟攻击实验和数据侦听。具体内容如下所示:
1 )、安全功能验证: 对软件需求中确定的有关安全模块的功能进行测试验证。例如权限管理模块,数据机密模块,传输加密模块,数据备份和恢复等模块一般都会有对应安全功能设置。安全功能验证的方法和一般程序测试类似,主要有以下三种:黑盒测试、白盒测试和灰盒测试。
2 )、安全漏洞扫描: 用漏洞扫描软件对信息系统和应用软件有针对性地对有关漏洞进行扫描,然后发现漏洞后做好有效防范后补救措施,也可以采取保护措施防止非法者利用已知漏洞进行攻击。常见的漏洞有:
拒绝服务(Dos)漏洞: 故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标网络设备。
本地用户扩权漏洞: 本地普通级别用户利用程序漏洞非法拥有其他用户甚至超级用户的权限,从而使得系统遭到破坏。
远程用户扩权漏洞: 远程普通用户利用系统服务中的漏洞,未经授权就进入了系统访问,从而进行不可预知的破坏行为。
3 )、模拟攻击实验: 将自己假装成类似于黑客的非法入侵的攻击者,利用目前存在的系统漏洞和常用的攻击手段,对提交评测的系统进行开发环境或试用环境里的攻击,以发现安全问题。主要四种攻击技术为:
服务拒绝(Dos)型攻击: 企图通过使服务器崩溃的方式来阻止其提供服务,主要手段包括:死亡之ping,泪滴,UDP洪水,SYN洪水,Land攻击,Smurf攻击,Fraggle攻击,电子邮件炸弹和畸形消息攻击等。
漏洞木马型攻击: 主要是由于系统使用者粗心大意或者已知系统漏洞但未及时打补丁,又或者不小心安放了木马等原因导致的非法入侵行为,主要包括:口令猜测,特洛伊木马和缓冲区溢出3种方式;
信息收集类技术: 本身不会对目标服务器造成危害,收集大量有关系统的信息,为非法者非法入侵提供了便利,主要使用的技术有:扫描技术、体系结构刺探和利用信息服务3种。
伪装欺骗型攻击: 用于攻击目标配置不正确的消息,主要包括DNS高速缓存污染,伪造电子邮件,ARP欺骗和IP欺骗四种方式。
4 )、数据侦听: 也称为“网络监听”,用于获取在网络上传输的信息,但这些信息不是发给自己的。网络侦听技术可以有效地管理网络,针对网络问题和检查网络的安全威胁。如果侦听技术工具被非法用户利用,也可能成为入侵者的入侵手段。
本题中的C选项大数据量测试是一种负载压力测试方法,不属于安全测试的范畴,故该题目的正确答案为C。
巩固练习题
(1)以下不属于安全防护策略的是(? )
A、入侵检测
B、隔离防护
C、安全测试
D、漏洞扫描
(2)安全日志是软件产品的一种被动防范措施,是系统重要的安全功能,因此安全日志测试是软件系统安全性测试的重要内容,下列不属于安全日志测试基本测试内容的是()
A、对安全日志的完整性进行测试,测试安全日志中是否记录包括用户登录名称、时间、地址、数据操作行为以及退出时间等全部内容
B、对安全日志的正确性进行测试,测试安全日志中记录的用户登录、数据操作等日志信息是否正确
C、对日志信息的保密性进行测试:测试安全日志中的日志信息是否加密存储,加密强度是否充分
D、对于大型应用软件系统:测试系统是否提供安全日志的统计分析能力
(3)用户口令测试应考虑的测试点包括(?)。
①口令时效 ②口令长度③口令复杂度 ④口令锁定
A、①③④
B、②③④
C、①②③
D、①②③④
练习题参考答案
(1)解析: 本题考查信息安全和安全测试的基础知识。
信息安全防护策略 包括入侵检测、隔离防护、安全日志和漏洞扫描四种。具体内容如下所示:
1 )、入侵检测: 是一种主动的网格防护措施,从系统内部或各种网络资源中主动采取信息,从中分析可能的网络入侵或攻击,通常IDS还应对入侵行为做出紧急响应。
2 )、隔离防护: 是将系统中的安全部分和非安全部分进行隔离的措施,主要技术手段有防火墙和隔离网闸等,其中防火墙主要用于内网和外网的逻辑隔离;而隔离网闸主要用于实现内网和外网的物理隔离。
3 )、安全日志: 用于记录非法用户的登录名称、操作时间等内容信息。以便发现问题并提出解决措施。安全日志仅记录相关信息,不对非法行为做出主动反应,属于被动防护策略。
4 )、漏洞扫描: 对软件系统及网络系统进行与安全相关的检测,找出安全隐患和可能被黑客利用的漏洞。
安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程,不属于安全防护策略的范畴。故该题目的正确答案为C。
?
(2)解析: 本题考查安全测试中安全日志测试的基础知识。
安全日志 用于记录非法用户的登录名称、操作时间等内容信息。以便发现问题并提出解决措施。安全日志仅记录相关信息,不对非法行为做出主动反应,属于被动防护策略。
系统安全日志在每次开关机、运行程序、系统报错时,这些信息都会被记录下来,保存在日志文件中。但是日志本身是不需要加密存储的,故该题目的正确答案为C。
?
(3)解析: 本题考查安全测试中用户口令测试的基础知识。
web系统容易受到攻击,一般会对用户名/口令(密码)机制进行认证。对口令认证机制测试应包含的基本测试点如下所示:
1)、对用户名称测试的主要测试点在于测试用户名称的唯一性,即测试同时存在的用户名称在不考虑大小写的情况下,不能够同名。
2)、对用户口令测试应主要测试用户口令是否满足当前流行的控制模式。主要测试点应包括最大/最小口令时效、口令历史、最小口令长度、口令复杂度、加密选项及口令锁定等。因此本题①②③④都属于用户口令安全保护相关的内容。
故该题目的正确答案为:D。
写于2020年10月19日
什么是软件测试,软件测试的定义?
1.软件测试(Software Testing),其经典定义或是标准定义:在规定的条件下对程序进行操作,以发现程序错误。
2.通俗来讲,就是通过“人工”或“自动化”的手段,来测试某个程序或系统,进而检验其是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
即使是经验非常丰富的程序员,在编写代码时也很容易出现错误,这些错误也许是由于需求不明确,也许是由于设计问题,也许是编码中出现了失误等。但无论是怎样的错误,若不及时处理,都会降低软件的可靠性,严重时甚至会导致整个软件的失败。
为了排除这些错误,人们引入了软件测试的概念。通俗来说,软件测试就是为了发现程序中的错误而分析或执行程序的过程。
据研究机构统计分析表明,国外软件开发机构40%的工作量都花在软件测试上,软件测试费用占软件开发总费用的30%~50%。对于一些要求高可靠、高安全的软件,测试费用所占的比例更高。由此可见,要成功开发出高质量的软件产品,软件测试必不可少。
软件测试的主要工作是验证(Verification)和确认(Validation)
验证是保证软件正确地实现了一些特定功能的一些列活动,即保证软件以正确的方式做了该做的事。具体地讲,验证主要完成了以下任务。
(1)确定软件生存周期中一个给定阶段的产品是否达到当前阶段确立的需求。
(2)程序正确性的形式证明,即采用形式理论证明程序符合设计规约的规定。
(3)评审、审查、测试、检查、审计等,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断并进行报告。
确认(Validation)的目的是想证实在一个给定的外部环境中软件的逻辑正确性,即保证软件做了所期望的事情。
(1)静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性。
(2)动态确认,通过执行程序进行分析,测试程序的动态行为,以证实软件是否存在问题。
测试和改正活动可以在软件生命周期的任何阶段进行。然而,随着开发的不断进行,找出并修正错误的代价也会急剧增加。在需求阶段就对其进行修改,付出的代价会很少。如果代码已经编写完毕,再进行更改,则将会付出代价会大很多。
软件测试的分类
从是否关心软件内部结构和具体实现的角度来看,软件测试可以划分为一下几类。
白盒测试:需要了解内部结构和代码
黑盒测试:不关心内部结构和代码
灰盒测试:介于白盒测试和黑盒测试之间。
从是否执行程序的角度来看,软件测试可以划分为以下几类。
静态测试:测试时不执行被测试软件。
动态测试:测试时执行被测试软件。
按软件开发过程的阶段划分,软件测试可以划分为以下几类。
单元测试:测试软件的单元模块(单元模块指某个功能、某个类等)
集成测试:讲各个“单元”集成到一起测试是否能正确运行。
系统测试:测试软件是否符合系统中的各项需求。
验收测试:类似系统测试,但由用户执行。
按测试的具体目标进行划分,软件测试可以划分为以下几类。
功能测试:测试软件是否符合功能性需求,通常采用黑盒测试方法。
性能测试:测试软件在各种状态下的性能,找出性能瓶颈。
安全测试:测试该软件防止非法入侵的能力。
回归测试:在软件被修正或运行环境发生变化后进行重新测试。
兼容性测试:测试该软件与其他软件、硬件的兼容性能力。
安装测试:测试软件的安装、卸载、升级是否正常。
本文由用户上传,如有侵权请联系删除!转转请注明出处:https://nongye.s666.cn/bk/6_6572125312.html