虛擬蜜罐:從資訊模擬到實現虛擬蜜罐技術
前言:虛擬蜜罐是由一臺計算機模擬的系統,但是可以響應傳送給虛擬蜜罐的網路流量,今天我們來淺析一下虛擬蜜罐。
蜜罐可以執行任何作業系統和任意數量的服務。蜜罐根據互動程度(Level ofInvolvement)的不同可以分為高互動蜜罐和低互動蜜罐。蜜罐的互動程度是指攻擊者與蜜罐相互作用的程度,高互動蜜罐提供給入侵者一個真實的可進行互動的系統,相反,低互動蜜罐只可以模擬部分系統的功能。高互動蜜罐和真實系統一樣可以被完全攻陷,允許入侵者獲得系統完全的訪問許可權,並可以以此為跳板實施進一步的網路攻擊。相反的,低互動蜜罐只能模擬部分服務、埠、響應,入侵者不能透過攻擊這些服務獲得完全的訪問許可權。
蜜罐分為高互動蜜罐、低互動蜜罐 、物理蜜罐 、虛擬蜜罐。從實現方法上來分,蜜罐可分為物理蜜罐和虛擬蜜罐。物理蜜罐是網路上一臺真實的完整計算機,虛擬蜜罐是由一臺計算機模擬的系統,但是可以響應傳送給虛擬蜜罐的網路流量。今天我們來淺析一下虛擬蜜罐。
對比物理蜜罐而言,虛擬蜜罐要容易的多。可以在一臺計算機上部署數千個蜜罐,代價低廉,幾乎所有人都可以很容易的使用它們,並且使得其更加容易維護以及較低的物理需求。很多時候我們會使用VMware或者使用者模式的Linux (UML)等來建立虛擬蜜罐,這些虛擬系統工具可以在一臺物理計算機上執行多個蜜罐系統及應用程式來收集資料。
虛擬蜜罐通常會模擬出真實的作業系統,並將其部屬在一臺宿主主機上。在虛擬系統中虛擬出漏洞,產生虛假的流量,偽裝不存在的檔案地址,儲存真實但無意義的檔案,對網路中的各種資訊進行模擬等,來更好的吸引入侵者的攻擊虛擬蜜罐。
一是IP地址的空間欺騙。用一臺主機就可以完成,利用在一個網路卡來分配複數個IP地址,並對每一個IP地址配置單獨的MAC地址,可以完成多個主機的虛擬。
第二個是模擬網路流量。因為虛擬蜜罐在一般情況下不會與其他主機主動進行互動,也就沒有任何的網路流量,容易被入侵者根據這一點識破虛擬蜜罐。所以產生方針流量以後,可以欺騙入侵者,使入侵者無法透過對流量的觀察來判斷虛擬蜜罐的存在。
第三個是系統的動態配置。在正常狀態下,一個虛擬蜜罐的狀態是靜態的,沒有互動和網路流量,一些有經驗的入侵者可以透過觀察系統的狀態來判斷是否是虛擬蜜罐。而系統的動態配置正是針對這一點,虛擬蜜罐的系統狀態會不斷的發生變化,會盡可能的模擬一個真實系統的行為,防止入侵者輕易的就發現虛擬蜜罐,導致其失去作用。
第四個是組織資訊欺騙。可以在虛擬蜜罐裡設定一些個人資訊,或者儲存一些沒有意義的虛假資訊、檔案等,可以讓虛擬蜜罐看起來更像是一個有人使用的真實系統,增加對入侵者的迷惑性。
第五個是埠重定向技術。這種技術可以對地址進行數次轉換,區別真實和虛擬網路,也可以對常用埠進行重定向,達到隱藏這些埠的目的。
當多個蜜罐組成網路時稱為密網,而一個密網的核心是蜜牆,也就是密網閘道器。蜜牆主要功能:
資料捕捉:可以在不被入侵者察覺的情況下,對密網內所有的活動和網路資料資訊進行捕捉。
資料控制:對進出密網的資料進行流量控制。這樣可以在內部蜜罐被攻破以後,確保其所有的活動依然被限制在蜜網之內。
資料分析:幫助密網管理者簡化捕捉資料分析,並可以幫助計算機和網路取證。
常用的實現虛擬蜜罐的技術主要有VMware、使用者模式Linux、Argos、LaBrea、Honeyd等。
(1)VMware技術
VMware公司是老牌的虛擬化軟體公司之一,其提供了多種虛擬化軟體應對不同的狀況。虛擬化軟體表示軟體可以模擬一個完整的計算機系統,並且可以在同一個虛擬機器上可能執行多個不同的作業系統。下面介紹VMware公司的一些產品,這些VMware產品相互之間的不同點。
實際安裝VMware 的物理機器,執行VMware程式的計算機和作業系統例項稱為主機(或宿主主機)。執行在虛擬機器內部的作業系統被稱為客戶系統或客戶虛擬機器。兩種系統之間的互動是完全透明的,例如在主機和客戶系統之間,使用 VMware可以共享資料夾、複製貼上各種檔案。
虛擬系統起到一個類似於模擬器的作用,主機的物理CPU和記憶體資源可以被主機與客戶虛擬機器共享,但同時客戶作業系統也可以從VMware中分配到一套完整的虛擬硬體資源。例如,在多個客戶系統中,一套相同的虛擬硬體資源可以被所有的客戶系統所使用,就像同一配置的多臺計算機安裝不同的作業系統,而且這些虛擬硬體可以在不超過客戶虛擬機器配置的情況下任意的進行設定,不需要考慮真實物理硬體資源,這些硬體資源都可以連至主機系統。
(2)使用者模式Linux
使用者模式Linux 是另一種可以用來建立虛擬蜜罐的系統,用法十分簡單,但是與VMware相比,主要缺點就是它只能模擬Linux系統。
UML是一個Linux核心的體系結構埠,系統內稱為介面。Linux核心本身可以作為一個使用者程式來執行,實際的Linux核心(主機系統〉執行另外一個Linux(客戶系統)例項,把它作為一個程式。這個過程與VMware 中的虛擬機器類似,每一個UML例項都是一個完整的虛擬機器,與一個真實的計算機幾乎沒什麼區別。於是就有了一個簡單的方法來實現虛擬機器,直接使用UML建立一個虛擬蜜罐,獲得一個虛擬系統提供的所有優點。在配置或穩定性上,客戶系統不會影響到主機系統。UML的塊裝置,也稱為磁碟,通常是主機檔案系統上的檔案,不會影響儲存正常資料的本地塊裝置。
UML作為一個作業系統只能執行在Linux上,所以如果執行Windows 或其他系統的時候,不能使用這種方式建立蜜罐。看起來只能選擇Linux系統缺點很嚴重,但也並非沒有好處,使用UML可以方便的建立許多不同的執行Linux的蜜罐。由於UML的塊裝置是正常的檔案,客戶系統使用這一檔案(通常稱為根檔案系統)作為一個完整的檔案系統,可以很容易的把一個UML例項從一臺機器上移植到另一臺機器上。UML 的另一個選項實用性也很強,能夠在寫時複製(copy-on-write,COW)模式下使用檔案,UML例項在只讀模式下使用跟檔案系統,把所有的更改寫入到一個單獨的檔案中-COw檔案,使得幾個蜜罐可以同時使用一個根檔案系統,即可以節省磁碟空間,又可以便於維護管理。
(3)ARGOS
荷蘭阿姆斯特丹自由大學的研究人員開發了一種新型的虛擬高互動蜜罐,該工具被稱為Argos,能夠自動檢測零天(zero-day)攻擊,也就是尚無補丁的攻擊。他們使用一種名為動態汙點分析的技術來監測蜜罐:第一步,標記所有透過網路接收到的資料,透過記憶體追蹤這些標記資料,一旦這些標記資料被使用,影響了執行流程,Argos檢測到這些併產生一個攻擊的記憶體痕跡。相對於其他虛擬蜜罐解決方案,Argos不只是執行客戶虛擬機器,同時還密切監測蜜罐,試圖及時發現攻擊者成功攻陷蜜罐的切入點。
動態汙點分析是Argos技術的核心,這種技術根本在於觀察,一個攻擊者控制一個給定程式的執行流程,他一定會是使用某種方式影響它,但不論是何種方式,攻擊者都必須向程式傳送一個不正常的輸入,這樣的資料必定會影響執行流,例如,跳轉到攻擊者提供的資料。
在這一過程中,動態汙點分析發揮作用,一個程式的所有外部輸入都被當作汙點被標記。在分析過程中,密切監視和檢查所有汙染變數的使用,當一個汙染變數透過其他操作得到的結果也被認為受到汙染:但如果一個汙染變數被賦予一個固定值,則認為該變數不再是受汙染變數。這樣就可以跟蹤外部輸入的使用,一旦這種汙染輸入用於改變執行流,就可以被檢測出來。對Argos 來說,它產生的資訊轉儲包含引起正常執行流偏離的相關資訊。這個方法對檢測網路攻擊靈敏度很高,而且我們檢測攻擊無需任何先驗知識。當一個攻擊發生時,我們可以精確地檢測到,透過分析確定導致該事件的原因。
(4)LaBrea
由Tom Liston 創作的LaBrea,因引入了一個tarpit概念而聞名。tarpit是一種服務,作用是透過使TCP連線非常緩慢或完全停止它們的程式,試圖減緩垃圾郵件傳送者傳送速度甚至是蠕蟲的傳播速度,雖然 tarpit並不能減緩更高階的蠕蟲傳播,然而,對於順序操作的簡單蠕蟲tarpit具有良好的作用。
在網路上執行LaBrea時,它會發現空閒的IP地址,並代替它們應答連線。一旦連線被建立起來,LaBrea會透過在TCP協議中採用技巧而儘可能長時間地黏住傳送者,這樣建立的連線會進入到一種不能再取得任何進展的狀態。拖延連線的原因很簡單,垃圾郵件或病毒傳送者在伺服器上每多維持一個連線,就減少了向真正的主機傳送垃圾郵件的可用資源。
為了檢測一個IP地址是否可用,LaBrea利用ARP協議。每當路由器試圖向一個IP地址交付一個資料包時,它首先需要找到相應的MAC地址,如果沒有主機監聽這一IP地址,ARP不會獲得應答。
例如:12:20:40.439476 arp who-has 192.168.1.123 tell 192.168.1.2
由於ARP在整個網路上進行廣播,LaBrca 監視來自路由器的ARP請求,如果網路中沒有主機相應IP地址192.168.1.123,LaBrea就會傳送自己的應答:
12:20:42.356431 arp reply 192.168.1.123 is-at 00:3c:2f:1e:52:7a
現在路由器收到了一個MAC地址,就會把這個資料包以及後去的資料包傳送給LaBrea 主機。但當一個主機重新啟動,它可能會使用一個已經被LaBrea佔用的IP地址,不過重啟的主機會傳送一個無需應答的ARP請求,通知網路上的所有人新的IP地址和MAC的繫結,那麼LaBrea將會放棄該IP地址。LaBrea接受網路上所有空閒的IP地址的TCP連線,當它收到一個SYN包,它就會透過完成TCP 三次握於建立一個連線,然後拖延這個連線。LaBrea支援兩種放慢連線傳輸速度的方法:
視窗調節:LaBrea接受一個新的連線,但會公佈一個非常小的接收視窗。接收視窗指示傳送者,每個資料包不能傳送大於視窗允許長度的資料。當採用視窗調節時,連線仍然在繼續,但當一個1000位元組長度的包被要求以10個位元組長度位單位進行傳輸,顯然傳輸時間會變得非常漫長,速率會變的非常緩慢。
持久捕捉:LaBrea 公佈一個TCP接收視窗的大小為0,指示傳送者在繼續傳送資料前等待。傳送者週期地回訪,傳送視窗探測資料包,以確定接收視窗是否再次開啟,這種狀態可以一直持續下去。
當垃圾郵件傳送者試圖透過一個La Brea 蜜罐傳送電子郵件時,SMTP事務將不產生或者產生很小的程式,一個啞垃圾郵件傳送者將保持該連線,浪費網路資源。最終,垃圾郵件傳送者一旦發現和 La Brea會話沒有取得進展,它可能走掉。
當我們使用DHCP用於IP地址動態分配,LaBrea將接管DHCP地址範圍內目前尚未使用的地址。DHCP伺服器在分發一個IP地址前,往往首先ping該地址,但是LaBrea對ping 的響應會干擾DHCP伺服器的判斷。隨著時間的推移,使用者歸還了他們租用的IP地址,最後LaBrea將接管整個DHCP地址空間。所以一個使用者需要知道哪些地址是被他的DHCP伺服器使用,並在配置檔案中排除它們。
(5)Honeyd
Honeyd是一種框架,可以把數千個虛擬蜜罐及對應的網路整合到一起。通常我們使用Honeyd整合現有網路上所有未分配的IP地址,對每一個IP地址,都可以設定Honeyd模擬不同的計算機行為。
一般的來說,當一個蜜罐只使用一個IP地址時,可能需要相當長的一段時間才可以探測到攻擊,但當你擁有的IP地址多達成百上千時,可以大大加快被攻擊的速度,這就是Honeyd的作用,以一個低互動虛擬蜜罐的框架,在一個網路或者Internet 上建立數千個虛擬蜜罐,充分的利用未分配的網路地址,來更多的觀察攻擊行為,或者用來阻止入侵者攻擊真實系統。
Honeyd透過路由器或代理ARP為其虛擬蜜罐接受流量,對於每一個蜜罐,Honeyd可以模擬不同的作業系統的網路棧行為。
Honeyd的特性
Honcyd可以同時模擬數幾千個不同的虛擬主機:入侵者可以透過網路與每一個單獨的主機進行互動。可以透過配置Honeyd得到每個主機的不同行為。
透過配置檔案可以配置任意服務:當入侵者與虛擬主機進行互動時,Honeyd可以提供與對手互動的任意程式,這些程式服務都可以使用配置檔案進行配置。無論何時Honeyd收到一個新的網路連線,都可以及時啟動事先配置好的服務或者程式,回應入侵者。即使不執行相應的程式,Honeyd也可以作為代理將連線轉接到其他主機上,或者採用類似於被動指紋識別的功能,識別遠端主機和負載的隨即取樣。
在TCP/IP協議棧層次模擬作業系統:這一特性允許Honeyd 欺騙Nmap和 Xprobe,讓他們相信一個虛擬蜜罐上正執行著各種配置的作業系統。組建自由路由拓撲:路由拓撲可以任意複雜,可以配置延遲、丟包和頻寬等特徵。Honeyd支援非對稱路由、物理機器整合到一個虛擬拓撲中,以及透過GRE隧道的分散式操作。
子系統虛擬化:利用子系統,Honeyd可以在一個蜜罐的虛擬空間下執行真正的UNIX應用,如Web伺服器、Ftp伺服器等等。這一特徵也允許虛擬地址空間內進行動態埠繫結和網路連線的後臺初始化。
Honeyd的體系結構
Honeyd使用一個簡單的體系結構,一箇中央包分發器接受所有入侵者的網路流量,基於實現確定好的配置,對收到的資料流量來建立不同的服務程式處理,為了匹配所配置作業系統的特徵,使用個性引擎所修改傳送出去的網路資料包。
雖然透過對Honeyd 的配置可以控制它的每一個方面,但是三個重要特徵決定了Honeyd的整體行為:
一是入侵者只能從網路中與Honeyd進行互動,我們的基本假設是入侵者不能走近計算機或者鍵盤進行登入,因為任何一個Honeyd模擬的蜜罐沒有與之對應的物理計算機,Honeyd不是模擬作業系統的每一個方面,只有模擬其網路堆疊所以入侵者永遠無法獲得對一個完整系統的訪問,但是可以透過與虛擬機器如 VMware相結合,減小Honeyd的這一問題。
二是Honeyd 可以在網路上佈置大量的虛擬蜜罐,即使分配大量的IP地址Honeyd也都能模擬出,可以具有不同的作業系統和服務,也可以模擬任意的網路拓撲結構,並支援網路隧道。
三是可以欺騙指紋識別工具,Honeyd可以反轉指紋識別工具的資料庫,找到資料庫中指紋識別的特徵,當一個蜜罐需要傳送一個網路資料包時,可以透過查詢資料庫,改變所有的數出資料包內容,使它們與配置的作業系統特徵相匹配。
結語:
虛擬蜜罐技術具有物理蜜罐技術的諸多特性,並可以在單一的系統中執行成百上千個虛擬蜜罐,還可以新增諸多應用程式,如網路誘餌、蠕蟲探測、垃圾郵件阻止、網路模擬等。相對於物理蜜罐複雜的部署、高額的費用、超長的耗時,虛擬蜜罐技術作為蜜罐技術的突破性解決方案讓網路安全防護成本降低、效率增加,在網路安全技術方面也同樣有著重要的作用。
相關文章
- 虛擬現實技術2019-05-11
- 虛擬化四、KVM虛擬化技術2019-03-30
- web技術分享| 虛擬列表實現2022-09-14Web
- 虛擬模擬部署新方案-畫素流技術2021-08-05
- 淺談GPU虛擬化技術(四)- GPU分片虛擬化2018-06-11GPU
- 淺談GPU虛擬化技術(四)-GPU分片虛擬化2018-06-04GPU
- 元宇宙技術對於虛擬模擬應用的影響2024-01-23元宇宙
- 虛擬模擬技術給醫療行業帶來新突破2022-08-19行業
- 淺談GPU虛擬化技術:GPU圖形渲染虛擬化2018-06-11GPU
- Linux虛擬網路技術2020-08-28Linux
- 虛擬化技術概述(一)2020-12-07
- Docker技術( 容器虛擬化技術 )2019-10-18Docker
- vue3模擬虛擬列表2020-09-29Vue
- 虛擬化技術之kvm虛擬機器建立工具virt-install2020-08-18虛擬機
- 虛擬化技術之kvm虛擬機器建立工具qemu-kvm2020-08-21虛擬機
- 阿里雲視訊雲互動虛擬技術,打造虛擬直播最佳沉浸式體驗2022-04-26阿里
- Linux 虛擬網路卡技術:Macvlan2019-04-01LinuxMac
- 網路虛擬化技術棧2018-04-21
- 虛擬模擬教學使用點量雲流化技術有哪些好處2021-07-07
- 從天性到神性:虛擬現實的過去與未來2019-11-01
- 使用DiskGenius工具來實現物理機遷移虛擬機器,實現虛擬化2024-04-30虛擬機
- 虛擬函式 純虛擬函式2020-12-11函式
- 虛擬函式,虛擬函式表2018-08-07函式
- 虛擬化技術之kvm基礎2020-08-14
- 反虛擬機器技術總結2018-04-08虛擬機
- Dalvik虛擬機器、Java虛擬機器與ART虛擬機器2018-08-22虛擬機Java
- 淺析蜜罐技術2022-09-28
- Android studio虛擬模擬器安裝問題2021-01-03Android
- 從rm到linux虛擬檔案系統2019-01-25Linux
- VM 虛擬機器linux從主機複製檔案到虛擬機器錯誤2024-06-26虛擬機Linux
- 虛擬機器arm虛擬環境搭建2018-09-08虛擬機
- 虛擬函式的實現原理2018-12-05函式
- VR虛擬現實技術在展廳中呈現的優勢2022-09-05VR
- 2023 SDC 議題預告 | 虛虛實實——深入研究汽車虛擬化技術2023-10-19
- 數字展館中虛擬現實技術的使用優勢2023-05-11
- VR虛擬現實技術在展館中使用的意義2023-02-07VR
- 恆訊科技分析伺服器虛擬化技術是啥?常見虛擬化架構有幾個?2021-08-02伺服器架構
- vite 虛擬模組初識2024-11-13Vite