侧信道攻击
1、側(cè)信道攻擊簡介:
側(cè)信道攻擊中所指的側(cè)信道信息一般為這幾種:聲音、溫度、功耗、電磁、色彩。。。。。等等,這些信息叫做側(cè)信道信息是因為,在加密硬件進(jìn)行加密的時候,上述的信息只是加密過程中附帶產(chǎn)生的一些物理量,這些物理量不會對加密提供任何好處,而天才的科研人員發(fā)現(xiàn),利用上述信息,可以通過其他算法,揭示加密硬件上所使用的的秘鑰。而利用這些物理量達(dá)到破解秘鑰功能的方法就叫做側(cè)信道攻擊。
2、側(cè)信道攻擊現(xiàn)狀:
1)、目前本人已知的側(cè)信道攻擊方法中,最常用的是功耗側(cè)信道攻擊,為什么功耗側(cè)信道攻擊最火呢?我的理解是,功耗信息中儲存的真正有用信息比較多,因為硬件進(jìn)行加密的時候,是一定會產(chǎn)生功耗,并且在加密的時候,功耗信息是連續(xù)的,對于一些友好的加密硬件,我們甚至可以清楚的看見加密的過程。
2)、除了功耗側(cè)信道攻擊以外,有一個比較高大上的側(cè)信道攻擊方法,即電磁側(cè)信道攻擊,利用加密芯片執(zhí)行加密時產(chǎn)生的電磁信息進(jìn)行秘鑰破解,這種攻擊方式甚至允許攻擊者在相對較遠(yuǎn)的地方發(fā)起攻擊,例如在取款機的外部,利用電磁攻擊的方法破解取款機的秘鑰,然后也許可以獲得取款機的最高權(quán)限,這樣你就能一夜暴富???
與功耗側(cè)信道攻擊相比,這種攻擊方式允許黑客不對加密硬件進(jìn)行任何加工,這樣就可以避免大多數(shù)的加密設(shè)備的自身保護(hù)措施。
3)、除了兩個比較流行的攻擊方式,還有一些風(fēng)扇攻擊,利用電腦上提供散熱的風(fēng)扇轉(zhuǎn)速等信息,破解正在進(jìn)行的加密程序,具體名字忘了;還有色彩攻擊(不知道這么稱呼對不對),最近有篇論文提出的,對蘋果6s的操作界面進(jìn)行特征捕捉,利用獲得的色彩等信息,破解手機執(zhí)行的程序;聲音攻擊,很早以前有人寫的,聽鍵盤的敲擊聲還是打印機的打印聲,猜測出正在輸入的字是什么,這種攻擊方式估計很難做到細(xì)致,因為聲音如果嘈雜的話,應(yīng)該破解準(zhǔn)確率不高,還有,應(yīng)用范圍的問題,暫時我還沒想到聲音攻擊的有意思的攻擊場景;至于溫度攻擊,我也是似乎看到過一篇,具體是啥場景忘了,估計是利用溫度變化來探測剛剛的操作是什么,比如手機的滑動解鎖,根據(jù)溫度殘留,拍出紅外圖片,那么這也算側(cè)信道攻擊了。
3、 研究思路:
1)、研究的目的是希望攻擊更加精細(xì)化,意思是,最好是根據(jù)側(cè)信道攻擊復(fù)現(xiàn)每一步想要知道的操作,甚至是下一步可能的操作,比如:上一步是輸入了密碼開機,下一步猜到目標(biāo)的想法,是關(guān)機還是重啟?那么其中一個可研究的點可以是,將側(cè)信道攻擊與行為預(yù)測結(jié)合起來,利用固有的信息來預(yù)測人得行為,這種方式可能是今后的熱點。
2)、深度學(xué)習(xí)是當(dāng)前的熱點,那么將深度學(xué)習(xí)與側(cè)信道結(jié)合起來,這種方法加速了側(cè)信道攻擊的效率,也擴大了深度學(xué)習(xí)的應(yīng)用場景,對于智能開發(fā)來說,也是一個比較好的點子,最關(guān)鍵的是,利用深度學(xué)習(xí)的各種魔改網(wǎng)絡(luò),創(chuàng)新算法,我們能用很少的時間就可以對當(dāng)前的側(cè)信道進(jìn)行一些推動,對于想要水畢業(yè)的研究生更是個好消息,用最新的深度學(xué)習(xí)成果應(yīng)用到側(cè)信道,對當(dāng)前的工作有提高,這樣就能水個畢業(yè)證了。
3)、學(xué)習(xí)側(cè)信道還有另外一條路,就是從硬件出發(fā)。不管用什么算法,什么網(wǎng)絡(luò),基本上都是一個試錯的過程,在這個過程中是需要一定運氣的,那么,從硬件出發(fā)的話,就可以憑自己的努力去獲得成果。因為硬件是加密的基礎(chǔ),如果把硬件了解的很透徹的話,再利用其它技術(shù)進(jìn)行攻擊,一定會事半功倍,當(dāng)然了,硬件這個東西我自己沒學(xué)過,但是有些大佬確實在這個方面很牛批,比如中科院的一個團隊。
4)、目前我所知的都是通過一定的算法對加密程序進(jìn)行攻擊,或者是獲得一定寫信息,但是,獲得的信息只是證明了存在側(cè)信道攻擊的可能性,并沒有利用這一項技術(shù)做出點什么東西來,這就導(dǎo)致我們所做的工作都在PC端,這樣對于硬件防護(hù)來說,不能提供具體的漏洞,那也增大了防護(hù)的難度。如果我們能利用某一個側(cè)信道攻擊,對一臺裝置進(jìn)行攻擊,攻擊后,我們能獲得目標(biāo)設(shè)備的所有權(quán)限,或者想要的那部分權(quán)限,這樣才算是將側(cè)信道攻擊從書上放到了地上,而這種技術(shù)就是我們進(jìn)行研究的意義,不管是從黑客的角度還是防御的角度,紙上的東西終究還是看起來空洞了些。
5)、再來討論一下功耗側(cè)信道攻擊。如果我是個黑客,我現(xiàn)在想要對一臺設(shè)備進(jìn)行攻擊,我選擇的是功耗側(cè)信道攻擊,那么現(xiàn)在有幾個問題在我面前:
①我要怎么才能采集到目標(biāo)設(shè)備的功耗?
②采集到的功耗數(shù)據(jù)是不是有用的?
③如果數(shù)據(jù)非常臟,我該怎么做?
④清洗后的數(shù)據(jù)我要對她干什么?怎么干?
⑤我獲得我想要的信息之后我該怎么做才能擴大戰(zhàn)果?
⑥有沒有什么辦法讓我下一次再進(jìn)入目標(biāo)設(shè)備方便些的辦法?
⑦我攻擊完成了,過足了癮,那么我會不會被發(fā)現(xiàn),我該怎么做才能讓我不被發(fā)現(xiàn),防止別人對目標(biāo)設(shè)備進(jìn)行升級?
6)、實際在找工作的時候,就上面所述的基本能力只能獲得一個白菜價,我們需要的還有加密算法的基本功,需要從加密的角度去考慮每一個細(xì)節(jié),例如哪個步驟的信息可以使用?當(dāng)現(xiàn)行流行的加密算法步驟,原理等爛熟于心的時候是可以獲得更多的攻擊靈感,也可以優(yōu)化當(dāng)前的攻擊步驟。
有些同學(xué)可能在入門就遇到了困難,有以下幾個信息可以考慮:
①有個DPA contest比賽,這個比賽主辦方提供數(shù)據(jù)集,利用網(wǎng)站上的工具就可以對數(shù)據(jù)集進(jìn)行基本的操作,那么初學(xué)者至少知道了側(cè)信道數(shù)據(jù)是什么樣的。
②github上有個叫ASCAD的,我覺得他是深度學(xué)習(xí)與側(cè)信道結(jié)合的模板,想寫論文的同學(xué)應(yīng)該看看這個作者的一篇論文,題目叫《Study of Deep Learning Techniques for Side-Channel Analysis》,可能看起來有些困難,但是看完了就基本掌握了目前的一些攻擊套路。
③國內(nèi)有大佬寫了一本關(guān)于側(cè)信道攻擊的書《密碼旁路分析原理與方法 [郭世澤,王韜,趙新杰 著] 2014年版》,這本書也可以作為側(cè)信道攻擊的入門好書。或許還有其他的好書,可以找找,順便分享給我。上述的一篇論文一本書,私聊可以發(fā)。
目前就這樣,以后有想法再寫。
總結(jié)