一個最新的研究中,研究人員發現可以設計出一種蠕蟲,藉由 Arduino Yún 本身的漏洞感染它,並控制上面作業系統,再繼續感染別的 Arduino Yún。由於受到感染的是作業系統,就算你上傳新的 Sketch ,蠕蟲也還是存在。
對於 Maker 來說,資訊安全性(以下簡稱資安)通常並不是首要考量,畢竟只要不讓作品暴露在防火牆外、或乾脆不要連上網路(但接下來只會有更多功能需要網路),不就沒事了嗎?畢竟,作品都來不及做不出來、又有一堆新功能要研發,光是電路的安全性就夠頭大了,哪有時間去深入研究什麼資訊安全性呢?
最近有幾個研究可能會讓你改觀。首先,現在大部分裝置都已經支援無線通訊,所以就算不連上網路、或者在防火牆後面,並不代表你就是安全的,駭客一樣可以透過藍芽或 Wifi 跟你的裝置連上線,例如之前就有研究人員示範用無人機來接近並入侵智慧燈泡;入侵之後,如果裝置有連上網路,除了可能竊取你的個人資料,也可能成為僵屍網絡的一員,例如之前讓很多人連不上 Twitter 、Netflix 、New York Times 、BBC 、Spotify 等網站的阻斷式攻擊( DDoS )就是透過控制物聯網( Internet of Thing,簡稱 IoT )裝置的僵屍網絡達成的。
在一個最新的研究中,研究人員發現 Arduino Yún 的設計上有漏洞,並研發了一個叫做 ArduWorm 的蠕蟲來驗證他們的想法。ArduWorm 透過讓 Arduino Yún 耗盡記憶體1( Arduino 記憶體運作原理可見之前的 Arduino 記憶體不足不用怕,一個函數打天下)就可以觸發漏洞,進而控制 Yún 上的作業系統;控制作業系統後,ArduWorm 還可以透過成功感染的宿主,再感染別的 Arduino Yún,進一步擴大控制的 網絡。除此之外,由於受到感染的是作業系統,就算你上傳新的 Sketch ,蠕蟲也還是存在。
不過可別太慌張,研究人員的目的,可不是為了侵入你的 Arduino ,而是為了提醒大家,就連 Arduino 都有可能被惡意人士所控制;而且目前只有 Arduino Yún 有這個漏洞,如果你用的是比較基本的 Arduino 版本,例如 Arduino Uno (這是最常見的 Arduino 版本,如果你不確定你手上的 Arduino 是哪個版本,那多半就是 Arduino Uno),那就不會受到影響。
現在物聯網的資安問題有多嚴重呢?數位世代就形容現在的物聯網資安,就像小孩開大車,只要你是會接觸物聯網的 Maker ,那你就不能忽視作品的安全性;就算你是自己做好玩的,也要避免自己的資料外洩,而如果你正在研發將來要上市的產品,那更要注意資安,因為現在大家越來越重視購買的智慧裝置,如何影響家庭和個人安全。總之,不論你是為了誰而做,在 Make 之餘也別忘了保護好你的作品喔2~
註1: 此處指耗盡 AVR 的記憶體。
註2: 說的比做的容易,在中文資源方面似乎還有點缺乏,英文資源方面目前有雲安全聯盟發布的物聯網安全指南,還有 OWASP Internet of Things Project可以參考,但是目前還沒看到針對 Arduino 的資訊安全建議。