安全测试与评估(一)
1、概述
软件系统的安全性是信息安全的一个重要组成部分,而软件是由程序、数据和文档组成的。
软件安全性是与防止对程序及数据的非授权的故意或意外访问的能力有关的软件属性。
所有,针对程序和数据的安全性测试是软件安全性测试的重要内容。
在软件的质量特性中,安全性与性能、易用性由较大的关联,安全性是通过某些功能的实现来体现的,易用性与安全性紧密联系,同时也存在矛盾。
通常易用性强的软件系统安全性相对较差,安全性较高的软件系统易用性也比较弱。
在进行安全性测试时应当考虑软件系统应用领域,以及软件系统本身对安全性的要求,并且安全性需求与功能、易用性等需求相协调,取得软件系统整体性能的平衡点。
2、测试与评估内容
2.1用户认证机制
用户认证就是指软件系统用户在使用软件或系统时,必须提供用户身份证明,然后软件系统根据用户数据库的资料,开放特定的权限给登录用户。
最普通的用户认证就是口令,口令具有共享秘密的属性。例如,要使服务器操作系统识别要登录系统的用户,最简单的口令认证是用户将他的用户名和口令传输给服务器。
服务器就将该用户名和口令与数据库里的用户名和口令进行比较,如果相符,就通过了认证,可以访问系统资源。
目前主要的用户认证机制由如下几种。
* 数字证书。这是一种检验用户身份的电子文件,提供较强的访问控制,并具有较高的安全性和可靠性。这种证书可以授权购买。
* 智能卡。这种解决办法可以持续较长时间,并且更加灵活,存储信息更多,并具有可供选择的管理方式。
* 双重认证。系统不是采用一种认证方式,而是采用两种或多种认证方式,这些认证方式包括令牌、智能卡和仿生装置,如视网膜或指纹扫描器等,例如同时使用ATM卡和PIN卡进行双重认证。
* 安全电子交易(SET)协议。它是电子上午中安全电子交易的一个国际标准。其主要目的是解决信用卡电子付款的安全保障性问题:保证信息的机密性,保证信息安全传输,不能被窃听,只有收件人才能得到和解密信息。保证支付信息的完整性,保证传输数据完整地被接收,在中途不被篡改。认证商家和客户,验证公共网络上进行交易活动地商家、持卡人及交易活动地合法性。广泛地互操作性,保证采用地通信协议、信息格式和标准具有公共适用性。从而可在公共互联网络上集成不同厂商的产品。
用户认证机制是保证数据安全的基础。因此有必要对用户认证机制进行全面的测试,评价认证机制的合理性。
2.2 加密机制
加密机制是保护数据安全的重要手,加密的基础过程就是对原来为明文的文件或数据,按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出明文内容,通过这样的途径来达到保护数据不被非法窃取、阅读的目的。该过程的逆过程称为解密,即将该编码信息还原为其原来数据的过程。
密码函数可用来作为加密、解密、保证数据完整性、鉴别交换、口令存储与检验等的一部分,借以达到保密和鉴别的目的当用于机密性的加密时,密码技术被用于把敏感性较强的数据(即受保护的数据)变换成敏感性较弱的形式。当用于保证数据完整性或鉴别交换时,密码技术被用来计算不可伪造的函数。加密开始时,在明文上实施以产生密文,解密的结果或是明文,或是在某种掩护下的密文。使用明文作通用的处理在计算上是可行的,它的语义内容是可以理解的。除了以特定的方式,密文是不能用来计算的。因为它的语义内容已隐藏起来。有时故意让加密是不可逆的(例如截短或数据丢失),这样作的目的是不希望导出原来的明文,例如口令。
密码技术能够提供或有助于提供相关保护,以防止消息流的观察和篡改、通信业务流分析、抵赖、伪造、非授权连接、篡改消息等行为的出现。主要用于密码的保护、数据的传输过程中的安全防护、数据存储过程的安全防护等。
不同加密机制或密码函数的用途、强度是不相同的,一个软件或系统中加密机制使用得是否合理,强度是否满足当前需求,是需要通过测试来完成得,通常模拟解密是测试得一个重要手段。
2.3 安全防护策略
安全防护策略是软件系统对抗攻击得主要手段,安全防护策略主要是由安全日志、入侵检测、隔离防护、漏洞扫描等。
安全日志是记录非法用户得登录名称、操作时间及内容等信息,以便于发现问题并提出解决措施。安全日志仅记录相关信息,不对非法行为作出主动反应,因此属于被动防护得策略。
入侵检测系统是一种主动的网络安全防护措施,它从系统内容和各种网络资源中主动采集信息,从中分析可能的网络入侵或攻击。一般来说,入侵检测系统还应对入侵行为作出紧急响应。入侵检测被认为是防护墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行检测,从而提供对内部攻击、外部攻击和误操作的实时保护。
漏洞扫描就是对软件系统及网络系统进行与安全相关的检测,以找出安全隐患和可被黑客利用的漏洞,同时漏洞扫描技术也是安全性测试一项必要手段。
隔离防护是将系统中的安全部分与非安全部分进行隔离的措施,目前采用的技术主要由两种,即隔离网闸和防火墙,隔离网闸属于近两年新兴的网络安全技术,主要目的在于实现内网和外网的物理隔离,防火墙是相对成熟的防护技术,主要用于内网和外网的逻辑隔离。
以上四种安全防护策略通常会结合应用,但是任何防护措施都存在局限性。软件系统的安全性和软硬件设备的安全特性、人为制定的安全防护规则等息息相关。所以安全防护策略、软硬件设备的安全特性,以及人为制定的安全防护规则都在测试的范围内。