微信聊天內容可以被監聽嗎

    上班摸魚與網路安全 成為了鍋叔在部落格園閱讀數最高的一篇文章,足可見同學們上班摸魚的熱情,同時也反映了大家對網路安全的擔憂……

  對於其中的一個存疑問題,「微信的聊天記錄內容,到底能不能被監聽」。鍋叔打算再花點篇幅做一些詳細的說明,在「摸魚」一文中,鍋叔得出了一個結論,微信聊天內容是無法被公司取得的。然而幾名同學回饋,這個結論可能有問題, 自己的微信聊天記錄就被公司截取過,

  ——「在那個群,和誰聊了什麼,看的一清二楚,還可以搜索」,並且使用的是自己的設備,著實讓鍋叔覺得不可思議。先不論技術,邏輯上說,如果僅因為使用了公司的wifi就可以被監控微信聊天內容,推論就是:

  你在微信中聊的任何內容,都可能被你接入網路的管理人員監聽獲取。這個管理人員完全可以是咖啡店老闆,酒店老闆,你的老公老婆……所有提供你網路接入的地方的主人。抓緊回憶下你在這些地方都聊過啥……。

  現實生活不是黑客帝國,下面我們分析下一般軟體安全機制,和要取得聊天內容的可能途徑,以便知己知彼。

 

  一、聊天軟體應該保證的安全

    依舊是那個問題,當一款聊天通訊軟體宣傳他是「安全」的,這裡的安全的含義是什麼?如果你作為產品經理,提幾個基本的安全需求,可能應該包括:

  1. 帳號安全,不能被繞過,爆破等。就是保證用戶的帳號安全方面。

  2. 傳輸安全,傳輸的內容,應該不能被竊聽,不能被篡改。

  3. 其他 :-)。

  帳號方面,帳號/密碼丟了那啥都白扯。這裡主要說傳輸安全方面。實現傳輸安全的需求,開發人員可能會考慮採用非對稱加密交換隨機秘鑰,使用隨機秘鑰加密內容通訊的方案來實現。秘鑰協商和通訊加密的過程大概如下。

 

  客戶端就是我們的聊天軟體,中間的部分就是網路通訊。首先,說幾個結論,這是經過數學證明的,不需要懷疑。

  1. 非對稱演算法中的一對秘鑰對即上面的公鑰、私鑰,他們互不相同,不能根據一個計算出另外一個。

  2.非對稱的秘鑰對,被一個秘鑰加密的內容,只能使用配對的另一個秘鑰解密,否則不能解密。

      3.對稱加密演算法,只有一個秘鑰,既用來加密,也用來解密。不知道秘鑰則無法解密。 

  開始時客戶端軟體用它已經預先打包在程式包內的公鑰加密一個隨機的對稱秘鑰發送給伺服器端,伺服器收到後,解密保存該對稱秘鑰。後續發送聊天內容時,客戶端使用生成的隨機對稱秘鑰,對聊天內容進行加密,伺服器使用之前收到的對稱秘鑰進行解密。伺服器轉給你的聊天內容也同樣用對稱秘鑰加密,客戶端使用對稱秘鑰解密。

  通過以上就可以保證,通訊過程中的資訊安全。

  1. 假如客戶端發送對稱秘鑰的資訊被第三方監聽,第三方因為沒有私鑰,無法解密。

  2.假如客戶端和伺服器間的聊天資訊被監聽,第三方沒有對稱秘鑰,無法解密。

  3.假如有一個中間人冒充伺服器,因為沒有微信伺服器端保存的私鑰,所以無法解密取得你用公鑰加密的隨機對稱秘鑰,沒有隨機對稱秘鑰就無法解密客戶端發送的聊天內容,也無法使用對稱秘鑰加密資訊發送給客戶端,所以無法冒充他人給你發送聊天資訊。

  上面只是一個基礎的加密邏輯,相信大廠微信肯定做的有過之而無不及,因此:微信的聊天內容是無法被第三方通過網路監聽取得的。

  但聊天軟體畢竟不是安全軟體,通常僅保證通訊安全,除了網路監聽,攔截外,還是有很多其他手段可能獲取你的聊天記錄的。

 

  二、上網行為管理審計原理

        

           百度排名No.1的上網行為管理系統大名鼎鼎的「深信服」和他的競品。從介紹來看,功能是非常強大的。郵件,聊天內容都能取得,程式是否可以運行也能控制,可以錄屏等。這類系統都是需要在被控電腦上安裝客戶端軟體的。可能是明處,可能是暗處。

 

 

 

 

  上面的截圖也是可以佐證,客戶端的存在的, 深信服的可能是通過瀏覽器頁面直接引導安裝的。 

  安裝監控程式,就相當於安裝木馬。微軟windows系統是一個比較開放的系統,各進程間是沒有隔離的,也不需要進行許可權申請,一個運行的程式完全可以通過API對其他的進程窗體內容,記憶體內容進行抓取,攔截API調用。這類監控程式,本質就是木馬,你在安裝了監控程式的電腦上所進行的任何操作,都可以被木馬伺服器遠程收集。

  應對這類監控,如果公司是明確要求,必須安裝的,那你只能要麼忍要麼滾-_-||。 如果公司是隱蔽進行的,你可以使用自己的設備,或者把公司的電腦徹底格式化,密碼不要輕易泄漏,不要安裝運行來歷不明的程式。此外,監控程式也是運行於系統之上的,需要針對作業系統開發, 對一些小眾系統可能支援不完善,或者受限於系統許可權,不能實現監控功能,比如MacOS,Linux。這就是為啥MacOS的病毒,木馬比較少 :-)。

  

   

  三、安全漏洞與系統修補程式

  ——「用自己的電腦只連wifi就被截屏那100%用了黑客手段了」。

  這是一個同學的評論,我是認同這一點的,這裡展開做一下科普。一般情況下用自己的電腦連接一個第三方wifi,就被第三方監控了聊天內容甚至截屏,這是不太可能發生的。

  但世事無絕對,理論上是有可能的,比如你的系統存在漏洞,第三方能夠通過你系統開放的網路服務,取得你系統的控制許可權,然後就可以開啟後門,安裝監控程式(木馬),之後可以通過木馬程式,收集你電腦各種資訊。

  不必擔心,這真的只是理論上的可能,這要求有這樣的重大漏洞存在,且尚未被廣泛了解,沒有被作業系統發布者和安全廠家修復,現實中很罕見。利用公布的已知漏洞並不難,但自己發現一個別人都不知道的,影響範圍廣泛的重大漏洞,這對黑客的要求是非常高的,也是一個頂級成就。

  應對就是及時更新系統,及時更新修補程式,當然也不要自己引狼入室,自己安裝來源不明的程式(釣魚文件),所以使用盜版軟體,作業系統真的有風險!很多都被修改過,很可能有植入的木馬 :-)。

 

     

  四、私鑰安全

  如果聊天軟體客戶端保存在伺服器的私鑰被第三方獲得,那第三發就完全可以僅通過網路發起中間人攻擊了, 不需要在客戶端安裝任何程式。也是理論上存在可能。

 

 

   如果發生了這種情況,那肯定要啟用新的非對稱秘鑰對了,客戶端可能要更新後生效。所以盡量保持程式更新。o(* ̄︶ ̄*)o

  

  總結:

    1.   微信的聊天內容通過網路通訊層次通常情況是無法被取得內容的。

  2.  如果有跡象表明你具體的聊天內容,https瀏覽內容,被監聽,99%的情況下,說明你的電腦被植入了監控軟體(木馬),儘快自查。

  3.   及時進行系統安全更新,不要隨意運行別人給你的軟體,比如關係不好的老婆/老公,多數木馬是通過這個途徑引狼入室的。