王晶
摘 要:在網絡無所不在大數據時代,信息安全成為重要的事件,網絡監聽像是一把雙刃劍,既能防止信息泄露,也能盜取網絡信息,本文闡述了網絡監聽的基本原理,討論了監聽的實現與檢測技術,分析了對監聽的防范方法,對提升網絡安全、保證信息隱私等方面都具有參考作用。
關鍵詞:網絡安全;監聽;實現;防范
中圖分類號:TP3-05 文獻標識碼:A
1 引言(Introduction)
在網絡的大數據時代,海量的信息鋪天蓋地,如何保證這些信息的安全,成為我們必須重視的問題。我們經常聽說某銀行儲戶信息泄漏,某連鎖企業用戶住宿信息泄漏等等,還有身邊同事朋友的QQ號、微信號被盜,甚至某人被騙取錢財的“新聞”,我們大多人只是知道這件事,而不知道事情背后的原因,這時候我們有必要了解下“監聽”這個詞。
先用一個我們日常生活中經常出現的例子來說明監聽的過程。企業召開領導干部會議,董事長布置各部門的任務,部門領導記錄自己負責的任務,但對別的部門任務忽略不記,如果這時候會場某個其他身份的人員也在聽,但他一字不漏地將董事長的話全部記錄下來,然后進行整理匯總,提取對自己有用的信息使用,那么,這個人在這里就扮演著“監聽”的角色。這個故事延伸到網絡中,也是同樣的道理,網絡信息發布采用廣播的方式,在一定范圍的網絡中,所有的終端機器都能接收到,但只有信息指向的目標機器才會真正接收,其他終端機器一看不是自己的信息就直接忽略,這時候如果有一臺機器做了特殊處理,將網絡中所有傳播的信息全部接收下來,然后進行分析處理,這臺機器就在扮演著“監聽”的角色。
2 監聽技術的分析(Analysis of monitoring
technology)
2.1 監聽技術的由來
網絡監聽技術是負責網絡安全的管理員用來管理網絡的一種工具,它和其他安全工具一樣,主要負責管理網絡即時狀態、數據傳播與流動、信息異常等非正常網絡變化情況。局域網中各臺主機之間傳送信息主要通過廣播的方式,在某個網域范圍中,監聽技術一方面可以幫助網絡安全管理人員監測其維護范圍內網絡的狀態、數據流動情況以及網絡上傳輸的信息,但另一方面,監聽技術也可以幫助黑客以不正當手段竊取網絡上的所有信息,這樣,監聽技術還擔負著對黑客入侵活動和其他網絡犯罪進行偵查、取證[1]。
2.2 監聽技術的原理
網絡協議采用的工作方式是把要發送的信息數據包發往連接在一起的所有主機,在數據包頭中指定要接收該數據包的主機的地址,按協議規定,只有數據包頭中的地址與主機地址完全對應上后該主機才能接收數據包,但當某臺主機工作的監聽狀態下,就跳過檢測地址這一環節,這臺主機就可以接收所有數據包了,并全部傳遞到上一個協議層,當數據包的信息以明文的形式傳播的時候,所有的信息都將毫不設防地展現在接收者面前,遺憾的是,部分局域網上的數據信息大多都是以明文的方式傳播的。當某連鎖企業將數據信息發往另一臺主機的時候,如果正好有一個黑客或網絡不法分子承監聽,那么就不難理解為什么會出現客戶食宿信息泄漏的問題了[2]。
2.3 監聽的實現方法
實現網絡監聽的最基本要求就是對網卡進行設置,使其工作在混雜模式下,普通模式下的網卡必須檢測數據包攜帶的地址,只有完全相同,本臺機器才能接收這個數據包,但工作在混雜模式下的網卡,直接跳過檢測這個環節,對所有經過的數據包來者不拒,全部接收。所以,這要設置網卡的工作模式就可以實現網絡監聽。下面介紹三種設置網絡工作模式的方法。
(1)使用原始套接字(row socket)方法:首先創建原始套接字,然后使用setsockopt()函數進行IP頭操作選項的處理,再使用bind()函數對主機網卡和原始套接字進行駁接綁定,最后,為了讓原始套接字能夠最大限度地接收經過本網絡卡的數據包,再使用ioctlsocket()函數處理,此時,該主機就可以進行網絡監聽了。這種方法相對容易,但功能也相對較弱,只能對運行在較高層次上的數據包進行接收和處理。
(2)使用NDIS庫函數,NDIS庫函數有22種近300個函數,比如MiniportWanSend,表示如果驅動程序控制著WAN NIC,通過網絡接口卡發送一個包到網絡上。這種方法比較復雜,功能比較強大,但是相對來講風險較大,一不小心,可能導致系統崩潰和網絡癱瘓。
(3)使用中間層驅動程序,這種中間層程序可以是自行編寫的,也可以使用微軟提供的win2000 DDK。
(4)使用第三方捕獲組件或者庫,比如Wnpcap。
3 監聽的檢測(Monitor detection)
網絡監聽是一種被動的接收,很難發現,就像你將聲音發出后,不能確定誰在聽,誰沒有聽,也不能確定誰聽取了什么內容,接收信息的機器都是被動接收同,沒有信息交換,沒有修改傳輸,所以識別監聽相對比較困難,這里討論幾種常規的檢測方法[3]。
(1)發送大量無地址或錯地址的數據包,然后比較發送前后某臺機器的運行狀況,如果該機器綜合性能明顯降低,該臺機器很可能運行機制了監聽程序,因為監聽程序要接收并處理數據包的海量信息,這樣會占用機器的資源,所以綜合性能就會下降。
(2)用錯誤的IP地址ping,如果某臺機器對于錯誤的地址也有響應,則可以判定這臺機器運行了監聽程序,這是因為正常的機器不接收錯誤的物理地址,處于監聽狀態的機器能接收。
(3)使用第三方檢測工具,比如Antisniffer就是一個常用的安全監視工具,用來監測網絡內的主機的網卡是否處于混雜模式,以此來判斷該機器是否在運行監聽程序。
4 監聽的防范(Monitoring prevention)
4.1 網絡分段
網絡分段是一種比較簡單的經濟的防范方式。它的基本原理是將一個大的物理范圍網絡劃分為多個邏輯范圍子網絡。網絡分段目的是將非法用戶與敏感的網絡資源相互隔離,從而防止可能的非法監聽。一個網段就是一個小的局域網,監聽的機器只能在在屬于自己的小網段內監聽,不會聽到別的網段內的信息,減少安全隱患。這就像會議的分組討論,一個“間諜”只有在一個小組內部監聽,不能監聽到別的小組,而不同小組討論的信息內容是不一樣的,這樣減少信息被盜取的范圍和程度。
4.2 “以交代共”
這里的“交”指的是交換式集線器,“共”指的是共享式集線器。交換式集線器也叫交換機,它通過對信息進行重新生成,并經過內部處理后轉發至指定端口,也就是說使用了交換機后可以直接將信息唯一性地發住目標機器,這樣監聽機器就不能聽到傳播的信息,從而對監聽進行有效的防范。就像點對點的電話通訊,發送者和接收者通過單線聯系,別人聽不到自己在說什么,從而保證信息的安全。
4.3 建立虛擬局域網
虛擬局域網(VLAN),是指網絡中的站點不拘泥于所處的物理位置,而可以根據需要靈活地加入不同的邏輯子網中的一種網絡技術。建立了虛擬局域網后,各虛擬網之間不能直接進行通訊,而必須通過路由器轉發,為高級的安全控制提供了可能,增強了網絡的安全性。可以防止大部分基于網絡監聽的入侵。這樣即使有某一臺機器在執行監聽功能,但其可能不確定在某個邏輯子網,從而監聽不到特定的數據信息,并且高層次的安全控制手段再落實到位,可能不論在哪個邏輯子網都無法監聽到信息[4]。
4.4 信息加密
信息加密技術日益成熟,人們的安全意識也日漸增加,所以信息加密在目前年看來是一種簡單可行的方法,我們只要在網絡上傳輸信息就一定要加密,經過加密的數據即使被監聽者捕獲到,但得到的信息都是亂碼,從而變成一堆無用的垃圾。如果監聽者要對捕獲的加密信息進行解密,那又將大大加重監聽者的成本,特別是現在先進的加密技術下,監聽到的數據信息有用的可用的將越來越少。
5 結論(Conclusion)
本文概括了網絡監聽的由來,描述了監聽的實現方法,討論了監聽的防范,通過分析,我們可以知道,網絡監聽技術作為計算機信息安全管理的一種工具,總是扮演著正反兩方面的角色,就像電的發明一樣,在給人類帶來無限光明的同時,也存在著危險,關鍵在于如何使用。對于網絡安全管理者來說可以檢測和追蹤非法監聽者,在與入侵者的斗爭中發揮重要的作用。而對于入侵者來說,通過網絡監聽可以很容易地獲得有價值的關鍵信息,如銀行的賬號密碼等。隨著計算機網絡技術的發展,使用網絡的人會越來越多,非法監聽的人也會越來越多,我們應該使用好“監聽”這把雙刃劍,更好地維護計算機網絡的安全與高效。
參考文獻(References)
[1] 王宇,張寧.網絡監聽器原理分析與實現[J].計算機應用研究,2003,38(7):142-144.
[2] 張小斌,嚴望佳.網絡安全與黑客防范[M].北京:清華大學出版社,1999.
[3] 方欣,劉仰華.計算機網絡系統集成[M].北京:中國水利水電出版社,2005.
[4] 賀龍濤,方濱興,云曉春.網絡監聽與反監聽[J].計算機工程與應用,2001,18:20-21.
作者簡介:
王 晶(1984-),女,本科,助講.研究領域:網絡安全.