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

廣告再臨

“老周,有人找你”

一大早,361殺毒公司的老周就被吵醒。

今天的陽光很明媚,老周伸了伸懶腰,這才踱步走向工作室。

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

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

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

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

老週一下從座椅上彈了起來,三步並作兩步,走到女子面前,作出歡迎的手勢:“美女請進”

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

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

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

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

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

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

誰動了HTTPS流量

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

“老周,什麼風把你吹到這裡來了,你不在安全實驗室分析惡意代碼,跑我們網絡部門來幹嘛?”

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

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

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

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

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

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

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

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

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

“沒事沒事,你快給我說說這HTTPS協議,幫助我早點破案吧”“好嘞,你稍等啊”,說完,大白開始在白板上畫了起來。

什麼是HTTPS

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

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

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

“唉,問到點子上了。在正式傳輸數據之前,雙方會有一個協商過程,為後面所選擇的加密算法,以及要使用的密鑰達成一致。”

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

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

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

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

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

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

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

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

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

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

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

“最開始的時候,客戶端發來請求,服務端在響應中,會把公鑰告訴客戶端。好了,我畫完了,整個過程就是這樣的”,大白放下畫筆,一副完整的HTTPS協議握手過程圖浮現了出來:

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

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

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

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

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


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


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

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

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

“那如何判斷一個證書是可信任的呢?”“帝國早已把受信任的證書安裝好了,屆時只需調用API查一下即可”

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

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

真相只有一個

一連過了幾天,老周依舊毫無頭緒,這事兒就這樣擱置了。福無雙至,禍不單行。這案子還沒弄明白,firefox公司又出事了。原來,361殺毒公司檢測到firefox秘密啟動了有木馬特徵的進程,老周再一次帶隊前往勘查,firefox公司的小狐負責對接此事。

老周來到了firefox磁盤存儲目錄,打算先排查一下木馬文件是什麼來頭。

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

“這是一堆什麼數據?”,老周指著一堆文件問到。

“周老師,這是網頁緩存數據”,一旁的小狐回答。

“打開看看,看看能否找到一些攻擊痕跡”

老周環顧四周,指著另一堆文件問到:“這又是一堆什麼數據?”

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

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

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

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

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

小狐接過證書,仔細察看,片刻之後一口咬定的說:“這證書有問題!”老周眼前閃過一道亮光,追問到:“哪裡有問題?”

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

“這證書頒發機構叫ABSafe,不在我們受信任的列表中!再說了,我這裡有緩存千度網的證書,根本不是這樣的,這肯定是假的,你看”

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

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

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

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

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

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

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

瘦的黑影捂住了胖子的嘴巴,“噓,你給我把著點風,我去重新裝上”

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

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

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

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

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

來源:https://www.cnblogs.com/xuanyuan/p/12326610.html


分享到:


相關文章: