镣铐之舞:美团安全工程师Black Hat USA演讲
背景
2018年8月9日,全球頂級安全會議——Black Hat USA在美國拉斯維加斯的曼德勒海灣會議中心落下了帷幕,這場盛會在全球黑客心中幾乎等同于“世界杯”和“奧斯卡”一樣的存在。這場一年一度的盛會已經有著21年的悠久歷史,也被公認為世界信息安全行業的最高盛會之一。
作為在國內安全領域擁有多年的實戰經驗和技術積累的安全團隊,美團安全研究院再次受邀參加了本次盛會。在議題通過率不足20%的嚴苛篩選條件下,美團安全工程師Ju Zhu與小伙伴一起帶著本次演講的議題“Art of Dancing with Shackles: Best Practice of App Store Malware Automatic Hunting System(App Store惡意代碼自動捕獲系統最佳實踐)”,榮登Black Hat USA 2018的國際舞臺。
議題解讀
Apple的iOS系統是所有流行操作系統中最安全的系統之一,正因為如此,也是黑客重要的攻擊目標和研究對象。雖然攻擊難度大,但一旦成功,所獲得的商業價值非常之高,所以iOS系統備受黑客“青睞”。
因為蘋果的商業模式比較特別,而且iOS系統并非開源系統,同時Apple高度重視安全,所以對iOS系統進行了周密的安全設計,這使iOS系統的安全性遠超其他操作系統。安全界對于大規模自動化捕獲該平臺的高級威脅,一直面臨困難和挑戰,同時當終端用戶遭受真正的APT攻擊(如PEGASUS)時,防御檢測解決方案也無法獲得足夠的權限來檢測深層攻擊,甚至都無法獲得足夠的信息。
本議題正是在這個方向經過深入研究做了突破性的進展,成功設計出一套可大規模自動獲取應用樣本的Crawl系統,通過使用基于Raspberry Pi構建集群實現了低成本、可擴展的安全沙箱自動分析系統,最終實現了自動化收集樣本并對樣本進行自動化安全分析的APT攻擊捕獲及分析系統。
首先,我們先來看一下這個系統的整體架構。
系統整體架構
實際上,整個iOS惡意軟件Hunt系統基本上分為兩個不同的部分:
第一部分,是App Crawl系統,主要用于從App Store收集新發布或現有的應用程序。當然作為感染鏈源之一,還會收集來自第三方App Store甚至公共惡意軟件存儲庫(例如Virus Total)的應用程序以增強我們的惡意軟件數據庫。除應用程序外,其他潛在的惡意文件類型(如Profile)也是我們的收集目標,(可以參考我在BlackHat Asia 2018中關于”野外iOS Profile攻擊“的名為“Death Profile”的文章)。
另一部分,是沙盒分析系統,主要是動態跟蹤應用程序行為,并根據規則決策引擎關聯行為日志以給出最終結果。實際上,沙盒系統包含不同的類型,包括基于Frida的iOS真實設備、ARM服務器的用戶模式仿真(例如Raspberry Pi系統)以及完整的系統仿真VM。
系統構成
具體來說,整個系統主要由五個模塊構成。
那么,它們是怎么有效的運轉起來的呢?
系統運行流程
- 首先,通過自動化爬蟲系統構建相應的登錄、購買、下載操作,從iTunes服務器抓取應用程序,并發送給Crack系統。之后Crack系統將解密Apple的DRM,并生成可在越獄設備和模擬器上運行的IPA文件。
- 然后,構建IPA運行環境暨沙盒分析系統,我們引入了兩個解決方案,第一個是傳統的在真正越獄設備上分析這些應用程序;第二個是創新的使用了基于Raspberry Pi的模擬器集群來運行并分析應用程序。
- 最后,使用基于開源的Frida框架,經過定制化的開發,動態跟蹤每個IPA應用程序的行為,再通過決策引擎檢查IPA是否為惡意應用,是否可能存在APT攻擊。
下面,我們將基于各個模塊的分解來詳談它們的運作模式。
首先,App Store應用程序的Crawl基本可以理解為iTunes協議的灰盒逆向工程。
經過研究,我們發現在PC主機上通過iTunes實現App Store Crawl的基本步驟包括以下幾個方面:
- 第一步,是抓取目標應用的Meta數據,例如名稱、類別、大小等等。
- 第二步,是使用Apple ID登錄,購買產品,使用iTunes授權PC端,以滿足應用下載的要求,并將應用保存到本地磁盤。這里,我們必須使用很多技巧來征服App Store的反爬機制。
- 最后一步,是破解下載的應用程序。由于App Store上的所有應用程序都由Apple打包,這顯然會阻止廠商基于安全方面的動靜態分析,因此需要將目標應用程序的運行時內存轉儲為普通代碼。
因此,基于上面的流程,我們可以設計成以下架構。
自動Crawl & Crack系統架構
從架構圖來看,該系統實現的功能,包括應用程序Meta信息Crawl、Apple ID登錄、PC授權、iOS設備授權、IPA簽名和安裝后的Crack。它實際上是一個基于iTunes Store應用程序的自動系統。
App Meta信息Crawler負責獲取應用程序詳細信息,包括下載URL和價格信息。應用下載抓取工具可以通過這些網址自動下載應用。然后,這些應用程序將發送到每個越獄設備進行解密,這將用于以后的靜態和動態分析。
自動Crawl系統
對于Crawl系統,我們可以分為三個部分來運作。
我們都知道,從App Store下載的App是加密的。這樣不利于我們使用越獄設備和模擬器來分析行為,所以還需要對IPA進行解密。下面我們說一下,Crack系統的技術要點。
App Crack系統
如果用戶的帳戶從來沒有在iOS設備上登錄過,則它購買的App是無法在該設備上運行的,即DRM保護。 如果在一臺設備上,用戶登錄了自己的帳戶,Apple會認為用戶授權此設備,而使用該帳戶購買的一切應用程序則可安裝、也可運行。但是我們需要讓這一切變得自動化。
通過逆向“設置”程序,我們發現“StoreServices.framework”是用來管理賬戶信息的,最后我們做了一個Tweak,并配合Undocument API實現了Apple ID登錄過程。
我們有了大量待分析的樣本,下面的工作就是靜態和動態分析。業界對于靜態分析已經非常成熟,比如MachOView等等,這里我們就不多介紹了。而動態分析,目前主要以基于Frida的系統居多。
Frida是一個功能強大且便攜的Hook系統,支持移動(例如iOS和Android)和PC系統(例如MacOS)。更重要的是,它允許在沒有配置和編譯的情況下根據腳本(例如JavaScript)控制Hook點。所以說,它是目前最流行的動態分析框架系統。當然它們都必須依賴真機設備。
接下來,我們來介紹一下傳統的基于真機(iOS設備)的沙盒系統。
沙盒分析系統
傳統的基于真機(iOS設備)沙盒系統
從上圖來看,這種基于Frida實現真機(iOS設備)沙盒系統的工作流程主要包括以下幾個方面:
- 首先,給iOS設備配置Frida,目的是為了進行行為跟蹤;
- 然后,Frida控制器模塊將在iOS設備上觸發樣本運行,或者其他任何操作(例如:安裝配置文件,使用瀏覽器訪問網站等),并跟蹤感興趣的系統行為;
- 最后,將行為日志收集到主機端,該日志將成為決策引擎系統的輸入,它會根據需要,實時或非實時地判斷樣本行為。
雖然Frida一直是App動態檢測的主流,但是如果我們需要檢測大量樣本或者大量Case時,則會出現嚴重瓶頸,因為面臨大量的真機(iOS設備)投入,而且成本、擴展性都是致命問題,所以我們創新的使用了低成本Raspberry Pi來替代它,并成功的實現了虛擬化、集群化。
基于Raspberry Pi的iOS虛擬機
在虛擬化方面,我們實現了一個動態加載器,它可以加載iOS可執行文件,并重新實現了System Library和Framework,以保證iOS可執行文件能夠正常運行等等。
這樣我們就可以輕松動態監控Mach-O的行為,并將這些日志提交給決策引擎,以確定該應用程序是否為惡意軟件,甚至是否是APT攻擊的一個Chain等等。
如果希望利用現有的服務器來運維,我們也可以將其移植到QEMU中運行。
通過這種“低成本硬件仿真器”的設計,每天都可以自動化掃描大量的樣本,從而節省了成本,并提升了可擴展性,提高了樣本的檢測效率。
這種高效的沙盒分析系統,必然會產生大量的分析日志,所以,我們需要一種高性能、高實時性的規則決策引擎系統來做最后的判斷處理。
決策引擎系統
Nools是一個基于Rete并使用JavaScript實現的規則引擎推理系統。它可以支持連續日志輸入時的實時判斷模式,而且用其編寫的決策規則,具有強靈活性和可移植性,使得我們對于樣本的檢測獲得了高可用性。
總結
一直以來,業界對于“iOS大量樣本檢測實現自動化Hunt高級威脅”都沒有很好的實踐,而我們已經證明了基于自動抓取、安全沙箱自動分析系統以及iOS虛擬化的高級威脅Hunt系統的可行性。而這樣大量的樣本檢測Case和日志,也為以后我們引入AI系統提供了必要條件。
關于美團安全
美團安全部的大多數核心人員,擁有多年互聯網以及安全領域實踐經驗,很多同學參與過大型互聯網公司的安全體系建設,其中也不乏全球化安全運營人才,具備百萬級IDC規模攻防對抗的經驗。安全部也不乏CVE“挖掘圣手”,有受邀在Black Hat等國際頂級會議發言的講者,當然還有很多漂亮的運營妹子。
目前,美團安全部涉及的技術包括滲透測試、Web防護、二進制安全、內核安全、分布式開發、大數據分析、安全算法等等,同時還有全球合規與隱私保護等策略制定。我們正在建設一套百萬級IDC規模、數十萬終端接入的移動辦公網絡自適應安全體系,這套體系構建于零信任架構之上,橫跨多種云基礎設施,包括網絡層、虛擬化/容器層、Server 軟件層(內核態/用戶態)、語言虛擬機層(JVM/JS V8)、Web應用層、數據訪問層等,并能夠基于“大數據+機器學習”技術構建全自動的安全事件感知系統,努力打造成業界最前沿的內置式安全架構和縱深防御體系。
隨著美團的高速發展,業務復雜度不斷提升,安全部門面臨更多的機遇和挑戰。我們希望將更多代表業界最佳實踐的安全項目落地,同時為更多的安全從業者提供一個廣闊的發展平臺,并提供更多在安全新興領域不斷探索的機會。
招聘信息
美團安全部正在招募Web&二進制攻防、后臺&系統開發、機器學習&算法等各路小伙伴。如果你想加入我們,歡迎簡歷請發至郵箱zhaoyan17@meituan.com
具體職位信息可參考這里:https://mp.weixin.qq.com/s/ynEq5LqQ2uBcEaHCu7Tsiw
美團安全應急響應中心MTSRC主頁:security.meituan.com
總結
以上是生活随笔為你收集整理的镣铐之舞:美团安全工程师Black Hat USA演讲的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BP算法是从天上掉下来的吗?
- 下一篇: Java多线程系列(五):线程池的实现原