物聯網開發人員使用應用程序更加安全的方法分享
物聯網發展到今天已經日前成熟,2017年有84億臺物聯網設備,Gartner公司預計到2020年將部署204億臺物聯網設備。隨著這一增長,物聯網安全攻擊的數量和復雜性大幅增加,開發人員不僅需要將安全作為優先事項,而且還需要將其作為首要事項。
在物聯網的應用初期,物聯網應用程序開發人員可以不必考慮安全性,因為他們構建了原型和最小可行的產品,旨在展示物聯網可用于改變人們工作、娛樂和生活方式的不同方式。
但物聯網發展到今天已經日前成熟,2017年有84億臺物聯網設備,Gartner公司預計到2020年將部署204億臺物聯網設備。隨著這一增長,物聯網安全攻擊的數量和復雜性大幅增加,開發人員不僅需要將安全作為優先事項,而且還需要將其作為首要事項。
正如Trendnet公司的SecurView攝像頭、St.Jude公司的心臟監測設備和JeepCherokee物聯網遭遇黑客攻擊證明的那樣,當安全性不是首要任務時,企業遭遇的物聯網攻擊可能會導致財務和聲譽的重大損失。
雖然不可能使物聯網應用程序(或任何類型的軟件)100%安全,但物聯網應用程序開發人員可以采用幾種最佳實踐來加強其物聯網應用程序的安全性。這些最佳實踐包括:
(1)在構建應用程序時遵循一組經過批準的加密標準。
(2)使用靜態代碼分析程序分析應用程序代碼,以識別可能導致安全漏洞的常見編碼錯誤。
(3)制定漏洞管理戰略,在計劃的、持續的基礎上識別和修復物聯網應用程序中的已知漏洞。
這三個最佳實踐并不能使物聯網應用程序完全免受惡意參與者的攻擊。但是,它們可以顯著減少物聯網應用程序的漏洞和攻擊面,從而降低開發人員應用程序被破壞的可能性,減少客戶投訴和負面新聞。
遵循已批準的加密標準
大多數開發人員都明白,如果他們希望保持物聯網數據的安全,他們應該對這些數據進行加密,特別是在數據從設備傳輸到云平臺時,反之亦然。然而,面對嚴格的開發期限,以及需要充分利用其物聯網設備的有限帶寬和處理能力,一些開發人員選擇不加密他們的數據或使用弱加密算法,這些加密算法承諾比他們更快或更輕,但沒有提供適當的安全級別。
經驗表明,采用加密快捷方式可能導致客戶數據被盜、應用程序被禁用或出現其他問題。出于這個原因,開發人員需要與他們的安全團隊密切合作,按照國際認可的專家(如美國國家標準與技術研究院(NIST))批準的標準和指南,適當地加密物聯網應用數據。
選擇使用此類經批準的標準不會對物聯網應用程序開發時間、性能或功能產生重大影響。美國國家標準與技術研究院(NIST)為開發人員提供了如何簡化加密標準與應用程序集成的指導方針。它們還提供了許多不同的標準供選擇,因此開發人員可以找到一種可以為應用程序提供適當級別的安全性,而不會犧牲太多的性能或功能。這確實需要一些額外的工作和努力,但是如果物聯網開發商想把安全作為首要任務,他們需要確保遵循批準的加密標準。
使用靜態代碼分析程序
許多開發人員熟悉靜態代碼分析程序及其發現常見編碼錯誤的能力,這些錯誤可能導致影響軟件質量的錯誤。但是,這些程序還可以識別不安全的編碼實踐,例如使用不正確終止的字符串,釋放內存的指針和允許超出緩沖區末尾的緩沖區索引。這些常見的編碼錯誤會造成安全漏洞,惡意參與者可以在其他功能應用程序中利用這些漏洞。
有多種靜態代碼分析工具可供使用,其中包括專有的和開放源碼的工具,開發人員可以使用這些工具來提醒他們可能會造成安全漏洞的編碼錯誤。開發人員應該研究哪些程序更好地支持他們的安全性和其他代碼分析需求,然后確保在整個應用程序開發過程中,特別是在部署應用程序之前,他們使用這些靜態代碼分析程序來發現代碼錯誤,這些錯誤將會導致出現安全漏洞。
同樣,許多開發人員可能會嘗試跳過這一步驟,因為程序所揭示的問題可能會阻止他們盡可能快地部署和商業化其他功能性應用程序。但是,正如上面提到的黑客采用物聯網應用程序的例子所證明的那樣,安全性的偷工減料通常會導致嚴重的問題。如果開發人員致力于向客戶交付具有強大安全性的物聯網應用程序,他們需要承諾使用靜態代碼分析程序來修復可能使其應用程序易受網絡攻擊的編碼錯誤。
監視和修復已知的漏洞
例如媒體非常關注的所謂的“零日”漏洞,而這些漏洞是軟件供應商事先不知道的。然而,對于大多數攻擊者來說,其結果是,在物聯網應用程序中使用的數百萬個軟件組件中存在的已知漏洞數量不斷增加,這些軟件組件未被修復,這可能是因為組件的用戶不知道該漏洞,也可能是因為他們沒有采取措施更新其應用程序以修復漏洞。
所有物聯網應用程序開發人員都應了解其應用程序可能因將第三方軟件組件納入到其應用程序中而導致的已知漏洞,無論是開源組件(如Linux操作系統和相關軟件)還是專有組件。但是,了解物聯網應用程序的設備固件、操作系統和其他第三方軟件組件中的所有已知漏洞的最新信息并非易事。構建這些軟件組件的企業、政府機構和其他監管機構通常每月在這些類型的軟件組件中識別出多達1,000個不同的漏洞。
幸運的是,有些資源可以幫助開發人員及時了解新的漏洞。例如,美國國家漏洞數據庫(NVD)是由美國國家標準與技術研究院(NIST)運營的公共資源,它對所有類型的軟件組件(包括專有軟件和開源軟件)中的已知漏洞進行分類。為了確保他們的物聯網應用程序清除或沒有任何已知的漏洞,物聯網開發人員可以為其物聯網應用程序編制一份安全物料清單(BOM),列出應用程序中使用的所有軟件組件和版本,然后監視新的美國國家漏洞數據庫(NVD)這些組件的已知漏洞。或者,有許多專有和開源工具利用免費API查詢美國國家漏洞數據庫(NVD),然后評估其組件的代碼庫或識別暴露服務的版本(如DNS,HTTP/S,網絡接口上的NTP、SSH)。
但是,僅僅了解已知漏洞并不能解決這些漏洞。這就是開發人員不僅要持續檢查新的已知漏洞的原因,還要制定計劃,通過安全更新的補丁定期修復新的已知漏洞。在理想情況下,這樣的計劃應允許遠程(無線通信)和自動執行這些更新。如今,許多消費者物聯網應用程序已經包含一個啟用遠程自動更新的選項。許多開發人員構建的商業物聯網應用程序有時需要更多的協調來實現這種遠程的自動更新,但這應該只是目標。在任何情況下,即使無法遠程或自動進行更新,物聯網開發商也必須制定某種計劃,及時部署針對其應用程序中已知漏洞的安全更新。
強大的安全性將使物聯網的未來增長成為可能
物聯網正處于一個重要的轉折點。市場繼續快速擴張,每天都在推出激動人心的農業、供應鏈、工業、公共安全、消費者和其他物聯網應用。然而,其他引人注目的物聯網應用程序漏洞可能會威脅到企業和消費者在物聯網中的信任度,尤其是當它越來越多地用于收集敏感數據或完成關鍵任務時。
為了加強對物聯網的信任,開發人員需要致力于將物聯網安全作為首要任務。開發人員需要實施物聯網安全最佳實踐,其中包括采用經過批準的加密標準,使用靜態代碼分析程序發現可能產生安全漏洞的編碼錯誤,以及定期識別和修復其應用程序中已知漏洞的策略。如果物聯網開發人員通過實施這些物聯網安全最佳實踐,將安全性作為真正的首要任務,那么企業對物聯網的信任將會提高,他們的業務也會隨之增長。
-
物聯網
+關注
關注
2903文章
44277瀏覽量
371289 -
應用程序
+關注
關注
37文章
3243瀏覽量
57603
發布評論請先 登錄
相關推薦
評論