當前位置:
首頁 > 新聞 > 設計缺陷將導致亞馬遜Echo變身成為監聽設備

設計缺陷將導致亞馬遜Echo變身成為監聽設備

MWR的安全研究專家發現亞馬遜Echo存在一個物理攻擊漏洞,該漏洞將允許攻擊者獲得設備的root shell(設備底層為Linux操作系統),然後安裝惡意軟體,並且不會留下任何攻擊痕迹。這種惡意軟體不僅可以幫助攻擊者獲取到目標設備的永久遠程訪問權並竊取用戶憑證,而且還可以悄悄將設備麥克風所記錄下的音頻流數據發送到攻擊者所控制的遠程伺服器。



這個漏洞是由於以下兩個硬體設計缺陷所導致的:

1.  暴露了設備的調試面板;
2.  硬體配置允許設備從外部SD卡引導啟動;


接下來,我們會告訴大家如何對亞馬遜Echo進行root,並將其變成一台「監聽器」。


前人的工作


之前已經有安全人員通過在設備調試面板上插入外部SD卡來將設備引導啟動進通用的Linux環境中了,關於具體的操作步驟、漏洞細節和SD卡引導鏡像都可以在GitHub上找到【傳送門】。除此之外,研究人員還專門發布了相關的研究報告並介紹了root亞馬遜Echo的可能性。


我們在這些研究的基礎上進行了進一步的深入擴展,並將亞馬遜Echo引導啟動進入了真實的系統固件,安裝持久化後門、獲得了遠程root shell的訪問權,並最終實現了對設備麥克風的遠程實時竊聽。


Root設備


將亞馬遜Echo底部的橡膠墊揭開之後,我們會看到18個調試面板,關於這些面板的具體作用請參考Clinton等人發表的文章【傳送門】。



通過與這些暴露在外的UART面板相連接,我們就可以查看到設備的啟動信息,並獲取到設備的配置詳情。


但不幸的是,在設備的啟動過程中我們既沒有拿到shell,也沒有得到登錄提示,而且U-Boot啟動過程也沒辦法中斷。


亞馬遜Echo的主MCU是一塊由美國德州儀器製造的DM3725數字媒體處理器(配備了一個ARM Cortex-A CPU)。在設備的啟動過程中,晶元的啟動過程分為三步。首先,設備會通過一個bootrom來完成硬體的最小化配置。接下來,它會將第二個bootloader(X-loader)載入進MCU的內部RAM。這一步需要在第三個bootloader(U-Boot)載入進外部RAM之前完成。最後,U-Boot便會載入內核並向其傳遞控制信息。


根據亞馬遜Echo的配置,它首先會嘗試從連接至調試面板的SD卡(優先與內部eMMC單元)啟動,這種啟動順序的設置主要取決於啟動過程中MCU的硬體狀態,而且只能通過修改硬體主板的配置來改變啟動順序。


因此,我們只需要向SD卡寫入X-lodaer以及U-Boot,並進行正確的分區,我們就可以讓設備從SD卡啟動並進入U-Boot命令行界面。


由於設備的隱藏ROM是以SPI模式來與SD卡通信的,而且我們無法通過SD卡啟動至設備的主操作系統,所以我們不需要連接上圖中所有的SDMMC面板。


MMC與SPI的映射關係如下:



SDMMC D0 → MISO
SDMMC D3 → !SS
SDMMC CMD → MOSI
SDMMC CLOCK → SCK


我們還需要給SDMCC POWER面板和SD卡外接一個+3V電源,然後連接其中一個GND面板。

下圖就是我們的實驗環境,其中亞馬遜Echo連接到了一個外部SD卡電路板,並通過UART與筆記本電腦相連。



接下來,我們通過SD卡(寫入了X-loader和U-Boot)啟動設備之後,我們就可以中斷設備的啟動過程,並進入U-Boot命令行介面。這樣一來,我們就有可能查看到文件系統內部內存中的內容了,而且我們甚至還可以重新修改內核參數。


現在我們需要確定內部eMMC的哪一個分區中包含主內核以及文件系統。內部eMMC有八個分區,分區標籤如下:



1.

 

xloader


2.

 

recovery


3.

 

boot

4.

 

idme


5.

 

diag


6.

 

main-A


7.

 

main-B


8.

 

data


diag分區載入的是一個診斷環境,我們還沒有對其進行完整的測試。



我們所要找的主文件系統以及內核會在main-A和main-B分區之間轉換,每一次設備固件更新便會引發分區轉換。為了找出我們的目標分區,我們可以利用U-Boot並使用下列命令對文件系統進行測試:



uboot> mmc dev 1
uboot> ext4ls mmc 1:6
uboot> ext4ls mmc 1:7


運行上面的命令之後,我們只能夠看到其中一個分區的文件系統,如果我們想要查看這兩個分區的文件系統,我們就要通過一次固件更新來完成分區轉換。確定了分區之後,我們就可以修改U-Boot並讓它從這個分區啟動。除此之外,我們還要修改內核參數並以可寫文件系統的形式載入這個分區,然後運行/bin/sh,而不是運行正常的啟動腳本。



得到了root shell之後,我們就可以繞過所有的認證機制了。


但是現在設備每隔幾分鐘就會重啟一次,為了防止設備自動重啟,我們需要設置一個監控進程,並定期重置設備的重啟計時器。

 


運行下列命令啟動監控進程(watchdog):



現在測試環境總算是穩定了,但是主要的服務都還沒有啟動,設備的功能也沒有完全釋放。不過我們已經得到了整個文件系統的完整讀寫許可權,而且還可以隨意修改配置。


在我們的PoC中,我們在data分區(可寫分區)中安裝了一個反向shell腳本。使用下列命令載入這個分區:



分區載入完成之後,我們就可以通過這個反向shell腳本來實現設備的持久化感染了。


我們還需要在設備啟動之後觸發這個反向shell腳本,我們只需要在其中一個初始化腳本的結尾添加下列代碼即可。我們選擇的是/etc/init.d/varlocal.sh,因為它是最後幾個運行的初始化腳本之一,而且它還可以載入data分區。


安裝好反向shell腳本之後,我們就可以移除外部SD卡和UART連接線,然後重啟Echo並進入正常狀態了。在設備重啟的過程中,初始化腳本會運行我們的反向shell。如果我們遠程監聽設備的1377埠,我們就可以通過root shell與遠程設備進行連接了:



你有在聽嗎?


接下來,我們就可以使用亞馬遜自己開發的「shmbuf_tool」應用程序來獲取音頻緩衝區中的音頻多媒體數據了。我們自己創建了一個能夠持續不斷地向fifo管道寫入原始音頻數據(通過麥克風竊聽)的腳本,並通過TCP/IP將音頻流傳送到遠程伺服器。在遠程伺服器端接收到原始音頻數據之後,我們可以將其保存為一個wav文件或直接通過揚聲器進行播放。


需要注意的是,這項攻擊技術並不會影響亞馬遜Echo原本的正常功能。


腳本代碼startStream.sh如下:



下列命令可以將音頻流數據保存到遠程服務端:


或者使用下列命令通過揚聲器播放竊聽數據:



 

漏洞修復


2015和2016版的亞馬遜Echo均存在這個漏洞,但是2017版已經修復了這個問題。


下圖為存在漏洞的2016版亞馬遜Echo,型號編碼23-002518-01:



下圖為修復後的2017版亞馬遜Echo,型號編碼23-002518-02:



參考資料


1.

 

https://github.com/echohacking/wiki/wiki/Echo


2.

 

https://vanderpot.com/Clinton_Cook_Paper.pdf


3.https://www.theverge.com/circuitbreaker/2016/12/14/13955878/wynn-las-vegas-amazon-echo-hotel-room-privacy


*

參考來源:mwrinfosecurity, FB小編Alpha_h4ck編譯,轉載請註明來自FreeBuf.COM



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

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


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

HUNT:一款可提升漏洞掃描能力的BurpSuite漏洞掃描插件
美國科學家將惡意軟體植入DNA侵入電腦
利用樹莓派追蹤飛機航行軌跡的騷姿勢分享
「轉移戰場」的暗網市場繼續繁榮
烏龍的CVE-2017-8570樣本及背後的狗血

TAG:FreeBuf |

您可能感興趣

殭屍網路 Mirai 變種在被感染的設備上設置代理伺服器;npm 更新導致 Linux 系統崩潰,迫使用戶重裝系統
PostgreSQL 設計缺陷可導致許可權提升
解決 iPhone 擴容導致無法激活
用於定位兒童蹤跡的監視軟體,在亞馬遜雲伺服器端導致Apple ID和密碼泄露
Casper方案遭計算機科學專家質疑:PoS導致權力傾斜引致系統脆弱性
以太坊Casper方案遭計算機科學專家質疑:PoS導致權力傾斜引致系統脆弱性
注意!macOS 系統又出 Bug!系統磁碟可能導致數據丟失
亞馬遜AWS錯誤配置,導致GoDaddy信息泄露
iPhoneX或停產 可能因為銷量低迷導致
Binder Driver缺陷導致定屏的實戰分析
Oculus軟體認證過期,導致全球Rift癱瘓、無法使用
亞馬遜「Prime Day」開啟 大量用戶湧入導致網路癱瘓
什麼導致了智能拉杆箱Raden之死?
蘋果Mac系統APFS 文件系統存在 Bug,可能會導致數據丟失
蘋果發布iPhone 7召回計劃 手機沒信號居然是硬體故障導致!
阿里雲因 bug 禁用內部 IP 導致鏈路不通,造成大規模故障
Nature Neuro:研究人員發現了導致大腦發育缺陷的關鍵基因!
希望破滅?研究表明CRISPR具有嚴重缺陷,或導致人體喪失抗癌能力
蘋果MacBook Pro延期:因英特爾處理器設計問題導致
三星承認Android Oreo更新導致隨機重啟 現已停止部署