一種檢測分布式拒絕服務攻擊的方法和裝置的制造方法
【技術領域】
[0001]本發(fā)明的實施方式涉及計算機領域,更具體地,本發(fā)明的實施方式涉及一種檢測分布式拒絕服務攻擊的方法和裝置。
【背景技術】
[0002]本部分旨在為權(quán)利要求書中陳述的本發(fā)明的實施方式提供背景或上下文。此處的描述不因為包括在本部分中就承認是現(xiàn)有技術。
[0003]目前,主要通過對訪問的源IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址進行統(tǒng)計的方式,檢測DDoS(Distributed Denial of Service,分布式拒絕服務)Flood(攻擊),具體為當某個源IP地址的訪問量超過一個設定的閾值的時候,則判定這個IP地址有攻擊行為。
[0004]但是,由于互聯(lián)網(wǎng)上存在大量的代理服務器,攻擊者可以通過大量的代理服務器發(fā)送請求,此時,很難從源IP地址統(tǒng)計的維度來判斷攻擊源。例如,由于IPv4地址的短缺,大量的企業(yè)、學校、機構(gòu)采用了NAT(Network Address Translat1n,網(wǎng)絡地址轉(zhuǎn)換)技術(NAT技術是指可以使用少量的公有IP地址代表較多的私有IP地址的技術),此時,NAT出口的公有IP地址下會有大量的訪問,如果仍采用通過IP地址的訪問量來判斷攻擊源的話,NAT出口下的公有IP地址很容易被誤判為攻擊源。
【發(fā)明內(nèi)容】
[0005]在采用NAT技術的情況下,仍采用通過IP地址的訪問量來判斷攻擊源的話,會將NAT出口下的公有IP地址判定為攻擊源,因此現(xiàn)有技術中的檢測分布式拒絕服務攻擊的方法存在準確度較低的缺陷,這是非常令人煩惱的過程。
[0006]為此,非常需要一種改進的檢測分布式拒絕服務攻擊的方法和裝置,以使得提高檢測分布式拒絕服務攻擊的準確度。
[0007]在本上下文中,本發(fā)明的實施方式期望提供一種檢測分布式拒絕服務攻擊的方法和裝置。
[0008]在本發(fā)明實施方式的第一方面中,提供了一種檢測分布式拒絕服務攻擊的方法,包括:在網(wǎng)站頁面中嵌入用于生成瀏覽器指紋的JavaScript代碼;接收和解析網(wǎng)站訪問者的訪問請求,以獲得網(wǎng)站訪問者的Cookie和互聯(lián)網(wǎng)協(xié)議IP地址;以及根據(jù)Cookie中瀏覽器指紋的情況,判斷所述訪問請求是否為分布式拒絕服務攻擊請求。
[0009]在本發(fā)明實施方式的第二方面中,提供了一種檢測分布式拒絕服務攻擊的裝置,包括:代碼嵌入模塊,用于在網(wǎng)站頁面中嵌入用于生成瀏覽器指紋的JavaScript代碼;訪問請求接收和解析模塊,用于接收和解析網(wǎng)站訪問者的訪問請求,以獲得網(wǎng)站訪問者的Cookie和互聯(lián)網(wǎng)協(xié)議IP地址;以及攻擊判斷模塊,用于根據(jù)Cookie中瀏覽器指紋的情況,判斷所述訪問請求是否為分布式拒絕服務攻擊請求。
[0010]根據(jù)本發(fā)明的上述實施方式中的檢測分布式拒絕服務攻擊的裝置,所述攻擊判斷模塊在根據(jù)Cookie中瀏覽器指紋的情況判斷所述訪問請求是否為分布式拒絕服務攻擊請求之前,初步判斷是否為分布式拒絕服務攻擊,在初步判斷結(jié)果為是的情況下,所述攻擊判斷模塊根據(jù)Cookie中瀏覽器指紋的情況,判斷所述訪問請求是否為分布式拒絕服務攻擊請求;在初步判斷為否的情況下,所述攻擊判斷模塊通過所述訪問者的訪問請求。
[0011]根據(jù)本發(fā)明的上述任一實施方式中的檢測分布式拒絕服務攻擊的裝置,其中當所述攻擊判斷模塊根據(jù)Cookie中瀏覽器指紋的情況,未將所述訪問請求判斷為分布式拒絕服務攻擊請求的情況下,所述攻擊判斷模塊根據(jù)同一IP地址下瀏覽器指紋的數(shù)量,來進一步判斷所述訪問請求是否為分布式拒絕服務攻擊請求。
[0012]根據(jù)本發(fā)明的上述任一實施方式中的檢測分布式拒絕服務攻擊的裝置,其中所述攻擊判斷模塊根據(jù)Cookie中瀏覽器指紋的情況,判斷所述訪問請求是否為分布式拒絕服務攻擊請求的過程中,在Cookie中不存在瀏覽器指紋的情況下,所述攻擊判斷模塊判斷所述訪問請求為分布式拒絕服務攻擊請求;或者,在Cookie中的瀏覽器指紋不合法的情況下,所述攻擊判斷模塊判斷所述訪問請求為分布式拒絕服務攻擊請求。
[0013]根據(jù)本發(fā)明的上述任一實施方式中的檢測分布式拒絕服務攻擊的裝置,其中所述攻擊判斷模塊根據(jù)Cookie中瀏覽器指紋的情況,判斷所述訪問請求是否為分布式拒絕服務攻擊請求的過程中,在Cookie中不存在瀏覽器指紋的情況下,所述攻擊判斷模塊以一隨機函數(shù)判斷所述訪問請求是否為分布式拒絕服務攻擊請求。
[0014]根據(jù)本發(fā)明的上述任一實施方式中的檢測分布式拒絕服務攻擊的裝置,其中所述攻擊判斷模塊根據(jù)同一 IP地址下瀏覽器指紋的數(shù)量,來進一步判斷所述訪問請求是否為分布式拒絕服務攻擊請求的過程中,在同一 IP地址下瀏覽器指紋的數(shù)量超過預先設置的閾值時,所述攻擊判斷模塊判斷所述訪問請求為分布式拒絕服務攻擊請求。
[0015]根據(jù)本發(fā)明的上述任一實施方式中的檢測分布式拒絕服務攻擊的裝置,還包括加密和混淆模塊,用于在所述代碼嵌入模塊在網(wǎng)站頁面中嵌入用于生成瀏覽器指紋的JavaScript代碼之前,對于所述JavaScript代碼進行加密和混淆處理。
[0016]根據(jù)本發(fā)明的上述任一實施方式中的檢測分布式拒絕服務攻擊的裝置,其中所述分布式拒絕服務攻擊是超文本傳輸協(xié)議HTTP(Hyper Text Transfer Protocol,超文本傳輸協(xié)議)泛洪攻擊。
[0017]根據(jù)本發(fā)明實施方式的檢測分布式拒絕服務攻擊的方法和裝置,在接收到訪問請求時,獲得網(wǎng)站訪問者的Cookie,并根據(jù)Cookie中瀏覽器指紋的情況,判斷所述訪問請求是否為分布式拒絕服務攻擊請求,不是根據(jù)IP地址的訪問量來判斷是否為分布式拒絕服務攻擊,從而顯著地降低了對NAT公有出口 IP地址的誤判,提高了檢測分布式拒絕服務攻擊的準確度。
[0018]同時,本發(fā)明實施方式的檢測分布式拒絕服務攻擊的方法和裝置中,在根據(jù)Cookie中瀏覽器指紋的情況判斷所述訪問請求是否為分布式拒絕服務攻擊請求的基礎上,還可以再結(jié)合同一 IP地址下瀏覽器指紋的數(shù)量的判斷手段,和/或通過對于所述JavaScript代碼進行加密和混淆處理等技術手段,進一步提高訪問的安全性及檢測分布式拒絕服務攻擊的準確度。
【附圖說明】
[0019]通過參考附圖閱讀下文的詳細描述,本發(fā)明示例性實施方式的上述以及其他目的、特征和優(yōu)點將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發(fā)明的若干實施方式,其中:
[0020]圖1A示意性地示出了根據(jù)本發(fā)明實施方式的一種檢測分布式拒絕服務攻擊的方法的流程圖;
[0021]圖1B示意性地示出了根據(jù)本發(fā)明實施方式的另一種檢測分布式拒絕服務攻擊的方法的流程圖;
[0022]圖2示意性地示出了根據(jù)本發(fā)明另一實施例的檢測分布式拒絕服務攻擊的裝置的示意圖;
[0023]圖3示意性地示出了根據(jù)本發(fā)明又一實施例的檢測分布式拒絕服務攻擊的裝置的示意圖;
[0024]圖4示意性地示出了根據(jù)本發(fā)明再一實施例的檢測分布式拒絕服務攻擊的裝置的示意圖;
[0025]在附圖中,相同或?qū)臉颂柋聿幌嗤驅(qū)牟糠帧?br>【具體實施方式】
[0026]下面將參考若干示例性實施方式來描述本發(fā)明的原理和精神。應當理解,給出這些實施方式僅僅是為了使本領域技術人員能夠更好地理解進而實現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達給本領域的技術人員。
[0027]本領域技術技術人員知道,本發(fā)明的實施方式可以實現(xiàn)為一種系統(tǒng)、裝置、設備、方法或計算機程序產(chǎn)品。因此,本公開可以具體實現(xiàn)為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結(jié)合的形式。
[0028]根據(jù)本發(fā)明的實施方式,提出了一種檢測分布式拒絕服務攻擊的方法和裝置。
[0029]在本文中,附圖中的任何元素數(shù)量均用于示例而非限制,以及任何命名都僅用于區(qū)分,而不具有任何限制含義。
[0030]為了便于對本發(fā)明實施例進行理解,下面對本發(fā)明實施例中所提及的技術術語進行解釋。
[0031]DDoS:可以指借助于客戶/服務器技術,將多個計算機聯(lián)合起來作為攻擊平臺,對一個或多個目標發(fā)動DDoS攻擊,從而成倍地提高拒絕服務攻擊的威力。通常,攻擊者使用一個偷竊帳號將DDoS主控程序安裝在一個計算機上,在一個設定的時間主控程序?qū)⑴c大量代理程序通訊,代理程序已經(jīng)被安裝在網(wǎng)絡上的許多計算機上。代理程序收到指令時就發(fā)動攻擊。利用客戶/服務器技術,主控程