软件与网络安全防护全解析
1. 软件测试与安全现状
在软件测试方面,许多公司满足了 Web 应用程序的使用测试要求,但很少关注软件测试的安全方面。像堆或栈溢出、内存泄漏等问题是导致程序不稳定的原因。有一些工具,如 Cenzic 的 Hailstorm 或 Immunity 的 SPIKE,可以对任意网络协议(包括 HTTP)进行压力测试。
2. 加密与认证问题
- 密钥分发错误 :在产品中设计加密时,最常见的错误是密钥分发处理不当。例如,一家在线企业试图通过在数据库中加密客户的信用卡信息来保护这些数据,但数据库服务器需要解密数据以供使用,最终密钥的两半都到了数据库服务器,这样加密就失去了意义,因为将密钥和加密数据存储在同一目标服务器上是不安全的。
- PKI 设计漏洞 :PKI 设计中一些常见的 bug 值得注意。其中主要的是缺乏有效的撤销程序。任何值得攻击的 PKI 系统最终都会以某种方式被攻破,如果没有有效的方法撤销被盗的密钥,一个被盗的密钥就会危及整个系统。而且,撤销计划需要某种网络,涉及到一系列的密钥、撤销密钥和真实性检查。仅知道用于加密或签署消息的公钥,并不能确定谁实际拥有该密钥。
- 加密库漏洞 :使用加密库时,常被忽略的一个关键事实是,这些库为了提高速度,通常用 C 语言编写,并且有复杂的编码例程,如 ASN.1。当用 C 语言编写复杂的编码例程时,必然会出现缓冲区溢出漏洞。例如,Kerberos 实现的认证库就有很多问题。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



