欧美日操-欧美日韩91-欧美日韩99-欧美日韩ay在线观看-xxxx色-xxxx视频在线

超級安卓漏洞 “寄生獸”影響數千萬手機應用

2015-07-02 10:24:31 安全牛  點擊量: 評論 (0)
一個被研究人員命名為寄生獸的安全漏洞影響市面上數以千萬的APP,包括互聯網巨頭BAT等廠商的眾多流行移動產品。利用該漏洞,攻擊者可以直接在用戶手機中植入木馬,盜取用戶的短信照片等個人隱私,盜取銀行、支付
一個被研究人員命名為“寄生獸”的安全漏洞影響市面上數以千萬的APP,包括互聯網巨頭BAT等廠商的眾多流行移動產品。利用該漏洞,攻擊者可以直接在用戶手機中植入木馬,盜取用戶的短信照片等個人隱私,盜取銀行、支付寶等賬號密碼等。
 
 
 
發現該漏洞的360手機安全研究團隊VulpeckerTeam向安全牛表示,寄生獸屬于APK緩存代碼劫持漏洞,他們已經向補天漏洞響應平臺提交了這個漏洞。目前補天已經將相關詳情通知給各大廠商的安全響應中心(src),請各廠商及時自查和修復。
 
漏洞原理
 
由于安卓應用的升級都需要重新安裝程序,為了避免頻繁升級給用戶體驗和開發都帶來了不便,所以現在市面上的app大都使用插件機制來做到無縫升級和擴展功能,APP只需要引入相應的插件文件即可完成升級。但這種做法卻隱藏了不為人知的安全隱患。
 
VulpeckerTeam的安全專家黎博解釋,APP插件機制的實現方式是把相關功能編寫成單獨apk或jar文件,然后在程序運行時用DexClassLoader函數動態加載,進行反射調用。由于安卓應用的代碼緩存機制會優先加載運行APK的緩存代碼odex,因此如果針對插件的odex文件進行攻擊,開發者對于插件文件所做的各種保護都將失效。
 
安全人員檢測了市面上一些用到插件機制的主流app,發現部分app對DexClassLoader的第一個參數的插件文件做了校驗,在加載前對要加載的apk或jar做了簽名或者MD5等校驗。這在一定程度上保護了插件的完整性,防止了代碼注入攻擊。但是,幾乎沒有廠商對第二個參數的緩存文件進行保護,這就導致了新的攻擊點的出現。
 
經過在安卓源碼中的驗證,攻擊者需要修改odex文件中的兩個參數crc及modWhen以實現惡意代碼的注入。
 
超級安卓漏洞 “寄生獸”影響數千萬手機應用
 
上圖dex_old是修改前的odex文件,dex_new是修改后的dex文件。兩個文件的md5不一樣,但是crc及modWhen卻是一樣的,這樣就可以繞過DexClassLoader的校驗。
 
APK緩存代碼感染雖然危害很大,但是一般情況下,開發者都會將odex的緩存目錄選在App的私有目錄下,google官方文檔也提示開發者,不要將odex的緩存路徑選擇在外部存儲器(SD卡)上。所以,攻擊者如果沒有足夠的權限是無法替換app私有目錄下的文件的。
 
在之前安全牛報道過的三星輸入法漏洞利
用中,攻擊者用到了安卓zip解壓縮的一個漏洞。可以遍歷目,并在解壓zip文件時以原app的權限覆蓋任意文件。如果該app用到了插件機制,則對應的插件的odex文件也會被備份。攻擊者可以先用adb backup備份用戶數據,對備份下來的odex文件進行修改,然后用adb restore恢復回去,就可以替換掉正常的odex文件,造成代碼劫持。
 
漏洞危害
 
安全人員測試了市面上幾款主流的app,凡是用到了這種插件機制的app,都沒有對DexClassLoader的第二個參數做校驗,一旦攻擊者將惡意代碼注入APK的緩存代碼(odex)中,開發者對apk/jar做的各種保護都將失效。而且這種攻擊,APK自身很難發現,即使重啟或關機,只要app一運行,惡意代碼就會隨之運行。
 
為了證明漏洞危害的嚴重性,安全人員選擇了三類代表性的APP驗證漏洞:
 
輸入法類APP:搜狗輸入法,百度輸入法等
可感染代碼輸出logcat
 
瀏覽器類APP:UC瀏覽器等
替換支付寶SDK,盜取密碼
 
通用類SDK:高德地圖SDK,微信SDK等
感染代碼輸出logcat
 
 
由于驗證漏洞需要花大量精力,因此還需要各大廠商自查并修復。
 
解決方案
 
APK緩存劫持漏洞的核心有兩點,一個是軟件開發者沒有考慮odex的安全問題,另一個是沒有對zip解壓縮時的惡意文件名做檢測,所以防護上也應該從這方面做考慮。
 
•odex完整性校驗
 
由于對odex一般是由系統(DexClassLoader)自動生成的,且odex與apk/jar是相對獨立的,開發者事先無法知道odex文件的MD5等信息,所以很難通過MD5校驗等手段保護odex的完整性;同時,系統的DexClassLoader函數只是校驗了odex中的crc、modWhen字段,可以很輕易的被繞過。所以,目前對odex的防護只能由app自身來做,可以在每次運行DexClassLoader之前,清楚已經
存在的odex;另外,在odex第一次生成之后,存儲odex文件的MD5值,以后每次調用DexClassLoader的時候都對odex文件進行
MD5校驗。
 
•對劫持odex的攻擊入口的修復
 
對zip解壓縮的漏洞,只需要在調用
zipEntry.getName()的時候,過濾返回值中的"../"跳轉符。對于引用的第三方的zip庫也需要注意,可以用上面的測試用例測試一下第
三方庫是否有zip解壓縮的漏洞;調用DexClassLoader動態加載dex的時候,第二個參數不要指定在sdcard上;在manifest里指
定allowBackup=”false”。
免責聲明:本文僅代表作者個人觀點,與本站無關。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
我要收藏
個贊
?
主站蜘蛛池模板: 欧美一区高清| 自拍一区在线观看| 亚洲成av人在线视| 二次元美女扒开内裤喷水| 人妻系列合集| 天天色视频| 色妹子影院| 性俄罗斯xxxxxhd| 公开超碰在线视频| 乌克兰成人性色生活片| 三级在线免费观看| 天天插天天操天天射| 亚洲精品中文字幕第一区| 国产精品久久久久a影院| 欧美xxx性| 色视频国产| 色黄网站成年女人色毛片| 亚洲一区二区免费在线观看| 一家乱操| 凌馨baby| 欧美日韩中文在线| 手机看片日韩| 天天噜夜夜噜| 大桥未久电影在线| 亚洲成人国产| 天天操天天干天天| 中文字幕高清在线天堂网| 亚洲专区在线| 久久精品免视看国产| 亚洲AV综合99一二三四区| 日本成人在线免费观看| 亚欧成人一区二区| 亚洲精品久久玖玖玖玖| 国产亚洲精品AV片在线观看播放| 天天躁日日躁狠狠躁中文字幕老牛 | 日韩专区在线播放| 亚洲精品日本| 亚洲综合激情另类专区| 久久久久久久伊人电影| 亚洲 欧美 日韩在线| 色婷婷丁香|