Web应用程序的威胁与对策(21)
时间:2025-07-09
时间:2025-07-09
Man in the Middle 攻击
当攻击者截取您与您的目标收件人之间发送的邮件时,发生了 man in the middle 攻击。然后,攻击者更改您的邮件,再将其发送给原来的收件人。收件人接收到邮件,发现邮件来自于您,则对邮件执行操作。当收件人向您回复邮件时,攻击者截取邮件并修改它,然后再发给您。您和您的收件人从不曾知道已遭到攻击。
任何涉及客户端-服务器通讯的网络请求(包括 Web 请求、分布组件对象模型 (DCOM) 请求)以及对远程组件和 Web 服务的调用都容易受到 man in the middle 攻击。
防止 man in the middle 攻击的对策包括:
使用加密。如果您在传输数据之前对其加密,则攻击者仍可以截取数据,但不能进行读取或修改。如果攻击者不能读取
数据,则他或她将不知道要修改哪些数据。如果攻击者盲目修改了加密的邮件,那么原来的收件人将无法成功对其解密,结果是,收件人知道邮件已被篡改。
使用哈希消息验证代码 (HMAC)。如果攻击者修改了邮件,则在收件人处重新计算 HMAC 将失败,而且数据会因无效
而被拒绝。
返回页首
加密
多数应用程序使用加密来保护数据,以确保数据保持专用而且不被修改。应用程序使用加密所面临的最大威胁包括:
不完善的密钥生成和密钥管理 弱加密或自定义加密 校验和哄骗
不完善的密钥生成和密钥管理
攻击者如果拥有加密密钥的访问权或获取了加密密钥,那么攻击者会对加密数据解密。如果密钥管理不完善,或者密钥并非以随机方式生成,则攻击者能够发现密钥。
解决密钥生成和密钥管理不完善问题的对策包括:
使用内置的、包括安全密钥管理的加密例程。数据保护应用程序编程接口 (DPAPI) 是 Windows 2000 及更高版本的
操作系统提供的加密服务的示例,其中,操作系统管理密钥。
如果您使用要求生成或管理密钥的加密机制,则需使用强随机密钥生成功能,并将密钥存储在受限制的位置(例如,存
储在受限制的 ACL 所保护的注册表项中)。
使用 DPAPI 来对加密密钥进行加密,以增加安全性。 定期使密钥过期。