IT安全运维 | 中间人攻击技术解析
| 2020-04-13 09:11:09 标签:
IT安全运维 | 中间人攻击技术解析
最近GitHub疑遭中间人攻击,导致无法访问。作为安全运维人员,必须要了解网络攻击手段才能更好的做好系统安全运维工作。今天就跟大家分享下什么是中间人攻击。中间人攻击的定义:中间人攻击是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。简单来说,攻击者在请求和响应传输途中,拦截并篡改内容。对于 HTTP 来说,由于设计的简单,不需要太多步骤就可以进行监听和修改报文;在这里主要是针对 HTTPS,HTTPS 使用了 SSL 加密协议,是一种非常安全的机制,目前并没有方法直接对这个协议进行攻击,一般都是在建立 SSL 连接时,利用中间人获取到 CA证书、非对称加密的公钥、对称加密的密钥;有了这些条件,就可以对请求和响应进行拦截和篡改。
中间人攻击需要截获请求响应
对于中间人攻击,有一个前提就是:需要截获到客户端与服务器通信的线路。抓包工具一般都是用户主动将其设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。对于其它工具则是利用 DNS欺骗、ARP投毒、劫持网关等手段,将客户端的请求重定向到攻击者的机器,以便进行网络抓包。
SSL 证书欺骗攻击
SSL 证书欺骗攻击流程大概如下:
截获客户端与服务器通信的通道
然后在 SSL 建立连接的时候,进行中间人攻击
将自己伪装成客户端,获取到服务器真实有效的 CA 证书(非对称加密的公钥)
将自己伪装成服务器,获取到客服端的之后通信的密钥(对称加密的密钥)
有了证书和密钥就可以监听之后通信的内容了
这个避免方法就是:
客户端不要轻易信任证书
App 可以提前预埋证书在本地
SSL 剥离攻击
SSL 剥离就是将客户端的 HTTPS 请求降级成 HTTP 请求,阻止 HTTP 请求重定向成 HTTPS ,流程图如下:
总结
中间人攻击主要是伪装身份,然后截取通信的内容,对于 HTTP 是可以很轻松的截获;但是对于 HTTPS,主要是在建立 SSL 连接的时候,骗取到证书和密钥;流程不是很复杂,但是这个里面会涉及到比较多的知识点。作为我们网络安全运维人员需要掌握的东西还有很多