2016年6月26日 星期日

危物聯網

從技術的角度來看, 你可以說物聯網只不過是網際網路的延申, 只不過是讓更多內嵌了小電腦的家電、 公共設施、 交通工具、 無人載具連上了網際網路。 但是因為 「可以內嵌小電腦」 的這些東西, 彼此之間的差異性遠大於一般桌機或筆電之間的差異性, 所以它們帶來很不一樣的問題。 本文探討物聯網天生的資安挑戰。

千面神的信眾們表示: 凡人皆有一死 凡軟體皆有臭蟲。 桌機或筆電出現普遍且重大的臭蟲時, 媒體會報導、 作者或公司會推出安全更新、 用戶會有意識地更新軟體。 不論是微軟用戶、 蘋果用戶或是相對小眾但相對高安全意識的 linux 用戶, 絕大多數電腦用戶都有 (自己, 或請朋友幫忙) 安裝安全更新的經驗。 但是物聯網上的這些裝置很不一樣 -- 他們的韌體 ("燒" 在硬體上的軟體) 更新的頻率很低, 甚至一輩子不會更新。

觀察介於兩者之間的手機市場, 或許可以得到一些啟發。 以 Android 手機為例, 盡管更新出現時, 廠商會催促並且幫你的手機 「一鍵更新」, 但 (部分由 google 讚助的) CMU 研究仍舊顯示: 約九成的 android 手機曝露在重大風險當中。 其中 google 的 nexus 用戶手中產品的安全更新相對較迅速; 其次是 LG; 其他大廠的得分都不理想; 小廠得分更低。 (這篇論文談的不是 「發現問題到公司推出更新」 的時間差, 而是 「發現問題到安全更新進到用戶手中」 的時間差。) 為什麼會這樣? 學者表示: 「(Android 的資安問題) 有點像檸檬市場, 生產商跟消費者之間資訊不對稱 -- 前者知道資安危機; 後者不知道。 所以生產商欠缺迅速更新的動機。」

這裡的重點並不是 android 不安全 -- 該文也猜測 iOS 可能不比 nexus 好到哪裡去。 第一個重點是: 廠商關心用戶體驗 (特別是便利) 更勝過用戶安全。 就像 蘋果推動有利監控不利保護隱私的指紋解鎖 微軟拿掉 Office 巨集安全性提醒 一樣, 廠商很自然地會把有限的資源優先投入於能讓產品光鮮亮麗、讓用戶有立即感受的面向, 而絕大多數用戶關心便利更勝過資安, 所以...。 越小的廠商, 這種傾向可能越嚴重, 因為大廠至少還比較需要維護自身的資安形象。 反過來說, 因為自由軟體社群關心安全更勝過便利, 所以也 (部分) 造成了 「Linux 難用」 的印象。 第二個重點是: 如果沒有給用戶一些壓力, 就算廠商已推出安全更新, 他還不一定會安裝。 而用戶不願意更新, 也是有道理的。 因為他沒被告知哪些是非做不可的安全更新, 哪些更新則是要讓廣告更容易入侵他的手機、 讓 google 更方便追蹤他的一舉一動, 或是 讓蘋果協助公司網管或美國政府入侵並掌管你的手機。 所以很多用戶 -- 特別是相對較有資安意識的用戶 -- 拒絕盲目手機韌體更新。

這兩個問題帶到物聯網市場, 更是雪上加霜。 物聯網的市場更多元。 從市場競爭的角度來看這是好事。 但從工程師要推出產品安全更新並且佈署到用戶手上的觀點來看, 這完全是一場惡夢 -- 所以很多小廠會選擇不要作夢比較實在, 反正用戶也不會知道更不會關心。 再來, 物聯網上的多數裝置, 操作選項與複雜度當然遠比手機更少, 人跟它接觸的時間也更少, 有些甚至完全不需要使用者察覺它的存在, 所以更難提醒 (更別說說服) 用戶做安全更新。 更有甚者, 這些裝置很可能比手機鎖得更死 -- 即使用戶自己努力去找來安全更新, 他甚至可能不被允許。 你家的 IP 分享器最近一次更新韌體是什麼時候呢? 我買的絕大多數分享器都不支援 OpenWrt (因為我太晚才開始玩), 所以就算 OpenWrt 推出比廠商更新的韌體, 我也沒辦法享用。 它還是你我最有資安危機感、 最原始的物聯網裝置呢!

資安專家也是自由軟體基金會理事 Matthew Garrett 在倫敦一家旅館住宿時觀察: 為什麼電燈要用 android 平板來控制啊? 是嫌傳統開關不夠時尚嗎? 於是他把自己的筆電加入旅館房間的智慧家電網路, 用電腦開關電燈、 電視, 甚至可以拉動窗廉。 ㄟ, 酷哦, 但是... 「我的房號是 714, 而我剛剛透過 172.16.207.14 的 IP 在控制我的房間。 不會吧...?」 對, 真的就是這樣: 不需要密碼, 他就可以查看指定房號房間內的電燈開關狀態; 只是他不好意思進一步實驗在半夜三點把別人房間的電燈跟窗簾打開。

「還好我沒有急著在家裡導入智慧家電!」 但或許你的汽車已經開始智慧了? 事實上比智慧汽車更早一代的 「免鑰匙啟動」 技術, 可能已成為無所不在的物聯網的第一個重大受害者。 中繼攻擊 不需要偷密碼、 適用於絕大多數廠牌的汽車。 如果你停好車進餐廳吃飯, 吃完飯卻發現車子被開走, 那麼第一件事情應該要先看一下身邊有誰很關注你離開座位。 他口袋裡或許有一部錄製並且傳送你的鑰匙訊號的機器, 透過網路幫助那位正在開你車的同夥向你的汽車證明鑰匙就在車上。 但也可能他並沒有同夥, 而是你身上的運動手環被動過手腳了。 (近未來現實科幻小說梗)

資安專家 Bruce Schneier 說過: Security is a process, not a product. 凡是資訊產品就會有資安問題, 沒有哪一套軟硬體或哪一家公司的產品可以免於資安問題。 但是不同類型的產品其資安風險可能很不一樣。 社群文化、 使用方式、 ... 等等非技術因素會影響資安問題的嚴重性。 物聯網的資安問題特別嚴重。 幫那家倫敦旅館佈建智慧窗簾的, 不可能是最肉腳的資訊科技麻瓜吧? 連他都沒設密碼及其他防護措施... 連 網路攝影機 這種相對有感的裝置都很難引起用戶注意了, 物聯網裡的其他多數裝置更加比電腦手機攝影機不容易喚醒用戶的資安意識, 卻又比電腦手機更常以很不顯眼的方式跟用戶隔空接觸, 所以這個問題也更加棘手。 很多懂技術的人稱之為 "Internet of Broken Things"。

想要阻擋 IoT 是不可能的。 那麼該如何處理資安問題? 我也沒有很棒的建議。 既然問題主要在用戶端, 也許各大學可以開設一些 「自由軟體與資訊安全」 之類的 通識課程, 並且納入物聯網的資安意識。 (幫自己的課打廣告 ^_^) 這也可以順便減緩 「資訊科技越來越重要; 但資訊科系卻越來越不受歡迎」 的教師超額壓力 :-) 不過先講好: 還在教 Adobe 產品 的老師們是沒資格來教這門課的 :-)

[11/9] Techdirt 有一系列 (危)物聯網 案例文。 [2017/2/17] 我自己的勉強拼裝解決方案: 請 raspberry pi 當網路門神

* * * * *

(本文也刊載於 泛科技)

12 則留言:

  1. Large CCTV Botnet Leveraged in DDoS Attacks
    https://blog.sucuri.net/2016/06/large-cctv-botnet-leveraged-ddos-attacks.html
    >>HINET Data Communication Business Group

    回覆刪除
  2. NSA報告:將深入挖掘對物聯網和生物醫學設備的「竊聽」能力
    http://www.freebuf.com/news/106655.html
    http://thehackernews.com/2016/06/hacking-internet-of-things.html

    回覆刪除
  3. https://www.google.com.tw/search?q=%E6%B4%AA%E6%9C%9D%E8%B2%B4&biw=960&bih=487&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiEifuV-u_NAhUHI5QKHVZQDf04ChD8BQgIKAM&dpr=1.5#imgrc=JMsJSnZBCsZQBM%3A

    教授臉上的斑都出來了

    回覆刪除
  4. 現在連封閉網路的ATM都不安全了。

    回覆刪除
  5. https://tw.news.yahoo.com/%E9%87%8D%E8%A6%96%E8%B3%87%E5%AE%89-%E6%94%BF%E9%99%A28-1%E6%88%90%E7%AB%8B%E8%B3%87%E5%AE%89%E8%99%95-050000523.html

    回覆刪除
  6. [新聞] Android Nougat 不會讓受感染的手機啟動(Android 7.0)

    回覆刪除
  7. 自 KitKat 開始,Android 系統會在裝置啟動的過程進行認證,確保 rootkit 和其他形式的惡意軟體不會在不被偵測到的情況下運行。可是這做法保護性有限,Mashmallow 也只能做到向使用者發出警告,但到了 Android Nougat 就會有所不同了。根據 Google 的介紹,新版本 Android 將會嚴格執行啟動檢查,如果發現啟動的映象檔或分區有被感染的跡象,系統就會進入限制使用的模式,甚至不會開啟。

    對於大部分使用者來說,這措施能保護手機不會被病毒完全操控,保護個人資料。但這嚴厲的措施也是把雙刃劍,因為 Google 指出使用者會更常看到與錯誤有關的損毀報告,因為認證程序會阻止存取整個數據區,並引起不尋常的行為。喜歡刷進第三方 ROM 的朋友也會感覺這新措施很麻煩,因為 Google 說鎖上了 bootloader 的裝置都會使用新措施來增加安全性,日後為 bootloader 解鎖就會愈變困難。幸好 Nexus 系列等沒被鎖上 bootloader 的裝置就沒有這問題了。

    回覆刪除
  8. 惡意軟體 Linux/Mirai 專挑設計不良+管理不良的 IoT 設備 (啟用 telnet 服務、 無密碼或未更改過的預設密碼) 把它們收編進殭屍大軍: https://it.slashdot.org/story/16/09/11/1155202/iot-devices-with-default-telnet-passwords-used-as-botnet

    回覆刪除
  9. 人類一切的行為都是這種物種的慾望關係

    回覆刪除
  10. 先前資安部落格 KrebsOnSe curity 因揭露DDoS服務供應商vDOS外洩資料並導致兩名18歲的首腦被逮捕而被報復: http://www.ithome.com.tw/news/108660 。 報復手段是控制 IoT 殭屍大軍發動 DDoS 攻擊。 Bruce Schneier 評論: IoT 裝置生產商欠缺動通與資源投入資安防護, 而且就算已發現問題, 消費者也無法更新韌體。 對於自己的 IoT 裝置淪入惡人手中, 消費者也不會太在意 (只要他們的裝置能繼續運作)。 此問題無法靠市場機制解決。 (世界各國) 的政府需要介入。 https://www.schneier.com/blog/archives/2016/10/security_econom_1.html?utm_source=twitterfeed&utm_medium=twitter

    回覆刪除
  11. 筆記: 所謂 "traffic amplification and reflection" 就是利用某些通訊協定 (DNS、 NTP) 不必驗證請求來源的特性, 冒(受害者的)名對伺服器提問, 讓伺服器送出一大串回應給被害者。 https://krebsonsecurity.com/2016/09/the-democratization-of-censorship/ 防禦方式: 伺服器應採用 BCP 38。 但大家懶得理。 http://www.internetsociety.org/deploy360/blog/2014/07/anti-spoofing-bcp-38-and-the-tragedy-of-the-commons/ 以上連結或關鍵詞來自 https://blog.cloudflare.com/understanding-and-mitigating-ntp-based-ddos-attacks/

    回覆刪除