我們将探讨兩種基于 linux 的面向 docker 的容器技術,這些技術被提出作為物聯網安全解決方案。容器還可以幫助解決我們在物聯網架構中探讨的開發複雜性和互操作性障礙的問題。 -- eric brown
在這個最後的物聯網系列文章中,canonical 和 resin.io 向以 linux 容器技術作為解決方案向物聯網安全性和互操作性發起挑戰。
盡管受到日益增長的安全威脅,但對物聯網(iot)的炒作沒有顯示減弱的迹象。為了刷存在感,公司們正忙于重新規劃它們的物聯網方面的路線圖。物聯網大潮迅猛異常,比移動網際網路革命滲透的更加深入和廣泛。iot 像黑洞一樣,吞噬一切,包括智能手機,它通常是我們通向物聯網世界的視窗,有時也作為我們的彙聚點或終端。
新的針對物聯網的處理器和嵌入式主機闆繼續重塑其技術版圖。自從 9 月份推出 面向物聯網的 linux 和開源硬體[1] 系列文章之後,我們看到了面向物聯網網關的 “apollo lake]” soc 晶片 intel atom e3900[2] 以及三星 新的 artik 子產品[3],包括用于網關并由 linux 驅動的 64 位 artik 7 com 及自帶 rtos 的 cortex-m4 artik。 arm 為具有 armv8-m 和 trustzone 安全性的 iot 終端釋出了 cortex-m23 和 cortex-m33[4] 晶片。
artik 7
講道理,安全是這些産品的賣點。最近攻擊 dyn 服務并在一天内摧毀了美國大部分網際網路的 mirai 僵屍網絡将基于 linux 的物聯網推到台前 - 當然這種方式似乎不太體面。就像 iot 裝置可以成為 ddos 的幫兇一樣,裝置及其所有者同樣可能直接遭受惡意攻擊。
cortex-m33 和 -m23
dyn 攻擊事件更加證明了這種觀點,即物聯網将更加蓬勃地在受控制和受保護的工業環境發展,而不是家用環境中。這不是因為沒有消費級物聯網安全技術[5],但除非産品設計之初就以安全為目标,否則如我們的智能家居集線器系列[6]中的許多解決方案一樣,後期再考慮安全就會增加成本和複雜性。
在物聯網系列的最後這個未來展望的部分,我們将探讨兩種基于 linux 的面向 docker 的容器技術,這些技術被提出作為物聯網安全解決方案。容器還可以幫助解決我們在物聯網架構[7]中探讨的開發複雜性和互操作性障礙的問題。
我們與 canonical 的 ubuntu 客戶平台工程副總裁 oliver ries 讨論了 ubuntu core 和适用于 docker 的容器式 snaps 包管理技術。我們還就新的基于 docker 的物聯網方案 resinos 采訪了 resin.io 首席執行官和聯合創始人 alexandros marinos。
ubuntu core snaps
canonical 面向物聯網的 snappy ubuntu core[8] 版本的 ubuntu 是圍繞一個類似容器的快照包管理機制而建構的,并提供應用商店支援。 snaps 技術最近自行釋出了[9]用于其他 linux 發行版的版本。去年 11 月 3 日,canonical 釋出了 ubuntu core 16[10],該版本改進了白标應用商店和更新控制服務。
傳統 ubuntu(左)架構 與 ubuntu core 16
快照機制提供自動更新,并有助于阻止未經授權的更新。 使用事務系統管理,快照可確定更新按預期部署或根本不部署。 在 ubuntu core 中,使用 apparmor 進一步加強了安全性,并且所有應用程式檔案都是隻讀的且儲存在隔離的孤島中。
limesdr
ubuntu core 是我們最近展開的開源物聯網作業系統調查[11]的一部分,現在運作于 gumstix 主機闆、erle 機器人無人機、dell edge 網關、nextcloud box[12]、limesdr、mycroft 家庭集線器、英特爾的 joule 和符合 linaro 的 96boards 規範的 sbc(單闆計算機) 上。 canonical 公司還與 linaro 物聯網和嵌入式(lite)部門集團在其 96boards 物聯網版(ie)[13] 上達成合作。最初,96boards ie 專注于 zephyr 驅動的 cortex-m4 闆卡,如 seeed 的 ble carbon[14],不過它将擴充到可以運作 ubuntu core 的網關闆卡上。
“ubuntu core 和 snaps 具有從邊緣到網關到雲的相關性,”canonical 的 ries 說。 “能夠在任何主要發行版(包括 ubuntu server 和 ubuntu for cloud)上運作快照包,使我們能夠提供一緻的體驗。 snaps 可以使用事務更新以免故障方式更新,可用于安全性更新、錯誤修複或新功能的持續更新,這在物聯網環境中非常重要。”
nextcloud盒子
安全性和可靠性是關注的重點,ries 說。 “snaps 應用可以完全獨立于彼此和作業系統而運作,使得兩個應用程式可以安全地在單個網關上運作,”他說。 “snaps 是隻讀的和經過認證的,可以保證代碼的完整性。
ries 還說這種技術減少開發時間。 “snap 軟體包允許開發人員向支援它的任何平台提供相同的二進制包,進而降低開發和測試成本,減少部署時間和提高更新速度。 “使用 snap 軟體包,開發人員完可以全控制開發生命周期,并可以立即更新。 snap 包提供了所有必需的依賴項,是以開發人員可以選擇定制他們使用的元件。”
resinos: 為 iot 而生的 docker
resin.io 公司,與其商用的 iot 架構同名,最近剝離了該架構的基于 yocto linux 的 resinos 2.0[15],resinos 2.0 将作為一個獨立的開源項目營運。 ubuntu core 在 snap 包中運作 docker 容器引擎,resinos 在主機上運作 docker。 極緻簡約的 resinos 抽離了使用 yocto 代碼的複雜性,使開發人員能夠快速部署 docker 容器。
resinos 2.0 架構
與基于 linux 的 coreos 一樣,resinos 內建了 systemd 控制服務和網絡協定棧,可通過異構網絡安全地部署更新的應用程式。 但是,它是為在資源受限的裝置(如 arm 黑客闆)上運作而設計的,與之相反,coreos 和其他基于 docker 的作業系統(例如基于 red hat 的 project atomic)目前僅能運作在 x86 上,并且更喜歡資源豐富的伺服器平台。 resinos 可以在 20 中 linux 裝置上運作,并不斷增長,包括 raspberry pi,beaglebone 和odroid-c1 等。
“我們認為 linux 容器對嵌入式系統比對于雲更重要,”resin.io 的 marinos 說。 “在雲中,容器代表了對之前的程序的優化,但在嵌入式中,它們代表了姗姗來遲的通用虛拟化“
beaglebone black
當應用于物聯網時,完整的企業級虛拟機有直接通路硬體的限制的性能缺陷,marinos 說。像 osgi 和 android 的dalvik 這樣的移動裝置虛拟機可以用于 iot,但是它們依賴 java 并有其他限制。
對于企業開發人員來說,使用 docker 似乎很自然,但是你如何說服嵌入式黑客轉向全新的範式呢? “marinos 解釋說,”resinos 不是把雲技術的實踐經驗照單全收,而是針對嵌入式進行了優化。”此外,他說,容器比典型的物聯網技術更好地包容故障。 “如果有軟體缺陷,主機作業系統可以繼續正常工作,甚至保持連接配接。要恢複,您可以重新啟動容器或推送更新。更新裝置而不重新啟動它的能力進一步消除了故障引發問題的機率。”
據 marinos 所說,其他好處源自與雲技術的一緻性,例如擁有更廣泛的開發人員。容器提供了“跨資料中心和邊緣的統一範式,以及一種友善地将技術、工作流、基礎設施,甚至應用程式轉移到邊緣(終端)的方式。”
marinos 說,容器中的固有安全性優勢正在被其他技術增強。 “随着 docker 社群推動實作鏡像簽名和鑒證,這些自然會轉移并應用到 resinos,”他說。 “當 linux 核心被強化以提高容器安全性時,或者獲得更好地管理容器所消耗的資源的能力時,會産生類似的好處。
容器也适合開源 iot 架構,marinos 說。 “linux 容器很容易與幾乎各種協定、應用程式、語言和庫結合使用,”marinos 說。 “resin.io 參加了 allseen 聯盟,我們與使用 iotivity 和 thread的 夥伴一起合作。”
iot的未來:智能網關與智能終端
marinos 和 canonical 的 ries 對未來物聯網的幾個發展趨勢具有一緻的看法。 首先,物聯網的最初概念(其中基于 mcu 的端點直接與雲進行通信以進行處理)正在迅速被霧化計算架構所取代。 這需要更智能的網關,也需要比僅僅在 zigbee 和 wifi 之間聚合和轉換資料更多的功能。
其次,網關和智能邊緣裝置越來越多地運作多個應用程式。 第三,許多這些裝置将提供闆載分析,這些在最新的智能家居集線器[16]上都有展現。 最後,富媒體将很快成為物聯網組合的一部分。
最新裝置網關: eurotech 的 reliagate 20-26
最新裝置網關: advantech 的 ubc-221
“智能網關正在接管最初為雲服務設計的許多處理和控制功能,”marinos 說。 “是以,我們看到對容器化的推動力在增加,可以在 iot 裝置中使用類似雲工作流程來部署與功能和安全相關的優化。去中心化是由移動資料緊縮、不斷發展的法律架構和各種實體限制等因素驅動的。”
ubuntu core 等平台正在使“可用于網關的軟體爆炸式增長”,canonical 的 ries 說。 “在單個裝置上運作多個應用程式的能力吸引了衆多單一功能裝置的使用者,以及現在可以産生持續的軟體收入的裝置所有者。”
兩種 iot 網關: myomega mynxg ic2 controller
兩種 iot 網關: technexion 的 ls1021a-iot gateway
不僅是網關 - 終端也變得更聰明。 “閱讀大量的物聯網新聞報道,你得到的印象是所有終端都運作在微控制器上,”marinos 說。 “但是我們對大量的 linux 終端,如數字标牌,無人機和工業機械等直接執行任務,而不是作為操作中介(資料轉發)感到驚訝。我們稱之為影子 iot。”
canonical 的 ries 同意,對簡約技術的專注使他們忽視了新興物聯網領域。 “輕量化的概念在一個發展速度與物聯網一樣快的行業中初現端倪,”ries 說。 “今天的進階消費硬體可以持續為終端供電數月。”
雖然大多數物聯網裝置将保持輕量和“無頭”(一種配置方式,比如物聯網裝置缺少顯示器,鍵盤等),它們裝備有如加速度計和溫度傳感器這樣的傳感器并通過低速率的資料流通信,但是許多較新的物聯網應用已經使用富媒體。 “媒體輸入/輸出隻是另一種類型的外設,”marinos 說。 “總是存在多個容器競争有限資源的問題,但它與傳感器或藍牙競争天線資源沒有太大差別。”
ries 看到了工業和家庭網關中“提高邊緣智能”的趨勢。 “我們看到人工智能、機器學習、計算機視覺和上下文意識的大幅上升,”ries 說。 “為什麼要在雲中運作面部檢測軟體,如果相同的軟體可以在邊緣裝置運作而又沒有網絡延遲和帶寬及計算成本呢?“
當我們在這個物聯網系列的開篇故事[21]中探索時,我們發現存在與安全相關的物聯網問題,例如隐私喪失和生活在監視文化中的權衡。還有一些問題如把個人決策交給可能由他人操控的 ai 裁定。這些不會被容器,快照或任何其他技術完全解決。
如果 aws alexa 可以處理生活瑣事,而我們專注在要事上,也許我們會更快樂。或許有一個方法來平衡隐私和效用,現在,我們仍在探索,如此甚好。
本文轉自d1net(轉載)