3
高明的側(cè)信道攻擊,其攻擊方式時常讓防守方摸不著頭腦,就好像《名偵探柯南》中描述的各種離奇古怪的案件。
如果你是“柯迷”,想必定會回憶起劇集中幾起經(jīng)典的密室殺人案件,兇手往往不用踏入寢室半步,甚至不用任何兇器就可以至被害者于死地。
《名偵探柯南》198話“詛咒假面的冷笑”
側(cè)信道攻擊亦是如此,其方式往往不是植入病毒或者強行攻入系統(tǒng),而更多的是通過旁敲側(cè)擊的方式達成目的,正因如此側(cè)信道攻擊種類繁多且神出鬼沒。
不久前舉辦的KCon大會上,來自銀基安全的KEVIN2600分享了對側(cè)信道攻擊的相關(guān)研究成果。
側(cè)信道,黑客的最后一把“門鑰匙”
隨著廠家安全意識的提高,嵌入式系統(tǒng)(比如POS機、比特幣硬件錢包)本身的安全保障已經(jīng)趨于完善。這種情況下,側(cè)信道將成為黑客攻擊的最后一把“門鑰匙”。
相比其他攻擊手段,側(cè)信道攻擊是一種針對軟件或硬件設計缺陷劍走偏鋒的攻擊方式。那么,這種攻擊方式究竟有多“偏”呢?這里,KEVIN2600通過幾個案例驗證了上述觀點。
軟件方面,基于Web頁面,側(cè)信道攻擊的典型方式之一就是利用登錄頁面的賬號、密碼系統(tǒng)提示。
以WORDPRESS和Drupal為例,前者,用戶如果輸入了錯誤的賬號,系統(tǒng)會直接提示“用戶名不存在”,當輸入了正確的賬號,系統(tǒng)只會提示密碼錯誤;后者,當用戶進入到注冊界面,輸入的注冊賬號真實存在時,系統(tǒng)會提示注冊賬號已存在,否則則會繼續(xù)填寫。
這種機制的存在一方面為用戶帶來便捷,另一方面也為黑客進行攻擊提供了篩選依據(jù)。
硬件方面,對于門禁產(chǎn)品展開的側(cè)信道攻擊可謂是五花八門,以破解門禁為例,其破解方式可謂是五花八門,當然,它們都會避開與鎖的正面沖突。
利用側(cè)信道攻擊門禁的關(guān)注點并不在如何破解內(nèi)部結(jié)構(gòu)上。相比之下,關(guān)注點可以在固定鎖器的螺絲上。無論多安全的鎖,一旦固定的螺絲被卸下便等于前功盡棄;類似方式也適用于密碼鎖,一款名為Kaba Simplex Series 1000的密碼鎖,黑客可以直接通過一塊強力磁鐵將鎖芯吸開,而不是破解密碼。
側(cè)信道案例分析
KEVIN2600稱,側(cè)信道攻擊的方式大多需要借助硬件設備完成,其主要分為被動式和主動式攻擊兩種。其中,聲波信號采集還原打印機原文、美國NSA電磁波監(jiān)聽、功耗分析破解公交卡密鑰系統(tǒng)等均屬于前者。
類似的被動式側(cè)信道攻擊使用之廣泛,往往是源自設備自身無法避免的安全隱患。而對于被動式側(cè)信道攻擊的研究,時耗分析是最典型的研究方向。
第一個案例,是關(guān)于一個密碼比對的函數(shù)流程的時耗分析。
對于某些開發(fā)人員來說,可能會用到類似單字節(jié)比對的函數(shù),這些函數(shù)原本只是整個流程中的一部分,但是當它們被用于密碼破解時,就會凸顯其價值。
假設該密碼為6個字節(jié),首先需要對首個字節(jié)進行函數(shù)比對,如果是錯誤的那么可以退出流程,如果是正確的則會呼出“i++”繼續(xù)下一字節(jié)比對流程,通過不斷重復上述步驟,最終可以得到正確的6位密碼。
“這是一款密碼鎖,當我的第一位輸入錯誤的時候,時耗分析的波形顯示硬件分析時長為55.9us,當輸入正確的第一位數(shù)密碼,其時長明變?yōu)?5.1us,時長的增加意味著第一位密碼的比對已經(jīng)通過,現(xiàn)在進入到了后一位密碼的比對步驟...根據(jù)這一特性,我們可以還原出本來的密碼鎖密碼。”
雖然原理簡單,但這樣的破解思路被證明十分實用,DEFCON24上,就有人用這樣的方式破解了美國軍方槍械上的密碼鎖。
KEVIN2600稱,這種猜側(cè)密碼的方式并不是萬能鑰匙,但是它可以大幅縮減破解密碼的時間和范圍,進而滿足更低成本的破解需求。
第二個案例,是關(guān)于IOT設備的攻擊實例。
一款WinkHub智能網(wǎng)關(guān),在已經(jīng)確認廠商打過補丁的情況下,黑客就無法通過網(wǎng)頁漏洞對其進行遠程命令執(zhí)行(set_dev_value.php),但仍舊可以通過斷絕阻斷存儲芯片NAND 數(shù)據(jù)引腳的方式來得到ROOT 權(quán)限.
側(cè)信道案例實戰(zhàn)
與時耗分析相對應的,是功耗分析。后者是基于微處理器在處理不同命令時的功耗不同進行判斷,通過對其功耗數(shù)據(jù)的含義進行解析,同樣可以完成側(cè)信道攻擊。
“功耗分析的前提,一定要確保處理器在進行加密運算,否則,我們收到的功耗數(shù)據(jù)是沒有任何意義的。因此,功耗分析的要求在于對目標設備的處理器算法了如指掌。”
這里,KEVIN2600 推薦 ChipWhisperer 作為學習 SCA 的工具. 以下是 ChipWhisperer 的一些亮點.
·Colin O’Flynn設計制作,學習SCA功耗分析和毛刺注入神器
·基于Python跨平臺開源軟硬件項目(Windows;Linux;MacOS)
·可用于時序或電壓毛刺注入攻擊側(cè)試,產(chǎn)生<2ns的脈沖信號
·通過DPA差分功耗分析獲取諸如AES;3DES等加密密鑰
第一個實戰(zhàn)案例,是關(guān)于電磁信號的泄漏分析AES密鑰。
對于銀行POS這類產(chǎn)品而言,其安全措施通常會在監(jiān)測到設備被外接設備或者拆解的時候清除全部密鑰數(shù)據(jù)。這種情況下,通過電磁波泄露不需要拆解設備,同樣可以獲得密鑰。
電磁波可通過H探頭和軟件無線電設備遠程獲取,當芯片01轉(zhuǎn)換產(chǎn)生電磁波從空氣中泄露,其中就包含了密鑰指紋信息。研究表明,Tel Aviv大學科研人員通過測量分析電磁反射成功獲取了GunPG密鑰信息。
第二個案例,是通過側(cè)信道電磁波注入EMFI 的方式得到密鑰。雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
這是一種可以避免與目標設備直接接觸的側(cè)信道攻擊方案。除了電磁波,也可以通過激光、聲源等獲得密鑰。其中,前段時間流行的小黑盒正是經(jīng)典的電磁波攻擊方式。
最后,KEVIN2600總結(jié)道,即使再完美的設備也會有其安全隱患存在,以側(cè)信道攻擊手法為例,就可以清楚認識到絕對的安全是不存在的。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。