微信安全問題及防范措施

        發布日期:2017-04-25來源:中國密碼學會
        【字體: 打印

        一、微信原理及架構

        1.微信原理

        微信是由騰訊公司推出的一款支持S60v3、S60v5、WindowsPhone、Android以及iPhone平臺的即時通訊(IM)軟件。微信用戶可以通過智能手機客戶端與好友分享文字、圖片、視頻,并支持分組聊天和語音、視頻對講、“附近的人”、“搖一搖”等功能。除了這些基本的社交功能,微信還提供了微信紅包、微信支付等移動支付功能。

        微信是基于客戶機/服務器模式的應用服務平臺,具有典型的兩層結構,即客戶端、服務器端架構。服務器端主要負責系統數據資源的管理,確保數據的安全性以及訪問并發性的控制,完成DBMS(數據庫管理系統)的核心功能。客戶端主要用于提供用戶與服務端的交互及操作界面,完成數據處理、數據標識和用戶接口功能。C/S架構的基本原則是將應用任務分解成幾個子任務,由多臺服務器分工完成,即采用“功能分布”原則。

        2.微信架構

        為了確保即時通訊的穩定性,同時結合微信的主要應用,采用了短鏈接(HTTP協議)和長鏈接(TCP協議)相結合的方式,分別應對狀態協議和數據傳輸協議。短鏈接方式采用HTTP協議,主要用于用戶登錄信息驗證、獲取好友列表、用戶頭像、行為日志上報、刷新朋友圈等短期狀態型的應用;長鏈接方式采用TCP協議,主要用于接收/發送文本消息、語音、圖片、視頻文件等傳輸過程需要保持連接狀態的數據的傳輸。微信是典型的即時通訊軟件,微信工作架構如圖1所示。

        圖1 微信工作架構

        移動終端和服務器之間交互協議的設計是整個系統的骨架,好的架構的設計可以降低系統的復雜度、具有容災能力,能夠保證整個系統在意外情況發生時仍然能夠提供正常的服務。

        微信在系統中做了特殊設計,采用SYNC協議,是參考Activesync來實現的。SYNC是基于狀態同步的協議,將信息的收發過程看作狀態同步的過程。服務器每收到最新的消息或更新好友狀態,都會將客戶端與服務端消息進行同步。微信平臺將交互模式簡單化,只需要推送一個消息到達的通知,終端通過收到的通知進行信息同步。這種簡化模式有利于微信在各種平臺上的應用,通過狀態差值同步數據的方式,獲得最小的數據變更。同時,采用增量的傳輸模式得到最小的數據傳輸量。采用SYNC協議,可以確保信息是穩定傳送、按序到達的。微信平臺在QQ的基礎上有繼承、有超越。摒棄了QQ的復雜性和龐大的體積,微信更為輕便,在此可以引用一句俗語來說明微信的設計理念:比它炫的沒它簡單,比它簡單的沒它快,沒誰比他更快,哪怕在GPRS下,微信也能把進度條輕易推到底。這也是微信受歡迎、得到廣泛應用的原因之一。微信的系統架構如圖2所示。

        圖2 系統架構圖

        微信的成功在于它獨特的技術架構、準確的產品定位、軟件的敏捷性。微信的技術架構遵循“大系統小做”、“一切可擴展”、“復雜邏輯固定化”的原則,把模塊變得更為清晰,一些功能的實現在邏輯結構和存儲機構上進行分塊設計。注重軟件本身的可擴展性,在微信中所有的協議都是向前兼容的,后面的協議只是前面協議的補充和擴展,通過不斷在協議中添加新的邏輯,實現共享。

        二、微信安全隱患

        1.“微信紅包”隱患

        微信的應用場景不斷豐富,并且關注度持續不斷飆升。然而,日前國內安全問題反饋平臺WooYun(烏云)曝光了一組有關微信紅包的安全漏洞。烏云稱,偽裝成為微信紅包的釣魚鏈接能夠利用該漏洞竊取用戶手機信息,用戶微信綁定的銀行卡信息也將面臨泄露風險,甚至存在高危漏洞,可以越權搶到其他用戶的紅包。該言論一出,瞬間引起廣大網民的震驚,著實為互聯網金融安全捏了一把汗。“搶紅包”已經近乎成為一種潮流,微信紅包以迅雷不及掩耳之勢瘋狂刷屏,越來越多的人喜歡使用微信紅包,當然這也就使一些別有用心之人打起了紅包的主意,想盡各種方法進行微信紅包欺詐。

        常見的微信詐騙方式主要有兩種。第一種是此前曾曝光的微信AA紅包詐騙,不法分子利用文字游戲把“AA付款”偽裝成“AA紅包”,利用部分用戶對微信AA收款功能的不熟悉,誘導轉賬。

        第二種則是利用將“紅包大盜”手機木馬偽裝成微信紅包,竊取手機用戶的銀行卡號等信息。它設計的頁面跟微信錢包十分相似,點擊后界面會提示輸入一個密碼,輸入后會出現一個“恭喜你成功領取紅包”,不知情的人會真的以為領取到了紅包,其實在不知不覺中,用戶銀行卡的信息就已經被不法分子獲取了。有些釣魚鏈接利用存在的漏洞偽裝成微信紅包進行傳播,當用戶點擊紅包后會出現“你被騙了”字樣。但這并不是一個簡單的玩笑,該鏈接會將用戶引到外部網站,可能中木馬。木馬可能盜取用戶手機資料、偷跑流量吸費,甚至會盜取用戶綁定微信支付中銀行卡的信息。

        可見,微信自身在“微信紅包”安全性方面是存在漏洞的。而這一漏洞主要是由于軟件自身技術上的漏洞,被不法分子發現并利用,這種漏洞可以通過技術修復,完善軟件。但是想要達到絕對的安全是不現實的,只有通過不斷的測試,找出系統程序的Bug以及體系結構設計的漏洞,以提高系統的安全性。

        2.“微信支付”隱患

        微信支付的強勢推出,不僅給廣大微信用戶帶來了支付便利,引發了新一輪互聯網金融浪潮,同時,其安全問題也一度成為輿論的焦點。

        微信支付是集成在微信客戶端的支付功能,以綁定銀行卡的快捷支付為基礎,向用戶提供安全、快捷、高效的支付服務。微信支付的應用場景不斷豐富,目前已實現刷卡支付、掃碼支付、公眾號支付、APP支付,并提供企業紅包、代金券等營銷新工具,滿足用戶及商戶的不同應用場景。“微商”的興起,接入越來越多的商家,對微信支付如何確保支付安全提出更多要求。事實上,微信支付起步時間并不長,但是由于是騰訊旗下熱門軟件QQ的兄弟產品,且有自己獨特的模式,很快就擁有數以億計的用戶群,起點很高。所以對于微信支付來說,首先需要解決安全問題。微信支付是一種新生態的支付方式,這也就導致微信支付缺乏處理問題的經驗,在不斷發展的情況下,將會出現很多不可預測的問題,需要微信支付及時應對。

        微信支付同樣存在巨大的安全隱患。有記者實操微信支付漏洞。去餐館吃飯,把手機和錢包放在座位上,而錢包里有身份證和銀行卡。在不知道銀行卡密碼的情況下,只要3分鐘時間,就可以把銀行卡里的錢轉走。通常用戶使用微信的習慣是記住密碼,短期內登陸無需驗證。所以,壞人拿到了你的手機,可直接對你的微信賬號進行操作。轉賬時,需要輸入設定好的微信支付密碼,而不是銀行卡密碼。由于是犯罪分子用對方手機綁定了微信和銀行卡,支付密碼是犯罪分子設置的,因而能輕松成功轉賬。

        事實上,將手機、身份證、銀行卡同時存放某處、遺落是很可能發生的場景,這也就增加了信息泄露甚至錢財丟失的風險。這種擔憂是必要的,微信的這一漏洞主要是由于其設計理念:提高支付效率。通過這種快捷方式,提升用戶的感知易用性。

        微信支付以綁定銀行卡的快捷支付為基礎,采用標準的快捷支付機制:即用戶購買商品時,不需開通網銀,只需提供銀行卡卡號、用戶名、手機號碼等信息,銀行驗證手機號碼正確性后,第三方支付發送手機動態口令到用戶手機號上,用戶輸入正確的手機動態口令,就可以輕松通過移動端驗證完成支付。手機短信驗證替代銀行密碼,繞開卡密碼,在方便用戶操作的同時,也留下了嚴重的安全隱患,這種便捷性是以犧牲安全性為代價的。

        實際上,微信的支付功能還不夠成熟,還未構建起安全的支付環境,沒有數字認證技術以及必要的身份認證過程,只需要將銀行卡綁定到微信賬號,通過輸入密碼就可實現支付功能,犯罪分子可以通過破解微信賬號的方法竊取支付密碼,給用戶造成財產損失。

        支付服務最基本的底線是安全,網絡支付最核心的訴求是便捷。網絡支付沒有絕對的安全,在微信產品團隊對安全防護機制進行升級和完善的同時,用戶也需要加強個人信息保密意識。可以通過設置手機鎖屏密碼、定期修改微信密碼等方式加強微信支付的安全性。

        3.“微信聊天”隱患

        (1)退群繳費。在微信使用中有時會遇到“霸主”,一旦加入該群,若不按照群主要求交一定的費用,就無法退出該群。然而不退的話,生活又受到極大的騷擾。采用這種方式進行微信盈利主要是利用了IOS系統的一個安全漏洞,IOS8對于某個字符段會出現閃退,群主將自己的名字設置為包含那個字符段,在群成員退出時正好要顯示群主的名字,此時微信會出現閃退現象,利用了IOS字符拒絕服務漏洞。通過這一事件,應提高微信使用警惕,不要輕易加入未知的群,以免對自己造成不必要的傷害。

        (2)隱私泄露。在“微信—設置—隱私—朋友圈權限”里有個“允許陌生人看十張照片”的設置,一些犯罪分子就是利用了這種易被用戶忽視的顯式漏洞獲取目標圖片或視頻信息。此外,微信具有定位功能,在三個不同地點搜索,便可以確定目標的具體地理位置,隨著定位次數的增多,目標地理位置的準確度也會越來越高。犯罪分子據此可以確定目標的位置,再依據用戶朋友圈中的照片和小視頻,基本可以判斷目標的生活環境和家庭條件,從而實施犯罪行為。另外,“搖一搖”是微信社交功能的一大特色。通過使用該功能,可以將自己的交友范圍擴大到陌生人群。但是在滿足用戶交友欲望的同時,個人信息也會暴露于公眾之中,存在著巨大的安全隱患。微信“搖一搖”在社交中沒有信息控制及篩選功能,使用者的交流具有極大的自由性、開放性、匿名性,其操作的便捷性使人們對微信另一端通信者降低了警惕性。不法分子往往利用用戶的這種心理,獲取用戶的個人信息并對信息進行處理,進而威脅個人人身及財產安全。

        (3)身份欺詐。缺乏身份認證,身份偽裝成了威脅微信用戶人身、財產安全的設計弊端。微信用戶的頭像和昵稱是可以無限制更換的,不法分子可能換成用戶親近友人的頭像或名稱進行詐騙。在這一身份認證問題上,微信無法像QQ一樣查看用戶IP或者異常登錄提示等。進而就導致了QQ、MSN等被廣泛使用的聊天工具上流傳的“自助充值”詐騙案件時有發生。

        (4)賬號欺騙。微信中有不少肆意橫行的虛假鏈接,例如,接收到好友發來的相冊鏈接,邀請自己去查看,實質上點擊后會要求登錄QQ,似乎這里也沒什么不尋常,但是按照指示登錄后,微信賬號就被強制發送其它欺詐信息給好友。同樣的,出于朋友間的信任和好奇心,又會有新的一群人受牽連,在操作過程中,非法分子可以輕易獲取用戶賬號信息。

        三、防范措施

        1.實施實名注冊認證

        不法分子肆意使用微信進行犯罪的最根本原因是微信未強制使用實名注冊認證。不法分子可以使用不同的手機號申請多個賬戶,案件發生后,罪犯可以及時將賬戶停用或注銷,致使無法進行追蹤。所以,應該在加強后臺數據庫數據保護的前提下,實現用戶實名制。讓犯罪分子意識到,即使在虛擬的網絡環境中,依然不可以肆意妄為。在采用實名制的同時,網絡安全監管部門也應該監督服務提供商的網絡社交工具設計和漏洞修補進展情況,過濾敏感信息,對存在安全隱患的信息及時進行提醒。建立微信用戶黑名單,防止反復犯罪。

        2.加強對微信服務平臺的安全保障

        微信平臺的安全性對于微信使用者來說至關重要,對于用戶來說,微信平臺扮演著提供服務和保護、監管的職責。據了解,騰訊公司為微信添加了技術攔截、舉報人工處理、辟謠工具這三大系統。加強信息的監管,一旦發現存在問題的數據,經權威機構判定或者舉報后經工作人員核實確定涉及侵權、泄密等信息時,微信會立即阻斷信息的傳播,情節嚴重者,甚至導致封停賬號。此外,也應加強對個人隱私信息的保護,存儲用戶信息的數據庫應使用成熟的加密技術,使數據以密文形式存儲,可以防止數據庫管理員隨意查看、篡改用戶信息。此外,一旦服務端數據庫被攻擊導致數據丟失,攻擊者在未獲得密鑰的情況下也無法獲取原始有效數據。

        3.加強對微信用戶的安全教育

        在監管部門和微信平臺自身加強監管的同時,用戶在個人信息保護中更是發揮著不可替代的作用。用戶需要加強信息安全防范意識,時刻把信息安全牢記于心。合理填寫微信中的個人資料信息,哪些信息該寫,哪些信息不該寫,要做到心中有數,防止隱私信息泄露,被不法分子利用。此外,用戶也要學習對好友的甄別判定,不能輕易和陌生人搭訕、交流,不要隨意打開陌生人發來的文件或鏈接等。此外,微信用戶應定期修改密碼,以提高微信賬戶的安全性。(楊薇、楊亞濤)

        責任編輯:
        相關稿件