Android 上的漏洞「寄生獸」對普通用戶有何影響,如何防範?
影響數千萬APP的安卓APP「寄生獸」漏洞技術分析
Sina Visitor System
粗略看了一下360的報告,談談自己的理解,有技術上的錯誤歡迎討論。
首先,他們給這個漏洞取名叫寄生獸實在是……簡單來說這其實是一個靜態代碼注入的漏洞,關鍵點在於安卓系統源碼中對odex緩存文件的校驗薄弱,可被繞過,從而實現惡意代碼注入。那麼這個漏洞的首要觸發條件就是攻擊者要能覆蓋目標app的在文件系統中的odex,而每個app的odex都是在其私有目錄裡面,受沙盒機制保護。攻擊者要利用這個漏洞就先得突破沙盒機制,而如果攻擊者都已經有這樣的許可權了,其實能做的事情非常多,這個漏洞只是其中一種。
360列出了4種可能的攻擊場景來突破沙盒機制。首先是三星自帶的輸入法的遠程命令執行漏洞,這個漏洞要利用得劫持網路做中間人攻擊,其實是比較局限的,不談需要在應用插件更新時劫持網路,首先你得有一台三星……然後360列出了真實環境中的3種場景。第一種是解壓目錄遍歷,這個其實是app開發者沒有安全調用安卓原生api導致的漏洞,可讓攻擊者在解壓時以目標app的許可權覆蓋到odex。第二種是備份的漏洞,這種漏洞也是由於安卓開發者沒有安全配置清單文件導致的,可利用修改備份然後恢復的方式覆蓋odex。以上兩種方法都不需要root許可權,這明明就是開發者的鍋!就這兩種場景而言,這個漏洞是有一定影響面的,跟webview那個由來已久的遠程代碼執行漏洞一樣,是安卓本身安全缺陷導致的,但開發者自己應該作出應對。以後大家做安全審計時可以注意一下上面兩種場景現在有新的注入手段了。第三種攻擊場景是危言聳聽,基本可以無視,要求攻擊者具有root許可權,你都有root許可權了為什麼不考慮動態注入呢,目前很多app的動態注入防護是很弱的,實際上大多數根本沒有。
最後表達一下我一直以來的觀點,不要動不動就把鍋推到用戶身上,root手機帶來的安全隱患真的沒有想像的那麼大。為用戶減少安全風險是每個敬業的安全工程師的職責,如果你所謂的安全是放棄功能,那大家還不如換回小靈通,這完全就是沒有責任感的表現。
這個漏洞的利用需要另外一個漏洞的幫助,不知道為什麼我就想起了「太陽能電筒」。
簡單來說,這個漏洞必須要有能訪問到私有目錄的許可權才能運行,所以需要一個能提供類似許可權的其他漏洞,比如之前的三星虛擬鍵盤漏洞。「這是無需電池的太陽能電筒。」
「那沒有光呢?」「它絕對不會亮!」「有沒有可能沒有光也亮呢?」「你可以用另外一隻電筒照著它!」「哦……」
感謝@林胖提供台詞。大概意思就是這樣:原本如果你敞著大門睡覺,有可能被別有用心的人闖進來用刀砍用槍打用炸藥炸……現在他們又發現可以帶一隻熊進來一爪拍碎你的頭 本次發現的是那頭熊
拿著2011年的漏洞來炒作,另外odex即使檢驗弱也不是那麼容易就破掉的,好歹有個crc校驗,ZipEntry那個也是老洞。隨便構造了幾個場景,然後錄個視頻,就被央視報道了,那幾個視頻跟odex毛關係都沒有。
其實這個漏洞正說明了一個正規的,對各種許可權審核的市場,而不是什麼各種數字糧草什麼的亂七八糟市場對客戶安全的重要性。
瀉藥
本人並不是安卓開發者不過通篇看下來覺得並不是android的鍋文章中說過,這個漏洞是由於安卓的應用的緩存機制。安卓系統在運行的時候為了方便,會把應用的可執行文件放在一個只有root可寫的文件夾下也就是說,如果沒有具有root許可權的應用來修改,這個地方是安全的
也就是說這個漏洞說到底其實是具有root許可權的應用出現漏洞才被利用而文章所說的android的鍋其實只有一個,那就是沒有對這個可執行文件做嚴格的校驗然而,這個文件存在的意義就是為了方便,為了加快應用啟動速度。要是真正的要校驗完整性勢必要再次提取應用中的文件,這樣還不如不要這個文件。而題主所說的對普通用戶有什麼影響答:看你的利用價值,你利用價值高影響自然就高,你利用價值低這個漏洞對你並沒有什麼卵用。而且看這個漏洞的原理大概他能做的就是「那個應用被『寄生』了,那麼他就又這個應用所具體有的一切許可權。」簡而言之,就是這個應用能幹嘛,他就能幹嘛。至於普通用戶如何防範通用方法(適用於任何智能手機)不要試圖獲取系統的最高許可權,包括越獄,root,及時更新系統,及時更新應用。盡量從官方市場獲取應用。不要安裝來歷不明的應用程序。————利益相關:iPhone用戶,Google腦殘粉,軟粉,果黑謝邀
分兩方面:影響,防範。
影響信息泄露,比如通訊錄,簡訊,位置信息,文件,照片等各種信息,尤其是在國內軟體申請越來越多的許可權的情況下。支付安全,比如各種支付服務,一般部分核心邏輯都是動態載入的。防範
不要root不要打開調試模式,pc端各種惡意軟體可能通過pc端直接安裝安裝安全軟體!!!配置軟體許可權(通過安全軟體或者系統自帶許可權管理),能少給就少給不要安裝亂七八糟的軟體
或者換WP,有錢上iOS,記得不要越獄
現在其他的就等各大廠商修復了,稍安勿躁其實2011年賽門鐵克就報告給google。 Android Class Loading Hijacking然後國外的nowsecure前段時間翻出來炒了下冷飯,360幾乎就是把nowsecure的東西翻譯一下就說是自己發現的了2011年的漏洞到現在都沒修也是醉了。而且還是正經殺毒企業上報的。現在摘錄烏雲的答案。或者自己到烏雲看全文影響數千萬APP的安卓APP「寄生獸」漏洞技術分析
安卓的應用程序apk文件是zip壓縮格式的文件,apk文件中包含的classes.dex文件相當於app的可執行文件,當app運行後系統會對classes.dex進行優化,生成對應的odex格式的文件。
odex文件相當於app的可執行文件的緩存代碼,一般安卓系統在第一次載入運行apk時會將系統生成odex文件存放於/data/dalvik-cache目錄下。
。。。。
由於安卓應用的升級都需要重新安裝程序,頻繁的升級給用戶體驗和開發都帶來了不便,所以市面上的app都開始採用插件機制,利用插件機制可以做到無縫升級和擴展功能,app只需要引入相應的插件文件就可以做到功能添加或升級,無需再重新安裝程序。
app插件機制的實現方式是把相關功能編寫成單獨的apk或jar文件,然後在程序運行時用DexClassLoader動態載入,進行反射調用。
。。。。
安卓應用的代碼緩存機制是程序在執行時優先載入運行緩存代碼,而google卻只對緩存代碼做了可以偽造的弱校驗,這明顯這是一個安全架構實現上的嚴重漏洞。
廣大app開發者再使用插件機制開發app時可以對插件文件做完整性校驗,而系統生成的緩存代碼卻無法做到有效保護,一旦攻擊者將惡意代碼注入到緩存代碼中,開發者對app插件文件做的各種保護都將失效。這種攻擊很難被發現,即使重啟或關機,只要app一運行,惡意代碼也會隨之運行,同時安全軟體對這一塊的檢查和防禦也幾乎為零。
。。。。。。。
驗證某輸入法app漏洞視頻
測試3—在線播放
APP自升級類
這類漏洞主要影響有自動升級下載zip類文件功能的app,在app下載文件過程中可以被中間人劫持攻擊,我們發現地圖類的app和sdk插件最容易收到攻擊,app在下載解壓資源文件的過程中被攻擊
驗證某地圖app漏洞視頻
測試1—在線播放
APP默認解壓類
這類漏洞主要影響默認有解壓縮zip文件功能的app,如瀏覽器直接下載zip文件打開後,app就被感染緩存代碼。
驗證某瀏覽器漏洞視頻: 測試4—在線播放
。。。。「寄生獸」漏洞的防護方案
「寄生獸」漏洞的核心有兩點,一是google沒有考慮odex的安全問題需要開發者自己做防護,另一個是要阻斷漏洞的攻擊入口和利用方式,這裡我們給出一些防護建議緩解該漏洞的攻擊。
對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」,防止應用數據備份覆蓋;
還是不要用安卓一了百了了吧
看描述,主要攻擊方法是挾持自升級插件或者使用有漏洞的app,如瀏覽器等解壓zip.
那就用Google Play+Chrome就好了。Google Play嚴禁繞過市場升級可執行代碼,違反可能被下架的哦。我是360 vulpecker team團隊的leader,看了友人發來的這個貼,原本覺得我們的分析文章寫得夠通俗了,是針對安全人員和安卓開發者預警的,現在看來忽略了對普通用戶的建議,看了樓主的帖子是這個漏洞對普通用戶有何影響,如何防範?覺得還是有必要來解釋下。
對於普通用戶,不需要了解漏洞的原理,可以從漏洞的場景來提高警惕,增加防範意識:
1.近期不要輕易用安卓手機打開未知的文件!
這個文件可能是一個包含了木馬病毒的壓縮文件,這類文件的後綴名可能是zip後綴,也可能是.xxx的任意後綴的文件,一旦打開了這種文件,手機中的某個app就會在無感知的情況下被感染木馬病毒,下次再使用這個app時可能被木馬監控,如用這個app進行網購時,可能被黑客盜取用戶名密碼。ps:在我們的技術文檔中已經清楚指出,各類app都關聯了各式各樣的zip文件,比如我們還舉出了某輸入法關聯的.ssf後綴的皮膚文件,只要這個文件在安卓手機中打開,相應的輸入法插件緩存代碼就會感染,輸入法app許可權能做到的事就大家各自去聯想了。2.手機不要接入不安全的wifi無線熱點!
現在很多app都有自動升級或手動升級的功能,在不安全的wifi網路環境中,黑客可以控制你app升級的文件,在文件中加入病毒木馬,直接感染你的app。ps:我們發現有一類sdk受影響範圍最大,市面上很多app使用了這類sdk連帶著自己app也受漏洞影響,我們舉了個地圖的例子,大家可以聯想下哪些app有地圖功能。3.在root完手機後要管理好app的授權
在手機里不要隨意給app授予root許可權,黑客控制的app拿到root許可權後就可以感染你手機中的任意app,目前一些殺毒軟體掃描不出緩存代碼中存在的木馬病毒!4.普通用戶保護好自己手機的物理安全不要輕易將你的手機給不信任的人使用,黑客不需要root許可權,不需要在你的手機中安裝新的程序,可以通過備份恢複數據的方式感染你手機中的app,讓病毒潛伏在你的手機中。這個問題似乎也沒那麼大…,相當於有人告訴你萬一大門被人撬了,你房間門沒鎖房間里東西會丟
確定這問題不是公關或營銷?開放的東西越多越不安全, 不是叫你不開, 開放了要把好關, 不能出事了都讓用戶承擔後果.另外, 買蘋果.
論中國沒有官方市場的危害。(霧實際上,只要去正規一點的應用市場,注意下使用習慣,不安一些滿天飛的xx播放器什麼的,基本不會出問題的。。。
一般人就老實用ios吧,別操心折騰了
謝邀首先這個漏洞對許可權有要求,建議不要隨意的root,root之後的不可控性真的很大;其次這是一種機制上的漏洞,隨著現在app的功能越來越強大,設計上的缺陷會時有發生,建議不要一位的追求功能的強大,一些重要的應用滿足要求就好;最後,就是那個gzip路徑未檢查的缺陷,實在是害了好多應用啊,包括各個系統!
請允許我跑個題
我去數字公司到底是什麼官方背景???漏洞直接發布在了什麼「補天」平台。補天平台什麼鬼??補天 - 全球最大的漏洞響應平台,幫助企業建立SRC,庫帶計劃loudong。360。cn啊而且是央視新聞首播啊!!剛看到這個新聞,我去烏雲上找了一大圈。恩不出你們所料,啥都沒找到。再聯繫數字最近私有化回A股上市的事情,這是擺明了吃皇糧了。看到大家都這麼認真答題,我開始還以為寄生獸是動畫片呢←_←
瀉藥..既然問的是對普通用戶的影響,那麼代碼神馬的就交給程序猿分析吧.我的意見是沒有影響. 拿歷史做個比喻,就像說李隆基發動政變誅殺太平公主對普通百姓有什麼影響?沒有,你該抄土豆絲還是抄土豆絲,該娶不上老婆還是娶不上老婆. 為什麼呢?因為這兩者之間間隔了一個和普通人很遠的直接利益體.比如發文的360.從PC端到移動端,我的意見始終一致,良好的使用習慣的作用遠遠大於任何殺毒軟體,任何即時補丁.如果仔細看看每一次這些"來勢洶洶"的漏洞後門木馬等等,如果有一點耐心讀完+一點專業的知識,你會發現普通人想要中招需要一系列前提. 尤其你也不是電影里退下來的前特工,掌握著核心機密,因此一堆黑客用著一堆超牛x的設備日以繼夜要攻克你的設備. 媒體和軟文起了很大的推波助瀾作用,或者說,放大鏡作用.如果非要說中招,我覺得詐騙簡訊的機會還多一些.至於如何培養良好的使用習慣,那就是另一個故事了,而且每個人都有自己的經驗.以上..
這個問題從幾個方面來看。一個是漏洞產生的原因,一個是漏洞被利用後的影響,對普通用戶的影響和如何防範。
一,漏洞原因。這個通過360公開的解釋已深入淺出說的很明白了。
二,主要可能的影響。一旦漏洞被發現,被利用,被惡意利用,那麼產生的最直接影響就是客體的信息安全,財務安全,人身安全甚至是行業性災難。因為目前android系統的應用已經越來越廣泛,有個人的手機、可穿戴,家用場景的電視、智能家居,車聯網的導航、交通、物流等等。例子比如小到一個人艷照門,大到影響國際關係的斯諾登。
三,對普通用戶的影響。一旦發生,主要是財務損失,隱私侵犯和基於隱私帶來的人身安全和家人安全。
四,如何防範。提前做好規避措施,避免風險發生,控制發生後的影響。下面是一些小tips。第一,手機的選擇盡量選擇大廠,如華為。第二,儘可能安裝可靠來源的應用,如華為應用市場。第三,經常update手機安全助手,華為手機目前都已經默認內置華為手機管家,即可以掃描安全漏洞,也能控制手機內每個應用的許可權,還能優化手機性能。第四,經常備份個人數據,包括簡訊,微信,電話本,照片,視頻以及備忘錄記事本,以及等等。第五,選擇靠譜的備份方式,把關鍵信息備份雲端,比如大廠的雲服務。也可以選擇相對安全的個人安全存儲方案,nas。第六,經常修改密碼。360公司安全工程師宋申雷介紹,這一嚴重的安全漏洞是由兩方面原因造成的:一方面,安卓系統本身就存在沒有對緩存進行強校驗的缺陷;另一方面,在這個缺陷的基礎上,各企業推出的APP都存在涉及緩存信息安全的漏洞。利用該漏洞,攻擊者可以直接在用戶手機中植入木馬,盜取用戶的簡訊照片等個人隱私,甚至盜取銀行、支付寶等賬號密碼等。—————引用自網易財經
瀉藥
不過為啥要邀我…普通用戶的話能做的只能算祈禱程序員快去修自家的app。如果感覺現在手機上的app不安全的話可以卸,目前來說「能夠自我更新的」「更新很頻繁的」或「大廠應用」比較可能因為這個問題變得危險(因為作為用戶來說你不能指望他知道什麼是插件)。然而除了類似coc這類頻繁更新的網遊之外,其他的遊戲受影響的嫌疑比較小,可以放心用。
非本行,有誤請指正推薦閱讀:
※操作系統為什麼都有無數的漏洞?是故意留下的還是技術上無法達到完美?
※如何看待 Intel CPU 設計漏洞對雲服務廠商的影響?
※從硬體上修復Meltdown與Spectre會是怎樣的思路?困難在哪裡?
※為何一些人仍然認為光速不變和相對論是錯的?
※『別人在你眼中是什麼樣的人,那麼你自己就是什麼樣的人』這句話存在漏洞嗎?