燃燒吧!普林特 – CSI Cyber S01E04

[撰文 Leaf]

Zero-Day,在大陸似乎被翻譯為零日漏洞,哪邊翻譯的不重要,好不好聽才是重點(喂xD代表的意思才是重點吧…),自己是覺得挺難聽的,就像電影明天過後,英文明明叫The Day After Tomorrow,大陸翻譯為後天」。

The Day After Tomorrow = 明天過後 = 後天

這樣的翻譯似乎看起來很合理耶…

(圖片出處 中國有嘻哈)

所謂的Zero-day,是指攻擊目標可以透過某種漏洞進行入侵或破壞,但對象卻不一定非得是軟體喔,有時候硬體缺陷也可能是漏洞存在的原因。

那接下來就讓我們來看看電影究竟出現了什麼Zero-day漏洞,又有哪些資安的點呢?

 

1.遠端燃燒印表機,Magic真的存在?!

故事發生在某個夜晚,家中的各種電器開始不受控制的運作,即時關閉了電器,它還是會神奇的自動打開,而影片才剛開始沒多久,這位倒楣鬼還因為室友的房間莫名其妙著火,而被嚇到跌倒摔傷了手。

老實說,我長那麼大了,聽過遠端桌面、遠端監控,就是還沒聽過遠端點火,這著實讓我開了眼界,片中這幕有沒有像是哈利波特電影裡被魔法擊中的畫面。

還是這個?

(圖片出處 X戰警:最後戰役)

看來這位駭客不是X戰警就是霍格華茲的學生了。上哪報名?我也要學…

根據片中的說明,駭客透過攻擊路由器而入侵了內部網路。

藉此控制電腦對印表機做韌體(firmware)更新,將惡意代碼寫入印表機中。

然後使印表機的熱敏開關失效,這時機器過熱,當白紙與機器任一部位接觸擦出火花,印表機就被點燃了。

以上講的有點戲劇化,連我都差點相信了。

接下來更扯的來了,能夠燃燒的原來不只印表機。

看著Daniel Krumitz困惑的表情,我也疑惑了。

難不成這漏洞是真的,回顧今年發生的一件 ” 資安 ” 大事(喂?!麥鬧啦xD)

事實上,於2011年的黑帽會議還真有類似的議題發表出來,主要內容是對Mac電腦的智慧型電池控制器做逆向工程找到漏洞,然後同樣以韌體刷新的方式,將惡意代碼寫入。推薦閱讀 – 研究人員:蘋果筆電電池也可以駭!

當溫度升高太高,這個名為熱切斷器的東西,將會永久切斷與電池的連接。

(圖片出處 Inside a MacBook Battery)

在智慧型電池處理器中,是有許多參數是可以對晶片下指令的,而有些參數受到了密碼的保護,但殊不知系統遭受攻擊往往在於密碼的簡短或預設,包括片中輕易被入侵的Wifi路由器。

延伸閱讀:
[1] How a security researcher discovered the Apple battery “hack”
[2] Inside a MacBook Battery
[3] 用Wifi釣魚竊取你的所有隱私 by ISDA

那…怎麼可能只有Mac電腦電池擁有控制器,最簡單的想法就是,主機該如何知道電池的狀況呢?肯定是由處理器來傳送消息啊。所以只要是能夠顯示電量的機器都是有可能有控制器的,但能不能挖到漏洞又是另外一回事了。

所以Note 7事件值得深思啊

(圖片出處 網路)

推薦閱讀 – 手機電池為什麼會爆炸?教你防範五招!

2.記憶體鑑識,電影才看過得各種神器!

每次看到電影中出現各種稀奇古怪的鑑識設備,都覺得帥爆了。

(1) IC夾
要將IC從板子上拔下來時,必須使用特定的夾子,避免弄斷針腳造成後續處理的困難。

(2) IC燒錄器
將IC的腳位對好放置燒錄器上,能將IC內部的二進制資料提取出來。

3.Hello World!Binary

假設目標並非是Open Source,那駭客究竟是如何對已經打包好的韌體做竄改呢?這邊以一個簡單的例子做示範。

大家應該都有用過國外軟體的經驗吧!那面對滿滿的英文介面,一定覺得不行,甚至還想叫糖糖先記著,先來去找一下有沒有中文版。

那有一種版本是廣大網友特別客製化,將介面中的英文全數轉為中文,在沒有原始碼的情況下,這究竟是如何做到的呢?

其實就是去更改執行檔內的字串,舉Hello World程式為例。

如果直接用記事本打開來看執行檔,會發現全部都是亂碼,但這種思路卻是正確的,因為電腦只認識0跟1,所以只要是電腦上的檔案,全部都是二進制。

所以我們必須使用比較特殊的編輯器打開,看到上面框框處就是輸出的字串了。

接下來將字串做更改。

最後來看結果。

如果程式設計師,將密碼或者是一些重要變數和常數寫在執行檔內,卻有沒有加密做保護,這時候密碼就很容易被竄改,或者造成程式運行不預期的流程。

延伸閱讀:
[1] 逆向工程核心原理
[2] 逆向AIS3的奧秘 pre-exam reverse 1 by ISDA

 

結論

在資訊爆炸的時代,當科技讓生活越來越便利時,同時資訊安全也越來越多風險,資安漏洞是一把隱藏在暗處的雙面刃,挖掘出來時可以亡羊補牢預防傷害,但是如果被大肆利用,就會造成攻擊目標大量損失。

 

見識了彷彿魔法般的資安漏洞後,其實也不需太緊張,文章中提到此漏洞僅被證實它的存在,卻未實際攻擊運用(不過我想不管成功失敗,也不敢說出來吧xD),甚至作者也寫了補丁來修復它。

但不能太輕忽,密碼的安全性要多多注意就是了!

名詞解釋

(1) Open Source (開源)
我很懷疑這個名字跟開源節流有什麼關係,開源指的就是開放所有設計內容讓所有人可以自由修改,而這個概念被套用在程式碼中,程式設計師常常流傳一句話:「不要重新造輪子」,其實就是這個例子,透過大家不斷的美化、增強輪子,來讓資訊領域越來越進步。

因此延伸出了軟體原始碼版本控管服務,在每次更新程式碼時,皆形成了一個版本,日後如果想復原所做的一舉一動,就可以從茫茫時間流中,把它更新回來。

(1) 逆向工程
它是一種技術過程,將原本不了解執行流程、組織結構或其他開發要素的軟體,透過逆向分析來了解,並可以從中找出漏洞,當然這只是其中一道程序,其中還有些能讓逆向工程更難被分析出漏洞的技術,這又是另外一個話題了。

(3) 韌體
大家都聽過硬體、軟體,那有聽過韌體嗎?我想硬體、軟體應該可以不用介紹了吧,那韌體呢???

當家裡請電信公司來家裡裝無線網路時,可能有機會聽到他們說要幫你升級韌體,小時候操作電子辭典或者現在的藍芽手表也有升級韌體的功能。

大家都說韌體是介於硬體和軟體之間,但我覺得這種說法不完全對,英文名為Firmware,大陸那邊翻為固件,指得就是微電腦晶片內的作業系統,就類似計算機、USB之類的裝置,他們必須依靠燒寫入晶片內的韌體來運作。

 


 

我們是ISDA(台灣資訊安全聯合發展協會)。

為了要讓更多人了解資訊安全,除了基礎資訊安全教育訓練以外,我們將針對影集裡面會提到的技術作一系列的資訊安全解說。

歡迎認同我們的朋友給我們一點鼓勵,到我們的FB粉絲頁按個讚加分享。
https://www.facebook.com/ISDA.tw/

有任何活動相關訊息,我們也會第一時間張貼在ISDA粉絲團喔!