安全性测试(此应用程序未经兼容性及安全性测试)
软件评测师写作专栏之安全测试的基础知识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、用户程序安全的测试要考虑问题包括:
① 明确区分系统中不同用户权限。
② 系统中会不会出现用户冲突。
③ 系统会不会因用户的权限的改变造成混乱。
④ 用户登陆密码是否是可见、可复制。
⑤ 是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)。
⑥ 用户推出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入系统。
2、系统网络安全的测试要考虑问题包括:
① 测试采取的防护措施是否正确装配好,有关系统的补丁是否打上。
② 模拟非授权攻击,看防护系统是否坚固。
③ 采用成熟的网络漏洞检查工具检查系统相关漏洞。
④ 采用各种木马检查工具检查系统木马情况。
⑤ 采用各种防外挂工具检查系统各组程序的客外挂漏洞。
3、数据库安全考虑问题:
① 系统数据是否机密(比如对银行系统,这一点就特别重要,一般的网站就没有太高要求)。
② 系统数据的完整性。
③ 系统数据可管理性。
④ 系统数据的独立性。
⑤ 系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)。
安全性测试主要包括哪些方面?
1、高压测试;
2、绝缘阻抗测试;
3、接地阻抗测试;
4、泄露电流测试;
5、输入测试;
6、安全标识的稳定性测试;
7、电容放电测试;
8、电路稳定测试;
9、限功率源电路;
10、限流源电路;
11、接地连续测试;
12、潮湿测试;
13、扭力测试 ;
14、稳定性测试;
15、外壳受力测试;
16、跌落测试;
17、应力释放测试;
18、电池充放电测试;
19、设备升温测试;
20、球压测试。
扩展资料
全球各国都有自己的安规要求,许多国家还进行了强制认证,比如中国的CCC,欧盟的CE。也有些认证mark具有良好的市场口碑,许多厂商要求供应商对产品进行相关安规认证以增强市场安全形象,比如UL mark,VDE mark,Nemko mark,GS mark。这些安规logo都具有良好的市场口碑。
同时,随着人们的消费观念更加理性,已经不再盲目地追求价格的实惠和功能的强大,而更多的关注于产品的安全问题。如何获得质量完备又对实用者无危害的产品,成了消费者逐渐看重的要素。为了世界更加安全,产品的安全认证势必会越来越越广泛,越来越深入人心。
通常,电子电器类产品包含的七大安全因素有:防电击(electric shock),能量危险(energy related hazards),防火(fire),热量危险(heat related hazards),
机械危险(mechnical hazards),辐射(radiation),化学危险(chemical hazards)。在安规认证过程中,产品需要满足以上要点。
如何进行WEB安全性测试?
一般来说,一个WEB应用包括WEB服务器运行的操作系统、WEB服务器、WEB应用逻辑、数据库几个部分,其中任何一个部分出现安全漏洞,都会导致整个系统的安全性问题。\x0d\x0a对操作系统来说,最关键的操作系统的漏洞,Windows上的RPC漏洞、缓冲区溢出漏洞、安全机制漏洞等等;\x0d\x0a对WEB服务器来说,WEB服务器从早期仅提供对静态HTML和图片进行访问发展到现在对动态请求的支持,早已是非常庞大的系统。\x0d\x0a对应用逻辑来说,根据其实现的语言不同、机制不同、由于编码、框架本身的漏洞或是业务设计时的不完善,都可能导致安全上的问题。\x0d\x0a对WEB的安全性测试是一个很大的题目,首先取决于要达到怎样的安全程度。不要期望网站可以达到100%的安全,须知,即使是美国国防部,也不能保证自己的网站100%安全。对于一般的用于实现业务的网站,达到这样的期望是比较合理的:\x0d\x0a1、能够对密码试探工具进行防范;\x0d\x0a2、能够防范对cookie攻击等常用攻击手段;\x0d\x0a3、敏感数据保证不用明文传输;\x0d\x0a4、能防范通过文件名猜测和查看HTML文件内容获取重要信息;\x0d\x0a5、能保证在网站收到工具后在给定时间内恢复,重要数据丢失不超过1个小时;
最受欢迎的软件安全性测试工具有哪些?
之前在做 国内软件测试现状调查 之时,因为安全性测试工具太多,结果显示其分布比较广,填写“其它”占的比重很高(66%),为此专门做了一个调查 ,虽然收集的有效反馈不多(不到100),但基本反映了测试工具的使用现状。
1. 从总体看,(静态的)代码分析工具和(动态的)渗透测试工具应用还是比较普遍 ,超过60%,而且渗透测试工具(73.68%)略显优势,高出10%。模糊测试工具,可能大家感觉陌生,低至16%,但它在安全性、可靠性测试中还是能发挥作用的。从理论上看,代码分析工具应该能达到95%以上,因为它易用,且安全性已经是许多公司的红线,得到足够重视。 希望以后各个公司能够加强代码分析工具和模糊测试工具的应用。
2. Java代码安全性分析工具前三名是 : IBM AppScan Source Edition(42.11%)、Fotify Static Code Analyzer(36.84%)、Findbugs(26.32%) ,而JTest、PMD等没进入前三名,虽然和第3名差距不大,只有5%左右。也有公司使用Checkmarx,不在此调查中。Coverity也支持Java,可能Java的开源工具较多,人们很少用它。
3. C/C++代码安全性分析工具前三名是 : C++Test(38.89%)、IBM AppScan Source Edition(38.89%)、Fotify Static Code Analyzer(27.78%)、Visual Studio(27.78%) 。Coverity、CppCheck、LDRA Testbed 没能进入前三名,可能LDRA Testbed比较贵,关键的嵌入式软件采用比较多,而Coverity Cloud针对Github等上面的代码有免费服务(),大家可以尝试应用。
4. JavaScript代码安全性分析工具应用最多的是 Google's Closure Compiler,其次是JSHint,也有的公司用Coverity来进行JS的代码分析。
5. Python代码安全性分析工具应用最多的是Pychecker ,其次是PyCharm,而Pylint使用比较少,也有几个公司用Coverity来进行Python的代码分析。
6. Web应用安全性测试的商用工具中,IBM AppScan异军突起 ,高达70%的市场,其它商用工具无法与它抗衡,第2名SoapUI和它差距在50%以上,HP webInspect 不到10%。
7. Web应用安全性测试的开源工具中,Firebug明显领先 ,将近50%,比第2名OWASP ZAP高12%,第三名是Firefox Web Developer Tools,超过了20%。
8. Android App的安全性测试工具中,Android Tamer领先 ,将近30%,比第2、3名AndroBugs、Mobisec、Santoku高15%左右。也有用其它不在调查项中的工具,总体看,Android App安全性测试工具分布比较散。
9. 网络状态监控与分析工具中,Wireshark遥遥领先,超过70%。 其次就是Tcpdump、Burp Suite,占30%左右。网络状态监控与分析工具挺多的,但从这次调查看,越来越集中到几个工具中,特别是Wireshark功能强,覆盖的协议比较多,深受欢迎。
10. SQL注入测试工具排在前三位的:SQLInjector、SQL Power Injector、OWASP SQLiX, 三者比较接近,差距在6%左右。其它两项工具Pangolin、SQLSqueal也占了10%,而Antonio Parata、Blind SQL Injections、Bsqlbf-v2、Multiple DBMS Sql Injection、Sqlninja几乎没什么人用。
安全性测试工具很多,还包括黑客常用的一些工具,如暴力破解口令工具、端口扫描工具、防火墙渗透工具、渗透测试平台等。从某种意义看,它们超出软件范畴,更多属于网络空间安全、密码学等范畴,在此就不展开了。概括起来最受欢迎的软件安全性测试工具有: