软件安全问题不仅仅关乎着用户的隐私还关乎到企业的名声,所以软件安全测试是软件产品必不可少的一项检测。每个软件产品的性质不同所以测试的方案也有所不同。如果遵循相同的原则,证明软件的安全性,将有利于软件安全性测试工作规范的实施和软件安全性测试的发展。
安全测试的主要目的是在软件自己的程序中查找隐藏的安全隐患,并检查应用程序防止非法入侵的能力。根据不同的安全指标,测试策略也有所不同。如果遵循相同的原则,证明软件的安全性,将有利于软件安全性测试工作规范的实施和软件安全性测试的发展。
安全测试检查系统防止非法入侵的能力。
在安全测试期间,测试人员假装为非法入侵者,并使用各种方法试图突破防御。
例如:
①找到拦截或解密密码的方法;
②专门定制的软件破坏了系统的保护机制;
③故意造成系统故障,并在恢复过程中尝试非法进入;
④尝试通过浏览非机密数据等来获取所需信息。
从理论上讲,只要有足够的时间和资源,就不会有无法访问的系统。因此,系统安全设计的原则是使非法入侵的代价超过受保护信息的价值。目前,侵入者已无法再获利了。
安全测试用于验证系统中集成的保护机制是否可以在实践中保护系统免受非法入侵。俗话说:“系统的安全性当然必须能够抵御正面攻击,但也必须能够抵御侧面和背面的攻击。”
在安全测试期间,测试人员扮演个人角色,试图攻击系统。测试人员可以尝试通过外部手段获取系统密码,并可以使用可能破坏任何防御措施的客户端软件来攻击系统;该系统可以被“制服”,以使其他人无法访问它;它可能有目的地导致系统错误。在系统恢复期间入侵系统;您可以通过浏览非机密数据等找到进入系统的密钥。
只要有足够的时间和资源,良好的安全测试最终就会入侵系统。系统设计者的任务是设计系统,以使破坏系统的成本大于破坏系统后获得的信息的价值。