時至今日,許多企業和政府機構都建有通信隔離網絡或者在不同網絡之間使用受限數據流。這些計算機網絡都是針對特定環境創建的,因為這些環境中可能包含非常特別或者非常重要的信息,比如工業控制系統、處理特定數據的高度安全環境或者符合安全標準的生產網絡等。在當代網絡安全歷史上,發生過諸如震網(Stuxnet)的惡意軟件滲透進核電廠隔離網絡中的真實事件。鑒于這個案例,我們可以看出,如果只是單純地將計算機網絡與其他網絡斷開是遠遠不夠的(不管是通過斷開網線還是斷開WiFi連接方式)。任何類型的外部連接都有可能給計算機帶來安全風險。本文分析了此類隱藏網絡(Hidden Network)的可能性,介紹了如何檢測此類網絡的方法,并且介紹了如何在企業網絡中對此類網絡進行防護。
一、網絡連接的安全風險
就數據網絡安全方面而言,人們趨向于使用基于鏈路層的網絡連接(如以太網、WiFi連接等等)來分析網絡安全性。企業網絡的復雜度遠遠超過這類網絡,因此我們需要從多個角度分析企業網絡的安全性。
對企業數據網絡的流量分析是理解企業網安全性的主要方法。此外,我們也可以對使用常見協議的網絡節點進行搜索分析,以了解企業網的安全性,這些節點往往是提供重要服務或者承擔關鍵作用的節點。基于這些背景知識,我們可以得出結論,那就是基于風險的網絡分析可以根據不同的準則在企業網安全方面為我們提供豐富的數據及信息。
以直觀的方式映射網絡結構是理解網絡節點和網絡設置的最佳選擇,因此,這種情況下,使用遠程測量方式來分析網絡安全風險是非常必要的一種選擇。通過分析網絡上交換的數據,我們能夠更好地理解網絡整體結構以及網絡內部的安全威脅。

圖1. 反映不同節點以及節點連接情況的網絡拓撲圖
節點的表示方法以及節點的連接結構對網絡內部不同邊界的勾畫來說特別重要,合適的表示方法可以在抵御入侵行為、檢測攻擊活動或者預先實施安防措施方面起到非常大的作用。
問題在于對網絡的理解上。在許多情況下,人們將網絡定義為一組連接在一起的計算機,各個節點之間可能通過不同的技術或者協議相互通信。在大多數情況下,普通用戶或者系統、網絡管理員樂于通過以太網或WiFi方式連接到不同機構的計算機上,本文針對的并不是這種場景。當某個組織沒有對USB設備的使用做出限制時,它就容易受到隱藏網絡的威脅。攻擊者可以使用USB設備創建隱藏網絡,在物理或邏輯隔離的計算機之間進行通信。
1.1 網絡隔離及USB連接
我們通過一個簡單的案例,使大家更好理解基于USB設備的隱藏網絡的危害。假設某個組織的網絡由3種類型的VLAN(虛擬局域網)組成,第一個VLAN包含:
1、計算機A。該計算機與同一VLAN的其他計算機相連。
2、計算機B。該計算機與同一VLAN的其他計算機相連。
第二個VLAN包含:
1、計算機C。該計算機與同一VLAN的其他計算機相連。
2、計算機D。該計算機與同一VLAN的其他計算機相連。
3、計算機E。該計算機與同一VLAN的其他計算機相連。
第三個VLAN包含:
1、計算機F。該計算機與同一VLAN的其他計算機相連。
網絡拓撲大致如下圖所示,從中我們可以看到VLAN對計算機的隔離效果。假設該機構的員工使用USB設備來傳輸數據,那么這些數據很有可能會從一個VLAN中的計算機傳輸到另一個VLAN中的計算機。USB設備本身就是一個安全威脅源,可以在組織內部創建一個隱藏網絡。

圖2. 計算機在不同VLAN中的連接情況
假設計算機F以及計算機E正在使用USB設備來交換信息,此時這兩臺計算機之間正在創建一個隱藏網絡。這一情況可以使用兩個節點(E和F)以及從USB設備來源主機到第二臺主機之間的一條有向弧邊來表示。

圖3. 在已有網絡拓撲上形成的一個覆蓋型(overlapping)隱藏網絡
二、操作系統中的USB設備連接情況
當某個USB設備在兩臺主機之間交叉連接時,這種情況就類似于植物的“授粉”現象。這原本是生物學領域的一個概念,這里指的是不同主機間通過USB設備交叉傳遞安全威脅或風險(即使這些主機不處于同一網絡中)。
當用戶連接USB設備時,Windows注冊表中會創建一系列鍵值。這類信息價值很高,比如,在安全取證中,分析人員可借此了解信息泄露的源頭或者在安全事件發生后進行溯源。
Windows系統注冊表中的USBStor鍵值用于保存插入當前計算機的所有不同設備的信息。當某個USB設備插入到某臺主機中時,我們可以在USBStor鍵值中找到這個設備的信息,這些信息足以用來識別這個USB設備。

圖4. 已插入的USB設備在注冊表中留下的信息
當USB設備插入到某臺主機中時,我們可以收集到以下信息:
1、設備名
2、設備類型(Class)
3、設備類型的唯一標識符(ClassGUID)
4、設備所提供的服務,如硬盤服務
5、驅動
6、其他信息
2.1 隱藏鏈接:如何探測此類網絡
了解了微軟操作系統保存USB設備相關信息的位置及具體方式,我們就能知道是那些主體在共享這個USB設備。這樣一來,我們可以使用兩個節點來表示兩臺主機,使用一條弧邊來表示這兩臺主機之間的連接。正是由于隱藏鏈接(Hidden Link)的存在,我們才能發現隱藏網絡。此外,由于我們可以從操作系統
|