Linux中國

Linux 容器能否彌補 IoT 的安全短板?

儘管受到日益增長的安全威脅,但對物聯網(IoT)的炒作沒有顯示減弱的跡象。為了刷存在感,公司們正忙於重新規劃它們的物聯網方面的路線圖。物聯網大潮迅猛異常,比移動互聯網革命滲透的更加深入和廣泛。IoT 像黑洞一樣,吞噬一切,包括智能手機,它通常是我們通向物聯網世界的窗口,有時也作為我們的匯聚點或終端。

新的針對物聯網的處理器和嵌入式主板繼續重塑其技術版圖。自從 9 月份推出 面向物聯網的 Linux 和開源硬體 系列文章之後,我們看到了面向物聯網網關的 「Apollo Lake]」 SoC 晶元 Intel Atom E3900 以及三星 新的 Artik 模塊,包括用於網關並由 Linux 驅動的 64 位 Artik 7 COM 及自帶 RTOS 的 Cortex-M4 Artik。 ARM 為具有 ARMv8-M 和 TrustZone 安全性的 IoT 終端發布了 Cortex-M23 和 Cortex-M33 晶元。

Artik 7

講道理,安全是這些產品的賣點。最近攻擊 Dyn 服務並在一天內摧毀了美國大部分互聯網的 Mirai 殭屍網路將基於 Linux 的物聯網推到台前 - 當然這種方式似乎不太體面。就像 IoT 設備可以成為 DDoS 的幫凶一樣,設備及其所有者同樣可能直接遭受惡意攻擊。

Cortex-M33 和 -M23

Dyn 攻擊事件更加證明了這種觀點,即物聯網將更加彭勃地在受控制和受保護的工業環境發展,而不是家用環境中。這不是因為沒有消費級物聯網安全技術,但除非產品設計之初就以安全為目標,否則如我們的智能家居集線器系列中的許多解決方案一樣,後期再考慮安全就會增加成本和複雜性。

在物聯網系列的最後這個未來展望的部分,我們將探討兩種基於 Linux 的面向 Docker 的容器技術,這些技術被提出作為物聯網安全解決方案。容器還可以幫助解決我們在物聯網框架中探討的開發複雜性和互操作性障礙的問題。

我們與 Canonical 的 Ubuntu 客戶平台工程副總裁 Oliver Ries 討論了 Ubuntu Core 和適用於 Docker 的容器式 Snaps 包管理技術。我們還就新的基於 Docker 的物聯網方案 ResinOS 採訪了 Resin.io 首席執行官和聯合創始人 Alexandros Marinos。

Ubuntu Core Snaps

Canonical 面向物聯網的 Snappy Ubuntu Core 版本的 Ubuntu 是圍繞一個類似容器的快照包管理機制而構建的,並提供應用商店支持。 snaps 技術最近自行發布了用於其他 Linux 發行版的版本。去年 11 月 3 日,Canonical 發布了 Ubuntu Core 16,該版本改進了白標應用商店和更新控制服務。

傳統 Ubuntu(左)架構 與 Ubuntu Core 16

快照機制提供自動更新,並有助於阻止未經授權的更新。 使用事務系統管理,快照可確保更新按預期部署或根本不部署。 在 Ubuntu Core 中,使用 AppArmor 進一步加強了安全性,並且所有應用程序文件都是只讀的且保存在隔離的孤島中。

LimeSDR

Ubuntu Core 是我們最近展開的開源物聯網操作系統調查的一部分,現在運行於 Gumstix 主板、Erle 機器人無人機、Dell Edge 網關、Nextcloud Box、LimeSDR、Mycroft 家庭集線器、英特爾的 Joule 和符合 Linaro 的 96Boards 規範的 SBC(單板計算機) 上。 Canonical 公司還與 Linaro 物聯網和嵌入式(LITE)部門集團在其 96Boards 物聯網版(IE) 上達成合作。最初,96Boards IE 專註於 Zephyr 驅動的 Cortex-M4 板卡,如 Seeed 的 BLE Carbon,不過它將擴展到可以運行 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,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 之間聚合和轉換數據更多的功能。

其次,網關和智能邊緣設備越來越多地運行多個應用程序。 第三,許多這些設備將提供板載分析,這些在最新的智能家居集線器上都有體現。 最後,富媒體將很快成為物聯網組合的一部分。

最新設備網關: 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 說。 「為什麼要在雲中運行面部檢測軟體,如果相同的軟體可以在邊緣設備運行而又沒有網路延遲和帶寬及計算成本呢?「

當我們在這個物聯網系列的開篇故事中探索時,我們發現存在與安全相關的物聯網問題,例如隱私喪失和生活在監視文化中的權衡。還有一些問題如把個人決策交給可能由他人操控的 AI 裁定。這些不會被容器,快照或任何其他技術完全解決。

如果 AWS Alexa 可以處理生活瑣事,而我們專註在要事上,也許我們會更快樂。或許有一個方法來平衡隱私和效用,現在,我們仍在探索,如此甚好。

via: http://hackerboards.com/can-linux-containers-save-iot-from-a-security-meltdown/

作者:Eric Brown 譯者:firstadream 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國