滲透測試(滲透測試)由安全專業人員進行的模擬網絡攻擊組成,以確定測試人員是否可以通過設備漏洞訪問目標。回想一下“不安全世界中的邊緣安全”博客,聯網設備的網絡接口構成了其攻擊面的很大一部分。邊緣設備網絡接口公開了許多網絡端口,這些端口向互聯網提供獨特的協議。這些端口中的每一個都是黑客的潛在入口點——例如,在端口 80 或 8080 上公開的 HTTP 協議。了解在給定端口上公開的協議(和版本)可為黑客提供大量信息。
滲透測試過程
作為對黑客事件的模擬,滲透測試遵循類似于準黑客的過程。下面是一個嘗試滲透網絡系統的簡單過程。測試過程包括:
目標選擇
漏洞檢測
利用匹配
利用嘗試
對于目標選擇,這只是被測試的授權設備。然后,漏洞檢測器(例如端口掃描器)會探測目標,以評估設備的入口點以及有關這些入口點的其他信息(協議、版本等)。接下來是識別這些入口點的潛在攻擊,最后一步是嘗試攻擊(圖 1)。此過程忽略了自定義漏洞利用開發,這是一個相當復雜的過程。
圖 1:滲透測試過程圖。(來源:作者)
端口掃描
要識別設備上的潛在漏洞,最簡單的方法之一是端口掃描器。端口掃描器是一種應用程序,它掃描設備的開放端口,然后通過與這些端口關聯的端口號,識別可訪問的網絡服務。因為端口號可以表示 1 到 65535 范圍內的數字,所以端口掃描可能是一個耗時的過程。
端口掃描以多種方式執行,但在最簡單的情況下,端口掃描器會嘗試連接到設備上的端口。如果設備確認連接請求(通常稱為 TCP 的三向握手),則端口打開。否則,端口將被關閉或阻塞。
滲透測試通常可以通過端口號來識別網絡服務。例如,如果端口掃描器在端口 80 或 8080 處發現一個開放端口,則 HTTP 協議可用。
設備和端口掃描器之間交換的底層數據包的詳細信息也提供了豐富的信息。測試人員可以使用有關特定設備如何配置協議參數的信息,在稱為設備指紋識別的過程中識別操作系統 (OS) 或協議棧。
圖 2提供了網絡映射器 (NMAP) 端口掃描器實用程序的示例輸出。此特定請求使用隱蔽 SYN 數據包方法,并針對網絡設備 192.168.1.4 請求開放端口的服務信息。如輸出所示,NMAP 識別出大量打開的端口,甚至通過端口交換的信息識別設備。
圖 2:圖像顯示了本地打印機的示例端口掃描。(來源:作者)
NMAP 是網絡探索和發現的關鍵工具。了解網絡設備的攻擊面后,您就可以準備測試設備上的潛在漏洞。
測試設備上的潛在漏洞
了解設備的網絡攻擊向量是否包括潛在的漏洞利用是滲透測試的下一階段。漏洞利用測試是一項復雜的工作,但 Metasploit 項目簡化了這個過程。
Metasploit 項目
Metasploit 是一個通過支持漏洞匹配、執行和開發來創建滲透測試框架的項目。Metasploit 包括一個廣泛的漏洞利用數據庫(圖 3中顯示了一小部分) ,可以將其與被測網絡設備進行匹配,然后調用。
圖3:Metasploit 控制臺的圖像和 XP 漏洞列表。(來源:作者)
Metasploit 包括 shellcode 漏洞,用于通過目標上的有效負載執行代碼來控制目標設備。Metasploit 允許滲透測試人員根據設備的指紋識別和對其可用攻擊向量的了解,將漏洞利用與任何有效載荷混合使用。
Metasploit 框架是使用最廣泛的滲透測試框架,為發現、漏洞匹配、執行以及漏洞開發提供了完整的環境。
卡利Linux
最后,還有一個專注于滲透測試的 Linux 發行版,由 Offensive Security Ltd. 開發。Kali Linux 源自 Debian Linux,可以安裝在資源相對受限的計算機上,也可以從 CD/DVD 或 USB 記憶棒啟動。它預裝了 600 多種安全測試工具,包括 NMAP、Metasploit 框架、應用程序安全掃描器、Wireshark(用于數據包分析)、用于無線 LAN 筆測試的軟件套件等等。Kali Linux 甚至可以在基于 ARM 的設備(例如Raspberry Pi2)和 Android PDA 設備(例如 Gemini PDA)上運行。
保護您的設備
雖然安全性通常是設備設計中的事后考慮,但您可以采取一些基本措施來保護邊緣設備。從解決這些問題開始。
是否審查并最小化了設備的攻擊面?
是否所有開放的端口都是必須的,還是可以在開發完成后關閉?
如果您的設備上運行的是 Linux,內核和軟件包是否是最新的并且是否了解漏洞(例如通過漏洞利用數據庫公布)?
您的代碼是否經過審查(手動或通過源代碼分析工具)?
這些是開發人員可以為保護他們的設備而做的基本事情,但這一切都始于對攻擊面和滲透測試的理解。
結論
滲透測試的理念是在現場保護您的網絡設備;您首先需要進攻性地考慮其安全性。滲透測試讓您扮演想要利用您的設備的人的角色,這樣當您的設備發布時,您可以確信您已經涵蓋了操作系統或網絡堆棧的已知漏洞。
M. Tim Jones 是一位資深的嵌入式固件架構師,擁有超過 30 年的架構和開發經驗。Tim 是多本書籍和多篇文章的作者,涉及軟件和固件開發領域。他的工程背景從地球同步航天器的內核開發到嵌入式系統架構和協議開發。
審核編輯黃宇
-
測試
+關注
關注
8文章
5174瀏覽量
126488 -
模擬
+關注
關注
7文章
1422瀏覽量
83897 -
邊緣
+關注
關注
0文章
25瀏覽量
2006
發布評論請先 登錄
相關推薦
評論