面试官:给我说说什么是中间人攻击?

梁山伯要向祝英台表白,于是写了一封信给祝英台,结果第三者马英才拦截到了这封信,把这封信进行了篡改,于是乎在他们之间进行搞破坏行动。这个马文才就是中间人,实施的就是中间人攻击。这篇文章就来好好聊聊什么是中间人攻击。

一、什么是中间人攻击

中间人攻击英文名叫Man-in-the-MiddleAttack,简称“MITM攻击”。指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方 直接对话,但事实上整个会话都被攻击者完全控制。我们画一张图:

面试官:给我说说什么是中间人攻击?_第1张图片

从这张图可以看到,中间人其实就是攻击者。通过这种原理,有很多实现的用途,比如说,你在手机上浏览不健康网站的时候,手机就会提示你,此网站可能含有病毒,是否继续访问还是做其他的操作等等。

下面我们说说中间人攻击的原理:

二、中间人攻击的原理

我们直接使用一张图来演示:本图来源于:flydean的《java哪些事专栏》,并对图片进行了更改和调整。特在此说明。

面试官:给我说说什么是中间人攻击?_第2张图片

这是一个基本的完整的流程,具体步骤可以依据图片来看,这里就不在用文字再叙述一遍了。

三、中间人攻击如何避免?

既然知道了中间人攻击的原理也知道了他的危险,现在我们看看如何避免。相信我们都遇到过下面这种状况:

面试官:给我说说什么是中间人攻击?_第3张图片

出现这个界面的很多情况下,都是遇到了中间人攻击的现象,需要对安全证书进行及时地监测。而且大名鼎鼎的github网站,也曾遭遇过中间人攻击:

面试官:给我说说什么是中间人攻击?_第4张图片

不过github已经找到了这个攻击者: 346608453,后面是QQ邮箱。

想要避免中间人攻击的方法目前主要有两个:

1、客户端不要轻易相信证书:因为这些证书极有可能是中间人。

2、App 可以提前预埋证书在本地:意思是我们本地提前有一些证书,这样其他证书就不能再起作用了。

OK,这个中间人攻击比较简单。先介绍这么多,面试问题足够。

你可能感兴趣的:(分布式专题,加密)