小米IoT安全峰會—Markus Hinkelmann《Beyond logical attacks》
文章概要
今天我們帶來最後一個重磅內容,來自NXP首席安全技術專家Markus Hinkelmann 博⼠帶來的——《Beyond logical attacks》。
首先什麼是邏輯攻擊?這很好理解,比如有一臺裝置,黑客可以通過特定的介面向裝置傳送任意資料,比如命令、安裝程式以及任何支援的功能,在我的定義裡這些就是“邏輯”。
beyond logical 的意思就是黑客對這個裝置“做了點事”,但是一些與眾不同的事。 在這個層面看看我們有什麼。
這個圖裡有我們可以用的不同的技術/裝置。 在最左邊是最便宜的, 而右邊是最貴的同時也往往是最難用的。 從左邊開始說,比如拆開裝置, 那麼你可以逆向或修改這些PCB電路,讀取flash等,做一些逆向工作這樣你就可以支援下面要進行的“邏輯攻擊”。 或者你想阻斷什麼東西短路什麼東西, 你可以用像錫紙這樣的工具。如果你想多花點錢, 那麼你可以買一些這樣的用於側通道攻擊/錯誤注入的便宜的小平臺,或下面這些專業一點更貴一點的裝置,你可以做訊號的識別/測量,比如 “非常直接的”注入錯誤訊號。 或者比較特別的攻擊,用鐳射錯誤注入(去影響電子),然後你可以改變暫存器中的內容。如果你有更高階的裝置,甚至可以改變整個暫存器。其他的裝置用於逆向工程,用顯微鏡檢視晶片等。這塊我可以打住了, 我已經介紹了什麼是beyond。
所以我想聚焦於與IoT的相關性, 到底什麼攻擊與IoT相關。 它可以是PCB級別的, 黑掉任何你可以物理接觸的東西,我不打算討論這些。 這裡主要讓我們關注兩個在IoT裝置上的側通道攻擊的例子。
第一個是利用RSA演算法的弱點進行簡單電磁分析, 這裡介紹下背景。 電磁分析是一種側通道攻擊手段, 攻擊者測量裝置執行與計算時產生輻射的電磁能量,你可以測量出1和0在計算時的不同能量,電磁輻射的測量更多是測量偏差, 反應運算中迴圈、 函式等,所以你可以看到不同的頻率體現。所以這很簡單,我們所需的所有便是一次加密過程的資料。
我接下來會展示個視訊, 獲取安卓手機上的RSA私鑰,這是個常見的安卓手機,存在有漏洞的實現,據我所知目前市場上在售的一些發行版仍有這些問題。如果這些私鑰洩露可以做什麼呢, 這些可以拿來做簽名, 在通訊建立時也要使用。你可以簡單的偽造別人的身份,或者你可以破壞進入某些系統, 或者我們在之前的一個議題中看到的,對OTA做些攻擊。這個例子的有趣的在於我們不需要拆開裝置。我們只需要一個電磁訊號放大器就能夠做到,在獲取資料之後還要進行一些爆破攻擊,去獲取剩下需要的資訊,要做到這些僅需要1分鐘。我們做了一個一分鐘的演示視訊。
你可以看到這裡有一部手機與側通道攻擊裝置和一個筆記本,用到的工具都不是很貴。然後你可以看到我們將一個訊號探測器放在了手機CPU的位置,然後進行攻擊,這裡用PicoScope去記錄這個裝置發出的電磁訊號波形,這裡正在進行獲取RSA私鑰的運算,需要花一些時間,然後你可以看到運算結束,RSA的運算被找到了!然後尋找p和q的資訊。在爆破剩餘需要的資訊之前這些資料還不能用。 現在key恢復程式正在執行, (好, 停在這)搞定了。 這裡就是RSA私鑰, 或者你想看金鑰的引數就在這裡。那麼這期間到底發生了什麼?我們可以利用電磁輻射做什麼?因為這個攻擊裝置需要很接近手機,但是攻擊者可以從更遠的地方攻擊同樣的漏洞 (如通過網線),但資料會相對不準確。一但接觸到訊號源, 那麼訊號的質量就會好很多, 你可以看到後續的爆破攻擊只需要幾秒。 這是第一個例子。
第二個例子, 讓 IoT 裝置進行核反應,構成一個ZigBee鏈式反應。
我們分析了飛利浦的智慧燈,你可以看到這裡是一種智慧燈安裝方案, 它連線一些裝置後與路由器連線,然後進行一些雲通訊。 這些智慧燈的問題在於它的AES實現是有漏洞的(我知道有些人知道這個),你可以獲取韌體更新的key,然後用這個key(如果設計的比較好的話,通過這個key你只能黑掉你當前的這臺裝置,這就到頭了),如果設計的不好的話就產生了其他問題,比如你拿到這個key能黑掉其他裝置了。接下來還有更糟糕的, 那就是這個實現, 這些燈中的ZigBee有另外的問題, 他會掃描其他的ZigBee裝置, 任何人都可以在遠端與他通訊。你可以將你自己的程式碼寫入一個智慧燈, 用它去黑掉另一個燈去,這個燈自己再黑掉另一個燈,周而復始迴圈下去。 這樣你可以從一個樓的燈到另一個樓的燈, 相當於你跳入了另一個公司, 這確實很恐怖是吧,只是用一個板子(僅僅需要圖片裡的這個 價值大概$50), 然後你的第一步就達成了, 接下來你就用“邏輯攻擊”去攻擊剩下的系統。
IoT我想說的另個方面是AI,特指深度學習。AI簡化了攻擊步驟。 而且AI有潛力減少了不少攻擊者需要的專業知識。 意味著攻擊可以變得更簡單,減少了攻擊成本,從另一方面增加了被攻擊風險。
這裡也許只有2個我想分享的, 2017年有很多網路攻擊事件發生,有兩件比較有趣的事發生在2017~2018年,我們看到了Rowhammer和Nethammer攻擊,記憶體單元可以被hammer方式攻擊,這是物理方面的影響,將bits彈到了其他區域,通過它你可以修改記憶體,這有點像錯誤攻擊,因為這可以是某種“邏輯攻擊”,因為軟體存在記憶體裡,但hammer攻擊是個個物理攻擊,這是個在邏輯和物理之間的灰色區域, 所以沒準我需要重新定義我對他們的定義。
還有Nethammer, Nethammer意思是用遠端通訊有dram操作的速度足夠對ram產生hammer效應的通訊協議。那麼事情就變為“物理攻擊不完全依賴本地接觸”。 另一個有趣的事就是Spectre和Meltdown,它們非常嚴重影響所有intel的產品, intel在修復這個問題時也面臨很嚴重的問題。我們看到2周前Meltdown攻擊已經來了,並且影響ARM,這意味著將會影響更多的裝置。一些美國的大企業,如 google、apple、微軟等,他們全部在尋求將這些問題移除的方法,他們一直在想辦法判斷什麼樣的訪問是可以信賴的。就像我們之前展示的對RSA的攻擊,有沒有trustzone並不重要,因為有漏洞的程式碼被同樣的處理器執行,意味著同樣的模式被生成了。
最後做個簡單的總結,我的意見是IoT安全不僅僅是“邏輯”上的保護, (我不會說“邏輯”上的保護不重要, 這不對)。遠端和本地物理攻擊者往往可以讓攻擊維度的延伸成為可能, 還記得之前的智慧燈的例子麼。最後,AI可以增強側通道和錯誤注入攻擊, 同時減少對專業門檻的依賴。
謝謝你們。
原文連結
https://mp.weixin.qq.com/s/lNO3epqBnCp8R4nfPA_Qsg