您是否是 OEM 和系統集成商中的一員,將互聯網連接和服務添加到最初不打算這樣做的設備中?如果你是,那么你知道,通過將這些產品連接到互聯網,客戶正在發(fā)現新的收入形式,在某些情況下,是全新的商業(yè)模式。更重要的是,他們能夠使當前的產品更有價值和更具成本效益。
隨著我們繼續(xù)看到越來越多的互聯網連接設備,我們必須承認它們將容易受到攻擊,遠程禁用或以其他不良方式受到損害 - 每種情況都嚴重威脅到這些新商業(yè)模式的整個基礎。
請考慮以下家庭自動化領域中的示例。它是物聯網(IoT)最大的消費者應用程序之一,也可能是攻擊者最有利可圖的應用程序之一。犯罪分子如何處理存儲在可能被認為是相當無害的家庭自動化設備(如IP連接的智能恒溫器)中的信息?好吧,這些設備是為了學習你的習慣而構建的。它們旨在識別或“學習”您何時在家和何時離開,以便它們可以優(yōu)化用于加熱和冷卻房屋的能量。你可以猜到我要去哪里。他們會知道你的習慣并跟蹤你的日常工作 - 對于那些想不請自來的人來說,這是聳人聽聞的素材。
還記得三星智能電視的案例嗎?為了能夠響應語音命令,它不斷“聽”您的聊天,解釋它,然后甚至可能將其發(fā)送給“授權”的第三方。是的,我是認真的。早在2013年,智能電視就被證明是可破解的(沒有鎖定安全性的不是)。這是一個完美的例子,證明了對多個可訪問性級別的需求。在Smart TV的情況下,只有一個可能的用戶帳戶,該用戶(即攻擊者)可以訪問設備上的任何內容。
通過隱蔽實現安全
在過去許多情況下,產品開發(fā)人員會依賴這樣一個事實,即他們的設備太少,對黑客來說太無趣,無法試圖利用它們。換句話說,這些設備是晦澀難懂的 - 表面上是網絡上未知的節(jié)點。不幸的是,這種策略將不再有效。預計在未來五年內將有數十億臺設備連接到互聯網(具有各種各樣的功能),這些曾經“不感興趣”的設備將成為非常誘人的利用目標。
這個特定的網站致力于揭示存在,如果可能的話,連接到互聯網的設備類型。此類設備可能是網絡攝像頭,恒溫器或任何其他連接到Internet的家庭自動化設備。通過此網站,訂閱者可以掃描和搜索一系列連接的設備。
現在,如果您在這種情況下依靠晦澀難懂來保護您,則可能不必擔心更改默認的root密碼。此密碼由供應商設置為始終相同的名稱,因為如果默認密碼始終相同,則編寫文檔非常簡單。對消費者來說,這是個壞主意。..
未更改的默認根密碼是黑客登錄并命令相機的公開邀請。他們有效地通過遠程控制獲得查看和錄制視頻的完全控制,而所有者完全不知道。
您可能已經讀過一個關于嬰兒和父母用作嬰兒監(jiān)視器的網絡攝像頭的故事。父親走進孩子的房間,聽到一個男人通過攝像機的音頻揚聲器說話,敦促孩子“醒來”。當父親走進房間時,攝像機平移,另一端的人開始對他粗俗地大喊大叫,直到他拔掉攝像機的插頭。
這只是為什么互聯網安全在未來幾年將非常重要的眾多例子之一。它需要成為互聯設備制造商的頭等大事。
這些設備中的大多數都運行Linux,這是世界上最受歡迎的運行嵌入式設備的操作系統。在本文中,我們將探討在保護 Linux 連接設備時需要考慮的幾種技術。
在我們進入具體細節(jié)之前,重要的是要深入了解安全風險,確定與此類業(yè)務攻擊相關的潛在成本,并最終學習如何設計軟件并適當地建立智能安全策略。應該說,額外的安全性確實是有代價的,通常是在性能損失,功能受限和額外開發(fā)成本方面。
為了說明這些注意事項,我希望您考慮在筆記本電腦或工作站上運行增強的安全軟件的體驗。我說的是防病毒軟件,驅動器或文件系統加密以及訪問控制軟件。我們大多數人都欣賞這些程序提供的額外安全性。但是,我可能偏離了基礎,我猜大多數讀者有時會禁用部分或全部這些功能,特別是如果您是開發(fā)人員并且正在嘗試運行一些CPU密集型任務,安裝可能未被IT“批準”的軟件工具或實用程序,甚至運行執(zhí)行大量文件系統訪問的程序,例如從源代碼構建Linux發(fā)行版。
保護連接的 Linux 設備
在這里,我將分享一些簡單的方法,您可以使您的嵌入式Linux產品更安全地抵御某些類型的威脅,而無需安裝太多額外的軟件或專有(商業(yè))軟件。
禁用并刪除(或不安裝)不必要的服務
Linux的一個很好的方面是,在開發(fā)過程中利用網絡服務來調試和部署應用程序是多么容易。這些服務(TFTP、SFTP、SSH、NTP、gdb 服務器等)也是攻擊者目標最豐富的一些入口點。在生產期間,您應該只在 Linux 平臺中實現特定所需的服務,并使用端口掃描程序(如 nmap)來檢查打開的端口(例如,偵聽服務)。
使用防火墻
防火墻的基本原因是在內部和外部網絡之間提供屏障。這是網關或路由器的關鍵功能,因為內部網絡被認為是開放和受信任的。有許多適用于 Linux 的可用防火墻解決方案。其中包括 iptables/網絡過濾器、肖爾沃爾和 UFW(簡單的防火墻)。有不同級別的功能、易用性和可配置性[5][6][7]。
格拉森
Grsecurity 是 Linux 內核源代碼的一組補丁,可提供增強的安全性。它為內核提供了基于角色的訪問控制 (RBAC) 系統,以便進程(和用戶)只能訪問最少數量的文件,僅此而已。此外,它還提供了一個捆綁的補丁,其中包含一個名為PaX的不同名稱。PaX提供其他安全功能,可以通過創(chuàng)建執(zhí)行空間保護來消除某些其他類型的攻擊,例如緩沖區(qū)溢出。它還可以解決進程的空間布局隨機化問題,以擊敗依賴于了解任務的默認虛擬內存組織(緩沖區(qū)溢出和其他攻擊)的攻擊[8]。
斷續(xù)器
RBAC 的目標是最大程度地減少用戶或進程對系統其余部分的特權。例如,許多基于Linux的互聯網連接系統可以實現許多因特網服務,包括Web服務器,以及安全外殼(SSH)服務器。這些提供了對設備的不同級別的訪問,允許用戶使用漂亮的用戶界面(通過Web服務器)進行簡單的配置更改或使用SSH進行更精細的更改。RBAC 可以根據用戶的特定角色限制用戶訪問的沙盒,以讀取、寫入和執(zhí)行。這類似于基于 Linux/Unix 組限制對文件的訪問,其中 RBAC 中的角色類似于組。
RBAC 實際上如何幫助保護你的設備?對于初學者,您可以設置一個策略來限制所有用戶(甚至包括 root 用戶)對特定文件和系統服務的訪問。如果使用不同的漏洞來獲取 root 用戶,則攻擊者可能無法獲得成為 root 用戶時通常期望的對系統的完全訪問權限。
乘客功能
PaX(安全性的一部分)有助于抵御緩沖區(qū)溢出攻擊。緩沖區(qū)溢出是指攻擊者將數據注入進程的堆棧,允許他們更改程序流并執(zhí)行惡意代碼。
許多現代處理器架構實現了一個位 (NX),它將內存部分標記為可執(zhí)行文件。PaX 用于關閉對所有數據部分的執(zhí)行權限,并可以禁用對內存中所有可執(zhí)行部分的寫入權限。這樣,即使攻擊者能夠實現緩沖區(qū)溢出,也可以阻止他們將代碼加載到指定的可執(zhí)行內存中。
此外,PaX 還會在加載進程時隨機化它們的地址空間。大多數進程將加載到虛擬內存的特定區(qū)域,加載庫,并將堆棧放置在已知的內存位置(映射)中。這使得攻擊者很容易運行緩沖區(qū)溢出,因為堆棧位于同一位置。通過隨機化堆棧位置,除了內存的其他部分之外,它確實使運行緩沖區(qū)溢出變得困難,因為(A)攻擊者必須猜測堆棧的位置,或者(B)攻擊者可能會覆蓋一段可執(zhí)行代碼并使進程本身崩潰。
實施和配置
grsecurity的大多數功能不需要額外的配置,這對于其他Linux安全增強功能(例如SELinux)來說是不能說的。
通過下載內核版本的修補程序,然后使用修補程序實用程序將修補程序更改應用于內核源代碼樹,可以實現 grsecurity。在編譯內核之前,您需要配置構建選項以實現 gr 安全性。有很多選項,但您可能希望首先將GRKERNSEC_CONFIG_AUTO設置為 Y。這將提供為內核配置 grsecurity 的最簡單方法,并且可能是開發(fā)的良好基準。
將其包起來(安全,連接時)
對于物聯網產品,在設計之初就將安全性構建到產品中是絕對必要的。如果您不這樣做,您將使業(yè)務的關鍵部分受到攻擊。就是這么簡單。您構建的安全級別需要與給定受感染設備相關的風險相匹配。但是,請記住,您可以做一些相當簡單的事情來大大提高保護級別。
審核編輯:郭婷
-
互聯網
+關注
關注
55文章
11247瀏覽量
106332 -
物聯網
+關注
關注
2930文章
46201瀏覽量
391935 -
Linux
+關注
關注
87文章
11508瀏覽量
213653
發(fā)布評論請先 登錄
評論