Nexus 9漏洞允許黑客通過耳機介面攻擊設備
在2017年3月份,我們曾披露了有關漏洞CVE-2017-0510的信息,這是一個存在於Nexus 9設備中的嚴重漏洞,它將允許他人發動一種非常新穎的攻擊,即通過惡意耳機來攻擊Nexus 9設備。但有趣的是,這個漏洞的補丁並沒有什麼效果,所以這就導致了CVE-2017-0648的出現。為此,我們根據Google的漏洞披露政策負責任地將漏洞CVE-2017-0648的相關信息上報給了Google,而Google也在2017年6月份的Android安全公告中修復了這個漏洞。
在這篇文章中,我們首先要回顧一下漏洞CVE-2017-0510,然後分析一下之前的補丁為何無效(CVE-2017-0648),最後再給大家演示如何利用這個漏洞來發動攻擊。文章結尾我們還會給大家提供漏洞CVE-2017-0648的修復方案,而這個補丁似乎終於成功地修復了這個漏洞。
回顧漏洞CVE-2017-0510
對於Google Nexus或Pixel設備來說,當TRRS連接器的MIC針腳上電壓超過了一定的閾值時,手機的耳機插口將會變成一個UART調試介面。下圖顯示的是我們使用標準FTDI232RL電路板所組裝的一個樣本線纜:
Nexus 9中的這個漏洞意味著調試介面將允許外部訪問FIQ調試器:
這將會產生非常有趣的後果,比如說:
1.任意進程搶佔,這將導致用戶數據存在泄漏的可能;
2.Stack Canaries泄漏;
3.ASLR解隨機處理;
4.訪問SysRq;
5.通過命令「reboot oem-42」重啟進入HBOOT(HTC的Android Bootloader),將導致設備內部SoC晶元受到攻擊(CVE-2017-0563 & CVE-2017-0582);
6.通過命令「reboot oem-76」恢復出廠設置。
CVE-2017-0510的嘗試修復
Google曾嘗試通過減少FIQ Debugger的功能來修復漏洞CVE-2017-0510,在近期的版本中,當平台完全載入之後已經無法導出註冊信息或是通過oem-N參數來重啟設備了(防止設備重啟進入HBOOT或恢復出廠設置):
Tegra內核樹中相關的commit為a075f8ab69f6。在對補丁進行了分析之後,我們發現FIQ Debugger中很多關鍵的核心命令現在都由sysrq_on()函數進行管理。比如說,我們先測試一下fiq_debugger.c中的fiq_debugger_fiq_exec函數:
sysrq_on函數位於drivers/tty/sysrq.c文件中,其實現方法如下:
由於sysrq_always_enabled的值為0,我們姑且可以認定這個補丁的有效性僅僅取決於sysrq_enabled的值。
針對FIQ Debugger和SysRq不受限制的臨時訪問(CVE-2017-0648)
不幸的是,正如我們之前的文章所解釋的那樣,sysrq_enabled的默認值是1:
這個參數定義在文件include/linux/sysrq.h之中:
但是在平台的啟動過程中,我們可以使用一個init腳本向/proc/sys/kernel/sysrq寫入0值:
kernel/sysctl.c中的代碼會將proc文件/proc/sys/kernel/sysrq回滾到原始狀態,並最終觸發sysrq_enabled的值發生變化。
因此,儘管存在CVE-2017-0510的補丁,但在啟動過程中我們仍然有一段非常短的時間(幾毫秒)來執行init腳本,這樣一來我們就仍然可以訪問FIQ Debugger和SysRq命令了:
Transitions:
(1) sysrq_enabled = SYSRQ_DEFAULT_ENABLE = 1
(2) init: write 0 /proc/sys/kernel/sysrq 0 => sysrq_enabled = 0
(3) attacker @ limited FIQ: 『reboot』
(4) attacker @ unrestricted FIQ: 『reboot oem-42』
(5) attacker @ unrestricted FIQ: 『reboot oem-76』
PoC
在下面給出的例子中,我們演示了如何繞過CVE-2017-0510的補丁並搶佔任意進程以及如何進入HBOOT模式。我們假設當平台完全載入完成之後攻擊便立刻開始,我們首先觸發了一次設備重啟(正常重啟),然後獲得了FIQ Debugger的臨時訪問權。在這個過程中,我們運行了「bt」命令,然後通過命令「reboot oem-42」重啟進入了HBOOT模式:
CVE-2017-0648的修復方案
Google在公告34597d088801中正式修復了這個漏洞。SYSRQ_DEFAULT_ENABLE的值已經被設置為0了,這樣就可以阻止外部對FIQ Debugger和SysRq介面不受限制的臨時訪問:
*參考來源:alephsecurity, FB小編Alpha_h4ck編譯,轉載請註明來自FreeBuf.COM
※小到入侵蘋果手錶、大到入侵飛機,MOSEC大會幹貨議題全記錄
※遠程遙控IPTables進行埠復用
※CIA專攻物理隔離網路的工具「殘忍的袋鼠」曝光
TAG:FreeBuf |
※索尼Xperia新手機曝光 3.5mm耳機介面也沒了
※保留耳機介面 谷歌Pixel 3 Lite曝光整機毫無亮點!
※Essential Phone官方降價甩庫存:送耳機+360°相機+相機包
※Essential Phone推出3.5mm耳機介面配件,防塵防水
※電競耳機也有光污染,萬魔Spearhead VR頭戴式耳機體驗
※iphone正受華為Mate 20的衝擊,模塊耳機孔配件推出
※音樂人做出來的耳機:i.am Ceramic無線耳機開箱評測
※Spotify智能音箱耳機即將推出?
※OnePlus一加雲耳無線耳機開箱
※新iPad Pro移除3.5mm耳機介面 官網轉換器卻上線開售……
※「德國手工製造的監聽耳機」Adam Studio Pro SP-5密閉式耳機
※傳聞新款iPad Pro將取消3.5mm耳機介面,Face ID無法橫置時使用
※新iPad Pro是否保留3.5mm耳機介面成謎
※專為Xbox One打造 賽睿Arctis寒冰9X遊戲耳機
※沒有耳機孔還買嗎?Google Pixel 4XL渲染圖曝光
※iPhone SE2照片泄露 玻璃背板有耳機插孔
※降噪與助聽並行,Nuheara IQbuds Max無線耳機發布
※無線藍牙耳機Nineka南卡 N1
※吃雞王者耳機必備 wedoking v11遊戲耳機上市
※Timekettle時空壺翻譯耳機WT2 Plus使用評測