iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 22
0
Security

網路安全概述系列 第 22

IoT 的問題: 太多裝置,談 Mirai Botnet

前言

2016 左右,曾經有個叫做 Mirai 的殭屍網路。這個殭屍網路,在尖峰時,曾經有超過六十萬個裝置在這個網路上。

這個網路主要是由 IoT 裝置組成的。 蠻多裝置都是在不自覺的狀況下被感染,然後就被加入這個網路。這個網路因為實在太龐大了,所以曾經在 某次 DDoS 攻擊時,創下 600 Gbps 的流量紀錄。舉例來說,大概就是:每一秒有三張藍光碟(25 Gib)的資料,塞到某個衰鬼的主機上。 當時很多人都受害,例如 OVH(一間主機商),Dyn(一間 DDNS 商)、Krebs On Security(某個寫安全議題老兄的部落格)都被打了,打到起不來。

對於 Mirai 的研究

Understanding the Mirai Botnet

以上 Paper 是 19 人組成的一群勇者,一起對 Mirai 網路進行研究的結果。

起源

Mirai 一開始只有大約六萬台裝置,但是在一天後,瞬間變成二十到三十萬臺裝置了。Mirai 主要是打 IoT 與各種嵌入式裝置。這些裝置不應該這麼脆弱,但這主要是因為市場上大家都趕時間、要 cost down,省了驗證和安全測試的步驟,所以大家的安全性才變得非常糟糕,正好幫 Mirai 大忙。

Mirai 不只會打有名的目標,還會打 CDN、遊戲伺服器、電信公司等等。Mirai 這類型的殭屍網路,在未來,搞不好還可以拿來挖礦(若機子夠力的話?),賺點小錢。

Mirai 簡介

前面提到,Mirai 大概是在 2016 左右年中開始出現的。差不多在九月左右,作者把原始碼給公開了,也有人拿這份原始碼去做修改、做出別的殭屍網路。

作者群發現,Mirai 一開始是先瘋狂的窮舉網路上的 IPv4 設備,然後敲看看他們的 SSH 或 Telnet 阜口有沒有開。如果有開,就暴力解,解到成功為止。姐成功之後,就把帳密和 IP 位置回報給控制伺服器。

另外,Mirai 還有一支程式,專門負責登進去這些被回報的設備,然後回報他們的環境參數。最後,依據前面的資訊,上傳專門為那個環境所打造的程式,來攻佔那台機器。成功之後,先把自己的安裝擋案砍掉(才不會被發現),然後在幫自己更名。不過,因為把自己的安裝檔砍了,也沒有做 persistance 的動作,所以重開機就沒了。

感染成功之後,會強行佔用 TCP/22 和 TCP/23 阜口(把使用這兩個阜的程序先砍了),然後一邊用它們來收控制伺服器的指令,一邊尋找新的受害者。

有趣的事實

Mirai 其實證明了:就算是很糞的攻擊方式,還是可以造成有效的攻擊。Mirai 其實只是用了一部很小的字典來做暴力猜密碼,而且這字典的大小還很小(大概六十幾筆)。

這篇特別講 IoT 設備,是因為,在一般桌面或是手機上的狀況,作業系統等等都是由特定少數公司把持。但是,在 IoT 設備的狀況下,很多廠商都可以推出自己的系統,然後因為會被以類似嵌入式系統的方式來看待,所以就不一定那麼著重安全性的問題。

Mirai 雖然使用一本很糞的字典來做攻擊,不過實際上也破了不少設備。比較直接的防禦方式,就是先把各設備預設的帳密都改掉,不然就是出廠時把這些帳密都給隨機化(例如 Netgear 就是這樣做)。不過,這樣還代表著,服務層的漏洞還是存在,例如之前提到的 Struts2,如果嵌入式設備使用 Struts2 來當 HTTP 伺服器,然後又不更新,就會跟 Equifax 一樣 GG 啦。

從比較底層的軟體方便來看,如果各家都把 ASLR、權限檢查等功能實作起來,比較深入的攻擊也會變得更難。如果能實作「安全的自動更新」,即是有做公鑰驗證等等的更新模式,也會使修補變得更加安全。

若各家廠商願意對裝置做長期支持(類似 Ubuntu 的 LTS)模式,為裝置提供數年以上的安全性修補,這樣也會有助於減少 IoT 裝置帶來的風險。


上一篇
關於「我是這樣拿走大家網站上的信用卡號跟密碼的」
下一篇
IoT 的問題: 既然擋不了,就把他全家變磚。談 BrickerBot
系列文
網路安全概述31

尚未有邦友留言

立即登入留言