對于其中的一個(gè)存疑問題,“微信的聊天記錄內(nèi)容,到底能不能被監(jiān)聽”。鍋叔打算再花點(diǎn)篇幅做一些詳細(xì)的說明,在“摸魚”一文中,鍋叔得出了一個(gè)結(jié)論,微信聊天內(nèi)容是無法被公司取得的。然而幾名同學(xué)反饋,這個(gè)結(jié)論可能有問題, 自己的微信聊天記錄就被公司截取過,
——“在那個(gè)群,和誰聊了什么,看的一清二楚,還可以搜索”,并且使用的是自己的設(shè)備,著實(shí)讓鍋叔覺得不可思議。先不論技術(shù),邏輯上說,如果僅因?yàn)槭褂昧斯镜膚ifi就可以被監(jiān)控微信聊天內(nèi)容,推論就是:
你在微信中聊的任何內(nèi)容,都可能被你接入網(wǎng)絡(luò)的管理人員監(jiān)聽獲取。這個(gè)管理人員完全可以是咖啡店老板,酒店老板,你的老公老婆……所有提供你網(wǎng)絡(luò)接入的地方的主人。抓緊回憶下你在這些地方都聊過啥……。
現(xiàn)實(shí)生活不是黑客帝國,下面我們分析下一般軟件安全機(jī)制,和要取得聊天內(nèi)容的可能途徑,以便知己知彼。
一、聊天軟件應(yīng)該保證的安全
依舊是那個(gè)問題,當(dāng)一款聊天通信軟件宣傳他是“安全”的,這里的安全的含義是什么?如果你作為產(chǎn)品經(jīng)理,提幾個(gè)基本的安全需求,可能應(yīng)該包括:
1. 賬號安全,不能被繞過,爆破等。就是保證用戶的賬號安全方面。
2. 傳輸安全,傳輸?shù)膬?nèi)容,應(yīng)該不能被竊聽,不能被篡改。
3. 其他 :-)。
賬號方面,賬號/密碼丟了那啥都白扯。這里主要說傳輸安全方面。實(shí)現(xiàn)傳輸安全的需求,開發(fā)人員可能會考慮采用非對稱加密交換隨機(jī)秘鑰,使用隨機(jī)秘鑰加密內(nèi)容通信的方案來實(shí)現(xiàn)。秘鑰協(xié)商和通信加密的過程大概如下。
客戶端就是我們的聊天軟件,中間的部分就是網(wǎng)絡(luò)通信。首先,說幾個(gè)結(jié)論,這是經(jīng)過數(shù)學(xué)證明的,不需要懷疑。
1. 非對稱算法中的一對秘鑰對即上面的公鑰、私鑰,他們互不相同,不能根據(jù)一個(gè)計(jì)算出另外一個(gè)。
2.非對稱的秘鑰對,被一個(gè)秘鑰加密的內(nèi)容,只能使用配對的另一個(gè)秘鑰解密,否則不能解密。
3.對稱加密算法,只有一個(gè)秘鑰,既用來加密,也用來解密。不知道秘鑰則無法解密。
開始時(shí)客戶端軟件用它已經(jīng)預(yù)先打包在程序包內(nèi)的公鑰加密一個(gè)隨機(jī)的對稱秘鑰發(fā)送給服務(wù)器端,服務(wù)器收到后,解密保存該對稱秘鑰。后續(xù)發(fā)送聊天內(nèi)容時(shí),客戶端使用生成的隨機(jī)對稱秘鑰,對聊天內(nèi)容進(jìn)行加密,服務(wù)器使用之前收到的對稱秘鑰進(jìn)行解密。服務(wù)器轉(zhuǎn)給你的聊天內(nèi)容也同樣用對稱秘鑰加密,客戶端使用對稱秘鑰解密。
通過以上就可以保證,通信過程中的信息安全。
1. 假如客戶端發(fā)送對稱秘鑰的信息被第三方監(jiān)聽,第三方因?yàn)闆]有私鑰,無法解密。
2.假如客戶端和服務(wù)器間的聊天信息被監(jiān)聽,第三方?jīng)]有對稱秘鑰,無法解密。
3.假如有一個(gè)中間人冒充服務(wù)器,因?yàn)闆]有微信服務(wù)器端保存的私鑰,所以無法解密取得你用公鑰加密的隨機(jī)對稱秘鑰,沒有隨機(jī)對稱秘鑰就無法解密客戶端發(fā)送的聊天內(nèi)容,也無法使用對稱秘鑰加密信息發(fā)送給客戶端,所以無法冒充他人給你發(fā)送聊天信息。
上面只是一個(gè)基礎(chǔ)的加密邏輯,相信大廠微信肯定做的有過之而無不及,因此:微信的聊天內(nèi)容是無法被第三方通過網(wǎng)絡(luò)監(jiān)聽取得的。
但聊天軟件畢竟不是安全軟件,通常僅保證通信安全,除了網(wǎng)絡(luò)監(jiān)聽,攔截外,還是有很多其他手段可能獲取你的聊天記錄的。
二、上網(wǎng)行為管理審計(jì)原理
百度排名No.1的上網(wǎng)行為管理系統(tǒng)大名鼎鼎的“深信服”和他的競品。從介紹來看,功能是非常強(qiáng)大的。郵件,聊天內(nèi)容都能取得,程序是否可以運(yùn)行也能控制,可以錄屏等。這類系統(tǒng)都是需要在被控電腦上安裝客戶端軟件的。可能是明處,可能是暗處。
上面的截圖也是可以佐證,客戶端的存在的, 深信服的可能是通過瀏覽器頁面直接引導(dǎo)安裝的。
安裝監(jiān)控程序,就相當(dāng)于安裝木馬。微軟windows系統(tǒng)是一個(gè)比較開放的系統(tǒng),各進(jìn)程間是沒有隔離的,也不需要進(jìn)行權(quán)限申請,一個(gè)運(yùn)行的程序完全可以通過API對其他的進(jìn)程窗體內(nèi)容,內(nèi)存內(nèi)容進(jìn)行抓取,攔截API調(diào)用。這類監(jiān)控程序,本質(zhì)就是木馬,你在安裝了監(jiān)控程序的計(jì)算機(jī)上所進(jìn)行的任何操作,都可以被木馬服務(wù)器遠(yuǎn)程收集。
應(yīng)對這類監(jiān)控,如果公司是明確要求,必須安裝的,那你只能要么忍要么滾-_-||。 如果公司是隱蔽進(jìn)行的,你可以使用自己的設(shè)備,或者把公司的電腦徹底格式化,密碼不要輕易泄漏,不要安裝運(yùn)行來歷不明的程序。此外,監(jiān)控程序也是運(yùn)行于系統(tǒng)之上的,需要針對操作系統(tǒng)開發(fā), 對一些小眾系統(tǒng)可能支持不完善,或者受限于系統(tǒng)權(quán)限,不能實(shí)現(xiàn)監(jiān)控功能,比如macOS,linux。這就是為啥MacOS的病毒,木馬比較少 :-)。
三、安全漏洞與系統(tǒng)補(bǔ)丁
——“用自己的電腦只連wifi就被截屏那100%用了黑客手段了”。
這是一個(gè)同學(xué)的評論,我是認(rèn)同這一點(diǎn)的,這里展開做一下科普。一般情況下用自己的電腦連接一個(gè)第三方wifi,就被第三方監(jiān)控了聊天內(nèi)容甚至截屏,這是不太可能發(fā)生的。
但世事無絕對,理論上是有可能的,比如你的系統(tǒng)存在漏洞,第三方能夠通過你系統(tǒng)開放的網(wǎng)絡(luò)服務(wù),取得你系統(tǒng)的控制權(quán)限,然后就可以開啟后門,安裝監(jiān)控程序(木馬),之后可以通過木馬程序,收集你電腦各種信息。
不必?fù)?dān)心,這真的只是理論上的可能,這要求有這樣的重大漏洞存在,且尚未被廣泛了解,沒有被操作系統(tǒng)發(fā)布者和安全廠家修復(fù),現(xiàn)實(shí)中很罕見。利用公布的已知漏洞并不難,但自己發(fā)現(xiàn)一個(gè)別人都不知道的,影響范圍廣泛的重大漏洞,這對黑客的要求是非常高的,也是一個(gè)頂級成就。
應(yīng)對就是及時(shí)更新系統(tǒng),及時(shí)更新補(bǔ)丁,當(dāng)然也不要自己引狼入室,自己安裝來源不明的程序(釣魚文件),所以使用盜版軟件,操作系統(tǒng)真的有風(fēng)險(xiǎn)!很多都被修改過,很可能有植入的木馬 :-)。
四、私鑰安全
如果聊天軟件客戶端保存在服務(wù)器的私鑰被第三方獲得,那第三方就完全可以僅通過網(wǎng)絡(luò)發(fā)起中間人攻擊了, 不需要在客戶端安裝任何程序。也是理論上存在可能。
如果發(fā)生了這種情況,那肯定要啟用新的非對稱秘鑰對了,客戶端可能要更新后生效。所以盡量保持程序更新。o(* ̄︶ ̄*)o
總結(jié):
1. 微信的聊天內(nèi)容通過網(wǎng)絡(luò)通信層次通常情況是無法被取得內(nèi)容的。
2. 如果有跡象表明你具體的聊天內(nèi)容,https瀏覽內(nèi)容,被監(jiān)聽,99%的情況下,說明你的電腦被植入了監(jiān)控軟件(木馬),盡快自查。
3. 及時(shí)進(jìn)行系統(tǒng)安全更新,不要隨意運(yùn)行別人給你的軟件,比如關(guān)系不好的老婆/老公,多數(shù)木馬是通過這個(gè)途徑引狼入室的。
作者:鍋叔
原文鏈接:
https://www.cnblogs.com/uncleguo/p/16203462.html