Stagefright漏洞由Zimperium zLabs于2015年8月份首次發(fā)現(xiàn),該漏洞允許遠程代碼執(zhí)行,通過利用發(fā)送一個特制的MMS消息。該漏洞對Android 2.2及更新版本均產(chǎn)生影響,對4.1及更新版本影響相對較弱。
Stagefright是一組影響2.2版本(“Froyo”)和更新的Android操作系統(tǒng)的軟件錯誤的名稱。該名稱取自受影響的Lib,其中包括用于解開MMS消息。利用該漏洞,攻擊者可以通過遠程代碼執(zhí)行和特權(quán)升級,在受害者的設(shè)備上執(zhí)行任意操作。安全研究人員利用概念證明來證明這個錯誤,它將特制的MMS消息發(fā)送給受害者設(shè)備,并且在大多數(shù)情況下,在消息接收成功時不需要最終用戶的操作 - 用戶不必為“接受”攻擊做任何事情使用該錯誤,它發(fā)生在后臺。電話號碼是唯一的目標(biāo)信息。
底層攻擊媒介利用Android核心組件中的某些整數(shù)溢出漏洞,稱為“Stagefright”,這是一個復(fù)雜的軟件庫,主要以C ++實現(xiàn),作為Android開源項目(AOSP)的一部分,用作播放各種多媒體格式(如MP4文件)的后端引擎。
歷史Stagefright錯誤是由Zimperium安全公司的Joshua Drake發(fā)現(xiàn)的,并于2015年7月27日首次公開發(fā)布。在宣布之前,Drake在2015年4月向Google報告了該錯誤,該錯誤將一個相關(guān)的錯誤修復(fù)程序內(nèi)部源代碼庫在報告后兩天。2015年7月,總部位于莫斯科的安全研究員Evgeny Legerov宣布他已經(jīng)在Stagefright圖書館發(fā)現(xiàn)至少兩個類似的堆溢出零日漏洞,同時聲稱圖書館已經(jīng)被利用了一段時間。 Legerov還證實,通過應(yīng)用Drake提交給Google的補丁程序,他發(fā)現(xiàn)的漏洞變得無法解決。
Drake發(fā)布的Stagefright bug的公開全面披露于2015年8月5日在Black Hat USA [15]計算機安全會議上,并于2015年8月7日在DEF CON 23 黑客大會上公布。 6]披露之后,2015年8月5日,Zimperium公開發(fā)布了概念驗證漏洞的源代碼,Stagefright庫的實際補?。ūM管補丁已經(jīng)從2015年5月初開始在AOSP和其他開源Repositories 和一個名為“Stagefright detector”的Android應(yīng)用程序,用于測試Android設(shè)備是否易受Stagefright bug影響.
截至2015年8月3日,只有少數(shù)產(chǎn)品實際上已經(jīng)針對該錯誤進行了修補:Blackphone的PrivatOS自117版以來,每晚發(fā)布CyanogenMod 12.0和12.1, Sprint的三星Galaxy Note 4 Moto E,G和X,Droid Maxx,Mini和Turbo 以及Mozilla Firefox從38版開始(以及Firefox 2.2以后的版本)(該網(wǎng)頁瀏覽器在內(nèi)部使用Android的Stagefright庫)。
2015年8月13日,Exodus Intelligence發(fā)布了另一個Stagefright漏洞,CVE-2015-3864。已知漏洞的現(xiàn)有修復(fù)程序無法緩解此漏洞。 CyanogenMod團隊發(fā)布了一項通知,指出CVE-2015-3864的修補程序已于2015年8月13日納入CyanogenMod 12.1源代碼中。
2015年10月1日,Zimperium發(fā)布了更多漏洞的細節(jié),也被稱為Stagefright 2.0。此漏洞影響使用Android Media服務(wù)器播放時執(zhí)行其有效內(nèi)容的特制MP3和MP4文件。該漏洞已分配標(biāo)識符CVE-2015-6602,并在名為libutils的核心Android庫中找到;自Android首次發(fā)布以來,Android的一個組件。 Android 1.5到5.1都容易受到這種新攻擊,估計有十億臺設(shè)備受到影響1。
啟示雖然Google維護Android的主要代碼庫和固件,但各種Android設(shè)備的更新由無線運營商和原始設(shè)備制造商(OEM)負責(zé)。結(jié)果,由于制造商,設(shè)備變體,Android版本以及制造商執(zhí)行的各種Android定制之間的大量碎片化,向?qū)嶋H設(shè)備傳播補丁通常會引入長時間延遲; 此外,許多較舊或較低低成本設(shè)備可能永遠不會收到補丁固件。許多未維護的設(shè)備需要根植,這違反了許多無線合同的條款。因此,Stagefright bug的本質(zhì)突出了與Android補丁傳播有關(guān)的技術(shù)和組織方面的困難。
為了解決與Android補丁傳播有關(guān)的延遲和問題,2015年8月1日,Zimperium成立了Zimperium手機聯(lián)盟(ZHA),作為一個有興趣交流信息并及時接收有關(guān)Android安全相關(guān)更新的各方協(xié)會的問題。 ZHA成員還在公開發(fā)布之前收到了Zimperium的概念驗證Stagefright漏洞利用源代碼。截至2015年8月6日,已有25家最大的Android設(shè)備原始設(shè)備制造商和無線運營商加入了ZHA。
緩和對于運行未打補丁的Android版本的設(shè)備,存在Stagefright錯誤的某些緩解措施,包括禁用MMS消息的自動檢索并阻止接收來自未知發(fā)件人的文本消息。但是,這兩種緩解措施在所有MMS應(yīng)用程序中都不受支持(例如,Google環(huán)聊應(yīng)用程序僅支持前者),并不涵蓋所有可行的攻擊媒介,因此可能會利用Stagefright bug通過其他方式,例如通過使用設(shè)備的網(wǎng)頁瀏覽器打開或下載惡意多媒體文件。
起初,人們認(rèn)為進一步的緩解可能來自Android 4.0“冰淇淋三明治”中引入的地址空間布局隨機化(ASLR)功能,在Android 4.1“Jelly Bean”中完全啟用; 版本的Android 5.1“Lollipop”包含針對Stagefright bug的補丁。不幸的是,后來的結(jié)果和像繞過ASLR的隱喻一樣在2016年被發(fā)現(xiàn)。
本詞條內(nèi)容貢獻者為:
李岳陽 - 副教授 - 江南大學(xué)