压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

梆梆安全陳彪:移動金融應用安全的風險分析及解決方案

今天我給大家分享的是移動金融應用安全的風險分析及解決方案。希望通過今天的演講,我能夠給大家對如何打造一個安全的移動應用客戶端帶來一些基本的了解。我先自我介紹一下,我是梆梆安全的CTO陳彪,主要負責梆梆安全整體研發工作,包括基于云的服務平臺和個人用戶產品的研發等。曾參與北京航空航天大學軟件開發環境國家重點實驗室的多個研究項目,獲得多項全球和國家發明專利。

20150202054453424 (1)

梆梆安全陳彪:移動金融應用安全的風險分析及解決方案

首先分享的是移動應用的現狀分析。我們知道安卓有非常大的市場,基本覆蓋國內大大小小的應用商店。而現在安卓的移動應用市場里存在許多的安全風險,比如說用戶信息泄露、交易安全風險、二次打包及暴露移動端及服務端漏洞等風險,而最大的問題實際上就是存在大量的二次打包和被篡改的問題。

我們通過調查發現,基本上安卓市場每一款移動客戶端都存在被篡改、二次打包、盜版的問題。比如說隨便找一個應用商店,排名靠前的APP盜版率均為100%。其實從安卓的應用內核或者整套控制上來看,它的技術和蘋果的技術是不相上下的。那為什么安卓市場抄襲嚴重 、維版困難等亂象還是普遍存在?

第一個原因就是簽名機制問題,安卓上沒有中央的簽名機制,簽名的原因造成現在安卓這個市場上二次打包的現象非常嚴重。

第二個原因是技術問題,安卓采用JAVA語言開發的,源碼很容易泄露。

第三個原因就是安卓的開放性,蘋果控制了簽名,使下載程序的來源變得單一,而在安卓上你可以在任何地方下載應用程序,其實安卓不安全的真正原因就是這個因素造成的。

所以,現在國家也開始慢慢重視安卓市場,最近也開始發文安卓管理辦法,保證下載應用程序是比較安全的。目前在國外的手機銀行也有同樣的問題,他們的代碼也可以被仿編。在這種情況下,我們還會經常碰到一些問題,現在會暴露一些服務器的漏洞。為了支持手機的客戶端,新開發了一套接口,而這套接口沒有經過調試,黑客仿編你的客戶端,通過未調試的接口就會發現你后臺有一些相關的漏洞,從而通過這種方式進行一些入侵。

面對這些風險,我們怎么保證我們的客戶端相對安全呢?在此,我重點介紹一下梆梆安全的一些主要業務。

第一個就是希望能夠為移動APP做一次徹底的安全評估。安全評估是指由具備高技能和高素質的安全服務人員發起、并模擬常見黑客所使用的攻擊手段對目標系統進行模擬入侵,其目的在于充分挖掘和暴露系統的弱點,從而讓管理人員了解其系統所面臨的威脅。滲透測試工作往往作為風險評估的一個重要環節,為風險評估提供重要的原始參考數據。

基于數據生命周期的安全測試,對手機銀行客戶端的程序、數據、通信、業務、系統環境等進行全面安全測試,檢測數據的輸入、處理、輸出以及數據運行時的系統環境的安全性。手機銀行客戶端安全測試標準依據中國人民銀行發布的中國金融移動支付系列技術標準中的《中國金融移動支付檢測規范 第3部分:客戶端軟件》。梆梆安全做了這些工具:反編譯及重打包dex2jar、baksmali、IDA pro、apktool;調試工具gdb 等;代碼注入工具Xposed、Substrate 等;網絡Burp suite等。

梆梆安全還做了一個測試內容,采用黑盒滲透攻擊和白盒代碼審計的方式發現移動應用的安全缺陷及安全漏洞,它包括七個方面的內容:程序安全,安裝與卸載、人機交互、登陸檢測、發布規范、第三方SDK安全等方面;代碼安全,是否具有防逆向、防動態注入、防篡改等能力;數據安全,應用的數據錄入、數據訪問、數據存儲、數據傳輸、數據顯示是否存在安全風險;組件安全,移動應用暴露的組件是否可以被惡意攻擊;通信安全,檢查客戶端軟件和服務器間的通信協議是否安全,能否被攻擊;業務安全,移動應用的核心業務是否存在安全缺陷。例如銀行客戶端,針對轉賬的過程應進行安全性檢測,檢測是否有可能進行轉賬的篡改;系統安全移動應用的運行環境是否安全。

下面我們看代碼安全這一塊。反編譯測試,將二進制程序轉換成人們易讀的一種描述語言的形式,是逆向工程中的常見手段。反編譯的結果是易讀的代碼,這樣就暴露了客戶端的所有邏輯,比如與服務端的通訊方式,加解密算法、密鑰、轉賬業務流程、軟鍵盤技術實現等等。

重打包測試,對客戶端程序添加或修改代碼,修改客戶端資源圖片,配置信息,圖標等,再生成新的客戶端程序,實現應用釣魚。對金融客戶端,可能添加病毒代碼、廣告SDK,推廣自己的產品;添加惡意代碼竊取登錄賬號密碼、支付密碼、攔截驗證碼短信,修改轉賬目標賬號、金額等等。

動態調試測試,指攻擊者利用調試器跟蹤目標程序運行,查看、修改內存代碼和數據,分析程序邏輯,進行攻擊和破解等行為。對于金融行業客戶端,該風險可修改客戶端業務操作時的數據,比如賬號、金額等。

代碼注入測試,通過OS特定技術,將代碼寫入到目標進程并讓其執行的技術。攻擊者可以將一段惡意代碼寫到目標進程,這段代碼可以加載其它可執行程序,進而實施hook,監控程序運行行為、獲取敏感信息等。對于金融客戶端,可通過代碼注入技術,將惡意代碼注入到客戶端中,竊取輸入的登錄賬號、密碼、支付密碼,修改轉賬的目標賬號、金額,竊取通訊數據等。

由安全評估得出的移動金融安全現狀觀點:一是根據梆梆安全安全實驗室統計測試,國內大多數移動金融App這幾項安全測試都是未通過的,移動安全機制存在缺失。二是未通過這些安全測試,意味著移動金融客戶端可能面臨以下幾個業務風險:移動金融應用的安全風險;用戶信息安全風險;交易安全風險;二次打包風險;暴露移動端和服務端漏洞風險。

通過反編譯逆向分析,可以發現移動金融客戶端的很多代碼缺陷和邏輯漏洞。在處理取出業務時,客戶端先向服務器請求賬戶所綁定的銀行卡交易賬戶信息。URL請求為**(略):此時服務器端返回cusNo對應綁定的銀行卡信息。經測試發現,可以通過枚舉cusNo來獲得對應賬戶所綁定的銀行卡信息,造成嚴重的用戶信息泄露,例如cusNo為2000098909。

梆梆安全關于移動金融客戶端應用安全的解決方案主要有以下幾個方面:

安全開發規范及安全評估:開發者應遵循移動應用的安全開發規范,進行移動金融應用客戶端的開發;使用一些成熟的安全組件,如軟鍵盤SDK、清場等;定期對客戶端進行安全評估。

安全加固:發布前加固應用,保證代碼安全。上線后的渠道監控:監控第三方應用市場,及時發現各種盜版、釣魚、山寨等惡意應用。特別講一下安全加固技術:代碼加密,阻止代碼被反編譯;反調試,阻止APP運行時被動態注入。完整性校驗:阻止APP被重新打包。APK的廣度防御 - 資源、編程框架、So庫。資源文件:對APK中資源(圖片,XML等文件)進行加密保護。采用編程框架開發的程序進行加密保護:DLL (C# Unity3D)、Lua、HTML/Javascript(IBM worklight、PhoneGap等)、Flash等等。So庫:二進制C/C++的加殼保護。

上線后的渠道監測:梆梆安全在全球有100多個監測點,能實時監測全球400多個渠道,第一時間發現釣魚山寨手機銀行,并進行預警、取證、幫助移動金融機構最大限度,最快速的降低釣魚App的威脅。

最后,我總結一下。作為一種新的入口和用戶交互平臺,移動金融應用面臨:用戶信息安全風險;交易安全風險;暴露移動端和服務端漏洞風險;釣魚和二次打包風險。加強移動金融應用安全的途徑:遵循安全規范的客戶端開發,定期進行移動安全評估,合規性評估/源代碼審計/滲透性測試。移動客戶端上線前進行安全加固,防止反編譯,逆向分析,動態注入攻擊等等 上線后的渠道監測。謝謝大家!

 

上一篇:周鴻祎:360手機肯定最好 開發自主系統確保安全

下一篇:沈逸:沉著應對美國網絡安全新攻勢