Presentation is loading. Please wait.

Presentation is loading. Please wait.

物聯網安全 物聯網的軟體安全分析.

Similar presentations


Presentation on theme: "物聯網安全 物聯網的軟體安全分析."— Presentation transcript:

1 物聯網安全 物聯網的軟體安全分析

2 課程大綱 物聯網應用架構與主要情境 物聯網安全控制 以OWASP物聯網十大安全弱點來看物聯網應用開發時應注意事項 結論

3 物聯網應用的架構 平台管理者 雲端物聯網平台 應用服務 使用者 固定或可移動式閘道器 裝置管理者 裝置或端點 其他物聯網平台或服務
本地使用者

4 物聯網應用情境 情境 1: 本地裝置間相互溝通 情境 2: 裝置資料上傳至物聯網平台 情境 3: 應用服務者要求使用物聯網應用
情境 4: 本地使用者要求存取裝置

5 本地裝置間相互溝通 平台管理者 雲端物聯網平台 應用服務 使用者 固定或可移動式閘道器 2. 必要時經過閘道器 裝置管理者 裝置或端點
其他物聯網平台或服務 裝置或端點 本地使用者 1. 裝置間互相傳送資料

6 裝置資料上傳至物聯網平台 0. 平台管理者提供裝置管理者權限 1. 裝置管理者設定裝置與平台之連線 2. 裝置將資訊上傳平台
雲端物聯網平台 應用服務 使用者 0. 平台管理者提供裝置管理者權限 固定或可移動式閘道器 1. 裝置管理者設定裝置與平台之連線 2. 裝置將資訊上傳平台 裝置或端點 裝置管理者 其他物聯網平台或服務 裝置或端點 本地使用者 3. 平台提供控制資訊

7 應用服務者要求使用物聯網應用 4. 使用者要求服務 0. 平台管理者提供裝置管理者權限 5. 平台必要時結合其他服務傳回結果
雲端物聯網平台 0. 平台管理者提供裝置管理者權限 應用服務 使用者 固定或可移動式閘道器 5. 平台必要時結合其他服務傳回結果 1. 裝置管理者設定裝置與平台之連線 3. 裝置將資料上傳平台 裝置管理者 裝置或端點 其他物聯網平台或服務 裝置或端點 本地使用者

8 本地使用者要求存取裝置 平台管理者 雲端物聯網平台 應用服務 使用者 1. 使用者搜尋鄰近物聯網裝置並取得授權 固定或可移動式閘道器
1. 裝置管理者決定是否授權 裝置或端點 裝置管理者 其他物聯網平台或服務 本地使用者 裝置或端點 3. 送出存取要求 4. 必要時 確認授權

9 物聯網安全控制 去識別化 使用者與裝置管理 身分鑑別 記錄 存取控制 來源識別 安全通道與通訊加密 資料加密 安全性更新 平台管理者
雲端物聯網平台 應用服務 使用者 身分鑑別 記錄 固定或可移動式閘道器 存取控制 來源識別 裝置管理者 裝置或端點 安全通道與通訊加密 其他物聯網平台或服務 裝置或端點 本地使用者 資料加密 安全性更新

10 OWASP IoT 十大安全弱點(1/2) I1: 不安全的網頁介面(Insecure Web Interface)
I2: 不充分的認證與授權(Insufficient Authentication/Authorization) I3. 不安全的網路服務(Insecure Network Services) I4. 欠缺傳輸時的加密保護(Lack of Transport Encryption) I5. 隱私威脅(Privacy Concerns)

11 OWASP IoT 十大安全弱點(2/2) I6. 不安全的雲端介面(Insecure Cloud Interface)
I7. 不安全的行動介面(Insecure Mobile Interface) I8. 不充分的安全設定(Insufficient Security Configurability) I9. 不安全的軟體與韌體(Insecure Software/Firmware) I10. 實體安全考量不足(Poor Physical Security)

12 物聯網應用架構 與OWASP IoT十大弱點之對應
I1, I5, I7, I9 I1, I2, I3, I4, I6, I8, I9, I10 平台管理者 雲端物聯網平台 應用服務 使用者 I2, I4, I7, I8, I10 固定或可移動式閘道器 I1, I5, I7, I9 其他物聯網平台或服務 裝置管理者 本地使用者 裝置或端點

13 I1: 不安全的網頁介面(1/2) 此處主要指網頁應用的前端設計漏洞,主要發生的點在於: I6 主要是針對後台的情況,此弱點主要針對前台
應用服務使用者透過瀏覽器使用物聯網應用平台之網頁應用程式 本地使用者使用手機的瀏覽器存取向物聯網應用平台做要求 使用者使用Cordova等基於HTML開發的手機應用程式存取物聯網裝置 I6 主要是針對後台的情況,此弱點主要針對前台 弱點範例: 介面設計沒考慮到安全,例如攻擊者輸入正確帳號但密碼錯誤時,會告知密碼錯誤,而兩者同時錯誤會告知帳號與密碼錯誤,致使攻擊者知道使用者帳號 可能會造成反射式XSS或CSRF攻擊 [1]

14 I1: 不安全的網頁介面(2/2) 一個安全的網頁介面應該滿足以下要求: 在介面上不提供額外可讓攻擊者可用以進行攻擊的資訊
在使用者輸入處做好檢查,以減少XSS、CSRF、插碼(Injection Flaw)等問題的發生 避免使用者使用很容易破解的弱密碼 當發現有一定次數的登入錯誤,須暫時將帳號鎖定 閘道器或交換器等裝置,需避免使用者使用預設帳號與密碼,以免攻擊者之後利用預設帳號密碼登入

15 I2: 不充分的認證與授權(1/2) 幾乎每個地方都有可能發生: 物聯網裝置能力可能無法使用比較強的密碼技術是一大挑戰 弱點範例:
裝置間的認證與存取控制 使用者存取物聯網裝置的認證與存取控制 使用者/管理者存取物聯網平台的認證與存取控制 物聯網裝置能力可能無法使用比較強的密碼技術是一大挑戰 弱點範例: 重要裝置未設定密碼保護,或是使用”1234”等非常脆弱的密碼 密碼在網路中以未經加密的方式傳輸,因而很容易被竊取 [2] Authorization

16 I2: 不充分的認證與授權(2/2) 一個充份的認證與授權機制應滿足以下要求: 確保所使用密碼的強度
如果可以的話,儘可能提供存取的粒度(Granularity),例如可以提供不同的使用者不同操作的權限 確保認證資訊被適當保護 如果可能的話,使用雙因子以上的認證 確認密碼回復機制的安全性 對於敏感功能的存取要求再度認證 確保可以更換密碼或金鑰,以便能夠停用被竊取的金鑰

17 I3. 不安全的網路服務(1/2) 這點主要是針對有開放網路服務存取的地方: 不見得只針對Web Service,也包括其他種類的網路服務
使用者或管理者對雲端服務使用網路服務進行要求 裝置或閘道器透過網路服務將資料上傳 透過MQTT或是CoAP等協定接收裝置資訊或傳送資訊給裝置 不見得只針對Web Service,也包括其他種類的網路服務 弱點範例: 因為網路服務並未針對所有的情況做檢查,而讓攻擊者使用Fuzzing Attack工具產生一堆隨機的亂數要求,因而造成系統當機或是被發現漏洞。 沒有做好防火牆的設置,以便讓攻擊者可以找到某區域的裝置存取方式,而在未經授權的情況下對裝置進行存取 [3]

18 I3. 不安全的網路服務(2/2) 可透過以下方式確保網路服務安全: 確保只開啟必要的網路服務埠(Port)
確保服務不會因為外在的要求而造成緩衝區溢位的問題 確保服務本身不會具有可遭受阻斷式服務攻擊的弱點,並且受到阻斷式服務攻擊時影響到網路當中的其他裝置或使用者 這可以透過檢查服務是否會因為特定要求消耗太多資源 服務應該具有限制要求或是資源使用的能力 確保資源搜尋(Resource Discovery) 或是自動連線等服務埠不會在未經考慮的情況下向外公開 可在假設網路服務協定一定會被逆向工程得知的情況進行實作

19 I4. 欠缺傳輸時的加密保護(1/2) 主要是針對有傳輸的情況: 不見得只針對有線傳輸,使用BLE等無線傳輸也要考量 弱點範例:
裝置間或是裝置與閘道器間的資料傳輸 使用者存取物聯網裝置間的資料傳輸 使用者/管理者存取物聯網平台時的資料傳輸 閘道器或裝置將資料上傳至物聯網平台時的資料傳輸 不見得只針對有線傳輸,使用BLE等無線傳輸也要考量 弱點範例: 未使用安全連線的方式進行資料傳輸 資料傳輸的過程中未加密 [4]

20 I4. 欠缺傳輸時的加密保護(2/2) 可透過以下方式確保傳輸安全: 確保資料在傳輸時使用SSL或TLS等安全傳輸協定
也要考慮憑證的有效性,以避免被中間人攻擊 如果不能夠使用SSL或TLS,也儘量採用產業標準的安全傳輸協定進行資料傳輸 如果要單獨對資料進行加密而非使用安全傳輸協定,需要使用被接受的加解密標準,而儘量避免使用自行開發的演算法

21 I5. 隱私威脅(1/2) 這主要針對應用本身對於個人資料收集與使用可能造成使用者的隱私威脅 主要可以分成直接與間接兩種情境:
直接收集與使用使用者個資的誤用案例 在未告知使用者的情況下收集使用者資料或財務資訊 未依照使用者同意的方式使用使用者資料 未妥善保護使用者個人資料 間接侵害隱私範例 透過從多種來源間資料的連結與分析,將原本匿名的使用行為記錄與使用者進行連接 [5]

22 I5. 隱私威脅(2/2) 可透過以下方式減少對於隱私的威脅: 確保只收集裝置發揮功能所需的必要資料 儘可能避免收集敏感個資
可考慮將資料去識別化或匿名化之後再做收集 確保個資再被收集後有被經過加密等方式妥善保護 確保裝置或其他元件有建立保護個人資料的機制 確保只有被授權的人才可以存取所收集的個人資料 確保依照規定的期限對個人資料進行保存 確保在收集個資之前,有告知使用者,並且讓使用者選擇要不要提供個資

23 I6. 不安全的雲端介面(1/2) 特別指存取物聯網平台的介面 會存取物聯網平台的包括使用者、裝置、閘道器等,皆需要考量其存取介面的安全性
弱點範例: 可透過嘗試登入或密碼重設等動作,得知某使用者或裝置帳號是否存在 在傳輸帳號與密碼資訊時未妥善保護以至於機密外洩 使用者介面有XSS、CSRF、被插碼等弱點或漏洞 [6]

24 I6. 不安全的雲端介面(2/2) 可透過以下方式保護雲端介面的安全: 要求定期變更密碼 裝置或閘道器避免使用預設密碼
確保忘記密碼等功能能夠正確運作,並可避免誤用 在帳號登入發生錯誤一定次數後應將帳號鎖定 如果使用網頁介面,確保不會有XSS、CSRF、被插碼等弱點或漏洞 確保認證資訊不會在傳輸的過程中被外洩 如果可以的話,使用雙因子以上的認證

25 I7. 不安全的行動介面(1/2) 主要針對以下情況: 弱點情境發生在以下幾種狀況: 使用者使用行動裝置的應用程式進行存取
智慧型手機上安裝了某些應用程式而做為裝置與物聯網平台間的閘道器 弱點情境發生在以下幾種狀況: 善意的應用程式本身因為具有弱點,像是沒有密碼鎖等功能,以至於攻擊者取得手機後,可以操作行動裝置而進行攻擊 使用者沒有使用密碼保護功能,以致於手機可以很容易的被竊取而使用 惡意的使用者使用有弱點的應用程式來竄改感應器資料 使用者下載被竄改過而偽裝成正常程式的惡意應用程式,而該惡意程式進行攻擊行為 [7]

26 I7. 不安全的行動介面(2/2) 可透過以下的方式確保行動介面的安全:
行動應用程式要有足夠的認證等安全功能,並且會要求使用者使用安全的設定 行動應用程式可參考OWASP行動應用十大風險,並針對這些風險進行評估與因應 於行動裝置上安裝防毒軟體,以協助使用者發現惡意軟體 提供官方應用程式載點或是要求使用者至信賴的應用程式市集下載程式

27 OWASP 行動裝置十大弱點(1/2) No 項目 說明 1 伺服器端沒有做好安全控制
(Weak Server Side Controls) 包括所有非手機端的問題,包括OWASP Top 10裡面大部分對於手機安全的問題 2 不安全的資料儲存 (Insecure Data Storage) 儲存的資料未妥善確保安全性 3 傳輸保護不足 (Insufficient Transport Layer Protection) 資料在傳輸的過程中未妥善保護 4 無意間的資料外洩 (Unintended Data Leakage) 不小心外洩Log等資料 5 設計不良的身份鑑別與授權 (Poor Authorization and Authentication) 例如Token被偷竊等使得未經授權的使用者可以進行存取 [8] Mobile_Risks

28 OWASP 行動裝置十大弱點(2/2) No 項目 說明 6 密碼機制被破解 為妥善保管密碼資訊,或是未依最佳實務實作密碼機制 7
(Broken Cryptography) 為妥善保管密碼資訊,或是未依最佳實務實作密碼機制 7 客戶端插碼攻擊 (Client-Side Injection) 由使用者端輸入惡意攻擊碼進行插碼攻擊 8 基於不信賴的輸入進行安全決策 (Security Decisions Via Untrusted Inputs) 主要針對IPC,未考慮傳來的要求是否來自信賴的來源。 9 不合適的交談處理 (Improper Session Handling) 未妥善做好交易管理 10 缺乏對程式碼的保護 (Lack of Binary Protections) 未妥善保護程式碼,以至於可能被反組譯等問題

29 I8. 不充分的安全設定(1/2) 主要針對物聯網裝置、使用者存取設備、閘道器、物聯網平台主機與伺服器等設備或裝置 可以分成兩種主要情況:
有提供安全設定,但是未強制要求選擇安全設定而造成弱點 未提供安全設定 弱點範例: 無法強制要求使用強密碼 無法強制要求密碼加密 未開啟使用者輸入檢查功能 [9]

30 I8. 不充分的安全設定(2/2) 可在設定上考量以下項目: 將管理者與一般使用者做區隔 能夠設定資料在儲存時或是在傳輸的過程中有經過加密
可以建立限制密碼強度的政策 確保具有記錄安全事件的能力 確保具有通知使用者安全事件的能力

31 I9. 不安全的軟體與韌體(1/2) 主要針對物聯網裝置、使用者存取設備、閘道器、物聯網平台主機與伺服器等設備或裝置等有安裝軟體或韌體的裝置
弱點範例: 可以直接透過上傳檔案的方式上傳更新檔進行更新 更新未要檢查更新者身分,以致攻擊者上傳錯誤的檔案 攻擊者欺騙管理者,讓管理者誤用錯誤的更新檔案 未妥善保護軟體,以至於惡意攻擊者可以取得程式中的重要資訊 [10]

32 I9. 不安全的軟體與韌體(2/2) 需要透過以下的方式確保軟體或韌體的安全: 確保硬體裝置有能力更新
確保更新檔案有經過被認可的方式加密保護 確保更新檔案是透過安全通道進行傳輸 確保更新檔案不會暴露敏感資料 確保更新檔案有加上簽章或是有用其他的方式確保檔案的正確性 確保更新伺服器的安全 如使用他人開發的軟體或韌體,應建立程序定期檢視該軟體或韌體是否有弱點,並且進行更新。 更新機制有加入安全控制,避免未經授權的更新。 可以再假設攻擊者一定可以反組譯取得軟體運作邏輯的情況下開發後台服務

33 I10. 實體安全考量不足(1/2) 主要針對物聯網裝置、使用者存取設備、閘道器、物聯網平台主機與伺服器等設備或裝置本身或所在位置之安全性
弱點範例: 重要資料存在如SD卡等可移除硬體上,因而被直接竊取 可透過USB等外接介面連接裝置而進行資料竊取或竄改 物聯網裝置被直接竊取後,被拆解而取得其中的機密資料 [11]

34 I10. 實體安全考量不足(2/2) 可透過以下方式確保裝置的實體安全: 確保資料儲存媒介不可被輕易移除 確保儲存的資料有被加密
確保USB等外接埠不會被外界的攻擊者隨意連結 確保裝置不會被輕易拆解 如果裝置被竊取可以採取資料抹除的方式避免機密資料被取得 確保裝置的管理介面使用有被限制 對於重要硬體裝置可考慮採取防止邊通道攻擊(Side Channel Attack的機制) 可採取ISO/IEC 27001:2013當中A11所建議的實體及環境安全控制措施,保護實體與環境安全

35 結論 在開發物聯網應用時,需要建立身分鑑別、存取控制等安全控制
但在另外一個方面,也應該從反向思考可能發生的弱點,並確保所開發的物聯網應用能夠有效避免這些弱點 本教材以OWASP物聯網十大安全弱點為例,提供常見安全弱點的說明與因應策略


Download ppt "物聯網安全 物聯網的軟體安全分析."

Similar presentations


Ads by Google