一種異常連接的檢測方法、裝置及網關設備的製作方法
2023-04-24 15:07:36 2
專利名稱:一種異常連接的檢測方法、裝置及網關設備的製作方法
技術領域:
本發明涉及信息安全領域,特別涉及一種異常連接的檢測方法、裝置及 網關設備。
背景技術:
分布式拒絕服務(Distributed Denial of Service,簡稱DD0S )攻擊 就是利用合理的服務請求來佔用過多的服務資源,從而使伺服器無法處理合 法用戶的指令。DDOS攻擊中的TCP全連接攻擊是通過許多殭屍主機不斷地與 伺服器建立大量的TCP連接,直到伺服器的連接、內存等資源被耗盡,從而 造成伺服器拒絕服務,使伺服器無法處理合法用戶的指令。TCP全連接攻擊 的特點是可以繞過一般防火牆的防護而達到攻擊的目的。對於通常的網絡服 務系統,能接受的TCP連接數是有限的,當遭受TCP全連接攻擊時,會導致 網站訪問非常緩慢甚至無法訪問。
為實現對全連接攻擊的檢測,現有技術採用的是連接數閾值判斷法。通 常防火牆或DDOS檢測設備會檢測被保護伺服器的連接總數,如果檢測出連接 總數大於連接數閾值,則認為存在TCP連接異常,即存在全連接攻擊。具體 做法是防火牆或DDOS檢測設備中的連接檢查模塊會對需要防範的流量中的 TCP連接進行檢測,統計TCP連接三次握手完成後的握手成功報文的數量, 並在設定的時間段到達後得出統計值,當統計值大於連接數閾值時識別出TCP 連接為異常連接,即存在全連接攻擊。
發明人在實現本發明的過程中,發現由於正常訪問流量會隨時間段的不 同而發生變化,正常訪問流量增大時,流量中的TCP連接的數量也會隨之增 加,當一定時間段內流量中的TCP連接的數量超過連接數閾值時,正常的TCP連接會被識別為異常連接,即被判定為全連接攻擊,從而產生對全連接攻擊 的誤報。
發明內容
本發明的目的是提供一種異常連接的檢測方法、裝置及網關設備,可以
提高^r測全連接攻擊的準確率。
本發明實施例提供了一種異常連接的檢測方法,包括 接收客戶端發送的連接請求消息; 與所述客戶端建立TCP連接;
當在設定時間內未接收到所述客戶端發送的數據包時,識別所述TCP連 接為異常連接;
當在設定時間內接收到所述客戶端發送的數據包時,則根據協議報文對 所述數據包進行驗證,如果驗證成功則識別所述TCP連接為正常連接,如果 驗證失敗則識別所述TCP連接為異常連接。
本發明實施例還提供了一種異常連接的檢測裝置,包括 收發模塊,用於接收客戶端發送的連接請求消息,並與所述客戶端建立 TCP連接;
檢測模塊,用於檢測在設定時間內是否接收到所述客戶端發送的數據包; 驗證模塊,用於當所述檢測模塊的檢測結果為在設定時間內接收到所述 客戶端發送的數據包時,根據協議報文對所述數據包進行驗證;
識別模塊,用於當所述檢測模塊的檢測結果為在設定時間內未接收到所 述客戶端發送的數據包時,識別所述TCP連接為異常連接,當所述驗ii4莫塊 對所述數據包驗證成功時識別所述TCP連接為正常連接、或者當所述驗證模 塊對所述數據包驗證失敗時識別所述TCP連接為異常連接。
本發明實施例提供了 一種網關設備,包括上述異常連接的檢測裝置。 本發明實施例的技術方案中,在設定時間內檢測是否接收到客戶端發送的數據包,並根據協議報文對在設定時間內接收的數據包進行驗證,當該客
戶端向伺服器發起全連接攻擊時,能夠識別出與該客戶端建立的TCP連接為 異常連接,從而提高了檢測全連接攻擊的準確率。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對 實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地, 下面描述中的附圖僅僅是本發明的 一些實施例,對於本領域普通技術人員 來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的 附圖。
圖1為本發明實施例一提供的異常連接的檢測方法的流程圖; 圖2為本發明實施例二提供的異常連接的檢測方法的流程圖; 圖3為本發明實施例三提供的異常連接的檢測方法的流程圖; 圖4為本發明實施例四提供的異常連接的檢測方法的流程圖; 圖5為本發明實施例五提供的異常連接的檢測方法的流程圖; 圖6為本發明實施例六提供的異常連接的檢測方法的流程圖; 圖7為本發明實施例七提供的異常連接的檢測裝置的結構示意圖; 圖8為本發明實施例八提供的異常連接的檢測裝置的結構示意圖。
具體實施例方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行 清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而 不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做 出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
圖1為本發明實施例一提供的異常連接的檢測方法的流程圖,如圖1所 示,該方法包^舌步驟IOI、接收客戶端發送的連接請求消息;
具體地,連接請求消息可以為SYN消息,SYN (synchronize)消息是 TCP/IP建立連接時使用的握手信號。 步驟102、與客戶端建立TCP連接;
具體地,在接收到客戶端發送的SYN消息後,向客戶端返回SYN-ACK消 息,客戶端再發送ACK消息作為應答,從而完成建立TCP連接的過程。其中, SYN-ACK消息是對SYN消息的應答消息,而ACK消息是對SYN-ACK消息的響 應消息。
本步驟中在接收到SYN消息後並未將該SYN消息轉發給伺服器,而是與 客戶端建立TCP連接。
步驟103、在設定時間內檢測是否接收到客戶端發送的數據包,如果是 則執行步驟104,否則執行步驟106;
其中設定時間可以為預先設定的任意時間段。
步驟104、根據協議報文對所述數據包進行驗證,如果驗證成功則執行 步驟105,如果驗證失敗則執行步驟106;
本實施例中協議才艮文根據實際應用的不同可以為http協議報文、ftp協 議報文、ssh協議報文等。
具體地,可以驗證數據包的內容與協議報文類型是否一致,如果數據包 的內容與協議報文類型一致則驗證成功,如果數據包的內容與協議"J艮文類型 不一致則-驗i正失敗。
步驟105、識別TCP連接為正常連接;
如果驗證成功則認為接收的數據包是正常的數據包,該TCP連接為正常 連接,即該客戶端未對伺服器進行全連接攻擊。 步驟106、識別TCP連接為異常連接;
如果在設定時間內沒有接收到任何數據包,則識別該TCP連接為異常連 接,即該客戶端對伺服器進行全連接攻擊。本實施例的技術方案中,在設定時間內檢測是否接收到客戶端發送的數 據包,並根據協議報文對在設定時間內接收的數據包進行驗證,當該客戶端
向伺服器發起全連接攻擊時,能夠識別出與該客戶端建立的TCP連接為異常 連接,從而提高了檢測全連接攻擊的準確率。
圖2為本發明實施例二提供的異常連接的檢測方法的流程圖,如圖2所 示,該方法包括
步驟201、接收客戶端發送的連接請求消息,該連接請求消息中攜帶有 客戶端地址信息;
本實施例中的各步驟可以由異常連接的檢測裝置執行,具體的,當客戶 端向伺服器發送連接請求消息時,異常連接的檢測裝置接收該連接請求消息。
步驟202、判斷設置的記錄表中是否包括客戶端地址信息,如果是則執 行步驟208,否則執行步驟203;
記錄表中存儲有可信的客戶端地址信息和不可信的(或惡意的)客戶端 地址信息,可信的客戶端地址信息為通過驗證的客戶端地址信息,不可信的 客戶端地址信息為未通過驗證的客戶端地址信息。在實際應用中記錄表中可 以包括白名單和黑名單,白名單中存儲有可信的客戶端地址信息,黑名單中 存儲有惡意的客戶端地址信息。
步驟203、與客戶端建立TCP連接;
具體的,即異常連接的檢測裝置接收到客戶端發送的連接請求消息後, 如果根據設置的記錄表,判斷該連接請求消息中攜帶的客戶端地址信息為陌 生的地址信息,則該檢測裝置代替伺服器與客戶端建立TCP連接。
步驟204、在設定時間內檢測是否接收到客戶端發送的數據包,如果是 則執行步驟205,否則執行步驟207;
具體的,在正常連接的情況下,在異常連接的檢測裝置與客戶端建立TCP 連接後,客戶端會向異常連接的檢測裝置發送數據包,因此,異常連接的檢 測裝置可以通過檢測是否在設定時間內檢測是否接收到客戶端發送的數據包初步判斷該TCP連接是否為異常連接。
步驟205、根據協議報文對數據包進行驗證,如果驗證成功則執行步驟 206,如果驗證失敗則執行步驟207;
具體地,根據協議報文對數據包進行驗證具體可以為驗證數據包的內容 與協議報文是否一致,如果數據包的內容與協議報文一致則驗證成功,如果 數據包的內容與協議報文不一致則^i正失敗。
步驟206、識別TCP連接為正常連接,將客戶端地址信息存儲於設置的 記錄表中,斷開與客戶端建立的TCP連接,流程結束。
具體地,將客戶端地址信息存儲於記錄表中的可信的客戶端地址信息中。
步驟207、識別TCP連接為異常連接,將客戶端地址信息存儲於設置的 記錄表中,丟棄TCP連接,流程結束。
具體地,將客戶端地址信息存儲於記錄表中的惡意的客戶端地址信息中。
步驟208、允許或者拒絕客戶端與伺服器建立TCP連接,流程結束。
具體地,當判斷出可信的客戶端地址信息中包括該客戶端地址信息即該 客戶端地址信息為可信的客戶端地址信息時,允許客戶端與伺服器建立TCP 連接,此時異常連接的檢測裝置將客戶端發送的連接請求消息轉發給伺服器, 使客戶端與伺服器建立TCP連接;當判斷出惡意的客戶端地址信息中包括該 客戶端地址信息即該客戶端地址信息為惡意的客戶端地址信息時,拒絕客戶 端與伺服器建立TCP連接,此時異常連接的檢測裝置拒絕客戶端的連接請求, 從而保護伺服器免受TCP全連接攻擊。
本實施例的技術方案中,在設定時間內檢測是否接收到客戶端發送的數 據包,並才艮據協議才艮文對在設定時間內接收的數據包進行驗證,當該客戶端 向伺服器發起全連接攻擊時,能夠及時識別出與該客戶端建立的TCP連接為 異常連接,從而提高了檢測全連接攻擊的準確率和實時性。
圖3為本發明實施例三提供的異常連接的檢測方法的流程圖,如圖3所 示,該方法包4舌步驟301、接收客戶端發送的連接請求消息,該連接請求消息中攜帶端
口信息和客戶端地址信息;
本實施例中各步驟可以由異常連接的檢測裝置來執行;
其中,才艮據應用協_漢的不同,埠信息可以為HTTPS埠等,並且該端
口信息可以採用默認埠信息,也可以採用用戶自定義的埠信息;客戶端
地址信息可以為客戶端的IP位址信息。
步驟302、從連接請求消息攜帶的埠信息中解析出協議類型;
例如,異常連接的檢測裝置根據埠信息檢測該埠為HTTPS埠,從
而可以解析出該數據包為HTTPS協議類型的數據包,HTTPS協議是由SSL與
HTTP協議一起構建的可進行加密傳輸、身份認證的網絡協議。SSL是一個在
客戶機和具有SSL功能的伺服器之間的安全連接中對數據進行加密和解密的協議。
步驟303、查詢預先配置的待檢測的協議類型中是否包括識別出的協議 類型,如果是則執行步驟304,否則執行步驟313;
具體的,由於預先配置的待檢測的協議類型可以包括一種或者多種協議, 因此,可以查詢識別出的所述數據包的協議類型是否屬於待檢測的範圍。
步驟304、判斷設置的白名單和黑名單中是否包括客戶端地址信息,如 果白名單和黑名單中不包括該客戶端地址信息,則執行步驟305;如果白名
單中包括客戶端地址信息則執行步驟313;如果黑名單中包括客戶端地址信 息則執行步驟314;
具體的,為提高檢測質量,可以同時設置白名單和黑名單。白名單中設 置的客戶端地址信息為允許通過的客戶端地址信息,黑名單中設置的客戶端 地址信息為拒絕通過的客戶端地址信息。當然,本領域技術人員可以知道, 同時設置白名單和黑名單只是一種較佳的實現方式,也可以只設置白名單或 只設置黑名單。
步驟305、與客戶端建立TCP連接,進入步驟306;步驟306、在設定時間內檢測是否接收到客戶端發送的數據包,如果是 則執行步驟307,否則執行步驟310;
步驟307、根據協議報文對所述數據包進行驗證,如果驗證成功則執行 步驟308;如果驗證失敗則執行步驟310;
具體的,可以驗證數據包的內容與協議報文是否一致,如果數據包的內 容與協議報文一致則驗證成功,如果數據包的內容與協議報文不一致則驗證 失敗。
步驟308、識別TCP連接為正常連接,進入步驟309;
步驟309、將客戶端地址信息加入白名單,並向客戶端發送斷開連接消 息,流程結束。
其中,斷開連接消息可以為RST消息。
步驟310、識別TCP連接為異常連接,進入步驟311;
步驟311、丟棄TCP連接,釋放TCP連接佔用的資源,進入步驟312;
步驟312、將客戶端地址信息加入黑名單,流程結束。
步驟313、允許客戶端與伺服器建立TCP連接,流程結束。
步驟314、拒絕客戶端與伺服器建立TCP連接,流程結束。
可以理解的是,本實施例中,當識別出TCP連接為異常連接後,可以先 執行步驟312將客戶端地址信息加入黑名單,再執行步驟311丟棄TCP連接, 並釋》文TCP連接佔用的資源。
本實施例中,當識別出TCP連接為異常連接後,還可以僅執行步驟311、 丟棄TCP連接,並釋放TCP連接佔用的資源,而不執行步驟312,即不將客 戶端地址信息加入黑名單;或者,本實施例中,還可以僅設置白名單而不設 置黑名單,這樣當執行步驟311之後,不用執行步驟312中的將客戶端地址 信息加入黑名單的步驟。這樣,當該客戶端再次請求建立TCP連接時,需要 執行本實施例中的各步驟以識別出該客戶端的TCP連接為異常連接。此種情 況中,異常連接的檢測裝置需要不斷地與客戶端建立TCP連接,並重複執行檢測出該TCP連接為異常連接的過程。實際上,此種情況為異常連接的檢測 裝置代替伺服器承受客戶端發起全連接攻擊的情況。
本實施例的技術方案中,在設定時間內檢測是否接收到客戶端發送的數 據包,並根據協議報文對在設定時間內接收的數據包進行驗證,當該客戶端 向伺服器發起全連接攻擊時,能夠及時識別出與該客戶端建立的TCP連接為 異常連接,從而提高了檢測全連接攻擊的準確率和實時性。
圖4為本發明實施例四提供的異常連接的檢測方法的流程圖,本實施例 主要應用於協議類型為FTPS協議的情況,如圖4所示,該方法包括
步驟401、接收客戶端發送的連接請求消息,該連接請求消息中攜帶端 口信息和客戶端地址信息;
本實施例中各步驟可以由異常連接的檢測裝置來執行。
步驟402、從連接請求消息攜帶的埠信息中解析出協議類型;
具體的,在本實施例中,該協議類型為FTPS協議類型。FTPS是在安全 套接層使用標準的FTP協議和指令的一種增強型TFP協議,為FTP協議和數 據通道增加了 SSL安全功能。FTPS也稱作"FTP-SSL"和"FTP-over-SSL"。
步驟403、查詢預先配置的協議類型中是否包括識別出的協議類型,如 果是則執行步驟404,否則執行步驟415;
步驟404、判斷設置的白名單和黑名單中是否包括客戶端地址信息,如 果白名單和黑名單中都不包括該客戶端地址信息,則執行步驟405;如果白
名單中包括客戶端地址信息則liM亍步驟415;如果黑名單中包括客戶端地址 信息則執行步驟416;
步驟405、與客戶端建立TCP連接;
步驟406、在靜默時間內檢測是否接收到客戶端發送的數據包,如果是 則執行步驟412,否則執行步驟407;
靜默時間可以為任意設置的時間。在FTPS協議類型下,在與客戶端建立 TCP連接後,在設置的靜默時間內,正常情況下客戶端不會主動向異常連接的檢測裝置發送任何數據包,因此,本步驟中通過在靜默時間內檢測是否接 收到客戶端發送的數據包也可以判斷發送該數據包的客戶端是否為可信的客 戶端。
步驟407、向客戶端發送版本數據包,進入步驟408; 具體的,在FTPS協議類型下,在設置的靜默時間內,客戶端不會向對 端設備(與客戶端建立TCP連接的對端設備)發送數據包,只在收到對端設
施例中如果客戶端需要向異常連接的檢測裝置發送數據包,則需要先收到異 常連接的檢測裝置發送的FTPS版本數據包。
步驟408、在設定時間內檢測是否接收到客戶端發送的數據包,如果是 則執行步驟409;如果否則執行步驟412;
具體的,當異常連接的檢測裝置向客戶端發送版本數據包後,在設定時 間內檢測是否接收到客戶端發送的數據包,如果是則執行步驟409;如果否 則執行步驟412。
步驟409、根據協議報文對所述數據包進行驗證,如果驗證成功則執行 步驟410;如果驗證失敗則執行步驟412;
具體的,可以驗證數據包的內容與協議報文是否一致,如果數據包的內 容與協議報文一致則驗證成功,如果數據包的內容與協議報文不一致則騶3正 失敗。
步驟410、識別TCP連接為正常連接,進入步驟411; 步驟411、將客戶端地址信息加入白名單,並向客戶端發送斷開連接消 息,流程結束。
其中,斷開連接消息可以為RST消息。
步驟412、識別TCP連接為異常連接,進入步驟413;
步驟413、丟棄TCP連接,並釋放TCP連接佔用的資源,執行步驟414;
步驟414、將客戶端地址信息加入黑名單,流程結束。步驟415、允許客戶端與伺服器建立TCP連接,流程結束。 步驟416、拒絕客戶端與伺服器建立TCP連接,流程結束。 本實施例的技術方案中,在設定時間內檢測是否接收到客戶端發送的數 據包,並根據協議報文對在設定時間內接收的數據包進行驗證,當該客戶端 向伺服器發起全連接攻擊時,能夠及時識別出與該客戶端建立的TCP連接為 異常連接,從而提高了檢測全連接攻擊的準確率和實時性。
下面通過一個具體的實施例對本發明異常連接的檢測方法應用於HTTPS 協議進行詳細說明,HTTPS協議是由SSL與http協議一起構建的可進行加密 傳輸、身份認證的網絡協議。本實施例中客戶端為HTTPS客戶端,伺服器為 HTTPS伺服器,本實施例中的流程描述的主要是對客戶端發送的連接請求進 行全連接攻擊檢測並檢測出建立的TCP連接為正常連接的情況。本實施例中 檢測全連接攻擊的過程可以由異常連接的檢測裝置來執行,該異常連接的檢 測裝置可以單獨部署,也可以設置於網關設備中,因此本實施例中以包括異 常連接的檢測裝置的網關設備為例描述異常連接的檢測方法。圖5為本發明 實施例五提供的異常連接的檢測方法的流程圖,如圖5所示,包括
步驟501、客戶端向網關設備發送SYN消息,該SYN消息中攜帶HTTPS 埠信息和HTTPS客戶端的IP位址;
步驟502、網關設備從SYN消息攜帶的HTTPS埠信息解析出協議類型為 HTTPS協議,並查詢出預先配置的協議類型中包括HTTPS協議; 即識別出的HTTPS協議屬於需要進行全連接攻擊檢測的範圍。 其中HTTPS埠信息可以為默認的埠 443,也可以採用用戶自定義的端 口信息。
步驟503、網關設備判斷出設置的白名單和黑名單中均不包括客戶端的 IP位址信息;
步驟504、網關設備向HTTPS客戶端發送SYN-ACK消息; 步驟505、 HTTPS客戶端向網關設備返回ACK消息;從而HTTPS客戶端與網關設備建立TCP連接。
步驟506、將HTTPS客戶端的IP位址添加到老化表中,並設定老化時間,
該老化時間即為設定時間;
步驟507、網關設備在老化時間內接收到HTTPS客戶端發送的數據包; 步驟508 、網關設備根據HTTPS協議報文對數據包進行驗證並驗證成功; 該HTTPS協議報文可以為HTTPS協議中的Hello消息。 網關設備可根據Hello消息對接收的數據包進行驗證,如果數據包與
Hello消息一致,則驗證成功;如果數據包與Hello消息不一致,則^ii失
敗。換言之,在驗證成功的情況下,HTTPS客戶端發送的數據包就是Hello
消息
步驟509、網關設備識別出TCP連接為正常連接,將HTTPS客戶端的地 址信息加入白名單;
步驟510、網關設備向HTTPS客戶端返回RST消息,以斷開與HTTPS客 戶端的TCP連接;
步驟511、 HTTPS客戶端通過網關設備向HTTPS伺服器發送SYN消息; 網關設備查詢出白名單中包括SYN消息中攜帶的客戶端的IP位址,則將
SYN消息轉發給HTTPS伺服器。
步驟512、 HTTPS伺服器通過網關設備向HTTPS客戶端發送SYN-ACK消息; 步驟513、 HTTPS客戶端向通過網關設備向HTTPS伺服器返回ACK消息,
從而與HTTPS伺服器建立TCP連接;
步驟514、 HTTPS客戶端通過網關設備與HTTPS伺服器進行HTTPS數據傳輸。
在本實施例中,如果網關設備根據HTTPS協議報文對數據包進行驗證並 驗證失敗,則識別出TCP連接為異常連接,並將客戶端的IP位址加入黑名單, 當該HTTPS客戶端重新向HTTPS伺服器發送SYN消息時,網關設備將拒絕 HTTPS客戶端與HTTPS伺服器建立TCP連接。下面通過一個具體的實施例對本發明異常連接的4企測方法應用於FTPS 協議進行詳細說明,本實施例中客戶端為FTPS客戶端,伺服器為FTPS服務 器,本實施例中的流程描述的主要是對客戶端發送的連接請求進行全連接攻 擊檢測並檢測出建立的TCP連接為正常連接的情況。本實施例中檢測全連接 攻擊的過程可以由異常連接的檢測裝置來執行,該異常連接的檢測裝置可以 單獨部署,也可以設置於網關設備中,因此本實施例中以包括異常連接的檢 測裝置的網關設備為例描述異常連接的檢測方法。圖6為本發明實施例六提 供的異常連接的檢測方法的流程圖,如圖6所示,包括
步驟601、 FTPS客戶端向網關設備發送SYN消息,該SYN消息中攜帶FTPS 埠信息和FTPS客戶端的IP位址;
步驟602、網關設備從SYN消息攜帶的FTPS埠信息解析出協議類型為 FTPS協議,並查詢出預先配置的協議類型中包括FTPS協議;
即識別出的FTPS協議屬於需要進行全連接攻擊檢測的範圍。
其中FTPS埠信息可以為默i^的埠 21,也可以採用用戶自定義的端 口信息。
步驟603、網關設備判斷出設置的白名單和黑名單中均不包括客戶端的 IP位址信息;
步驟604、網關設備向FTPS客戶端發送SYN-ACK消息; 步驟605、 FTPS客戶端向網關設備返回ACK消息; 從而FTPS客戶端與網關設備建立TCP連接。
步驟606、網關設備將FTPS客戶端的IP位址添加到老化表中,並設定 老化時間,該老化時間即為靜默時間;
步驟607、網關設備在老化時間內檢測出未接收到FTPS客戶端發送的數 據包;
步驟608、網關設備向FTPS客戶端發送版本數據包ftp version; ftp version為FTPS協議中的數據包;步驟609、網關設備預先設置設定時間;
步驟610、網關設備在設定時間內接收到FTPS客戶端發送的數據包; 步驟611 、網關設備根據FTPS協議報文對數據包進行驗證並驗證成功; 該FTPS協議報文為FTPS協議中的USER Command消息; 網關設備可根據USER Co隨and消息對接收的數據包進行驗證,如果數據
包與USER Command消息一致,則-驗i正成功;如果凝:據包與USER Command消
息不一致,則驗證失敗。換言之,在驗證成功的情況下,FTPS客戶端發送的
數據包就是USER Command消息。
步驟612、網關設備識別出TCP連接為正常連接,將FTPS客戶端的地址
信息加入白名單;
步驟613、網關設備向FTPS客戶端返回RST消息,以斷開與HTTPS客戶 端的TCP連接;
步驟614、 FTPS客戶端通過網關設備向FTPS伺服器發送SYN消息; 網關設備查詢出白名單中包括SYN消息中攜帶的客戶端的IP位址,則將
SYN消息轉發給FTPS伺服器。
步驟615、 FTPS伺服器通過網關設備向FTPS客戶端發送SYN-ACK消息; 步驟616、 FTPS客戶端向通過網關設備向FTPS伺服器返回ACK消息,從
而與FTPS伺服器建立TCP連接;
步驟617、 FTPS客戶端通過網關設備與FTPS伺服器進行FTPS數據傳輸。 在本實施例中,如果網關設備根據FTPS協議報文對數據包進行驗證並驗
證失敗,則識別出TCP連接為異常連接,並將客戶端的IP位址加入黑名單,
當該FTPS客戶端重新向FTPS伺服器發送SYN消息時,網關設備將拒絕FTPS
客戶端與FTPS伺服器建立TCP連接。
本實施例中,如果網關設備在老化時間(也就是靜默時間)檢測出接收
到FTPS客戶端發送的數據包,則網關設備識別該TCP連接為異常連接,並將
客戶端的IP位址加入黑名單,當該FTPS客戶端重新向FTPS伺服器發送SYN消息時,網關設備將拒絕FTPS客戶端與FTPS伺服器建立TCP連接。
圖7為本發明實施例七提供的異常連接的檢測裝置的結構示意圖,如圖
7所示,異常連接的檢測裝置包括收發模塊111、檢測模塊112、驗證模塊113
和識別模塊114,其中
收發模塊111,用於接收客戶端發送的連接請求消息,並與該客戶端建
立TCP連接;
具體地,收發模塊111接收客戶端發送的連接請求消息後向客戶端發送 連接應答消息,並接收客戶端返回的應答消息,與客戶端建立TCP連接。其 中連接請求消息可以為SYN消息、連接應答消息可以為SYN-ACK消息,應答 消息可以為ACK消息。
檢測模塊112,用於在設定時間內檢測是否接收到客戶端發送的數據包; 具體地,檢測模塊112會將檢測出接收到客戶端發送的數據包的檢測結 果發送給驗證模塊113,或者將檢測出未接收到客戶端發送的數據包的檢測 結果發送給識別模塊114。可以理解的是,客戶端發送的數據包可以由收發 模塊lll接收。
驗證模塊113,用於在檢測模塊112檢測出接收到數據包時,根據協議 報文對所接收的數據包進行驗證;
具體地,驗證模塊113可以驗證該數據包的內容與協議報文類型是否一 致,如果數據包的內容與協議報文類型一致,則驗證成功,如果數據包的內 容與協議才艮文類型不一致,則驗證失敗。
識別模塊114,用於當檢測模塊112檢測的結果為未接收到數據包時識 別TCP連接為異常連接,當在所述驗證模塊113對所述數據包驗證成功時識 別所述TCP連接為正常連接、或者在所述驗證模塊113對所述數據包驗證失 敗時識別所述TCP連接為異常連接。
具體地,識別模塊114可以根據檢測模塊112的檢測結果識別TCP連接 為異常連接。還可以根據驗證才莫塊113的驗證結果識別所述TCP連接是否為異常連接,具體的,當驗iJMt塊113的驗證結果為驗證成功時識別TCP連接 為正常連接,當騶,證-漠塊113的驗證結果為驗證失敗時識別TCP連接為異常 連接。
本實施例的技術方案中,異常連接的檢測裝置可以在設定時間內檢測是 否接收到客戶端發送的數據包,並根據協議報文對在設定時間內接收的數據 包進行驗證,當該客戶端向伺服器發起全連接攻擊時,異常連接的檢測裝置 能夠識別出與該客戶端建立的TCP連接為異常連接,從而提高了檢測全連接 攻擊的準確率。
圖8為本發明實施例八提供的異常連接的檢測裝置的結構示意圖,如圖 8所示,本實施例中的異常連接的檢測裝置在圖7中實施例的基礎上增設了 判斷模塊115、第一處理模塊116和第二處理模塊117,具體的,在本發明實 施例中,收發模塊111包括第一收發子模塊1111和第二收發子模塊1112, 判斷模塊115包括第一判斷子模塊1151和第二判斷子模塊1152,其中
第一收發子模塊1111,用於接收客戶端發送的連接請求消息,該連接請 求消息攜帶有客戶端埠號信息和客戶端地址信息;
第一判斷子模塊1151,用於根據設置的記錄表判斷待檢測的協議類型中 是否包括所述連接請求消息的協議類型,如果是,則觸發第二判斷子模塊 1152,否則觸發第一處理才莫塊116;
具體的,所述連接請求消息的協議類型可以通過解析所述連接請求消息 中攜帶的客戶端埠號信息得到。該設置的記錄表中包含有待檢測的協議類 型信息、可信的客戶端地址信息以及不可信的客戶端地址信息。
第二判斷子模塊1152,用於根據設置的記錄表中的地址信息判斷是否包 括所述客戶端地址信息,如果是則觸發第一處理模塊116,否則觸發第二收 發模塊1112;
具體的,記錄表中存儲有可信的客戶端地址信息和不可信的(或惡意的) 客戶端地址信息,可信的客戶端地址信息為通過驗i正的客戶端地址信息,不可信的客戶端地址信息為未通過驗證的客戶端地址信息。在實際應用中記錄 表中可以包括白名單和/或黑名單,白名單中存儲的是可信的客戶端地址信 息,黑名單中存儲的是惡意的客戶端地址信息。
第二收發模塊1112,用於與所述客戶端建立TCP連接,並觸發檢測模塊
113;
也就是說,此時,由該異常連接的檢測裝置代替伺服器與所述客戶端建 立TCP連接,從而啟動對該客戶端的驗證過程。
檢測模塊112,用於檢測在設定時間內是否接收到客戶端發送的數據包, 如果是,則觸發驗證模塊113,否則觸發識別模塊114;
具體的,在正常連接的情況下,在異常連接的檢測裝置與客戶端建立TCP 連接後,客戶端會向異常連接的檢測裝置發送數據包,因此,檢測模塊112 可以通過在設定時間內檢測是否接收到客戶端發送的數據包初步判斷該TCP 連接是否為異常連接。
驗證模塊113,用於根據協議報文對客戶端在設定時間內發送的數據包 進行驗證;
具體的,根據協議報文對數據包進行驗證具體可以為驗證數據包的內容 與協議報文是否一致,如果數據包的內容與協議報文一致則驗證成功,如果 數據包的內容與協議報文不一致則驗證失敗。
識別模塊114,用於驗證模塊113的驗證結果以及檢測模塊112的檢測 結果識別所述TCP連接是否為異常連接,並觸發第二處理模塊117;
具體的,當檢測結果112結果為在設定時間內未接收到客戶端發送的數 據包時,識別該TCP連接為異常連接;當驗證模塊113的驗證結果為驗證失 敗時,識別該TCP連接為異常連接;當驗證模塊113的驗證結果為驗證成功 時,識別該TCP連接為正常連接。
第一處理模塊116,用於根據第一判斷子模塊1151的判斷結果和第二判 斷子模塊1152的判斷結果對該連接請求消息進行相應處理;具體的,當第一判斷子模塊1151根據設置的記錄表判斷該數據包的協議 類型不是待檢測的協議類型時,將該連接請求消息發送給伺服器,使伺服器 與客戶端建立TCP連接;當第二判斷子模塊1152根據設置的記錄表判斷出該 客戶端地址信息為可信的客戶端地址信息時,將該連接請求消息發送給服務 器,使伺服器與客戶端建立TCP連接;當第二判斷子模塊1152根據設置的記 錄表判斷出該客戶端地址信息為可信的客戶端地址信息時,拒絕該客戶端的 連接請求消息。
第二處理模塊117,用於當識別模塊114識別出該TCP連接為正常連接 時,將該客戶端地址信息存儲於設置的記錄表中,並斷開該TCP連接;當識 別模塊114識別出該TCP連接為異常連接時,將該客戶端地址信息存儲於設 置的記錄表中,並丟棄該TCP連接。
具體的,當識別出該TCP連接為正常連接時,可以向客戶端返回RST消 息,拒絕客戶端的TCP連接;當識別出該TCP連接為異常連接時,丟棄該TCP 連接,從而使伺服器免受該客戶端的全連接攻擊。
可以理解的是,判斷模塊115中也可以只包括第二判斷子模塊1152,第 一處理模塊116和第二處理模塊117可以是一個模塊。
可以理解的是,對於ftp類型數據包,進一步地,檢測模塊112還可以 在靜默時間內檢測是否接收到客戶端發送的數據包,並將在靜默時間內接收 到數據包的檢測結果發送給識別模塊114,由識別模塊114識別該TCP連接 為異常連接;或者檢測模塊112將在靜默時間內未接收到數據包的檢測結果 發送給收發模塊111,由收發模塊111向客戶端發送版本數據包,並由檢測 模塊112在設定時間內檢測是否接收到客戶端發送的數據包。
本實施例的技術方案中,異常連接的檢測裝置可以在設定時間內檢測是 否接收到客戶端發送的數據包,並根據協議報文對在設定時間內接收的數據 包進行驗證,當該客戶端向伺服器發起全連接攻擊時,異常連接的檢測裝置 能夠識別出與該客戶端建立的TCP連接為異常連接,從而提高了檢測全連接攻擊的準確率。
本發明實施例的技術方案可應用於對多種協議類型的全連接攻擊進行檢
測,包括HTTP、 HTTPS、 FTP、 FTPS或者SSH等協議類型。
需要說明的是,本發明實施例中的異常連接的檢測裝置可單獨設置,也 可設置於各種網關設備中,例如防火牆、抗DD0S設備、統一威脅管理(Unified Threat Management,筒稱UTM )設備或者入侵防禦系統(Intrusion Prevention System,筒稱IPS)設備等,具體不再贅述。
程,是可以通過電腦程式來指令相關的硬體來完成,所述的程序可存儲於 計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例 的流程。其中,所述的存儲介質可為磁碟、光碟、只讀存儲記憶體(Read-Only Memory, ROM)或F逭才;^儲"i己小乙體(Random Access Memory, RAM)等。
最後應說明的是以上實施例僅用以說明本發明的技術方案而非對其進 行限制,儘管參照較佳實施例對本發明進行了詳細的說明,本領域的普通技 術人員應當理解其依然可以對本發明的技術方案進行修改或者等同替換, 而這些修改或者等同替換亦不能使修改後的技術方案脫離本發明技術方案的 精神和範圍。
權利要求
1、一種異常連接的檢測方法,其特徵在於,包括接收客戶端發送的連接請求消息;與所述客戶端建立TCP連接;當在設定時間內未接收到所述客戶端發送的數據包時,識別所述TCP連接為異常連接;當在設定時間內接收到所述客戶端發送的數據包時,則根據協議報文對所述數據包進行驗證,如果驗證成功則識別所述TCP連接為正常連接,如果驗證失敗則識別所述TCP連接為異常連接。
2、 根據權利要求1所述的方法,其特徵在於,所述根據協議報文對所述 數據包進行驗證包括驗證所述數據包的內容與所述協議報文是否一致,如果一致則驗證成功, 否則驗證失敗。
3、 根據權利要求l所述的方法,其特徵在於,所述連接請求消息攜帶客 戶端地址信息;則所述接收客戶端發送的連接請求消息之後還包括判斷設置的記錄表中是否包括所述客戶端地址信息;當所述記錄表中未包括所述客戶端地址信息時,執行所述與所述客戶端 建立TCP連接的步驟;或者,當所述記錄表中包括所述客戶端地址信息時,則,如果根據所述記錄表 判斷所述客戶端地址信息為可信的客戶端地址信息,則將所述客戶端的連接 請求消息發送給伺服器,使所述客戶端與伺服器建立TCP連接;如果根據所 述記錄表判斷所述客戶端地址信息為不可信的客戶端地址信息,則拒絕所述 客戶端的連接請求。
4、 根據權利要求3所述的方法,其特徵在於,還包括當識別所述TCP連接為異常連接時,將所述客戶端地址信息存儲於所述記錄表中,丟棄所述TCP連接;當識別所述TCP連接為正常連接時,將所述客戶端地址信息存儲於所述 記錄表中,斷開與所述客戶端建立的TCP連接。
5、 一種異常連接的檢測裝置,其特徵在於,包括收發模塊,用於接收客戶端發送的連接請求消息,並與所述客戶端建立 TCP連接;檢測模塊,用於檢測在設定時間內是否接收到所述客戶端發送的數據包; 驗證模塊,用於當所述檢測模塊的檢測結果為在設定時間內接收到所述 客戶端發送的數據包時,根據協議報文對所述數據包進行驗證;識別模塊,用於當所述檢測模塊的檢測結果為在設定時間內未接收到所 述客戶端發送的數據包時,識別所述TCP連接為異常連接,當所述驗證模塊 對所述數據包驗證成功時識別所述TCP連接為正常連接、或者當所述驗證模 塊對所述數據包-^i正失敗時識別所述TCP連接為異常連接。
6、 根據權利要求5所述的裝置,其特徵在於,還包括判斷模塊;所述收 發模塊包括第 一收發子模塊和第二收發子模塊;所述第一收發子模塊,用於接收所述連接請求消息,所述連接請求消息 攜帶客戶端地址信息;所述判斷模塊,用於判斷設置的記錄表中是否包括所述第 一收發子模塊 接收的連接請求消息攜帶的客戶端地址信息,當所述記錄表中未包括所述客 戶端地址信息時,觸發所述第二收發子模塊;所述第二收發子模塊,用於當所述判斷模塊判斷所述記錄表中未包括客 戶端地址信息的判斷結果時,與所述客戶端建立TCP連接。
7、 根據權利要求6所述的裝置,其特徵在於,還包括 第一處理模塊,用於當所述判斷模塊判斷所述記錄表中包含所述客戶端地址信息時,如果根據所述記錄表判斷所述客戶端地址信息為可信的客戶端 地址信息,則將所述客戶端的連接請求消息發送給伺服器,使所述客戶端與伺服器建立TCP連接;如果根據所述記錄表判斷所ii^戶端地址信息為不可 信的客戶端地址信息,則拒絕所述客戶端的連接請求。
8、 根據權利要求6所述的裝置,其特徵在於,還包括 第二處理模塊,用於當識別模塊識別出所述TCP連接為正常連接時,將該客戶端地址信息存儲於設置的記錄表中,並斷開該TCP連接;當識別模塊 識別出所述TCP連接為異常連接時,將該客戶端地址信息存儲於設置的記錄 表中,並丟棄所述TCP連接。
9、 一種網關設備,其特徵在於,包括權利要求5至8任一所述的異常 連接的檢測裝置。
全文摘要
本發明實施例公開了一種異常連接的檢測方法、裝置及網關設備。方法包括接收客戶端發送的連接請求消息;與所述客戶端建立TCP連接;當在設定時間內未接收到所述客戶端發送的數據包時,識別所述TCP連接為異常連接;當在設定時間內接收到所述客戶端發送的數據包時,則根據協議報文對所述數據包進行驗證,如果驗證成功則識別所述TCP連接為正常連接,如果驗證失敗則識別所述TCP連接為異常連接。本發明實施例的技術方案中當客戶端向伺服器發起全連接攻擊時,能夠識別出與該客戶端建立的TCP連接為異常連接,從而提高了檢測全連接攻擊的準確率。
文檔編號H04L12/56GK101594269SQ20091015103
公開日2009年12月2日 申請日期2009年6月29日 優先權日2009年6月29日
發明者莉 楊, 武 蔣 申請人:成都市華為賽門鐵克科技有限公司