面試官:給我說說什么是中間人攻擊?
梁山伯要向祝英臺(tái)表白,于是寫了一封信給祝英臺(tái),結(jié)果第三者馬英才攔截到了這封信,把這封信進(jìn)行了篡改,于是乎在他們之間進(jìn)行搞破壞行動(dòng)。這個(gè)馬文才就是中間人,實(shí)施的就是中間人攻擊。這篇文章就來好好聊聊什么是中間人攻擊。
一、什么是中間人
攻擊中間人攻擊英文名叫Man-in-the-MiddleAttack,簡稱“MITM攻擊”。指攻擊者與通訊的兩端分別創(chuàng)建獨(dú)立的聯(lián)系,并交換其所收到的數(shù)據(jù),使通訊的兩端認(rèn)為他們正在通過一個(gè)私密的連接與對方 直接對話,但事實(shí)上整個(gè)會(huì)話都被攻擊者完全控制。我們畫一張圖:
從這張圖可以看到,中間人其實(shí)就是攻擊者。通過這種原理,有很多實(shí)現(xiàn)的用途,比如說,你在手機(jī)上瀏覽不健康網(wǎng)站的時(shí)候,手機(jī)就會(huì)提示你,此網(wǎng)站可能含有病毒,是否繼續(xù)訪問還是做其他的操作等等。
下面我們說說中間人攻擊的原理:
二、中間人攻擊的原理
我們直接使用一張圖來演示:本圖來源于:flydean的《java哪些事專欄》,并對圖片進(jìn)行了更改和調(diào)整。特在此說明。
這是一個(gè)基本的完整的流程,具體步驟可以依據(jù)圖片來看,這里就不在用文字再敘述一遍了。
三、中間人攻擊如何避免?
既然知道了中間人攻擊的原理也知道了他的危險(xiǎn),現(xiàn)在我們看看如何避免。相信我們都遇到過下面這種狀況:
出現(xiàn)這個(gè)界面的很多情況下,都是遇到了中間人攻擊的現(xiàn)象,需要對安全證書進(jìn)行及時(shí)地監(jiān)測。而且大名鼎鼎的github網(wǎng)站,也曾遭遇過中間人攻擊:
不過github已經(jīng)找到了這個(gè)攻擊者:346608453,后面是QQ郵箱。
想要避免中間人攻擊的方法目前主要有兩個(gè):
1、客戶端不要輕易相信證書:因?yàn)檫@些證書極有可能是中間人。
2、App 可以提前預(yù)埋證書在本地:意思是我們本地提前有一些證書,這樣其他證書就不能再起作用了。
OK,這個(gè)中間人攻擊比較簡單。先介紹這么多,面試問題足夠。
本文轉(zhuǎn)載自微信公眾號(hào)「愚公要移山」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系愚公要移山公眾號(hào)。