亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        安卓手機應用軟件遠程代碼執(zhí)行典型漏洞利用方法分析*

        2021-12-23 03:04:20邱勇杰葉益林
        通信技術 2021年10期
        關鍵詞:安卓攻擊者漏洞

        陳 忱,邱勇杰,白 冰,葉益林

        (智能感知與信息處理實驗室,北京 100094)

        0 引言

        在智能手機操作系統(tǒng)領域,隨著諾基亞的塞班系統(tǒng)、微軟的Windows Phone 系統(tǒng)、黑莓的RMI 系統(tǒng)等相繼退出,Android 與iOS 當前幾乎已成為全球智能手機操作系統(tǒng)僅存的兩種類型,其中安卓操作系統(tǒng)更是超過了83%的占比[1]。與之相應,安卓應用軟件市場Google Play 中包含的軟件數(shù)量在2020 年底已超過300 萬個[2],并且?guī)缀趺磕暌詳?shù)十萬級的數(shù)量增長。在如此迅猛的增長態(tài)勢下,安卓系統(tǒng)應用安全已然成為無法忽視的問題。開放式Web 應用程序安全項目(Open Web Application Security Project,OWASP)將安卓系統(tǒng)應用程序分為了3 大類,分別為原生應用、網(wǎng)頁應用與混合應用[3]。根據(jù)其權威統(tǒng)計,其3 類軟件架構主要面臨如客戶端注入、敏感信息泄露、不安全的數(shù)據(jù)存儲、錯誤的身份認證與授權管理不充足的傳輸層保護等10 項安全隱患。本文重點關注在OWASP 所列舉的安全隱患基礎上,所形成的應用軟件遠程代碼執(zhí)行(Remote Code Execution,RCE)威脅。針對當前幾種可形成遠程代碼執(zhí)行能力的典型安卓應用軟件漏洞,分析了其漏洞成因與利用方法。

        1 非近源遠程代碼執(zhí)行漏洞

        非近源遠程代碼執(zhí)行漏洞的含義是攻擊者無需在攻擊目標附近便可實施攻擊。此類攻擊在移動終端操作系統(tǒng)中較為常見。諾基亞塞班系統(tǒng)手機、早期的蘋果iOS 系統(tǒng)手機與安卓系統(tǒng)手機,時常會有通過發(fā)送經(jīng)特殊編碼的短信或附帶畸形媒體文件的彩信實現(xiàn)漏洞觸發(fā),進而控制目標用戶手機的報道。雖然上述攻擊的入口點為短信類的應用軟件,但通常情況下用于完成實際攻擊功能的漏洞一般存在于基帶驅動、底層服務、核心組件等系統(tǒng)級模塊,通過堆棧溢出、釋放后使用(Use After Free,UAF)等二進制層面進行利用。但近幾年,隨著應用軟件所提供的功能愈加豐富,僅存在于應用軟件層面的漏洞也同樣可達到此類效果,以下分別進行介紹。

        1.1 應用軟件Web 接口攻擊

        為了方便用戶的使用,安卓系統(tǒng)提供了通過點擊瀏覽器網(wǎng)頁中的鏈接,即可自動調出某個已安裝應用軟件界面的方法。例如,Google 地圖可在用戶點擊網(wǎng)頁版GOOGLE MAP 的相關功能時,自動切換到Google 地圖的手機應用軟件,無需用戶手動干預。能夠實現(xiàn)此功能主要歸功于安卓操作系統(tǒng)中的Intent 數(shù)據(jù)傳遞與共享機制。一個Intent 對象可包含用戶希望啟動的程序組件,同時可附帶相應的附加信息。如果一個應用軟件通過Manifest 文件定義了自身某個Activity 包含BROWSABLE 屬性,那么該Activity 便可以通過點擊網(wǎng)頁鏈接的方式進行啟動調出。因此,此類開發(fā)技術多應用于網(wǎng)頁App 與混合App 中。

        通常情況下,可通過Intent 超鏈接調用的Activity組件利用WebView控件展示一個網(wǎng)頁界面。該界面效果完全由網(wǎng)頁的HTML、CSS、Javascript等腳本代碼渲染生成,而非通過應用軟件本地的Java 或Kotlin 代碼實現(xiàn)。這樣做有兩個優(yōu)點:一是應用軟件開發(fā)者可給用戶帶來網(wǎng)頁與應用無縫銜接的效果;二是界面展示效果實際是在服務器端完成,開發(fā)者可隨時根據(jù)用戶的應用習慣或使用偏好修改界面展示效果。然而,此功能在方便用戶使用的同時也引入了網(wǎng)頁應用注入(Web-to-App Inject)攻擊風險。具體說,就是應用軟件開發(fā)人員在接收到網(wǎng)頁傳來的URI 數(shù)據(jù)時未考慮進行安全過濾,導致執(zhí)行外部傳入的惡意Intent 調用。它的攻擊原理與SQL 注入、跨站攻擊等情形類似。

        通常完成完整的網(wǎng)頁應用注入攻擊包含3 個重要步驟:第1 步攻擊者首選通過應用軟件逆向分析,確定當前軟件是否存在接收URI 類Intent,并利用WebView 控件解析展示網(wǎng)頁的操作,一旦確定則可通過構造特殊的超鏈接隱蔽調用對應的Activity界面;第2 步通過Intent 參數(shù)誘導應用軟件中的WebView 控件加載攻擊者搭建的服務器中的網(wǎng)頁;第3 步WebView 控件加載攻擊者網(wǎng)頁后,會加載頁面中的Javascript 代碼,由于攻擊者事先對應用軟件進行了逆向分析,因此會通過Java 反射機制得到Runtime 對象,從而可調用有本地文件訪問權限的靜態(tài)方法,從而獲取到文件內容[4],最終導致用戶手機敏感數(shù)據(jù)的泄露。完整流程如圖1 所示。

        圖1 網(wǎng)頁應用注入攻擊流程

        LUO T B 等人的研究中詳細闡述了通過網(wǎng)頁App 與混合App 實現(xiàn)Web 接口攻擊的方法,并對相關方法進行了威脅模型建模。其中:對網(wǎng)頁類App總結了沙盒穿透、框架混淆兩種威脅模型;對混合類App 總結出了JavaScript 代碼植入、Webview 事件劫持等威脅模型[5]。JIN X 等人分析了實現(xiàn)Web接口攻擊可利用外部與內部渠道。對于外部渠道,JIN X 列舉了短信、無線射頻識別(Radio Frequency Identification,RFID)標簽、二維碼掃描等“手機專有渠道”,以及圖片、音頻、視頻等包含元數(shù)據(jù)多媒體文件的“元數(shù)據(jù)攻擊渠道”,同時針對真實的應用軟件pic2shop,完整實現(xiàn)了通過pic2shop 掃描生成的惡意二維碼隱蔽獲取目標手機定位信息的功能[6]。BEHNAZ H 等人在LUO T B 與JIN X 的研究基礎上,將Web 接口攻擊進行了更加細致的劃分,歸類出如HTML 5 API 接口濫用、本地文件包含、釣魚欺騙、APP 數(shù)據(jù)庫注入以及持久化存儲篡改等多個方面,同時設計了一種利用污點分析、控制流視圖提煉、符號執(zhí)行等方法檢測應用軟件Web 接口攻擊的專用工具[7]。

        1.2 社交軟件遠程執(zhí)行漏洞

        在安卓操作系統(tǒng)中,社交軟件通常需要對不同格式的媒體文件進行解析,一般包含針對GIF、JPEG、MP4、AVI 以及MP3 等多種不同種類的媒體解析開源共享庫。此類開源庫為保證解析效率,基本以C/C++等原生代碼形式開發(fā),不可避免會存在堆溢出、釋放后引用等類型的漏洞。一旦攻擊者獲取到此類漏洞的利用方法,便可利用漏洞修復與補丁下發(fā)期間的窗口期對目標手機實施攻擊。

        此類攻擊具體實施時,根據(jù)不同的漏洞載體與所觸發(fā)的對應軟件,會在利用細節(jié)上有各自的區(qū)別,但大體分為如下3 個步驟。第1 步攻擊者需要構造出可觸發(fā)目標手機特定軟件漏洞的載體文件,并將此載體文件通過彩信、郵件、社交軟件,甚至釣魚網(wǎng)站的方式發(fā)送到目標手機中。例如,著名的CVE-2019-11932 漏洞,攻擊者可通過任意渠道向安裝有2.19.244 版本W(wǎng)hatsapp 軟件的手機發(fā)送特殊構造的GIF 文件。當目標用戶保存此圖片并在下次通過Whatsapp 的圖片預覽控件瀏覽待發(fā)送的圖片時,會自動觸發(fā)漏洞,并執(zhí)行存儲在GIF 文件中的Shellcode 代碼[8]。第2 步漏洞觸發(fā)后執(zhí)行的Shellcode 代碼向攻擊者反彈遠程Shell,或下載并加載原生庫層的漏洞代碼實現(xiàn)“寄生”于漏洞觸發(fā)軟件內的木馬模塊。第3 步則是通過獲取的訪問權限收集敏感數(shù)據(jù),并將數(shù)據(jù)上傳到指定服務器。

        圖2 應用軟件二進制RCE 攻擊流程

        1.3 瀏覽器二進制遠程代碼執(zhí)行漏洞

        瀏覽器二進制遠程代碼執(zhí)行漏洞的外部攻擊渠道與應用軟件Web 接口漏洞類似,均需要攻擊者通過短信、社交軟件、郵件等方式,發(fā)送帶有惡意鏈接的信息,誘導目標進行點擊,在加載惡意鏈接對應網(wǎng)頁的過程中,實現(xiàn)代碼植入執(zhí)行。兩者的不同在于內部漏洞的利用方式上,相對于應用軟件Web接口漏洞利用,瀏覽器二進制遠程代碼執(zhí)行漏洞利用主要目標通過Webview 組件實現(xiàn)沙盒逃逸,從而獲取更高程序執(zhí)行權限。具體攻擊流程如圖3 所示。

        圖3 瀏覽器二進制漏洞攻擊利用流程

        對于安卓手機瀏覽器二進制類型的漏洞來說,重點是獲取內存地址的完整控制能力。一般利用的漏洞為釋放后使用(Use After Free,UAF)、越界地址訪問等類型,此類漏洞的原因一般由“指針懸掛”[9]、整型溢出等問題導致,漏洞的出現(xiàn)位置一般在WebView 組件中。在每年舉辦的各類黑客挑戰(zhàn)比賽、信息安全大會中,相關漏洞向來是最為引人矚目的一類,表1 對近年來的安卓手機瀏覽器漏洞進行了簡單的統(tǒng)計。

        表1 黑客挑戰(zhàn)賽瀏覽器二進制漏洞統(tǒng)計

        同時,此類漏洞也是各國頂級黑客公司、地下黑產(chǎn)、網(wǎng)絡武器供應商所爭相獲取的一類。在2015年7 月,世界著名的黑客公司HackingTeam 泄露出了415 GB左右的文件資料,包含了大量的內部郵件、收據(jù)與網(wǎng)絡攻擊武器源代碼,其中就存在一個針對安卓4.0-4.3 版本原生瀏覽器的攻擊工具,在目標用戶瀏覽惡意網(wǎng)頁時,可完成手機的ROOT 提權并自動下載安裝HackingTeam 公司的木馬程序,實現(xiàn)對目標手機的持久化控制[10]。

        1.4 非近源遠程攻擊總結

        本節(jié)針對上述提到的3 種不同類型的應用軟件漏洞,在攻擊渠道、具體能力、實現(xiàn)難度等方面進行了總結,具體見表2。

        表2 非近源遠程攻擊總結

        根據(jù)表2 可以看出,基于應用軟件Web 接口漏洞的攻擊相對其他兩種漏洞利用的攻擊渠道更廣,且利用難度較低,在現(xiàn)實環(huán)境中普遍存在類似漏洞。

        2 近源遠程代碼執(zhí)行漏洞

        近源遠程代碼執(zhí)行漏洞的含義是攻擊者必須能夠抵近目標手機用戶,與其處于相同的Wi-Fi 網(wǎng)絡或3G/4G 基站信號覆蓋范圍內,通過熱點或基站偽造實現(xiàn)網(wǎng)絡流量劫持,從而達到中間人攻擊的效果。由于劫持網(wǎng)絡流量后可以操控目標手機與網(wǎng)絡出口間的網(wǎng)絡數(shù)據(jù)包,因此近源遠程代碼執(zhí)漏洞一般與軟件升級相關,攻擊者通過篡改應用軟件正常的升級方式觸發(fā)漏洞,從而完成惡意程序的植入。此類漏洞共分為有感知升級漏洞利用和無感知升級漏洞利用兩種類型。

        2.1 有感知軟件升級漏洞利用

        有感知升級顧名思義是在升級過程中需要與手機用戶進行交互,由用戶選擇是否安裝當前的升級版本。此種方式進行升級的App 軟件通常會向服務器發(fā)送JSON 或XML 格式的請求查詢包詢問當前是否有更新版本,若存在服務器會返回新版本的詳細信息,同時客戶端軟件會彈出升級提示,詢問用戶是否進行版本升級。若用戶點擊確定,軟件會從服務器下載完整的App 更新包,并在下載完成后自動進行覆蓋安裝。在實際測試過程中,筆者發(fā)現(xiàn)多款具備一定用戶使用量的App 在與服務器進行交互的過程中,存在有部分流量未使用HTTPS 協(xié)議進行傳輸?shù)那闆r,加之在安裝升級包時未進行簽名驗證,最終導致攻擊者可通過偽造升級服務器的方式使目標手機的漏洞軟件主動彈出升級提示。當手機用戶點擊確定升級時,會安裝攻擊者服務器內的惡意應用程序。主要流程如圖4 所示。

        圖4 有感知升級偽造漏洞利用流程

        在圖4 中,攻擊者通過中間人攻擊截獲了目標手機與對應互聯(lián)網(wǎng)出口(Wi-Fi 路由器或基站)間的全流量數(shù)據(jù)。由于某存在漏洞的應用軟件在升級過程沒有進行基于HTTPS 協(xié)議的加密傳輸,攻擊者可以輕易識別出存在于流量中的軟件版本查詢請求(一般為GET 請求)。此時,攻擊者可將此查詢請求過濾掉,并向目標手機發(fā)送偽造的升級包[11],如圖5 所示。

        圖5 偽造升級響應數(shù)據(jù)包

        圖5 顯示的JSON 響應包中:VersionName 代表偽造升級的軟件更新版本;ForceUpdate 參數(shù)為Ture,表示要求用戶強制升級(針對具體的應用軟件,有的應用軟件不會要求用戶強制升級);而后面的URL 參數(shù)則指示了升級安裝包的地址,此時已被攻擊者替換成偽造的升級包地址。在目標手機端的漏洞應用軟件則會彈出更新提示,一旦用戶選擇更新,則會下載偽造的升級安裝包并自動進行安裝。應用軟件的升級提示界面,如圖6 所示。

        圖6 應用軟件升級提示

        2.2 無感知軟件升級漏洞利用

        無感知軟件升級又稱為軟件“熱補丁”技術,目前在Android 系統(tǒng)應用軟件開發(fā)中已十分普及。該技術能夠在無需重新安裝軟件的情況下實現(xiàn)更新,幫助應用軟件快速建立動態(tài)修復能力。在整個升級過程中用戶無需像有感升級一樣重新進行軟件包安裝,只要上線就能無感知更新,因此應用“熱補丁”技術可節(jié)省Android 系統(tǒng)大量應用軟件市場發(fā)布的時間[12]。由于不需要進行安裝,更新過程中僅下載的插件化的jar 包或so 動態(tài)連接庫文件即可。在此種情況下,若在程序組件更新的過程中未對插件或動態(tài)鏈接庫文件進行認證校驗,則可在中間人攻擊的條件下,將jar 插件或so 動態(tài)連接庫文件替換成攻擊者的木馬模塊,實現(xiàn)木馬模塊的加載執(zhí)行。在木馬模塊被加載后會自動繼承漏洞應用軟件已申請的權限,因此無感知軟件升級漏洞通常攻擊的成功率更高。

        下面分析筆者測試發(fā)現(xiàn)的某一國內知名社交軟件的類似熱補丁的漏洞,每次此社交軟件被用戶啟動后會自動向遠程服務器發(fā)送插件熱更新請求:

        其中:cmd=51 是命令類型,這里是插件更新請求命令;so_name 參數(shù)是詢問具體插件是否有更新版本。

        當服務器接收到請求后會返回響應數(shù)據(jù)包:

        響應數(shù)據(jù)包中包含該次請求結果版本號(c_so_update_ver)、md5 校驗值(c_so_md5)與新版本so 庫的下載地址(c_so_url)。應用軟件提取c_so_url 參數(shù)并將md5 代入校驗,向服務器請求下載TxxxPlugin_12322.zip,完成下載后會將zip 包放置到本地沙盒目錄/data/data/com.xxxxx.xxx/files 下并解壓,隨后應用軟件會將壓縮包內的某一so 庫加載。根據(jù)分析流程可知,攻擊者只要替換zip 包中的特定so 庫,通過Java 反射機制加載調用安卓系統(tǒng)中GPS、媒體、網(wǎng)絡等服務,便可完成木馬模塊的基本功能。

        2016 年2 月,著名的CitizenLab 發(fā)現(xiàn)了國內安卓系統(tǒng)百度瀏覽器的一枚漏洞。該漏洞產(chǎn)生的主要原因在于百度地圖某個代碼模塊在網(wǎng)絡傳輸時未經(jīng)過TLS 協(xié)議加密,攻擊可通過中間人方式進行流量截獲,同時模塊升級加載時也未進行有效的簽名認證[13]。

        在HYUNWOO C 等人對安卓應用軟件實現(xiàn)遠程代碼植入的研究中,除了上述以代碼包方式升級,解壓后直接進行模塊加載的情況外,同時提到了在安卓應用軟件資源包(圖片、音視頻等非代碼組件)升級過程中動態(tài)資源更新(Dynamic Resource Update,DRU)。由于軟件開發(fā)者對傳入資源包解壓代碼的文件路徑參數(shù)未進行必要的安全檢查過濾(檢測字符串參數(shù)是否包含“../”等非法字符組合),導致攻擊者可利用目錄穿越漏洞實現(xiàn)本應用軟件沙盒目錄下任意文件覆蓋。若覆蓋的是.SO 或.JAR等動態(tài)加載模塊文件,則可實現(xiàn)遠程代碼注入的攻擊[14],偽代碼如下:

        2015 年,國外安全研究人員rotlogix 發(fā)現(xiàn)了國內海豚瀏覽器與水星瀏覽器的兩枚目錄穿越漏洞,可實現(xiàn)遠程代碼植入執(zhí)行[15]。

        在Sebastian Poeplau 等人的研究中,分別從Class Loader、Package Context、Native Code、Runtime.exec 等方面深入分析安卓應用軟件中所有可實現(xiàn)動態(tài)加載代碼的渠道,同時提出并實現(xiàn)了一種改進的Dalvik VM 虛擬機方案,可以有效阻止針對應用軟件非授權外部代碼、模塊的加載運行[16]。

        2.3 近源遠程攻擊總結

        本節(jié)針對提到的針對安卓應用軟件近源遠程攻擊中有感知與無感知兩種類型,在攻擊渠道、具體能力以及實現(xiàn)難度等方面進行總結,具體見表3。

        表3 近源遠程攻擊總結

        可以看出,有感植入與無感植入的明顯區(qū)別在于:有感植入要完整安裝APK,因此需要讓目標用戶手動進行權限授予;無感植入利用應用軟件的動態(tài)代碼加載機制加載木馬so 或jar 包模塊,可直接繼承原應用軟件的權限。

        3 結語

        本文從非近源與近源兩個方面,通過闡述不同種類遠程代碼執(zhí)行(RCE)漏洞產(chǎn)生的原因與基本利用流程,詳細分析當前安卓操作系統(tǒng)應用軟件可能存在的相關威脅,同時在整個分析流程中簡要介紹針對每種威脅國內外的研究現(xiàn)狀。通過分析認為,隨著安卓操作系統(tǒng)的不斷迭代升級,安全性也在不斷提升,應用軟件不應成為安卓系統(tǒng)的整個安全防護體系中的短板。這需要每名應用軟件開發(fā)者不斷提升代碼安全防護意識,具備必要的開發(fā)技能,建立更加安全的安卓系統(tǒng)生態(tài)環(huán)境。

        猜你喜歡
        安卓攻擊者漏洞
        漏洞
        基于微分博弈的追逃問題最優(yōu)策略設計
        自動化學報(2021年8期)2021-09-28 07:20:18
        文物表情包
        正面迎接批判
        愛你(2018年16期)2018-06-21 03:28:44
        一種基于安卓系統(tǒng)的手機側抓包分析方法
        三明:“兩票制”堵住加價漏洞
        漏洞在哪兒
        兒童時代(2016年6期)2016-09-14 04:54:43
        高鐵急救應補齊三漏洞
        有限次重復博弈下的網(wǎng)絡攻擊行為研究
        安卓L未至安卓M來了!安卓首泄漏M系統(tǒng)
        亚瑟国产精品久久| 日韩三级一区二区三区四区| 日本第一影院一区二区| 欧美三级不卡在线观看| 日韩a毛片免费观看| 国产精品98福利小视频| 国产精品又爽又粗又猛又黄 | 日本午夜精品理论片a级app发布| 亚洲无码专区无码| 亚洲中文字幕黄色小视频| 青青草手机在线观看视频在线观看| 久久97久久97精品免视看| 大地资源中文在线观看官网第二页| 无码伊人久久大蕉中文无码| 亚洲岛国一区二区三区| 少女韩国电视剧在线观看完整| 中字幕久久久人妻熟女| 国产三级黄色的在线观看| 嫩呦国产一区二区三区av| 男人进去女人爽免费视频| 婷婷综合五月| 一区二区三区少妇熟女高潮| 国产精品亚洲av三区亚洲| 中文字幕乱伦视频| 亚洲国产成人精品激情资源9| 亚洲精品中文字幕一二三| 久久精品国产精品亚洲| 精品久久无码中文字幕| 99久久无色码中文字幕鲁信| 国产91人妻一区二区三区| 亚洲免费网站观看视频| 精品99在线黑丝袜| 日本少妇又色又紧又爽又刺激| 成年性生交大片免费看| 国产目拍亚洲精品一区二区 | 97精品人人妻人人| 精品国产a∨无码一区二区三区| 色人阁第四色视频合集网| 亚洲精品第一页在线观看 | av网站在线观看大全| 国产精品无码午夜福利|