常见的其他安全问题
1 中间人Attack
这是互联网最常见的问题,通信双方一旦未进行CA证书认证,就会面临这样的问题。A与B建立通信时,A要向B发送自己未经认证的设备信息与公钥,那么这将被C截获,C把自己未经认证的设备信息与公钥发给B,让B误以为是C就是A。同理C一样让A误以为C就是B。这样,C就能够获取双方的通信内容。
公共场所提供的未加密的WIFI服务、蓝牙配对、证书伪造等是常见的高危场景。想要解决这种问题,最简单的就是使用CA证书认证。除此之外,专用通信还能使用端到端的加密和预共享密钥确认身份,防止中间人介入。
2 重放Attack
已被验证的合法信息被截获并被多次发送至接收方。这种是最容易被忽略的问题,很多网站存在着身份验证无时间戳问题,那么该消息会被反复发送给网站干扰该网站的正常工作。应当使用时间戳、一次性随机数、消息序号递增等方法避免重放。
3 拒绝服务Attack
通过大量无效请求耗尽目标系统的带宽、内存、CPU等资源,让服务器在一定时间内无法向合法用户提供服务。最简单的办法是限制请求频率。
4 字典Attack
将常见的弱口令组装成字典,摸头口令的转储存算法,使用暴力破解即可。这种针对弱口令的攻击是极其高效的,早期的WIFI万能钥匙便是使用了这种策略,一旦遇到厂商设置的初始复杂密码将会失效(以前的厂商初始密码大多是弱口令)。因此,在设置密码时一定要确保密码的复杂性,可以从是否有语义、组合种类、字符类别游程数、口令长度等方面全面考量。
5 侧信道Attack
并不直接对加密算法的明密文与密钥进行完全恢复,而是通过加密算法造成的物理设备在单工作组时的时间差、功耗差、电磁辐射频度、声音强度差等方面的差异分析单工作组。这种情况一旦存在,就能将一个拥有128位安全性的加密方案削弱三成以上【比如3DES的中途相遇Attack能够将168位的安全性降到112位;对于旧版的某些网络协议,填充语言Attack能够轻松的在毫秒级获取明文;一些老旧游戏机的防盗版手段由于校验的时间差,能够在秒级轻松实现MAC值恢复】
6 生日Attack
这是针对长度较短的哈希值的手段,能够利用生日悖论在一个可接受的时间内以超过50%的概率找出哈希碰撞。这就是为什么机密方早早放弃使用MD5的原因。理论证明,想要实现n位的安全哈希,则要2n位长度的哈希值,故而目前普遍采用SHA256算法,因为其能实现128位的安全。
7 会话Hijacking
这种在早期的http协议中最为明显,http本身不是加密的通信,所以很容易截获数据并进行伪装。现在都是使用https进行加密会话。
8 权限提升Attack
这种不是在网络中出现的安全问题,而是在操作系统、应用程序层面出现的权限管理缺陷。比如以前常见的Linux越权删除文件。这需要发布者即时发补丁修复。