當前位置:
首頁 > 新聞 > Nexus 9漏洞允許黑客通過耳機介面攻擊設備

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



喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

小到入侵蘋果手錶、大到入侵飛機,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使用評測