软件应用安全防护全解析
1. 软件测试与安全问题
在软件测试中,堆或栈溢出、内存泄漏等问题会导致程序不稳定。部分工具,如 Cenzic 的 Hailstorm 或 Immunity 的 SPIKE,可对任意网络协议(如 HTTP)进行压力测试。很多公司满足了 Web 应用的使用测试需求,但对软件测试的安全方面关注较少。
2. 加密与认证问题
- 密钥分发失误 :在产品中设计加密功能时,常见错误是密钥分发处理不当。例如,某在线业务为保护客户信用卡信息,在数据库中对其加密,但数据库服务器需解密数据,最终密钥两半都汇集到数据库服务器,若密钥和加密数据存于同一目标服务器,加密便失去意义。
- PKI 设计漏洞 :PKI 设计存在一些常见漏洞,其中关键的是缺乏有效的撤销程序。任何值得攻击的 PKI 系统最终可能被攻破,若无法有效撤销被盗密钥,整个系统将受威胁。而且,撤销计划需网络支持,涉及多级密钥系统、撤销密钥和真实性检查。仅知加密或签名消息所用的公钥,无法确定实际持有该密钥的人。
- 加密库的隐患 :使用加密库时,常忽略其为追求速度,多以 C 语言编写,且有复杂编码例程(如 ASN.1),这易导致缓冲区溢出漏洞。例如,Kerberos 实现的认证库就存在诸多问题。
3. HMACs 技术
在某些交易型服务器 - 客户端程序中,服务器给用户数据后,希望确保用户返回的数据未被篡改。例如,商店给客户端发送定价信息,客户端返回时,商店需确认价格未被降低。解决办法是使用哈希消
超级会员免费看
订阅专栏 解锁全文
1774

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



