看看这些面试题目,目的是了解安全测试的基本概念。每一道题目都可以展开到一定的深度和广度。
这里仅仅是一个抛砖引玉,点到为止。
Question 1. 什么是安全测试(Security Testing)?
在所有类型的软件测试中,安全测试可以被认为是最重要的。其主要目的是在任何软件(Web或基于网络)的应用程序中找到漏洞,并保护其数据免受可能的攻击或入侵者。由于许多应用程序包含机密数据,需要被保护泄漏。软件测试需要定期在这样的应用程序上进行,以识别威胁并立即采取行动。
Question 2. 什么是漏洞(Vulnerability)?
漏洞可以被定义为任何系统的弱点(Vulnerability),入侵者或bug可以通过该系统进行攻击。如果系统没有严格执行安全性测试,那么漏洞的机会就会增加。有时补丁或修复程序需要防止系统出现漏洞。
Question 3. 什么是入侵检测(Intrusion Detection)?
入侵检测(Intrusion Detection)是帮助确定和处理可能的攻击的系统。入侵检测包括从多个系统和源收集信息,分析信息,找出可能的攻击方式。
入侵检测检查如下:
1.可能的攻击
2.任何异常活动
3.审核系统数据
4.不同采集数据的分析等。
Question 4. 什么是SQL注入(SQL injection)?
SQL注入是黑客获取关键数据的常用攻击技术之一。
黑客检查系统中的任何循环漏洞,通过这些漏洞,他们可以通过SQL查询传递安全检查并返回关键数据。这就是所谓的SQL注入。它可以允许黑客窃取关键数据,甚至使系统崩溃。
SQL注入非常关键,需要避免。定期的安全测试可以防止此类攻击。SQL数据库安全性需要正确定义,输入框和特殊字符应该正确处理。
Question 5. 列举安全测试的关注点?
1.Authentication
2.Authorization
3.Confidentiality
4.Availability
5.Integrity
6.Non-repudiation
7.Resilience
Question 6. 什么是XSS?
XSS或跨站点脚本是黑客用来攻击web应用程序的漏洞类型。
它允许黑客将HTML或JAVASCRIPT代码注入网页,网页可以从cookie中窃取机密信息并返回给黑客。这是最关键和最常见的技术之一,需要加以预防。
Question 7. 什么是SSL连接和SSL Session?
SSL或安全套接字层连接是瞬态对等通信链路,其中每个连接与一个SSL会话(SSL Session)相关联。
SSL会话可以定义为通常由握手协议列出的客户端和服务器之间的关联。定义了一组参数,并且可以由多个SSL连接共享。
Question 8. 什么是渗透测试(Penetration Testing)?
渗透测试(Penetration Testing)是关于安全测试的,它有助于识别系统中的漏洞。渗透测试是试图通过手动或自动技术来评估系统的安全性,以及如果发现任何漏洞测试人员使用该漏洞来更深入地访问系统并发现更多漏洞。此测试的主要目的是防止系统受到任何可能的攻击。
渗透测试可以通过两种方式进行——白盒测试和黑盒测试。
在白盒测试中,测试人员可以使用所有信息,而在黑盒测试中,测试人员没有任何信息,他们在真实场景中测试系统以找出漏洞。
Question 9. 为什么渗透测试(Penetration Testing)非常重要?
渗透测试很重要,因为:
1.由于攻击的威胁总是可能的,黑客可以窃取重要数据,甚至使系统崩溃,因此系统中的安全漏洞和环路漏洞可能非常昂贵。
2.不可能一直保护所有的信息。黑客总是会带来新的技术来窃取重要数据,以及测试人员需要定期执行测试以检测可能的攻击。
3.渗透测试通过上述攻击来识别和保护系统,并帮助组织保持其数据安全。
Question 10. 请说出用于保护密码文件的两种常见技术?
保护密码文件的两种常见技术是散列密码和salt值或密码文件访问控制。
Question 11. 请列出一些与软件安全相关的名词或术语的缩写?
1.IPsec——Internet协议安全是一套用于保护Internet安全的协议
2.OSI——开放系统互连
3.ISDN综合业务数字网
4. SSL—安全套接层
5.FTP-文件传输协议
6.DBA——动态带宽分配
7.DDS-数字数据系统
8.DES——数据加密标准
9.CHAP——挑战握手认证协议
10.绑定——带宽随需应变互操作组
11.SSH——安全壳
12.COPS共同开放政策服务
13.ISAKMP——因特网安全协会和密钥管理协议
14.USM——基于用户的安全模型
15.TLS——传输层安全性
Question 12. 什么是ISO/IEC 17799?
ISO/IEC 17799最初在英国出版,定义了信息安全管理的最佳实践。它针对所有小型或大型信息安全组织都有指导方针。
Question 13. 列举一些可能导致软件系统存在漏洞的因素?
造成漏洞的因素有:
1.设计缺陷——如果系统中存在允许黑客轻易攻击系统的环路漏洞。
2.密码——如果黑客知道密码,他们可以很容易地获得信息。应严格遵守密码政策,以尽量减少密码被盗的风险。
3.复杂性——复杂软件可以打开漏洞的大门。
4.人为错误——人为错误是安全漏洞的重要来源。
5.管理——数据的管理不当会导致系统中的漏洞。
Question 14. 列举进行安全测试的方法论?
安全测试的方法论有:
1.White Box-All the information are provided to the testers.
2.Black Box-No information is provided to the testers and they can test the system in real world scenario.
3.Grey Box-Partial information is with the testers and rest they have to rest on their own.
Question 15. 列举开源安全测试方法手册列出7种主要类型的安全测试?
根据开源安全测试方法手册,7种主要的安全测试类型是:
1.漏洞扫描:自动软件针对已知的漏洞扫描系统。
2.安全扫描:手动或自动识别网络和系统弱点的技术。
3.渗透测试:渗透测试是关于安全测试的,它有助于识别系统中的漏洞。
4.风险评估:包括对系统中可能的风险进行分析。风险分为低、中、高三种。
5.安全审计:完成对系统和应用程序的检查,以检测漏洞。
6.道德黑客:为检测系统中的缺陷而非个人利益而对系统进行的黑客攻击。
7.态势评估:将安全扫描、道德黑客和风险评估结合起来,以显示组织的总体安全态势。