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

        ?

        基于ADB調(diào)試的Android系統(tǒng)植入研究*

        2015-07-25 05:48:12范琛琛
        信息安全與通信保密 2015年11期
        關(guān)鍵詞:調(diào)試程序系統(tǒng)

        范琛琛, 施 勇, 薛 質(zhì)

        (上海交通大學(xué) 信息安全工程學(xué)院,上海,200240)

        0 引言

        近年來,以智能手機(jī)普及為代表的移動互聯(lián)網(wǎng)興起,越來越多的信息是通過智能手機(jī)得以儲存和處理。根據(jù)IDC調(diào)研報告顯示[1],2014年Android系統(tǒng)設(shè)備的總出貨量為11億,比2013年的8.022億增長了32%,所以在移動互聯(lián)網(wǎng)領(lǐng)域,Android操作系統(tǒng)的安全是至關(guān)重要的[2]。由于用戶自身的疏忽和現(xiàn)在應(yīng)用管理的混亂,Android系統(tǒng)相對容易被惡意應(yīng)用植入[3],通過ADB調(diào)試植入是一個研究較少但危害性非常顯著的一個方向。

        Android開發(fā)小組[4]曾經(jīng)也明確的的指出他們給予ADB應(yīng)用過高權(quán)限。Z.Wang和 A.Stavrou[5]曾研究過以此利用 usb的連接入侵 Android 系統(tǒng)手機(jī)。而 A.G.Villan[6]和 Hobarth S[7]以此提出了對手機(jī)的遠(yuǎn)程控制的攻擊方案和越權(quán)入侵執(zhí)行攻擊方案。甚至在最新的版本提高了用戶授權(quán)的安全機(jī)制之后,Mingzhe Xu[8]等人仍然提出了這個漏洞上的攻擊方案,并依次提出了進(jìn)一步的安全強(qiáng)化措施。

        由于ADB程序一直以來對連接的手機(jī)擁有極高的權(quán)限卻很少受到限制,許多漏洞是基于ADB漏洞攻擊的。本文將通過使用raspberry pi(樹莓派)實(shí)驗(yàn)?zāi)M一個移動電源或者公共充電系統(tǒng),它將會對用USB連接的手機(jī)進(jìn)行掃描探測,最后在上面執(zhí)行安裝命令安裝用以惡意應(yīng)用。

        1 ADB應(yīng)用植入

        1.1 ADB 程序

        Android Debug Bridge(ADB)是一個功能豐富的命令行工具。可以通過它在開發(fā)機(jī)器上運(yùn)行與Android系統(tǒng)的模擬器或者實(shí)體機(jī)進(jìn)行交互。它是一個客戶端-服務(wù)端的程序,主要包括三個組件部分

        1)客戶端,運(yùn)行在開發(fā)機(jī)器上即開發(fā)機(jī)的命令行操作,可以通過ADB shell調(diào)用客戶端命令程序。其他程序例如ADT和一些資源管理的電腦程序也內(nèi)置ADB程序。

        2)服務(wù)端,這部分組件運(yùn)行在開發(fā)機(jī)器的后臺進(jìn)程。它能保證服務(wù)端和客戶端和模擬器上的后臺組件進(jìn)行交互。

        3)模擬器后臺程序,這部分組件運(yùn)行在模擬器的后臺程序上,是手機(jī)內(nèi)的操作部分的程序。會對用USB連接的手機(jī)進(jìn)行掃描探測,最后在上面執(zhí)行安裝命令安裝用以惡意應(yīng)用。

        1.2 ADB 調(diào)試

        當(dāng)打開ADB客戶端程序后,它會首先檢測ADB服務(wù)端程序的執(zhí)行情況,并打開服務(wù)端程序。當(dāng)服務(wù)端程序打開后,就會監(jiān)聽TCP端口5037,并且將來自ADB客戶端的命令發(fā)送過去。當(dāng)服務(wù)端與運(yùn)行后,就會掃描模擬器的一部分端口,一旦發(fā)現(xiàn)模擬器中ADB后臺程序運(yùn)行在某一端口,就與之建立連接。一個偶數(shù)端口用于建立控制臺連接,一個奇數(shù)端口用于建立ADB連接。一旦開發(fā)機(jī)器上的ADB程序與所有模擬器建立連接,就可以利用開發(fā)機(jī)器上的用戶端命令行來操作這些模擬器中任意一臺,如圖1所示:

        圖1 ADB程序結(jié)構(gòu)

        ADB調(diào)試用以使手機(jī)通過USB連接到開發(fā)機(jī)器,但是手機(jī)需要提前打開USB調(diào)試模式,有時候它也被稱為開發(fā)者模式。

        USB調(diào)試模式是一種在手機(jī)與開發(fā)機(jī)器通過USB線直接連接后可以開啟的模式。該模式可以讓USB連接后的操作功能更加豐富。使用該功能可在計(jì)算機(jī)和Android設(shè)備之間復(fù)制數(shù)據(jù)、在移動設(shè)備上安裝應(yīng)用程序、讀取日志數(shù)據(jù)等等。只有在打開了USB調(diào)試的前提下,ADB程序才能與移動設(shè)備建立有線連接。

        默認(rèn)情況下,USB調(diào)試是關(guān)閉的,需要手動打開它。通常手機(jī)都會在設(shè)置中有選項(xiàng)對USB調(diào)試模式進(jìn)行調(diào)整,USB調(diào)試的設(shè)置顯示界面如圖2所示。4.2.2版本及以上的Android版本中,系統(tǒng)會彈出對話要求是否允許該開發(fā)機(jī)器的連接,并且會給出RSA密鑰以保護(hù)這個連接。

        圖2 ADB調(diào)試模式顯示界面

        ADB調(diào)試模式同樣可以通過WiFi來進(jìn)行。當(dāng)手機(jī)和電腦同處于一個WiFi下時,可以在手機(jī)的終端模擬器上執(zhí)行root權(quán)限下的 shell命令“setprop service.ADB.tcp.port 5555”來設(shè)置啟動進(jìn)行ADB調(diào)試的TCP連接端口。如果有USB連接調(diào)試的時候,可以直接執(zhí)行ADB命令“ADB tcpip 5555”來開啟調(diào)試的TCP連接端口。然后在開發(fā)主機(jī)上通過命令“ADB connect IP”來進(jìn)行連接??梢钥闯鋈绻ㄟ^USB連線打開手機(jī)中TCP調(diào)試端口,再使用TCP來對手機(jī)進(jìn)行操作,是一種具有更大危害性的攻擊,可以對連接過USB的手機(jī)在一定范圍內(nèi)產(chǎn)生持續(xù)性的危害。

        總的來說,要實(shí)現(xiàn)上述功能還是需要依靠ADB程序的相關(guān)設(shè)備和基于USB線或者WiFi環(huán)境的通信機(jī)制。只有建立了正常ADB連接的手機(jī)和開發(fā)主機(jī)才能進(jìn)行調(diào)試。通過ADB程序的使用用戶能直接安裝。

        1.3 ADB常見命令與植入

        在手機(jī)和服務(wù)器端ADB程序成功連接之后,可以通過一系列客戶端命令行命令進(jìn)行操作,用以實(shí)現(xiàn)開發(fā)主機(jī)和手機(jī)之間交互的多種功能。這種操作可以從命令行輸入,也可以從腳本代碼進(jìn)行。一般的輸入代碼為ADB[-d|-e|-s<serialNumber>]<command>,而當(dāng)只有一個手機(jī)連接的時候,會默認(rèn)操作該手機(jī)Android系統(tǒng)。

        這些命令中有不少是非常敏感和高權(quán)限的命令。出于使用方便的原因,ADB程序被授予較高的權(quán)限。這能讓開發(fā)主機(jī)客戶端輸入的命令在沒有需要更多授權(quán)操作的情況下直接執(zhí)行。例如install命令能夠直接安裝一個應(yīng)用,可以試想利用該命令進(jìn)行惡意攻擊時,應(yīng)用會被直接安裝而且默認(rèn)授權(quán),這是相當(dāng)危險的。另外push和pull命令也有相似的功能,用以在開發(fā)主機(jī)和手機(jī)之間傳輸文件。甚至有am和pm兩個shell命令,在用ADB程序開啟手機(jī)shell后,它能直接使用ActivityManager和Package-Manager兩個功能來操作整個手機(jī)的活動和應(yīng)用細(xì)節(jié)。

        通過一些常見的ADB命令如-s<serialNumber>、install<path-to-APK>、pull<remote> <local>等,根據(jù)這些命令攻擊流程可以設(shè)置如下,我們首先將腳本運(yùn)行在一臺可以擁有ADB程序的計(jì)算機(jī)上,讓其通過start-server命令進(jìn)行開機(jī)啟動,然后通過wait-for-device進(jìn)行端口監(jiān)聽。當(dāng)?shù)玫揭粋€手機(jī)的ADB連接之后,可使用ADB deveices進(jìn)行判斷,再用ADB[-d|-e|-s<serialNumber>]進(jìn)行選擇,在確定該連接后使用ADB install命令安裝我們的惡意應(yīng)用,然后使用ADB logcat得到輸入。這臺計(jì)算機(jī)可以一直對所有連接的手機(jī)持續(xù)執(zhí)行腳本。

        2 ADB調(diào)試植入實(shí)驗(yàn)

        正如本文引言所述,由于ADB程序一直以來對連接的手機(jī)擁有極高的權(quán)限卻很少受到限制,許多漏洞是基于ADB漏洞攻擊的。本文將會用樹莓派(Raspberry pi)實(shí)驗(yàn)?zāi)M一個可以連接USB的系統(tǒng),它將會對用USB連接的手機(jī)進(jìn)行掃描探測,最后在上面執(zhí)行安裝命令安裝用以惡意應(yīng)用,ADB程序的驗(yàn)證環(huán)境如表1所示。

        2.1 驗(yàn)證環(huán)境

        這里用一個raspberry pi(樹莓派)來執(zhí)行惡意安裝腳本,每當(dāng)手機(jī)以打開USB調(diào)試模式的狀態(tài)連接到這個樹莓派的時候,都將運(yùn)行該惡意腳本執(zhí)行ADB install命令將惡意應(yīng)用靜默植入手機(jī)。樹莓派的組成結(jié)構(gòu)如圖3所示:

        表1 ADB程序驗(yàn)證環(huán)境

        2.2 驗(yàn)證實(shí)現(xiàn)

        1)配置好樹莓派,并且在里面安裝好Python程序以及ADB程序。樹莓派可以看作一個小型Linux電腦。在上面安裝樹莓派官方的Linux操作系統(tǒng)。然后通過Linux源下載適合版本的Python程序和ADB程序。其中Python程序可以運(yùn)行惡意的Python腳本,而ADB程序用于連接手機(jī)進(jìn)行操作。由圖3可以看出一個樹莓派的標(biāo)準(zhǔn)結(jié)構(gòu),基本類似于一個完整的電腦機(jī)器。我們會用到它的LAN端口,USB端口和HDMI端口。其中通過LAN端口將樹莓派和我們的主機(jī)連在同一路由網(wǎng)絡(luò)下,可以通過SSH連接對它進(jìn)行操作。USB端口用于讓樹莓派和手機(jī)連接,用于測試植入攻擊。而HDMI端口則可以和顯示器連接,查看工作情況。

        圖3 樹莓派組成結(jié)構(gòu)圖

        2)在樹莓派中存入惡意應(yīng)用,寫入開機(jī)執(zhí)行的Python腳本,讓它對樹莓派USB端口進(jìn)行掃描,對掃描的每一個ADB可連接設(shè)備執(zhí)行應(yīng)用安裝命令。

        這里我們使用pyADB這個python包進(jìn)行輔助,通過創(chuàng)建一個python的ADB對象,ADB=ADB(),然后通過使用ADB對象執(zhí)行端口掃描命令,以查看是否有Android設(shè)備連接到樹莓派上。這里使用ADB.wait_for_device()該函數(shù)調(diào)用內(nèi)置的ADB函數(shù)wait-for-device。如果連接成功則使用err,dev=ADB.get_devices()命令,沒有成功則沉睡10秒后進(jìn)行。

        一旦連接成功則通過ADB.set_target_device(),并且利用封裝的函數(shù)ADB.run_cmd執(zhí)行ADB install安裝命令,安裝成功沉睡10秒后重復(fù)上述操作。需要注意的是,當(dāng)手機(jī)打開了調(diào)試模式時,連接Android系統(tǒng)的電腦相當(dāng)于獲得了手機(jī)當(dāng)前狀態(tài)的最高權(quán)限。也就是說ADB以用戶權(quán)限連接,但是對root過的Android系統(tǒng)可以通過su命令進(jìn)行直接提權(quán)。

        部分工作代碼如下:

        2.3 驗(yàn)證結(jié)果與分析

        通過上文通過上文的驗(yàn)證流程,發(fā)現(xiàn)特定的APK文件被成功靜默安裝,并且運(yùn)行在后臺。當(dāng)我們把打開調(diào)試模式的手機(jī)通過USB連接到樹莓派時,會直接在設(shè)置應(yīng)用程序部分植入該365月歷應(yīng)用,如圖4所示。整個過程沒有任何用戶提示。對該植入方法進(jìn)行分析可得,該植入方法的功能性和隱藏性同樣強(qiáng)大。用戶在打開USB調(diào)試模式的情況下,任用USB插頭,就會在不知不覺間被靜默植入惡意應(yīng)用。而且該方法可以在更深的權(quán)限下執(zhí)行更深層的惡意命令,是一種危害極大的持續(xù)性攻擊。

        圖4 靜默植入惡意應(yīng)用

        3 ADB調(diào)試植入的漏洞利用情景

        ADB程序植入漏洞利用主要是通過與手機(jī)端口的連接來實(shí)現(xiàn)應(yīng)用的靜默安裝,整個調(diào)試植入攻擊的流程如圖5所示:

        圖5 ADB調(diào)試植入攻擊流程

        3.1 惡意程序的布局

        ADB程序惡意代碼的布局非常便捷,只需要將惡意代碼,與相關(guān)的腳本共同放在一個主機(jī)上即可,主機(jī)通常為Linux主機(jī),主機(jī)服務(wù)的范圍越大,攻擊的目標(biāo)范圍也越大。這里一方面可以主動對主機(jī)進(jìn)行配置,讓它變得危險。

        另一方面,也可以對一些主機(jī)進(jìn)行入侵,存入惡意應(yīng)用和腳本代碼,再運(yùn)行該腳本就可以開始攻擊任何連接上的手機(jī)。

        3.2 攻擊接觸方法

        ADB攻擊對主機(jī)的限制非常弱,完全可以把主機(jī)設(shè)置成移動電源,機(jī)場或者火車站的公共充電器,這樣的攻擊流程就跟上文中的驗(yàn)證一樣。

        另外需要注意的是ADB程序可以通過WiFi進(jìn)行連接,這樣可以用主機(jī)配置偽裝成一個咖啡廳的無限WiFi。當(dāng)手機(jī)通過WiFi連接的時候,仍然能形成ADB程序的會話,這樣不僅在隱蔽性上還是在攻擊范圍上都能產(chǎn)生更大的效果。盡管這需要手機(jī)ADB程序提前打開過TCP端口,但是仍然是一種可行的辦法。例如豌豆莢軟件就是通過這個進(jìn)行的會話,并且應(yīng)用靜默安裝。

        還有近年來開始流行的家用設(shè)備例如智能插座或是電視盒子等小型系統(tǒng),也能內(nèi)置并執(zhí)行相關(guān)腳本。一旦這些小型系統(tǒng)被入侵,同樣可以通過WiFi,或者USB充電線對整個范圍內(nèi)的Android系統(tǒng)產(chǎn)生植入攻擊。

        可以知道的是,以上方案都是有相關(guān)用戶會去主動接觸的可能,而且出于對網(wǎng)絡(luò)功能或者其它功能的需求,這個可能性也非常大,所以不管是公共場所還是私密場所,只要是用戶需要做手機(jī)連接的地方都可以實(shí)現(xiàn)這種主機(jī)偽裝或是對原系統(tǒng)的篡改。ADB攻擊的接觸過程可以說是高持續(xù)性大范圍的。

        3.3 安裝執(zhí)行

        用戶若開啟ADB調(diào)試模式,安裝過程中并沒有任何提示。ADB連接上后,默認(rèn)的權(quán)限是足以靜默安裝惡意應(yīng)用的,而且對于root過的手機(jī)還能自主實(shí)現(xiàn)提權(quán)操作,提權(quán)后進(jìn)行更多的攻擊。程序同樣會自助在后臺隱藏運(yùn)行,直到被發(fā)現(xiàn)并且刪除。

        4 結(jié)語

        本文重點(diǎn)闡述了通過ADB調(diào)試進(jìn)行Android系統(tǒng)應(yīng)用植入,ADB程序植入安裝主要是通過WiFi或者USB讓一臺有惡意應(yīng)用和腳本的主機(jī),連接到手機(jī)系統(tǒng)上,然后執(zhí)行腳本會監(jiān)聽連接的情況,調(diào)用ADB程序?qū)崿F(xiàn)應(yīng)用安裝。綜合以上原理,本文闡述了一般的植入流程,和相關(guān)的驗(yàn)證分析過程,并且針對建立的模型提出了植入攻擊的場景。驗(yàn)證分析過程包括了實(shí)驗(yàn)環(huán)境、過程、結(jié)果和分析三個部分。對于用戶而言應(yīng)該對手機(jī)系統(tǒng)有所保護(hù),一般情況下對手機(jī)不建議Root,同時在不需要的時候也不要打開USB調(diào)試模式。對于利用ADB程序的惡意攻擊,盡管在4.2.2版本以上的Android系統(tǒng)中有所改進(jìn),所有ADB程序需要授權(quán)連接,但是這并不影響攻擊者在一定范圍內(nèi)實(shí)施持續(xù)的惡意行為,同時最新研究也提出了釣魚和公私鑰盜用后轉(zhuǎn)用的其他授權(quán)連接方法。

        [1] IDC.Android and iOS Squeeze the Competition,Swelling to 96.3%of the Smartphone Operating System Market for Both 4Q14 and CY14[EB/OL].[2015-02-24].http://www.idc.com/getdoc.jsp?containerId=prUS25450615.

        [2] 移動安全實(shí)驗(yàn)室.移動安全實(shí)驗(yàn)室2014年手機(jī)安全報告[EB/OL].[2015-02-13].http://m.qq.com/security_lab/news_detail_299.html.

        [3] 蔣紹林,王金雙,張濤,等.Android安全研究綜述[J].計(jì)算機(jī)應(yīng)用與軟件,2012,29(10):205-210.

        [4] Android-Team.Android Debug Bridge[EB/OL].http://developer.android.com/tools/help/ADB.html.

        [5] WANG Z,Stavrou A.Exploiting Smart-Phone USB Connectivity for Fun and Profit[C]//Annual Computer Security Applications Conference,Austin,Texas USA,2010:357-366.

        [6] Villan A G,Jorba J.Remote Control of Mobile Devices in Android Platform[J].arXiv preprint arXiv:1310.5850,2013.

        [7] Hobarth S,Mayrhofer R.A Framework for On-Device Privilege Escalation Exploit Execution on Android[J].Proceedings of IWSSI/SPMU(June 2011),2011,20(4):50-52.

        [8] XU M,SUN W,Alam M.Security Enhancement of Secure USB Debugging in Android System[D].University of Tole do,2014.

        猜你喜歡
        調(diào)試程序系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        試論我國未決羈押程序的立法完善
        基于航拍無人機(jī)的設(shè)計(jì)與調(diào)試
        電子制作(2018年12期)2018-08-01 00:47:44
        FOCAS功能在機(jī)床調(diào)試中的開發(fā)與應(yīng)用
        “程序猿”的生活什么樣
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        英國與歐盟正式啟動“離婚”程序程序
        無線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
        電子制作(2017年19期)2017-02-02 07:08:38
        国产乱人伦偷精品视频| 国语对白福利在线观看| 又色又爽又黄的视频软件app| 一区二区三区国产亚洲网站| 亚洲阿v天堂网2021| 亚洲天堂免费成人av| 五月天中文字幕日韩在线| 中文字幕乱码一区av久久不卡 | 久久精品国产亚洲av无码偷窥| 先锋影音最新色资源站| 色www亚洲| 日本国产视频| 亚洲国产精品免费一区| 午夜av天堂精品一区| 天天狠天天添日日拍| 五月天综合在线| 中文字幕日韩人妻在线| 亚洲av无一区二区三区久久蜜桃| 国产精品v片在线观看不卡| 亚洲欧美日韩精品高清| 亚洲中文字幕无线乱码va | 最新日本久久中文字幕| 老师开裆丝袜喷水视频| 天天综合亚洲色在线精品| 亚色中文字幕| 国产视频一区2区三区| 成熟丰满熟妇av无码区| 久久久无码一区二区三区| 国产精品女同久久久久久| 日本少妇一区二区三区四区| 18禁真人抽搐一进一出在线| 国产成人拍精品免费视频| 亚洲大胆视频在线观看| 亚洲av无码一区二区三区天堂| 越南女子杂交内射bbwxz| 亚洲成人av一区二区三区| 极品粉嫩嫩模大尺度视频在线播放| 国产无套粉嫩白浆在线观看| 中文字幕喷水一区二区| 国产熟女乱综合一区二区三区 | 国产成人无码综合亚洲日韩|