搜尋
首頁運維安全為什麼用了HTTPS,仍然被流量劫持?

為什麼用了HTTPS,仍然被流量劫持?

Feb 22, 2020 pm 04:01 PM
廣告網頁診斷

為什麼用了HTTPS,仍然被流量劫持?

為什麼用了HTTPS,還是被流量劫持?

您好,我是Chrome 瀏覽器公司的小雪,最近我們訪問千度網、淘貝網的網頁中時常出現不少奇怪的廣告,一直被投訴,聽領導說361防毒公司的周老師是這方面的專家,想請您幫忙診斷一下,到底這些廣告是怎麼來的

老周,有人找你,一大早,361 殺毒公司的老周就被吵醒。今天的陽光很明媚,老周伸了個懶腰,這才踱步走向工作室。

圖片來自Pexels

#1、廣告再臨

“是誰一大早的就來吵吵,壞了我的瞌睡”,聽得出來,老周有點不太高興。

“咚咚~”,老周微微抬頭一瞥,只見一甜美女子出現在工作室的門前。

推薦:《web伺服器安全教學

#老週一下從座椅上彈了起來,三步並作兩步,走到女子麵前,做出歡迎的手勢:「美女請進」。

兩人坐罷,老周扶了下鏡框,又整理了一下格子襯衣,一副溫文爾雅的作態,輕聲問到:「不知美女到訪,所為何事?」

女子倒是一副焦急的樣子,「您好,我是Chrome 瀏覽器公司的小雪,最近我們訪問千度網、淘貝網的網頁中時常出現不少奇怪的廣告,一直被投訴,聽領導說 361 防毒公司的周老師是這方面的專家,想請您幫忙診斷一下,到底這些廣告是怎麼來的」!

老週聽得有些不好意思,連連揮手,「原來是小雪姑娘,哪裡哪裡,勇鬥病毒木馬,消滅流氓軟體本就是我361  公司的分內之事,在下也只是盡一些綿薄之力罷了」。

“週老師別謙虛了,您之前揪出IE 公司的木馬入侵的事蹟已經傳遍整個Windows  帝國了,大家都知道您的厲害。這次廣告的問題,就拜託了”,小雪看著老周,彷彿眼裡閃著星星。

“別客氣,這事兒包在我身上了”,小雪起身,連說了幾句謝謝就離開了。

2、誰動了HTTPS 流量

此刻,負責網路資料過濾的大白正在忙碌著,突然一隻​​手搭在了他的肩膀上,大白回頭一看,正是老周。

「老周,什麼風把你吹到這裡來了,你不在安全實驗室分析惡意程式碼,跑我們網路部門來幹嘛?」

老週拍了下大白的肩膀,說到:「大白啊,有點事想請你幫忙,你幫我瞅瞅,Chrome 瀏覽器的流量中是不是被插入廣告了?」

「就這事啊,前段時間發現路由器老給插入廣告,我就給做了特徵屏蔽,原以為它們消停了,這才沒幾天又捲土重來了?”,大白說完調出了Chrome  公司的流量,準備一看究竟。

大白越看眉頭鎖的越緊,「應該沒有吧,我看訪問千度網和淘貝網都是用的HTTPS 協議,按理說路由器沒有可能插入廣告了啊!」

“HTTPS 協議?為什麼用這個就沒辦法插入廣告?”,老周問到。

“這都不知道啊,你這 361 公司安全實驗室領導怎麼當上去的啊”,大白一臉無語的表情。

老週有點難為情,「唉,老弟你也別取笑我了,這個術業有專攻嘛,我擅長病毒木馬代碼的分析,對網絡協議這塊確實知之甚少,勞煩大白老弟給說道」。

大白似乎是感覺自己的話說的有些重了,也藉坡下坎,「老周啊,剛才我跟你開玩笑的,你可別往心裡去啊」。

“沒事沒事,你快給我說說這HTTPS 協議,幫我早點破案吧!”

“好嘞,你稍等啊”,說完,大白開始在白板上畫了起來。

3、什麼是HTTPS

#「HTTPS=HTTP SSL/TLS,這門技術,說簡單也簡單,說複雜也複雜。簡單來說,就是為了網絡數據的安全性,通過加密傳輸的方式來對傳統上網的 HTTP 流量進行保護”,大白一邊畫著圖一邊給老周講述。

“明白,那麼問題來了,用什麼加解密演算法呢?對方如何知道用什麼演算法以及用什麼金鑰解密呢?”,老週一下抓到了關鍵點。

「唉,問到點子上了。在正式傳輸資料之前,雙方會有一個協商過程,為後面所選的加密演算法,以及要使用的金鑰達成協議。」

“那麼問題又來了,這個協商的內容要是被別人知道了,他不就可以按圖索驥,解密傳輸的內容了嗎?”,老周的反應很快。

「老周果然是老周!加密演算法被知道是無所謂了,畢竟演算法都是公開的,關鍵在於這個用於後續加密的金鑰,這個才是需要保護的關鍵,這個不能讓別人知道”,說罷,大白又繼續畫起來。

“so?怎麼保護這個金鑰呢?你倒是說啊”,老周有點著急了。

「注意哦,高能來了,雙方使用一個叫非對稱加密的方式來傳輸...」

"等一下",老周打斷了大白,「非對稱加密,這是個什麼意思?」

大白默默嘆了一口氣,「常見的加密方式叫對稱加密演算法,所謂對稱,就是加密和解密使用同一個金鑰。那與此相對的,非對稱加密,就是說加密和解密使用的是不同的密鑰,明白了吧”!

#老周略微思索,點了點頭,“我知道了,你繼續剛才說的,怎麼用這個非對稱加密演算法來傳輸後面需要的密鑰呢!」

大白繼續說到:「客戶端產生一個隨機數,使用公鑰加密,發給服務端,服務端使用私鑰解密取得這個隨機數,再根據這個隨機數和其他資訊計算出一個 key,就作為後續加密內容使用的金鑰了!」

「等等,客戶端的公鑰是哪裡來的?”

「最開始的時候,客戶端發來請求,服務端在回應中,會把公鑰告訴客戶端。好了,我畫完了,整個過程就是這樣的。」

大白放下畫筆,一副完整的HTTPS 協議握手過程圖浮現了出來:

老周反覆端詳,許久總算開口:「過程我倒是看懂了,不過我總覺得這不多此一舉嗎,直接使用非對稱加密演算法不就得了,這麼折騰!」

大白連連揮手,「你想的倒是簡單,非對稱加解密演算法執行起來麻煩的多,耗費的時間會多很多倍,如果全程使用非對稱加密演算法,那將會嚴重影響上網體驗。演算法是個好演算法,但用的代價也很大,所以權衡之下,好鋼用在刀刃上,就只用來傳輸密鑰,後面的正式數據傳輸,還是用常規的對稱加密演算法,來的經濟划算。」

老週點了點頭,一會兒低頭思考,一會兒又抬頭看著流程圖。

又過了許久,老周指著流程圖,再次提問:「我說大白,如果我在客戶端和服務端之間插入一個角色,對客戶端冒充服務端,對服務端又冒充客戶端,就能從中作梗,修改資料包,插入廣告了是吧?」

正在喝水的大白聽後嗆得連連咳嗽,「你說的就是中間人攻擊嘛!你當HTTPS  是玩具嘛,這麼容易就被劫持,笑話!注意看圖,那裡有個認證環節,不是誰能冒充的!”

老周又看了看圖,「怎麼認證法,我倒是聽聽!」

「在服務端的回應中,我前面說的公鑰是在一個叫做憑證的東西裡面,這個憑證就是用來標識服務端的身分的,是由權威機構頒發的,客戶端收到憑證後,會檢查是否是可信任的,如果不受信任就會及時中止後面的流程。」

「那如何判斷一個憑證是可信任的呢?」

「帝國早已把受信任的憑證安裝好了,屆時只要呼叫API 查一下即可!」

#老周思來想去,總覺得哪裡有問題,卻又說不上來。

4、真相只有一個

一連過了幾天,老周依舊毫無頭緒,這事兒就這樣擱置了。

福無雙至,禍不單行。這案子還沒搞清楚,Firefox 公司又出事了。

原來,361 防毒公司偵測到 Firefox 秘密啟動了有木馬特徵的進程,老周再一次帶隊前往勘查,Firefox 公司的小狐負責對接此事。

老週來到了 Firefox 磁碟儲存目錄,打算先排查木馬檔案是什麼來頭。

“這是一堆什麼資料?”,老周指著一堆檔案問到。

“週老師,這是網頁快取資料”,一旁的小狐狸回答。

「打開看看,能否找到一些攻擊痕跡?」

老週環顧四周,指著另一堆文件問到:「這又是一堆什麼資料?」

“週老師,這是一堆證書信息,HTTPS 握手時認證伺服器所用的,跟這次攻擊事件應該沒關係的”,小狐繼續解釋到。

“認證用?帝國不是儲存了受信認的證書嗎,你們還保存證書資訊做什麼?”,老周有些不解。

“帝國儲存的受信任證書我們可不認,誰知道那裡面都是些什麼證書,太不可靠了,我們Firefox  瀏覽器公司自己做認證,不用那一套”,小狐言語之間流露著些許得意。

聽完小狐的回答,老周突然愣住了,短暫的幾 ms 之後反應了過來,掏出了從 Chrome 公司拿來的千度網證書,打算請小狐看一下。

小狐狸接過證書,仔細察看,片刻之後一口咬定的說:「這證書有問題!」

老周眼前閃過一道亮光,追問:「哪裡有問題?”

「這證書頒發機構叫ABSafe,不在我們受信任的清單中!再說了,我這裡有快取千度網的證書,根本不是這樣的,這肯定是假的,你看!」

老週拿著兩個證書反覆查看,不時點點頭,之前困擾多時的問題終於有了答案。

「我明白了,真相只有一個!一定是有人把這個ABSafe 頒發機構安裝到了帝國受信任列表,以此騙過了Chrome 公司!進行了HTTPS  中間人劫持!YES!”,老周說完用力揮了揮拳頭。

“週老師,您在說什麼啊,我怎麼聽不懂?”,看著老周自言自語,小狐滿臉的問號。

老周叮嚀同行的老齊繼續勘察,匆忙拜別小狐狸就離開了。

這天夜裡,兩個黑影出現在了帝國受信任根憑證倉庫。

“原來是有人把我們安裝的根證書給刪掉了,難怪剛才 Chrome 瀏覽器訪問千度網報了警告”,其中一個胖的黑影說到。

瘦弱的黑影摀住了胖子的嘴巴,「噓,你給我把著點風,我去重新裝上!」

瘦的黑影躡手躡腳走了過去,從懷裡掏出了一個東西。

“別動!安全檢查!”,突然一束光線射了過來,原來老周帶著隊伍在此潛伏多時了。

“竟然是你們,禁廣大師!千度網和淘貝網的廣告也是你們加的是吧?”,老周大聲質問。

胖瘦黑影面面相覷,老實交代了一切。

彩蛋:“老齊,Firefox 公司的案子有什麼發現嗎”,“老周,你還是再來一趟吧,情況有點複雜”。欲知後事如何,請關注後續精彩...

更多安全、程式入門知識,請關注PHP中文網!

本文轉載自:https://netsecurity.51cto.com/art/202002/610987.htm

以上是為什麼用了HTTPS,仍然被流量劫持?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:51cto。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用