專利名稱:用于檢測及處理仿冒網絡服務的方法
技術領域:
本發(fā)明一般涉及數(shù)據(jù)通信技術,特別涉及一種用于檢測和處理仿冒網絡服務的方法。
背景技術:
現(xiàn)代社會已經進入信息社會,而通信網絡作為信息的載體,已經應用到整個社會的每一個方面。常用的通信技術有以太網、令牌網、FR(幀中繼)、IP(因特網協(xié)議)、ATM(異步傳輸模式)等等。常用的通信網絡有以太網組成的局域網、TCP/IP組成的廣域網和Internet等等。
以以太網為例,圖1示出了其常見的網絡組網方式。如圖1所示,利用以太網技術,計算機的網卡和LAN Switch(以太網交換機)通過網線相連,一個LAN Switch可以接多個計算機,LAN Switch(以太網交換機)通過以太網線路接到核心網中,比如企業(yè)局域網、城域網等。
在實際的組網中,可以有多種組網結構。在實際組網中,PC(個人計算機)可以直接接在LAN Switch上,也可以通過HUB(集線器)、LAN Switch等設備級聯(lián)到LAN Switch上。PC也可以通過VDSL(甚高速數(shù)字用戶線路)與VDSL Switch(VDSL交換機)相連,其中,在VDSL線路中傳遞的是以太網格式的報文。在無線局域網中,可以使用但不限于802.11、802.11a、802.11b、802.11g等無線以太網協(xié)議來連接PC和AP(無線接入點)。PC也可以通過ADSL(不對稱數(shù)字用戶線路)設備連接到網絡中。綜上所述,PC可以通過但不限于LAN Switch、AP、VDSL、ADSL等方式接入網絡。
在網絡中,有的設備提供服務,有的設備使用服務。提供服務的設備一般稱為服務器,使用服務的設備一般稱為客戶端。特別是,有些設備可能同時提供服務也使用服務,因此,它可能同時是客戶端和服務器。
網絡服務分類很多,按照ISO網絡層次模型,結合現(xiàn)網廣泛應用的以太網和IP技術,將網絡服務分為二層服務和三層以上的服務。二層服務指的是數(shù)據(jù)鏈路層以下的服務,常用的服務包括但不限于PPPoE(以太網承載PPP協(xié)議);三層以上的服務指的是網絡層以上的服務,其常用的服務包括但不限于DHCP(動態(tài)主機配置協(xié)議)。
PPPoE通過在以太網網上進行協(xié)商,建立一個PPP連接。圖2示出了典型的PPPoE組網圖。圖3則示出了PPPoE的協(xié)商過程,如圖3所示,PPPoE的協(xié)商過程如下1)客戶端向服務器發(fā)送一個PADI(PPPoE初始報文)報文,開始PPPoE接入的開始;2)服務器向客戶端發(fā)送PADO(PPPoE提供報文)報文;3)客戶端根據(jù)回應,發(fā)起PADR(PPPoE請求報文)請求給服務器;4)服務器產生一個session id,通過PADS(PPPoE會話報文)發(fā)給客戶端。
經過上述過程之后,客戶端和服務器已經成功完成了PPPoE協(xié)商,進而可以為后續(xù)的工作提供服務。
另一方面,圖4示出了典型的同一子網內的DHCP服務組網圖。圖5則示出了一種同一子網內的DHCP協(xié)商過程。如圖5所示,DHCP協(xié)商的過程如下1)客戶端向服務器發(fā)送一個DHCPDISCOVER(DHCP發(fā)現(xiàn)報文)報文,開始DHCP主機配置過程;2)服務器向客戶端發(fā)送DHCPOFFER(DHCP提供報文)報文。如果網上有多臺DHCP服務器,每個服務器都會回應這個報文;3)客戶端根據(jù)回應,選擇一個DHCP Server,發(fā)起DHCPREQUEST(DHCP請求報文)請求給對應的服務器;4)服務器提供客戶端主機配置信息,通過DHCPACK(DHCP應答報文)發(fā)給客戶端;經過上述過程之后,客戶端和服務器已經成功完成了主機配置,進而可以為后續(xù)的工作提供服務。
圖6示出了另一種同一子網內的DHCP協(xié)商流程。如圖6所示,這種協(xié)商流程如下1)客戶端本身已經有IP地址等配置,但需要從服務器獲取其他主機配置,此時,向服務器發(fā)送一個DHCPINFORM(DHCP信息請求報文)報文,開始DHCP主機配置過程。
2)服務器向客戶端發(fā)送DHCPACK(DHCP應答報文)報文。
經過上述過程之后,客戶端和服務器已經成功完成了主機配置,進而可以為后續(xù)的工作提供服務。
圖7示出了典型的跨子網的DHCP服務組網圖。圖8則示出了一種典型的跨子網的DHCP協(xié)商過程。如圖8所示,這種DHCP協(xié)商的過程如下1)DHCP客戶端向DHCP中繼發(fā)送一個DHCPDISCOVER(DHCP發(fā)現(xiàn)報文)報文,開始DHCP主機配置過程。
2)DHCP中繼將此報文轉發(fā)到DHCP服務器。
3)DHCP服務器向DHCP中繼發(fā)送DHCPOFFER(DHCP提供報文)報文。如果網上有多臺DHCP服務器,每個服務器都會回應這個報文。
4)DHCP中繼此報文轉發(fā)到DHCP客戶端。
5)客戶端根據(jù)回應,選擇一個DHCP Server,發(fā)起DHCPREQUEST(DHCP請求報文)請求給DHCP中繼。
6)DHCP中繼將此報文轉發(fā)到DHCP服務器。
7)服務器提供客戶端主機配置信息,通過DHCPACK(DHCP應答報文)發(fā)給DHCP中繼。
8)DHCP中繼此報文轉發(fā)到DHCP客戶端。
經過上述過程后,客戶端和服務器已經成功完成了主機配置,進而可以為后續(xù)的工作提供服務。
圖9示出了另一種典型的跨子網的DHCP協(xié)商流程。如圖9所示,這種協(xié)商流程如下1)客戶端本身已經有IP地址等配置,但需要從服務器獲取其他主機配置,此時向DHCP中繼發(fā)送一個DHCPINFORM(DHCP信息請求報文)報文,開始DHCP主機配置過程。
2)DHCP中繼將此報文轉發(fā)到DHCP服務器。
3)服務器向客戶端發(fā)送DHCPACK(DHCP應答報文)報文。
4)DHCP中繼此報文轉發(fā)到DHCP客戶端。
經過上述過程后,客戶端和服務器已經成功完成了主機配置,進而可以為后續(xù)的工作提供服務。
隨著網絡的大量應用,加上目前網絡技術本身固有的安全性缺陷,網絡攻擊行為越來越多,其中一種就是利用仿冒服務器提供仿冒服務,這樣,仿冒服務器可以竊聽用戶所有信息,甚至可以提供非法信息破壞用戶正常的網絡應用。
圖10示出了一個典型的PPPoE仿冒服務器的組網圖。圖11則示出了仿冒PPPoE協(xié)商的流程圖。如圖11所示,這種仿冒PPPoE協(xié)商的流程如下1)客戶端向服務器發(fā)送一個PADI(PPPoE初始報文)報文,開始PPPoE接入的開始;2)服務器向客戶端發(fā)送PADO(PPPoE提供報文)報文;3)客戶端根據(jù)回應,發(fā)起PADR(PPPoE請求報文)請求給服務器;4)服務器產生一個session id,通過PADS(PPPoE會話報文)發(fā)給客戶端。
在上述過程中,客戶端會將仿冒的PPPoE服務器當作是正常的PPPoE服務器進行連接。由于用戶所有信息都要經過PPPoE服務器,因此,從理論上講,所有用戶發(fā)送的信息都可被仿冒PPPoE服務器截獲,PPPoE服務器可以竊聽、篡改、偽造用戶的數(shù)據(jù),也可以提供非法網絡信息破壞用戶正常的網絡應用。
圖12示出了一個典型的DHCP仿冒服務的組網圖。圖13示出了一種仿冒DHCP的服務流程。如圖13所示,這種仿冒DHCP的服務流程如下1)客戶端向服務器發(fā)送一個DHCPDISCOVER(DHCP發(fā)現(xiàn)報文)報文,開始DHCP主機配置過程;2)服務器向客戶端發(fā)送DHCPOFFER(DHCP提供報文)報文。如果網上有多臺DHCP服務器,每個服務器都會回應這個報文;3)客戶端根據(jù)回應,選擇一個DHCP Server,發(fā)起DHCPREQUEST(DHCP請求報文)請求給對應的服務器;4)服務器提供客戶端主機配置信息,通過DHCPACK(DHCP應答報文)發(fā)給客戶端。
圖14示出了另一種仿冒DHCP的服務流程。如圖14所示,這種仿冒DHCP的服務流程如下1)客戶端本身已經有IP地址等配置,但需要從服務器獲取其他主機配置,此時向仿冒服務器發(fā)送一個DHCPINFORM(DHCP信息請求報文)報文,開始DHCP主機配置過程。
2)仿冒服務器向客戶端發(fā)送DHCPACK(DHCP應答報文)報文。
在上述兩種仿冒服務流程中,客戶端將仿冒的DHCP中繼或者DHCP服務器當作正常的DHCP中繼或者服務器,進而從仿冒DHCP中繼/服務器處獲取了仿冒的主機配置信息。由于仿冒服務器可以通過配置仿冒信息,使得用戶所有信息都走仿冒DHCP中繼/服務器的機器,因此,從理論上講,所有用戶發(fā)送的信息都可能被截獲,仿冒DHCP中繼/服務器的機器可以竊聽、篡改、偽造用戶的數(shù)據(jù),也可以提供非法網絡信息、主機配置信息以破壞用戶正常的網絡應用。
目前,雖然有一些方法可以對仿冒網絡服務進行控制,例如,在部分三層以上的服務中,可以通過訪問控制列表對仿冒服務進行控制;在部分二層服務中,可以通過二層的隔離手段比如劃分VLAN來對仿冒服務進行控制,但是,這些方法只能控制仿冒的網絡范圍,而無法發(fā)現(xiàn)并仿冒服務的問題。也就是說,現(xiàn)在尚沒有很好的方法來統(tǒng)一地檢測、定位、處理仿冒服務器。只有在發(fā)現(xiàn)出問題之后,才知道有仿冒服務器進行仿冒服務擾亂正常的網絡應用。如果出現(xiàn)仿冒服務器竊聽用戶信息,除非客戶或者管理員通過其他方式發(fā)現(xiàn)信息被竊聽,否則將無法發(fā)現(xiàn)仿冒服務器。另外,如果出現(xiàn)仿冒服務器破壞正常網絡應用的情況,管理員只能在接到投訴或者告警之后再進行手工查找工作。
發(fā)明內容
因此,本發(fā)明就是針對現(xiàn)有技術中的上述問題而做出的,其一個目的是提供一種能夠及時有效地發(fā)現(xiàn)仿冒服務器的方法。本發(fā)明的另一個目的是提供一種能夠明確地提供用于定位仿冒服務器的信息,從而有效地定位仿冒服務器。本發(fā)明還一個目的是提供一種統(tǒng)一的檢測、定位、處理仿冒服務器的方法。
為了實現(xiàn)上述目的,根據(jù)本發(fā)明所述,它提供了一種用于檢測及處理仿冒網絡服務的方法,該方法包括以下步驟1)檢測網絡仿冒服務,發(fā)現(xiàn)仿冒服務器;2)對檢測到的仿冒服務器進行驗證,以確認它是仿冒服務器;以及3)根據(jù)經確認的仿冒服務器的網絡信息以定位出仿冒服務器的物理信息,進而確定仿冒服務器的歸屬用戶。
所述用于檢測網絡仿冒服務的步驟1)進一步包括以下步驟1-1)檢測仿冒服務信息;1-2)將全部檢測到的仿冒服務信息匯總;1-3)從所述匯總的仿冒服務信息中排出合法的服務信息;以及1-4)將剩余的仿冒服務信息匯總并通知給管理員。
在本發(fā)明的方法中,所述網絡仿冒服務可以為二層網絡仿冒服務。在所述網絡仿冒服務為二層網絡仿冒服務的情況下,所述用于檢測網絡仿冒服務的步驟1)進一步包括從用戶側或者網絡側對網絡仿冒服務器進行檢測的步驟。當從用戶側或者網絡側對網絡仿冒服務器進行檢測時,可以采用虛擬客戶端的方式。
在本發(fā)明的一個實施例中,所述二層網絡仿冒服務為PPPoE仿冒服務,在這種情況下,所述虛擬客戶端為PPPoE客戶端,該PPPoE客戶端通過收集網絡上返回的PPPoE報文信息并對其進行匯總,然后從匯總信息中排除合法的PPPoE服務器,從而找出仿冒的PPPoE服務器。
另外,在本發(fā)明的方法中,所述網絡仿冒服務還可以為三層以上的網絡仿冒服務。在所述網絡仿冒服務為三層以上的網絡仿冒服務的情況下,所述用于檢測網絡仿冒服務的步驟1)進一步包括從用戶側或者網絡側對網絡仿冒服務器進行檢測的步驟。在從用戶側或者網絡側對網絡仿冒服務器進行檢測時,可以采用端口掃描或者虛擬客戶端的方式。
在本發(fā)明的另一個實施例中,所述三層網絡仿冒服務為DHCP仿冒服務,在這種情況下,所述虛擬客戶端為DHCP客戶端,該DHCP客戶端通過收集網絡上返回的DHCP報文信息并對其進行匯總,然后從匯總信息中排除合法的DHCP服務器,從而找出仿冒的DHCP服務器。
通過利用本發(fā)明所提供的統(tǒng)一的檢測、定位、處理仿冒服務器的方法,就可以在出現(xiàn)問題之前及時有效地發(fā)現(xiàn)仿冒服務器,并且可以獲取被定位的仿冒服務器的信息,從而大大規(guī)范了仿冒服務器檢測的流程,有效地遏制仿冒服務器方式的網絡攻擊。
通過以下結合附圖對本發(fā)明實施例做出的詳細說明,本發(fā)明的上述目的、特征和優(yōu)點將變得更加清楚。在以下的附圖中圖1示出了常用的局域網的組網圖;圖2示出了典型的PPPoE組網圖;圖3示出了PPPoE的協(xié)商過程;圖4示出了典型的同一子網內的DHCP服務組網圖;圖5示出了一種同一子網內的DHCP協(xié)商過程;圖6示出了另一種同一子網內的DHCP協(xié)商流程;圖7示出了典型的跨子網的DHCP服務組網圖;圖8示出了一種典型的跨子網的DHCP協(xié)商過程;圖9示出了另一種典型的跨子網的DHCP協(xié)商過程;圖10示出了一個典型的PPPoE仿冒服務器的組網圖;圖11示出了仿冒PPPoE協(xié)商的流程圖;圖12示出了一個典型的DHCP仿冒服務的組網圖;圖13示出了一種仿冒DHCP的服務流程;圖14示出了另一種仿冒DHCP的服務流程;
圖15示出了根據(jù)本發(fā)明所述用于檢測及處理仿冒網絡服務的方法的總體流程框圖。
圖16示出了根據(jù)本發(fā)明所述的檢測過程的流程框圖;圖17是本發(fā)明實施例中所采用的一種驗證過程的流程框圖;圖18是本發(fā)明實施例中所采用的一種定位過程的流程框圖。
具體實施例方式
圖15示出了根據(jù)本發(fā)明所述用于檢測及處理仿冒網絡服務的方法的總體流程框圖。如圖15所示,根據(jù)本發(fā)明所述的方法分為三個主要過程即檢測過程用于對仿冒服務進行檢測,發(fā)現(xiàn)仿冒服務器。
驗證過程用于對仿冒服務器進行驗證,認定確實是仿冒服務器,并且提供仿冒服務。而且需要對已經可能造成后果進行分析。
定位過程根據(jù)仿冒服務器的網絡信息,定位仿冒服務器的物理信息,從而確定仿冒服務器歸屬的仿冒用戶。
另外,在本文中使用了術語“用戶側”和“網絡側”,它們是一個通稱,簡單來說,就是按照某一個網絡設備劃分,其下行一側為用戶側,其上行一側為網絡側(包括這個網絡設備)。一般的劃分原則是以用戶接入的第一個網絡設備(比如交換機或者路由器)為界,也可以對接入用戶進行控制的第一個接入設備為界進行劃分。
下面將參考附圖并結合實施例對上述三個主要過程分別進行詳細說明。
·檢測過程圖16示出了根據(jù)本發(fā)明所述的檢測過程的流程框圖。如圖16所示,首先需要對仿冒網絡服務進行檢測。具體來說,對不同的仿冒網絡服務類型,可以采用不同的檢測方式。
一方面,對于圖1所示的PPPoE仿冒服務組網來說,可以采用以下兩種方式進行仿冒服務的檢測1.利用虛擬客戶端從用戶側進行檢測
在用戶側虛擬一個PPPoE客戶端(可以是商用的客戶端),并使其按照標準的“PPPoE協(xié)商流程”(如圖3所示)與服務器進行PPPoE協(xié)議交互。需要注意的是,PPPoE虛擬客戶端主要為了檢測是否有仿冒的PPPoE服務器,因此只通過使用協(xié)議流程中的部分(比如只發(fā)送PADI,收到PADO后就可以知道服務器的基本信息)就可以知道服務器是否為仿冒的,而不一定要實現(xiàn)完整的客戶端。
2.利用虛擬客戶端從網絡側進行檢測由于PPPoE本文是二層報文,它無法穿越三層網絡,因此可以在諸如BAS(寬帶接入服務器)設備、提供PPPoE服務器功能的設備等與用戶網絡連接的網絡側設備(如第一個三層設備)上虛擬一個PPPoE客戶端(可以是商用的客戶端),并使其按照標準的“PPPoE協(xié)商流程”與服務器進行PPPoE協(xié)議交互。需要注意的是,PPPoE虛擬客戶端主要為了檢測是否有仿冒的PPPoE服務器,因此只通過使用協(xié)議流程中的部分(比如只發(fā)送PADI,收到PADO后就可以知道服務器的基本信息)就可以知道服務器是否為仿冒的,而不一定要實現(xiàn)完整的客戶端。
另一方面,對于圖3所示的DHCP仿冒服務組網來說,可以采用以下四種方式進行仿冒服務的檢測1.利用端口掃描從用戶側進行檢測在用戶側,針對同一子網內的用戶進行端口掃描。端口掃描的過程如下UDP端口掃描這個一方法用來確定哪個UDP(用戶數(shù)據(jù)報協(xié)議,RFC 768)端口在主機端開放。這一技術是以發(fā)送零字節(jié)的UDP信息包到目標機器的各個端口,如果我們收到一個ICMP(網間控制報文協(xié)議)端口無法到達的回應,那么該端口是關閉的,否則可以認為它是提供服務的。
TCP端口掃描這是對TCP(傳輸控制協(xié)議)的最基本形式的偵測。在該操作下,用戶側終端對同一子網內用戶目標主機上常用的知名端口或者所有端口發(fā)起正常的TCP請求進行試探,如果該端口被對應的服務監(jiān)聽,則連接成功,否則代表這個端口無法到達。需要注意的是,TCP連接是一般標準的協(xié)議交互過程。如果網絡上某個主機或者某個設備上的某個服務開啟后,它會主動綁定一個或多個端口進行偵聽,如果用戶側終端發(fā)起的TCP和對端連接了連接,也就是說對端開啟了某個服務。一般的服務都有公開的知名端口,根據(jù)這些公開的知名端口信息,就可以知道網絡上某個主機或者某個設備是否有服務打開了。
對于通過端口掃描來檢測仿冒服務的方式來說,由于有些服務只使用TCP/UDP中的一種,有些則可能使用兩種。因此,可以任選其一執(zhí)行,也可以根據(jù)需要組合執(zhí)行。另外,它們在邏輯上沒有先后關系,因此,可以先后執(zhí)行,也可以同時執(zhí)行。
由于DHCP協(xié)議規(guī)定,DHCP服務器使用知名UDP端口67,因此,如果一個用戶掃描到67號UDP端口,那么用戶一般開啟了仿冒的DHCP服務器。同樣,在TCP/IP協(xié)議棧中,規(guī)定了大量的服務器使用知名端口,因此,通過端口掃描,可以方便快捷地發(fā)現(xiàn)仿冒服務。
同時,有些服務的端口是可以配置的,比如WWW網站,普通客戶端對于這種仿冒服務(嚴格的講應該是非法服務)是不會發(fā)現(xiàn)的,只有經過配置后的客戶端才會發(fā)現(xiàn),此時,只有通過端口掃描,才能夠找到這種仿冒服務。
2.利用虛擬客戶端從用戶側進行檢測在用戶側虛擬一個DHCP客戶端(可以是商用的客戶端),按照標準的“DHCP服務流程”(如圖13所示)服務器進行DHCP協(xié)議交互。需要注意的是,DHCP虛擬客戶端主要為了檢測是否有仿冒的DHCP服務器,因此,只需使用協(xié)議流程中的部分(比如只發(fā)DISCOVER,收到OFFER后就可知道服務器的基本信息)就可以知道服務器是否為仿冒的,而不一定要實現(xiàn)完整的客戶端。
常見的應用層服務有些使用TCP/UDP,有些不使用TCP/UDP而直接使用原始的IP報文,但包括DHCP服務在內的所有服務都可以通過利用虛擬客戶端進行協(xié)議交互而得到檢測。
3.利用端口掃描在網絡側進行檢測在網絡側,可以逐個針對某個網絡設備連接的所有子網內的用戶進行端口掃描。網絡設備可以是直接與用戶子網連接的接入設備,如BAS設備等,也可以是所有網絡側上的某一個設備。端口掃描的過程如下UDP端口掃描這個一方法用來確定哪個UDP(用戶數(shù)據(jù)報協(xié)議,RFC 768)端口在主機端開放。這一技術是以發(fā)送零字節(jié)的UDP信息包到目標機器的各個端口,如果我們收到一個ICMP端口無法到達的回應,那么該端口是關閉的,否則可以認為它是提供服務的。
TCP端口掃描這是對TCP(傳輸控制協(xié)議)的最基本形式的偵測。在該操作下,用戶側終端對同一子網內用戶目標主機上常用的知名端口或者所有端口發(fā)起正常的TCP請求進行試探,如果該端口被對應的服務監(jiān)聽,則連接成功,否則代表這個端口無法到達。
從網絡側掃描與從用戶側掃描的原理基本相同,故此不再贅述。
由于DHCP協(xié)議規(guī)定,DHCP服務器使用知名UDP端口67,因此,如果一個用戶掃描到67號UDP端口,那么用戶一般開啟了仿冒的DHCP服務器。同樣,在TCP/IP協(xié)議棧中,規(guī)定了大量的服務器使用知名端口,因此,通過端口掃描,可以方便快捷地發(fā)現(xiàn)仿冒服務。
同時,有些服務的端口是可以配置的,比如WWW網站,普通客戶端對于這種仿冒服務(嚴格的講應該是非法服務)是不會發(fā)現(xiàn)的,只有經過配置后的客戶端才會發(fā)現(xiàn),此時,只有通過端口掃描,才能夠找到這種仿冒服務。
4.利用虛擬客戶端在網絡側進行檢測在網絡側設備(例如BAS設備、提供DHCP服務器功能的設備等)上虛擬一個DHCP客戶端(可以是商用的客戶端)。考慮到用戶都是在用戶子網內進行仿冒,無法在IP網上進行仿冒,因此網絡側設備一般是用戶網絡直接連接的第一個三層設備上??紤]到虛擬客戶端位置,也可以放在網絡上用戶子網外的任意一個設備,通過網絡配置DHCP Relay(DHCP中繼)功能到用戶子網中進行檢測。虛擬客戶端按照標準的“DHCP仿冒服務流程”(如圖13所示)與服務器進行DHCP協(xié)議交互。需要注意的是,DHCP虛擬客戶端主要為了檢測是否有仿冒的DHCP服務器,因此只使用協(xié)議流程中的部分(比如只發(fā)送DISCOVER,收到OFFER后就可以知道服務器的基本信息)就可以知道是服務器是否為仿冒的,而不一定要實現(xiàn)完整的客戶端。
常見的應用層服務有些使用TCP/UDP,有些不使用TCP/UDP而直接使用原始的IP報文,但包括DHCP服務在內的所有服務都可以通過利用虛擬客戶端進行協(xié)議交互而得到檢測。
綜上所述,本發(fā)明可以推廣到所有類型的網絡服務當中。在進行仿冒網絡服務檢測時,檢測位置可以在用戶側,也可以在網絡側。對于二層服務來說,檢測手段可以使用虛擬客戶端方式;對于三層服務來說,檢測手段可以使用端口掃描、虛擬客戶端等方式。
對于上述各種檢測方式來說,管理員可以利用手工或自動方式并通過各種現(xiàn)有的網絡技術來觸發(fā)它們以執(zhí)行檢測任務,這些用于觸發(fā)檢測服務的方法包括但不限于Console(控制臺)、telnet(遠程登錄)、SNMP(簡單管理管理協(xié)議),等等。
應該注意的是,以上的介紹的多種仿冒服務檢測方式,無論端口掃描方式還是虛擬終端方式,都屬于現(xiàn)有技術。這些技術已在本領域中已經得到了廣泛使用,例如,對于DHCP仿冒服務,可以參考RFC2131、RFC2132;對于PPPoE來說,可以參考RFC2516。由于這些標準中都有過程的完整描述,而且本文中的檢測方式都包含在這些協(xié)議中,對本領域的普通技術人員來說,根據(jù)上述描述就可以完全實現(xiàn)對仿冒服務的檢測。因此,本文中不再對其做進一步展開說明。
接下來,如圖16所示,在利用上述方式檢測出仿冒服務之后,所檢測到的服務信息被匯總在一起。具體來講,可以用例如信息安全匯總軟件(或者軟件模塊)從虛擬客戶端或專用的客戶端軟件中逐個通過手工或者程序接口獲取檢測到的服務器信息,然后以統(tǒng)一的格式記錄、存儲、檢索及維護這些信息,這些信息包括但不限于服務器的網絡地址(如MAC地址、IP地址等)、服務檢測報文、服務所在網絡中的設備地址以及服務器名稱。然后,通過結合由網絡管理員配置好的合法服務信息,信息安全匯總軟件(或者軟件模塊)可以協(xié)助網絡管理員判斷這些服務中是否存在合法服務信息,并從檢測到的服務器信息排除其中的合法服務信息,即,將上述檢測到的服務器信息列表中的合法服務記錄去除(物理或者邏輯刪除)。之后,信息安全匯總軟件(或者軟件模塊)將剩余的仿冒服務匯總起來,并形成一個仿冒服務器列表。最后,仿冒的服務器列表被通知給管理員以進行顯示和進一步處理。所述仿冒服務器列表可以通過命令行顯示界面、網管顯示界面等多種方式告知管理員。
在實際應用中,僅有檢測機制還不夠,還需要對相應的仿冒服務進行定位和處理,對仿冒服務器進行驗證,以認定其確實是仿冒服務器并且提供了仿冒服務。而且還需要對已經可能造成后果進行分析。
·驗證過程所謂的驗證過程,就是使用標準的商用軟件或者特制的檢測功能軟件來檢查檢測到的仿冒服務器是否工作,如果工作,則需對這個仿冒服務器造成的危害進行分析。
由于仿冒服務器的存在,破壞了原有網絡結構,仿冒服務器可以竊聽用戶所有信息,甚至可以提供非法信息破壞用戶正常的網絡應用。因此,還需要認定仿冒服務器對用戶進行的破壞,以及可能涉及的用戶范圍。舉例來說,如果某個仿冒用戶使用PPPoE服務來竊聽數(shù)據(jù),他在網絡中接入一個PPPoE仿冒服務器,使得網絡中的其他用戶可能會接入到仿冒服務器上,然后通過仿冒服務器再接入合法的網絡。此時,其他用戶都經過仿冒服務器上網,從表面上看,所有用戶都正常上網,沒有任何異常情況。但實際上,所有接入仿冒服務器的用戶的數(shù)據(jù)報文都被仿冒服務器竊聽了,仿冒用戶可以從中解析出用戶的上網密碼、用戶的個人機密信息如信用卡賬號密碼,以及個人隱私信息如健康信息等等。類似地,通過使用仿冒DHCP、ARP欺騙等等,都可以達到類似的效果。
圖17是本發(fā)明實施例中所采用的一種驗證過程的流程框圖。如圖17所示,該驗證過程包括以下步驟首先,在步驟1中,使用標準客戶端或者特定的客戶端檢測軟件以作為正常用戶上網進行操作。然后,在步驟2中,從客戶端向仿冒服務器發(fā)起服務請求。在步驟3中,如果服務請求成功,即成功完成服務的交互過程,則轉步驟5。如果服務請求失敗,按照事先約定的服務請求失敗最大次數(shù),在這個范圍內,轉回步驟2以重新發(fā)起服務請求(步驟4)。如果多次請求失敗(步驟4),則標識用戶要么已經暫停仿冒服務,要么仿冒服務沒有真正開啟,可以間隔一段時間再嘗試,多次嘗試后確認服務沒有開啟,則轉步驟10。接下來,在步驟5中,利用一個帶有特殊的標記的各種協(xié)議報文或者數(shù)據(jù)報文作為信標,以與網絡上其他報文區(qū)別開。例如,簡單來說,可以使連續(xù)5個報文都帶有一個UUID(統(tǒng)一用戶標識,一個用于標識軟件的特殊ID,可以保證重復的幾率是非常小),從技術上講,這樣可以保證網絡上不會出現(xiàn)這種報文。然后,在步驟6中,當向用戶側的同一子網、不同子網約定的設備(可以是各種PC機、服務器、網絡設備等)發(fā)送信標報文之后,在用戶側同一子網、不同子網事先約定的設備上接收報文。同時,還需要跟蹤報文的路由情況,可以通過報文本身按照tracert(一個通用的路由跟蹤工具)進行處理,也可以使用標準的tracert工具,也可以使用其他可以跟蹤路由的方法或工具。之后,在步驟7中,當向網絡側約定的設備(可以是各種PC機、服務器、網絡設備)發(fā)送信標報文后,在網絡側事先約定的設備上接收報文。同時,還需要跟蹤報文的路由情況,可以通過報文本身按照tracert(一個通用的路由跟蹤工具)進行處理,也可以使用標準的tracert工具,也可以使用其他可以跟蹤路由的方法或工具。在步驟8中,根據(jù)接收報文情況、路由情況,以及用戶是否正常上網可以進行分析。典型的分析情況如下1)網絡失效發(fā)送的報文,路由無法穿過仿冒服務器,無法從用戶側、網絡側獲取對應的信標報文,則表示網絡失效。2)報文截取能夠從用戶側、網絡側獲取對應的信標報文,路由是從仿冒服務器穿過的,則表示所有報文均被截取了。3)報文重發(fā)攻擊從用戶側、網絡側獲取對應的信標報文,但多次接收相同的報文,超過發(fā)送的報文數(shù),而且往往受到大量的相同報文,則表示仿冒服務開啟了報文重發(fā)攻擊。這里,需要注意的是,這個過程中的網絡危害分析只是典型的分析,實際使用時包括但不限于上述分析方法。例如,對PPPoE服務來說,可以使用標準的PPPoE撥號上網流程,作為一個普通上網用戶與PPPoE仿冒服務器連接,查看使用通過PPPoE仿冒服務器提供的服務來建立網絡連接,并且能夠和PPPoE仿冒服務器進行數(shù)據(jù)交互。如果存在這個事實,則可驗證仿冒服務器的存在。另外,實際網絡中仿冒方式千變萬化,各種分析方法根據(jù)需要可以組合使用,可能隨著仿冒服務的變化,每次分析結果不一樣。但只要為分析結果提供足夠的網絡報文信息,肯定就可以判斷仿冒服務造成的危害以及潛在的危害。
接下來,在步驟9中,考慮到網絡分析的復雜性,一般會根據(jù)需要進行多次分析,如果需要再次分析,則轉到步驟2,重復以上步驟1至8。否則流程將前進至步驟10。最后,在步驟10中,驗證過程結束,驗證過程中的所有原始和中間報文被匯總在一起,并據(jù)此給出分析結果。然后流程轉到其他處理。
·定位過程定位過程的核心就是根據(jù)仿冒服務器的網絡信息,定位仿冒服務器的物理信息,并根據(jù)物理信息確定出仿冒服務器所歸屬的仿冒用戶。
圖18是本發(fā)明實施例中所采用的一個典型定位過程的流程圖。如圖18所示,定位過程包括兩個主要過程,即,定位仿冒服務器的物理信息以及定出仿冒服務器所歸屬的仿冒用戶。其中,定位仿冒服務器的物理信息過程用于確定仿冒服務器的具體物理位置,而定出仿冒服務器所歸屬的仿冒用戶的過程則用于確定出仿冒服務器的所屬用戶的具體信息。具體來講,如圖18所示,在定位過程中,首先在步驟1中找到仿冒服務器的網絡信息,一般是MAC、VLAN信息或者IP、子網信息、以及網絡側設備端口信息。然后,在步驟2中,為了定位仿冒服務器的物理信息,根據(jù)上述網絡信息可判斷出仿冒服務器在某一個子網絡中,并可以找到這個子網絡的根設備。例如根據(jù)MAC、VLAN和網絡側設備端口信息可以斷定用戶連接上的某一個交換機;根據(jù)IP、子網、網絡側設備端口、路由等信息,可以斷定用戶連接的某個路由器、三層交換機等。接下來,在步驟3中,當確定出根設備之后,再明確用戶所在的子網范圍,報文子網中的MAC、VLAN或者IP等信息,以及子網中的網絡設備。在步驟4中,通過根設備,按照用戶所在的MAC、VLAN信息或者IP、子網信息、以及網絡側設備端口信息、路由等信息,就可以找到用戶所在的子網上和根設備相連的下一個節(jié)點設備。在步驟5中,根據(jù)這個節(jié)點設備上的信息,結合我們已有的用戶網絡信息,就可以像根設備那樣尋找到用戶所在的更小范圍的某個子網。在步驟6中,如果整個子網已經收斂到某一個用戶接入的物理端口,例如樓道交換機連接某個家庭用戶接入的端口號,則表示物理定位完畢,此時流程將轉至步驟7。否則,流程將再次轉回步驟2,以將當前節(jié)點移到下一個節(jié)點設備,繼續(xù)從根設備開始,到用戶直接接入的最終設備,做樹的深度遍歷。在步驟7中,在得到用戶的物理信息之后,為了定出仿冒服務器所歸屬的仿冒用戶,則需根據(jù)用戶接入的第一個設備的端口信息來或者訪問服務器連接的用戶地理信息,比如某個家庭用戶的房間號。在步驟8中,當用戶開通服務時,有用戶的姓名、地址以及用戶地理信息等,此時可以結合這些信息以判斷仿冒服務器的歸屬用戶是誰。最后,在步驟9中,可根據(jù)需要以對信息做出后續(xù)處理,包括各種通知、警告、行政、法律處理等等,這些都不在本文的范圍之內。
更具體地講,對于諸如PPPoE的二層服務來說,通過利用在前述過程中獲得的二層仿冒服務器的網絡信息(例如,二層服務通常都能夠提供的仿冒服務器的MAC地址),然后配合網絡設備上的記錄(可以通過命令行、網管等等方式獲取),就可以定位出仿冒服務器是哪個子網中的哪個設備端口上連接的用戶機器,一般可以定位到樓道設備(比如樓道交換機),再根據(jù)樓道設備的物理連接信息,就可以定位到房間或用戶的信息。
對于諸如DHCP的三層服務來說,通過利用在前述過程中獲得的三層仿冒服務器的網絡信息(例如,三層以上服務通常都能夠提供的仿冒服務器的IP地址),就可以定位出仿冒服務器在哪個子網中。然后通過配合網絡設備上的記錄(可以通過命令行、網管等等方式獲取),就可以定位出仿冒服務器是哪個子網中的哪個設備端口上連接的用戶機器,一般可以定位到樓道設備(比如樓道交換機),再根據(jù)樓道設備的物理連接信息,可以定位到房間、用戶信息。
綜上所示,可以手工或自動獲取上述與仿冒服務器有關的網絡信息,并對其進行手工或自動關聯(lián),從而定位出仿冒服務器的用戶??梢允褂镁W絡中的各種網絡信息(包括MAC地址、IP地址、用戶端口、VLAN ID等等),也可以通過tracert、ping、arp等通用方式不斷跟蹤刷新用戶網絡信息。
經過對網絡服務執(zhí)行統(tǒng)一的檢測、驗證、定位,不僅可以在發(fā)現(xiàn)問題后及時發(fā)現(xiàn)仿冒服務,而且還能夠在仿冒服務進入網絡時主動、及時、有效地發(fā)現(xiàn)仿冒服務,從而大大促進了網絡的安全性。
需要注意的是,在以上的說明中,對仿冒網絡服務的處理是通過檢測和驗證仿冒網絡服務器并定位仿冒網絡服務器的歸屬用戶來完成的。因此,為了避免概念的混淆,有必要將仿冒網絡服務與仿冒網絡服務器區(qū)分開。從邏輯上講, 仿冒服務才是真正的邏輯主體,而仿冒網絡服務器則是仿冒服務的物理載體。從網絡應用上看,仿冒服務器提供的服務肯定是仿冒網絡服務,但需要在驗證和定位過程中將邏輯主體和物理載體聯(lián)系起來。
雖然以上對本發(fā)明的說明是參考其具體實施例來進行的,但本領域的普通技術人員應該明白,在不背離本發(fā)明精神的情況下,可以對其做出各種修改、變換或替代。例如,雖然在上述實施例中是以PPPoE網絡服務和DHCP網絡服務為例對本發(fā)明進行說明的,但是,很明顯,本發(fā)明的思想也可以應用到各種其它類型二層或三層網絡服務當中。而這些應用都應被認為是包含在本發(fā)明的精神和范圍之內。
權利要求
1.一種用于檢測及處理仿冒網絡服務的方法,包括以下步驟1)檢測網絡仿冒服務,發(fā)現(xiàn)仿冒服務器;2)對檢測到的仿冒服務器進行驗證,以確認它是仿冒服務器;以及3)根據(jù)經確認的仿冒服務器的網絡信息以定位出仿冒服務器的物理信息,進而確定仿冒服務器的歸屬用戶。
2.根據(jù)權利要求1所述的方法,其特征在于,所述用于檢測網絡仿冒服務的步驟1)進一步包括以下步驟1-1)檢測仿冒服務信息1-2)將全部檢測到的仿冒服務信息匯總;1-3)從所述匯總的仿冒服務信息中排出合法的服務信息;以及1-4)將剩余的仿冒服務信息匯總并通知給管理員。
3.根據(jù)權利要求1所述的方法,其特征在于,所述用于對檢測到的仿冒服務器進行驗證的步驟2)進一步包括以下步驟2-1)使用標準客戶端或者特定的客戶端檢測軟件作為正常用戶上網,以向所述檢測到的仿冒服務器發(fā)起服務請求;2-2)利用一個帶有特殊標記的報文作為信標向仿冒服務器發(fā)送報文;2-3)從用戶側接收所述帶有特殊標記的報文,并記錄報文的路由信息;2-4)從網絡側接收所述帶有特殊標記的報文,并記錄報文的路由信息;2-5)根據(jù)帶有特殊標記的報文的接收情況以及所述路由信息,確認所述檢測到的仿冒服務器是否確實為提供仿冒服務的仿冒服務器;2-6)將所有經過確認的仿冒服務器信息匯總在一起,以供進一步處理。
4.根據(jù)權利要求3所述的方法,其特征在于還包括對所述步驟2-1)至2-5)進行多次重復操作的步驟。
5.根據(jù)權利要求4所述的方法,其特征在于,所述特殊標記為統(tǒng)一用戶標識(UUID)。
6.根據(jù)權利要求1所述的方法,其特征在于,所述用于定位出仿冒服務器的物理信息進而確定仿冒服務器的歸屬用戶步驟3)進一步包括以下步驟3-1)根據(jù)仿冒服務器的網絡信息確定出仿冒服務器的物理信息;3-2)根據(jù)所述仿冒服務器的物理信息確定出仿冒服務器的物理接入端口;以及3-3)根據(jù)仿冒服務器的物理接入端口進一步定出仿冒服務器所歸屬的仿冒用戶的個人信息。
7.根據(jù)權利要求6所述的方法,其特征在于,所述仿冒服務器的網絡信息至少包括MAC信息、VLAN信息或者IP信息、子網信息、以及網絡側設備端口信息。
8.根據(jù)權利要求1至7中的任何一項權利要求所述的方法,其特征在于,所述網絡仿冒服務為二層網絡仿冒服務或者為三層以上的網絡仿冒服務。
9.根據(jù)權利要求8所述的方法,其特征在于,所述用于檢測網絡仿冒服務的步驟1)進一步包括從用戶側或者網絡側對網絡仿冒服務器進行檢測的步驟。
10.根據(jù)權利要求9所述的方法,其特征在于,用戶側或者網絡側對二層網絡仿冒服務器進行檢測采用的是虛擬客戶端的方式。
11.根據(jù)權利要求8所述的方法,其特征在于,所述二層網絡仿冒服務包括PPPoE仿冒服務。
12.根據(jù)權利要求9所述的方法,其特征在于,用戶側或者網絡側對三層網絡仿冒服務器進行檢測采用的是端口掃描或者虛擬客戶端的方式。
13.根據(jù)權利要求8所述的方法,其特征在于,所述三層網絡以上的仿冒服務包括DHCP仿冒服務。
全文摘要
本發(fā)明公開了一種用于檢測及處理仿冒網絡服務的方法,該方法包括以下步驟1)檢測網絡仿冒服務,發(fā)現(xiàn)仿冒服務器;2)對檢測到的仿冒服務器進行驗證,以確認它是仿冒服務器;以及3)根據(jù)經確認的仿冒服務器的網絡信息以定位出仿冒服務器的物理信息,進而確定仿冒服務器的歸屬用戶。通過利用本發(fā)明的方法對網絡服務執(zhí)行統(tǒng)一的檢測、驗證、定位,不僅可以在發(fā)現(xiàn)問題后及時發(fā)現(xiàn)仿冒服務,而且還能夠在仿冒服務進入網絡時主動、及時、有效地發(fā)現(xiàn)仿冒服務,從而大大促進了網絡的安全性。
文檔編號H04L9/00GK1553648SQ0313729
公開日2004年12月8日 申請日期2003年6月4日 優(yōu)先權日2003年6月4日
發(fā)明者金濤, 馬洪波, 吳局業(yè), 金 濤 申請人:華為技術有限公司