“盜版微信”通過反編譯手段可與正版互聯互通
近日,據云頭條報導,杭州鵜鶘網絡科技有限公司(以下簡稱杭州鵜鶘公司)法定代表人的楊某和黃某為滿足其公司客戶的需要,便於推銷其公司製作的遊戲等軟件,決定安排公司人員自行製作可與正版微信客戶端用戶實現文字、語音聊天等功能的“微信”客戶端軟件(以下簡稱鵜鶘微信)。
“微信也能輕易被模仿,那鵝廠的技術大佬們豈不是白乾了”?
真沒想到,這事兒還真被人家做到了。
利用反編譯手段與正版互聯互通
在說這件事之前,有必要先為大家簡單介紹下杭州鵜鶘公司。
天眼查顯示,鵜鶘網絡科技有限公司創辦於2015年7月,由在移動互聯網行業從事多年開發、市場、渠道拓展等工作的資深人員創辦,其成員曾任職於大型移動互聯網公司。公司主要從事手機客戶端、服務端相關軟件開發,客戶主要為手機設計公司和品牌商。
你品,你細品。
那麼,他們是如何實現與正版微信互聯互通的呢,我們接著往下看。
接到公司安排的黃某找到了呂某來幫助宋某完成這一工作,呂某稱其通過反編譯等手段對微信的數據結構、加密算法進行分析,並製作了一份微信軟件的逆向分析報告。
反編譯,又稱為逆向編譯技術,是指將可執行文件變成高級語言源程序的過程。反編譯技術依賴於編譯技術,是編譯過程的逆過程。通常反編譯出來的程序與原程序會存在些許不同,雖然執行效果相同,但程序代碼會發生很大的變化,要讀懂反彙編需要有紮實的高級語言編寫功底和彙編功底。而反編譯的一個重要作用就是製作外掛。
宋某根據呂某的分析報告做了鵜鶘微信,隨後,宋某把算法給陳某,並將其算法放在服務器上,服務端就可以和手機端對接,為了統計用戶手機的IMEI,I MSI、手機型號、保存時間、body等內容,黃某又命令陳某寫了代碼用來統計。
收集的這些信息保存在內網IP 為192.168.1.12 的服務器的postgres 數據庫中,用戶的登錄信息存儲在wechat 數據庫的login 表中,用戶數據信息存儲在wechat 數據庫的new_user 表中,表new_user 中的body列存儲了加密數據。
為了保證這款軟件成功,黃某還讓研發部員工周某在鵜鶘微信裡添加一段代碼確認鵜鶘微信是否成功登錄了微信。這樣一來,用戶在安裝了鵜鶘微信後,成功登錄後,就會把微信賬號、密碼直接上傳到其公司服務器。
同時,為了防止密碼洩露,和微信賬號、密碼一起上傳的還有IMEI (手機串號)、IMSI(sim 卡串號)、下載時間、手機品牌等信息。
而這款軟件的高明之處就在於,手機用戶使用鵜鶘微信的時候,騰訊公司的服務器會誤認為鵜鶘微信就是他們公司的微信。第一次登錄後,騰訊服務器會留信息在手機上,之後就默認手機上的就是騰訊公司的微信。鵜鶘微信只能通過文字、語音進行聊天。
根據中國裁判文書網公佈的細節,2017 年4 月12 日起,浙江鵜鶘網絡科技有限公司繼續運營“微信”軟件。×××年11 月18 日至2018 年4 月17 日,鵜鶘公司共向消費者提供名為“微信”的自製聊天軟件42182 次。
不過,值得注意的是,這款軟件只是在微信客戶端做了逆向,利用插件方式在本地做一些本地功能,仍然需要插件使用者提供微信密碼,無法做到對其他用戶數據監聽,劫持,更不會影響其他用戶的支付等功能。
事情敗露:罰金八萬,緩刑一年
但假的終歸是假的,總有事情敗露的一天。
2018 年,鵝廠的安全管理部門發現了異常。經技術分析,他們發現微信服務器收到大量偽造標準微信加密協議的數據包,因無法識別是假的微信客戶端發送的,所以按照協議進行數據發送,原有的用戶通訊控制機制受到嚴重破壞,通過對通訊數據進一步分析,發現有軟件能利用我公司軟件微信的加密協議實現與正式微信註冊用戶的通訊等功能,該款軟件並未經過我公司任何授權,嚴重破壞了微信的安全認證與通訊控制機制,因為微信資金支付數據傳輸採用類似的加密協議,該款軟件有可能影響到微信用戶的資金安全,同時還被預裝在多家國內手機廠商生產的手機中,遂報案。
經鑑定,該“微信”軟件利用微信服務器實現微信登錄,具有獲取微信相關信息、上傳設備信息和用戶賬號密碼的功能,該功能突破了計算機信息系統的安全保護措施,未經授權獲取了計算機信息系統的相關信息,屬於侵入微信系統的程序。
公訴機關認為,被告人呂某、宋某、周某、陳某甲夥同他人,提供專門用於侵入計算機信息系統的程序,情節特別嚴重,其行為已構成提供侵入計算機信息系統程序罪,且屬共同犯罪。被告人呂某、宋某、周某、陳某甲在共同犯罪中起次要作用,是從犯,應當從輕、減輕處罰。被告人呂某、宋某、周某如實供述自己的罪行,可以從輕處罰。被告人陳某甲自動投案,如實供述自己的罪行,是自首,可以從輕或者減輕處罰。
具體裁處結果如下:
一、被告人呂某犯提供侵入、非法控制計算機信息系統程序、工具罪,判處有期徒刑十個月,緩刑一年(緩刑考驗期限,從判決確定之日起計算),並處罰金人民幣八萬元(已繳納)。
二、被告人宋某犯提供侵入、非法控制計算機信息系統程序、工具罪,判處有期徒刑十個月,緩刑一年(緩刑考驗期限,從判決確定之日起計算),並處罰金人民幣八萬元(已繳納)。
三、被告人周某犯提供侵入、非法控制計算機信息系統程序、工具罪,免予刑事處罰。
四、被告人陳某甲犯提供侵入、非法控制計算機信息系統程序、工具罪,免予刑事處罰。
注:楊某和黃某按另案處理。
微信支付會有風險嗎?
針對此案件,有網友提出疑問,這款軟件可以和正規微信互聯互通,那麼是不是意味著我們所有的信息都不安全了?
愛加密研究院院長程智力認為首先要認清這件事的本質,首先,它只能算是一個外掛,而這款軟件只是在微信客戶端做了逆向,無法做到對其他用戶數據監聽,劫持,更不會影響其他用戶的支付等功能;其次,各個熱門APP 都有外掛,外掛門檻也不高,它只是幫助攻擊者自己的帳號能夠自動化做一些操作,而攻擊者因為登錄不了其他用戶的微信,所以其他用戶的帳號沒安全問題,請放心。
但對於官方微信來說,這也是一個提醒,今後要在防篡改、防代碼逆向方面要做一些加強保護,對於使用者來說,在選擇應用時,盡量選擇官方的應用。