2017年4月20日 星期四

【IoT】IoT資安及OWASP IoT Top 10



前陣子在商周看到了一篇「絨毛駭客」,真的是把駭客寫的噱頭十足,裏頭寫了非常多的案例真的是花了不少心思蒐集整理讓我看得嘖嘖稱奇XD,也因此興起想來研究一下IoT安全以及檢測的面向的念頭。

本來是比較常接觸WebAPP,所以對於IoT還真的是霧煞煞,看了很多張架構圖才終於有點概念。

大範圍的來看,會造成IoT資安問題的大致分為四大塊

1.   終端裝置資安問題
2.   通訊媒介資安問題
3.   後端伺服器資安問題
4.   行動裝置資安問題



不過OWASP挑選出來的前十名,涵蓋的部分稍微再超出一些。

以下針對OWASP IoT Top 10,逐項進行說明(因為光看標題很容易誤解他本意..)


I1: 不安全的網頁介面 (Insecure Web Interface)
           
I1其實也就是一般最常見的Web安全,任何網站在實作上可能產生的漏洞(SQLi, XSS, CSRF…)都在這個範疇,可參考OWASP Top 10(噢對了OWASP Top 102017RC了,多了兩個新上榜的~)

I2: 不充分的認證與授權 (Insufficient Authentication/Authorization)
           
任何需要存取的動作,都需要去確認認證與授權是否合法。那麼在IoT中要去哪裡檢查認證與授權呢?答案是找出整個IoT架構中所有的介面(Interface),無論是雲端提供介面給設備傳遞資料過去,或者是使用者透過行動裝置連至雲端提供的行動介面存取資料。建議做法如啟用雙因子認證、當使用到一些比較敏感的功能可以進行重新認證、確保發給client的認證token/session key保持不一樣等。

I3. 不安全的網路服務 (Insecure Network Services)
           
物聯網裝置有不安全的網路服務公開在LocalGlobal Network,可能會導致Buffer OverflowDoS的問題,可以利用自動化工具如Port ScannerFuzzer

I4. 欠缺傳輸時的加密保護 (Lack of Transport Encryption)
           
物聯網資料間的傳輸,無論是有線或無線的都可能使用各式各樣的協定或技術(BLE, TLS, RFID, NFC…)。這些協定或技術在傳輸時是否會進行加密其實也不一定,需要去了解這些協定的實作。

I5. 隱私威脅 (Privacy Concerns)
           
這個部分舉例來說,當使用者在設定或啟用物聯網裝置時,可以去檢查看看裝置所蒐集的資料。裝置是建議最好不要蒐集敏感性資料,要儲存的話可將資料去識別化或匿名後再儲存。

I6. 不安全的雲端介面 (Insecure Cloud Interface)
           
關於雲端介面的安全性OWASP也有Cloud Top 10,不過這Top 10會包含整個雲的安全性問題,但這邊主要著重在提供給使用者/管理者的雲端介面安全。

I7. 不安全的行動介面 (Insecure Mobile Interface)
           
關於行動介面的安全性OWASP也提出了Mobile Top 10可以參考。基本上不外乎提供給使用者操作的行動介面證機制是否安全完善、資料傳輸時是否安全、連續登入失敗帳號是否鎖定、密碼復原機制是否有漏洞、APP是否有進行混淆或防竄改機制等。

I8. 不充分的安全設定 (Insufficient Security Configurability)
          
I8談的是物聯網裝置的安全設定,例如有些設備可能提供可以設定密碼的功能,但卻沒強制一定要輸入密碼,這是一種安全性設定的不足;又或者傳輸中的或儲存在設備上的敏感資料未加密也是一種。另外也建議IoT設備可以對於安全事件做紀錄或通知使用者。

I9. 不安全的軟體與韌體 (Insecure Software/Firmware)
           
此部分主要鎖定在IoT設備軟體/韌體更新的安全性。若設備具有自動更新功能時,除了更新伺服器的安全外,更新檔傳輸時(是否使用加密通道)以及更新檔本身的安全性(檔案是否加密、是否簽章並在傳遞/安裝前驗證過)都很重要。

I10. 實體安全考量不足 (Poor Physical Security)
           
I10考量到物聯網裝置的實體安全,例如裝置是否有可卸除式儲存設備如SD Card能輕易移除,若裡面的資料又未加密則可能遭到竊取或竄改;又或者有些物聯網設備可能會透過USB Port進行軟體更新,此USB Port若未受控制,也可能被利用於修改設備軟體或拿來複製資料。


依我自己的理解,會是長這樣的:(這是一張極盡簡化的示意圖XD,也是我覺得最貼近Top10敘述的一張了)



另一種版本:



事實上不同類型的IoT(智慧住宅、智慧電表、車聯網等),都會有其各自的架構圖,以上的簡圖也只是其中一種IoT類型的概略說明圖。

總結來說,從Sensor Device蒐集資料開始,傳遞給雲端Server進行儲存分析,End Users從任意設備連至Server取得分析結果或設備狀態資料等,這一連串流程會牽涉到的裝置、後端伺服器以及資料的傳輸(圖中粗黑線),都是可以攻擊的點,而不同種類的IoT可被攻擊的裝置及做法又會不相同。




以下為OWASP Project中提及的IoT弱點:
1.           帳號列舉 (Username Enumeration)
2.           弱密碼 (Weak Passwords)
3.           帳號鎖定 (Account Lockout)
4.           服務未加密 (Unencrypted Services)
5.           雙因子認證 (Two-factor Authentication)
6.           弱加密實作機制 (Poorly Implemented Encryption)
7.           更新檔案傳送未加密 (Update Sent Without Encryption)
8.           更新檔案儲存位置可改寫 (Update Location Writable)
9.           DoS (Denial of Service)
10.       可移除儲存媒體 (Removal of Storage Media)
11.       無手動更新機制 (No Manual Update Mechanism)
12.       無更新機制 (Missing Update Mechanism)
13.       韌體版本或最後更新日期未顯示 (Firmware Version Display and/or Last Update Date)
14.       韌體或儲存裝置可抽離 (Firmware and storage extraction)
15.       裝置具程式碼執行弱點 (Manipulating the code execution flow of the device)
16.       獲取主控台存取 (Obtaining console access)




另外蒐集了一些覺得不錯的IoT架構圖:

圖片來源:IBM X-Force


圖片來源:IBM Watson Internet of Things (IoT)










---
參考資料:


沒有留言:

張貼留言