上一篇文章记述了在Android中使用Https进行单向认证的配置,但单向认证存在中严重的安全漏洞,其中最容易受到中间人攻击和DNS欺骗以及会话劫持,本文主要讲述进行中间人攻击、DNS欺骗和会话劫持的方式。
概览
- 什么是中间人攻击
- 模拟中间人攻击
- 防御中间人攻击
- 什么是DNS欺骗
- 防御DNS欺骗
- 什么是会话劫持
- 防御会话劫持
什么是中间人攻击
中间人攻击(Man-in-the-MiddleAttack)简称(MITM),是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。
中间人攻击是一种由来已久的网络入侵手段,并且当今仍然有着广泛的发展空间,如SMB会话劫持、DNS欺骗等攻击都是典型的MITM攻击。简而言之,所谓的MITM攻击就是通过拦截正常的网络通信数据,并进行数据篡改和嗅探,而通信的双方却毫不知情。
模拟中间人攻击
- 中间人攻击第一种方式:
客户端向服务器发起请求,中间人拦截请求,并截取到客户端发送的消息(如果使用Http 请求,这里就会收到明文的消息,而使用Https则拦截的是密文消息),然后中间人使用代理服务器将客户端信息发送到服务端,服务端此时不知道是中间人发送来的消息,以为收到的是客户端消息,就把公开密钥证书发送给代理服务器,代理服务器此时就可以选择使用公开密钥将加密的数据