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

        ?

        安卓應用中的信息泄露問題探究

        2017-12-25 05:23:53吳中超許國祥
        網(wǎng)絡安全技術與應用 2017年12期
        關鍵詞:安卓攻擊者漏洞

        ◆吳中超 許國祥 王 瑜

        (信息工程大學 河南 450001)

        安卓應用中的信息泄露問題探究

        ◆吳中超 許國祥 王 瑜

        (信息工程大學 河南 450001)

        作為當今世界最流行的新興移動操作系統(tǒng),安卓系統(tǒng)的應用安全重要性日益提高。安卓應用通信架構(gòu)由服務器、客戶端兩部分構(gòu)成,均存在敏感信息泄露的安全隱患。本文從這兩方面入手,分析安卓應用生態(tài)目前出現(xiàn)較多的信息泄露問題及導致危害,并分別探討了針對主要漏洞類型的應對手段。

        安卓系統(tǒng);移動互聯(lián)網(wǎng);應用安全;信息泄露

        0 引言

        移動操作系統(tǒng)的生態(tài)鏈正從智能手機拓展到諸如平板電腦、智能家居、可穿戴智能設備、車聯(lián)網(wǎng)、嵌入式系統(tǒng)等多種衍生產(chǎn)品中,日益驅(qū)動著互聯(lián)網(wǎng)技術的改變和發(fā)展。作為移動互聯(lián)網(wǎng)時代的突出標志之一,移動應用 APP聚集了大量的高附加值信息和資源。這些信息和資源不僅包含個人手機信息、身份信息、經(jīng)緯度地理位置等,還包含了多個應用或網(wǎng)站的賬號密碼信息、個人電子郵件、隱私文件等諸多信息。

        在過去的2016年中,國內(nèi)個人信息泄露事件頻發(fā)。中國互聯(lián)網(wǎng)協(xié)會2016年發(fā)布的《中國網(wǎng)民權(quán)益保護調(diào)查報告》中指出,在整個2016年,中國網(wǎng)民因個人信息泄露、垃圾信息、詐騙信息等現(xiàn)象導致總體損失約915億元。其中,78.2%的網(wǎng)民個人身份信息被泄露過,包括網(wǎng)民的姓名、學歷、家庭住址、身份證號及工作單位等;63.4%的網(wǎng)民個人網(wǎng)上活動信息被泄露過,包括通話記錄、網(wǎng)購記錄、網(wǎng)站瀏覽痕跡、IP地址、軟件使用痕跡及地理位置等。在個人信息泄露帶來的不良影響上,82.3%的網(wǎng)民親身感受到了個人信息泄露對日常生活造成的影響。近年爆發(fā)的多個安卓系統(tǒng)漏洞,其影響力動輒覆蓋過億安卓手機用戶,造成大量用戶隱私泄露風險。

        面對移動互聯(lián)網(wǎng)用戶隱私保護的嚴峻形勢,隱私泄露的檢測和保護近年來頗受關注。本文結(jié)合本人在清華大學網(wǎng)絡與信息安全實驗室參與的安卓APP滲透測試項目、全國高校校園網(wǎng) APP測試項目及正在進行的研究工作,揭示了移動應用隱私泄露檢測和防護的總體進展,并針對影響范圍較廣的典型問題給出針對性修復方案。

        1 安卓應用app客戶端的信息泄露問題

        1.1 應用敏感數(shù)據(jù)明文存儲在本地文件中

        Android應用程序運行中必然涉及數(shù)據(jù)的輸入、輸出。例如應用程序各個參數(shù)設置、程序運行中的狀態(tài)等數(shù)據(jù)都需要保存到外部存儲器上,否則系統(tǒng)關機之后數(shù)據(jù)將會丟失。

        若應用程序中需要保存的數(shù)據(jù)較少,且數(shù)據(jù)格式簡單(字符串、整型值等),可使用 SharedPreferences進行保存。若應用程序有大量數(shù)據(jù)需要存儲、訪問,就需要用到數(shù)據(jù)庫。如果SharedPreferences創(chuàng)建時模式設為可讀可寫,則文件中內(nèi)容極易被其他應用獲取。如果文件中內(nèi)容為明文或明文編碼(base64等),則會造成敏感信息泄露。

        例如,在某app中,應用會將使用過的用戶信息(包括用戶資料、id等)以明文的形式存儲在SharedPreferences文件中(如圖1所示),內(nèi)容可直接被獲取。

        改進方式:避免使用 MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE模式創(chuàng)建Shared Preferences文件;避免把密碼等敏感數(shù)據(jù)信息明文存放在 Shared Preferences文件中。

        圖1 SharedPreferences文件內(nèi)容

        1.2 content provider 訪問控制缺失

        在安卓系統(tǒng)中,content Provider用來提供數(shù)據(jù)的統(tǒng)一訪問方式。如果某個應用中有數(shù)據(jù)需要提供給其他應用訪問,無論數(shù)據(jù)存儲在數(shù)據(jù)庫中,還是在文件甚至在網(wǎng)絡中,都可以通過content provider提供的接口來訪問。

        如果在 AndroidManifest文件中將某個 Content Provider的exported屬性設置為true,則可在外界任意位置直接訪問其數(shù)據(jù)。如果此 Content Provider的實現(xiàn)有問題,則可能產(chǎn)生任意數(shù)據(jù)訪問、SQL注入、目錄遍歷等風險。

        例如,在某校園網(wǎng)圖書館app中,利用drozer查詢應用中的provider信息,可發(fā)現(xiàn)該應用中有兩個content provider組件,繼續(xù)查詢其中設計的 provider uri;逐個進行查詢嘗試,發(fā)現(xiàn)其中存儲密碼值的uri可不需權(quán)限,直接查詢得到結(jié)果,如圖2所示。

        圖2 用戶名、登錄密碼、郵箱等敏感信息

        改進措施:對于需要開放的組件應設置合理的權(quán)限,如果只需要對同一個簽名的其它開放 content provider,則可以設置signature級別的權(quán)限。

        1.3 本地sql語句非法拼接導致注入隱患

        SQL注入就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執(zhí)行惡意的SQL命令。它可以通過在Web表單中輸入惡意SQL語句得到一個存在安全漏洞的網(wǎng)站上的數(shù)據(jù)庫,而不是按照設計者意圖去執(zhí)行SQL語句。

        若應用對傳入的查詢參數(shù)不做處理或檢驗,而直接拼接進sql查詢語句,則可能導致SQL注入。攻擊者可根據(jù)表中實際情況進行手動或編寫腳本自動化遍歷,以獲取數(shù)據(jù)庫中當前權(quán)限允許查詢的所有內(nèi)容。

        例如,某款app均存在sql不規(guī)范查詢(如圖3所示),可能導致注入攻擊。

        圖3 不規(guī)范的sql查詢

        對app中的sql不規(guī)范查詢點進行逐個注入嘗試,可獲取其中某應用的數(shù)據(jù)庫內(nèi)容,如圖4所示。

        圖4 數(shù)據(jù)庫內(nèi)容

        改進措施:在查詢代碼中使用參數(shù)化查詢,杜絕用戶參數(shù)直接拼接入SQL語句,以防止SQL注入攻擊的產(chǎn)生。

        2 安卓應用服務端的信息泄露問題

        2.1 cookie 管理不當

        服務器通過操作Cookie類對象對客戶端Cookie進行操作。通過request.getCookie()獲取客戶端提交的所有Cookie(以Cookie[]數(shù)組形式返回),通過 response.addCookie(Cookiecookie)向客戶端設置Cookie。

        HTTP協(xié)議不僅是無狀態(tài)的,而且是不安全的。使用 HTTP協(xié)議的數(shù)據(jù)不經(jīng)過任何加密就直接在網(wǎng)絡上傳播,有被截獲的可能。使用HTTP協(xié)議傳輸機密內(nèi)容是不合理的。如果不希望Cookie在HTTP等非安全協(xié)議中傳輸,可以設置Cookie的secure屬性為true。瀏覽器只會在HTTPS和SSL等安全協(xié)議中傳輸此類Cookie。如果cookie中設置了HttpOnly屬性,那么通過js腳本將無法讀取到cookie信息,這樣能有效的防止XSS攻擊,竊取cookie內(nèi)容,這樣就增加了cookie的安全性。

        結(jié)合webview控件中對敏感字符過濾存在問題,導致xss問題的出現(xiàn)。攻擊者可以獲取受害者cookie等敏感信息,達到仿冒登錄等目的。

        2.2 服務器異常響應未封裝為統(tǒng)一頁面

        發(fā)生意外事件時,許多web應用程序返回詳盡的錯誤信息。從僅僅披露錯誤類型的簡單內(nèi)置消息到泄露許多應用程序狀態(tài)細節(jié)的詳細調(diào)試信息都涵蓋在錯誤消息中。

        如果在解釋型web腳本語言中出現(xiàn)錯誤,應用程序通常會返回一條簡單的錯誤消息以揭示錯誤本質(zhì),還可能會有發(fā)生錯誤的文件的行號。大多數(shù)Web應用程序的語言編寫,例如Java、C#和 VB.NET等語言中如果出現(xiàn)無法處理的錯誤時,報錯信息中往往會顯示完整的棧追蹤。另外,數(shù)據(jù)庫、郵件服務器或SOAP服務器等后端組件也會返回詳盡的錯誤消息。

        例如,在某app webview控件中,訪問服務器端提供web頁面時,查詢參數(shù)直接列在url中。若攻擊者沒有此項查詢權(quán)限,嘗試該查詢url使得缺失某項參數(shù)時,服務器會自動給出提示,提示如圖5所示。

        圖5 服務器給出的提示

        這實際上是暴露了服務器端數(shù)據(jù)庫中對應表中的表項名稱。攻擊者只需補齊服務器提示的這項參數(shù),服務器就會再次提示下一參數(shù),如此反復,最終給出服務器所需的所有參數(shù)。這給攻擊者帶來很大便利,能夠容易地掌握數(shù)據(jù)庫中各表項名稱,為 sql注入攻擊提供很大參考價值。

        改進方式:只要有可能,應該禁止應用程序公布對攻擊者有用的信息;如果某些用戶需要訪問這些信息,應使用訪問控制對它們進行有效保護,并且只有在完全必要時才提供這些信息;如果必須向授權(quán)用戶透露敏感信息,那么在不必要時也不得披露現(xiàn)有數(shù)據(jù)。

        2.3 sql 注入攻擊

        SQL注入發(fā)生時,攻擊者將SQL代碼插入或添加到應用的輸入?yún)?shù)中,之后再將這些參數(shù)傳遞給后臺的SQL服務器加以解析并執(zhí)行。如果應用未對SQL語句使用的參數(shù)進行正確性審查,未過濾其中的非法字符或敏感字等,尤其是如果直接將用戶輸入拼接到SQL語句執(zhí)行,而非執(zhí)行參數(shù)化查詢,則很可能會導致注入攻擊的產(chǎn)生。

        例如,某app服務器存在sql注入漏洞,可構(gòu)造注入腳本進行查詢。編寫腳本,對數(shù)據(jù)庫中相應表做遍歷,可以得到數(shù)據(jù)庫中所有用戶名稱及密碼等敏感信息,如圖6所示。

        圖6 泄露的用戶名

        改進方式:在SQL查詢語句中,應始終將用戶輸入作為潛在威脅數(shù)據(jù),對其敏感操作符、敏感詞進行嚴格校驗,并防止用戶輸入直接拼接入sql語句,而應采用參數(shù)化查詢方式。

        2.4 目錄遍歷漏洞導致任意文件讀寫

        目錄遍歷是Http所存在的一個安全漏洞,它使得攻擊者能夠訪問受限制的目錄,并在服務器的根目錄以外執(zhí)行命令。這個漏洞可能存在于服務器軟件本身,也可能存在于應用程序的代碼之中。利用目錄遍歷漏洞,攻擊者能夠跳出服務器的預定目錄,從而訪問到文件系統(tǒng)的其他部分,譬如攻擊者能夠看到一些受限制的文件,或者更危險的,攻擊者能夠執(zhí)行一些造成整個系統(tǒng)崩潰的指令。

        如果目錄遍歷漏洞與文件下載相結(jié)合,可以導致任意文件下載漏洞,使得系統(tǒng)密碼、關鍵配置等文件被盜取。如果目錄遍歷漏洞與文件上傳相結(jié)合,可以導致任意文件上傳漏洞,使得攻擊者可上傳任意腳本,可能導致任意代碼執(zhí)行等。

        例如,某app服務器中直接將用戶名稱拼接進用戶文件夾路徑,且未對用戶名稱做合法性校驗。我們可以發(fā)包手動構(gòu)造一個名為../../../LY的用戶,則通過路徑拼接與跳轉(zhuǎn)可以訪問本來無權(quán)限訪問的文件。

        手動ajax發(fā)包內(nèi)容如圖7所示。

        圖7 手動ajax發(fā)包內(nèi)容

        執(zhí)行完成后得到異常用戶名。訪問系統(tǒng)中規(guī)定的下載文件鏈接 DownloadZip.do?folderName=LY&zipFileName= 通 過zipFileName 進行目錄跳轉(zhuǎn)從而實現(xiàn)任意文件讀。

        zipFileName=../../../../../etc/passwd時,可以獲得記錄系統(tǒng)用戶密碼的關鍵文件:/etc/passwd

        改進方式:對用戶輸入進行嚴格校驗,杜絕目錄跳轉(zhuǎn)字符拼接入目錄所在字符串。

        3 總結(jié)與展望

        目前的研究主要通過手工借助逆向分析或網(wǎng)絡抓包工具實現(xiàn),人工梳理應用的代碼實現(xiàn)邏輯,再結(jié)合威脅模型,挖掘潛在的漏洞并實施攻擊。沒有嘗試漏洞挖掘的自動化實現(xiàn)方案,目前無法實現(xiàn)對大量Android應用的安全性分析。接下來的工作,可以結(jié)合手動漏洞挖掘過程發(fā)現(xiàn)的漏洞特征,采用一些程序分析的方法,開發(fā)一款針對Android應用登錄過程的自動化分析工具,實現(xiàn)對Android應用的批量掃描,再結(jié)合掃描結(jié)果進行針對性的人工分析,將大大提高漏洞挖掘效率。

        [1]C.Gibler,J. Crussell, J. Erickson , and H. Chen.AndroidLeaks: Automatically Detecting Potential Privacy Leaks in Android Applications on a Large Scale, on International Conference on Trust & Trustworthy Computing,2012.

        [2]E Chin,AP Felt ,K Greenwood ,D Wagner:Analyzing inter-application communication in Android,on International Conference on Mobile Systems,2011.

        [3]Z Yang,M Yang:LeakMiner:Detect Information Leakage on Android with Static Taint Analysis,on Software Engineering,2013.

        [4]L Lu,Z Li,Z Wu,W Lee,G Jiang:CHEX:statically vetting Android apps for component hijacking vulnerabilities,on Acm Conference on Computer & Communications Security,2012.

        猜你喜歡
        安卓攻擊者漏洞
        漏洞
        基于微分博弈的追逃問題最優(yōu)策略設計
        自動化學報(2021年8期)2021-09-28 07:20:18
        文物表情包
        正面迎接批判
        愛你(2018年16期)2018-06-21 03:28:44
        一種基于安卓系統(tǒng)的手機側(cè)抓包分析方法
        三明:“兩票制”堵住加價漏洞
        漏洞在哪兒
        兒童時代(2016年6期)2016-09-14 04:54:43
        高鐵急救應補齊三漏洞
        有限次重復博弈下的網(wǎng)絡攻擊行為研究
        安卓L未至安卓M來了!安卓首泄漏M系統(tǒng)
        一本一本久久a久久精品 | 精品国产91久久综合| 国产在线看不卡一区二区| 中文字幕中文字幕人妻黑丝| 青青草成人免费在线视频| 国产乱人对白| 日本午夜免费福利视频| 精品国产1区2区3区AV| 日本av不卡一区二区三区| 欧美激情肉欲高潮视频| 人人玩人人添人人澡| 日韩亚洲欧美精品| 国产女主播视频一区二区三区 | 我爱我色成人网| 女女女女bbbbbb毛片在线| 国产av专区一区二区三区| 91精品亚洲熟妇少妇| 中文精品久久久久人妻不卡| 蜜桃视频无码区在线观看| 国产特级全黄一级毛片不卡| 色婷婷综合一区二区精品久久| 亚洲中文字幕精品乱码2021| 粗壮挺进人妻水蜜桃成熟漫画 | 无码人妻黑人中文字幕| 国产AV无码专区久久精品网站| 台湾佬中文偷拍亚洲综合| 性感熟妇被我玩弄到高潮| 久久久亚洲欧洲日产国码aⅴ| 精品综合久久久久久97超人| AV在线毛片| 夜晚黄色福利国产精品| 国产av国片精品jk制服| 亚洲综合无码一区二区三区 | AV中文码一区二区三区| 国产亚洲视频在线观看播放| 午夜少妇高潮在线观看视频| 五月天中文字幕mv在线| a毛片全部免费播放| 亚洲人妻有码中文字幕| 亚洲欧洲免费无码| 国产成人无码免费看片软件|