一種防攻擊引擎的實(shí)現(xiàn)方法
【專利摘要】本發(fā)明提供一種防攻擊引擎的實(shí)現(xiàn)方法,其具體實(shí)現(xiàn)過程如下:在源碼中函數(shù)ngx_http_parse_request_lines()捕獲到的訪問內(nèi)容進(jìn)行過濾,通過內(nèi)置的檢測(cè)機(jī)制,分析是否存在相應(yīng)類型的攻擊,如果是則將該請(qǐng)求賦予否定值返回,否則說明這個(gè)http請(qǐng)求是合法的,通過判斷該返回值。該一種防攻擊引擎的實(shí)現(xiàn)方法和現(xiàn)有技術(shù)相比,將需要經(jīng)過復(fù)雜識(shí)別流程的訪問攻擊結(jié)束在萌芽狀態(tài),對(duì)nginx的服務(wù)起到了輔助的作用,對(duì)服務(wù)器資源的安全方面起到了保護(hù)作用,使得nginx更加高效、安全、可靠。
【專利說明】一種防攻擊引擎的實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)信息安全【技術(shù)領(lǐng)域】,具體的說是一種實(shí)用性強(qiáng)、防攻擊引擎的實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002]傳統(tǒng)的nginx提供服務(wù)的時(shí)候需要有額外的防火墻或者類防護(hù)墻技術(shù)來識(shí)別攻擊,對(duì)防火墻的依賴性導(dǎo)致服務(wù)效率下降,防攻擊也就是傳統(tǒng)的殺毒,一般來說,評(píng)價(jià)防攻擊攻擊好壞應(yīng)從多方面綜合考慮,主要包括:掃描速度、資源占用、清毒能力、對(duì)于多態(tài)攻擊的檢測(cè),脫殼能力、解密能力、對(duì)抗花指令能力、對(duì)抗改入口點(diǎn)的變種病毒的能力等對(duì)抗變種病毒、此外還有穩(wěn)定性、兼容性。而本發(fā)明提出的防攻擊是輕量級(jí)的,也就是說有一部分攻擊判斷不出來的,這部分需要復(fù)雜的專業(yè)防火墻去判斷,本發(fā)明所識(shí)別的是比較容易識(shí)別而不需要nginx去耗費(fèi)資源的攻擊。本發(fā)明的技術(shù)前提是在研究了各種攻擊,如web層遠(yuǎn)程操作系統(tǒng)、sql注入攻擊、xss跨站攻擊、惡意掃描、木馬等特征明顯的攻擊,通過本產(chǎn)品的內(nèi)置對(duì)比機(jī)制,快速識(shí)別是否是攻擊。
[0003]通過研Nginx的源碼,我們可以獲取到來自請(qǐng)求http和應(yīng)答的http,分析請(qǐng)求便可以將含有攻擊的請(qǐng)求拒絕,nginx內(nèi)核不用處理。通過對(duì)請(qǐng)求內(nèi)容的分析可以做擴(kuò)展的處理,不過不能影響nginx本身的性能,只有并行擴(kuò)展低能耗的功能。所以在處理階段可以自己開發(fā)的回調(diào)函數(shù)進(jìn)行功能拓展。
[0004]因此,本發(fā)明提供了一種基于自主學(xué)習(xí)算法的輕量級(jí)防攻擊引擎的實(shí)現(xiàn)方法。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的技術(shù)任務(wù)是解決現(xiàn)有技術(shù)的不足,提供一種安全性強(qiáng)、防攻擊引擎的實(shí)現(xiàn)方法。
[0006]本發(fā)明的技術(shù)方案是按以下方式實(shí)現(xiàn)的,該一種防攻擊引擎的實(shí)現(xiàn)方法,其具體實(shí)現(xiàn)過程為:
一、在nginx服務(wù)器中,初始化引擎,啟動(dòng)防攻擊引擎,并將nginx接收到的訪問請(qǐng)求輸入引擎。
[0007]二、在源碼中的函數(shù) nginx_http_parse_request_lines O 返回 NGX_0K 之前,將該函數(shù)捕獲到的訪問內(nèi)容進(jìn)行過濾,分析是否具有攻擊特征。
[0008]三、如果是則將該請(qǐng)求賦予否定值并返回,否則說明這個(gè)http請(qǐng)求是合法的,通過判斷該返回值,將函數(shù) nginx_http_parse_header_line O 返回 NGX_HTTP_HEADER_DONE。
[0009]所述網(wǎng)絡(luò)攻擊特征的發(fā)現(xiàn)使用粒子群算法,該算法的詳細(xì)過程為:
1)在url群體內(nèi)部,首先完成單個(gè)粒子完成初始化,并將權(quán)值和目標(biāo)位置優(yōu)化,優(yōu)化后的結(jié)果實(shí)時(shí)傳遞給url群體,這里的url群體是由若干url組成,每一個(gè)url中包含若干粒子;
2)設(shè)置目標(biāo)值、url群體位置、url群體權(quán)值,進(jìn)行url群總體優(yōu)化;3)循環(huán)、優(yōu)化迭代N次直至優(yōu)化收斂。
[0010]所述群內(nèi)粒子的優(yōu)化公式:
Vs [] = Vs [] + [SI * rand () * (Spbest [] - Spresent []) + S2 * rand () * (Sbest []-spresent []) ]*Experience,其中 Spresent [] = Spersent [] +Vs [],其中 Vs 表不粒子速度,Sbest表示最佳位置速度,Spbest表示目標(biāo)參數(shù),Spresent表示當(dāng)前粒子位置參數(shù),Experience表示經(jīng)驗(yàn)值且其值為1,S1、S2表示單個(gè)粒子學(xué)習(xí)因子。該公式的括號(hào)內(nèi)填寫優(yōu)化的粒子數(shù)值,比如第幾粒子。
[0011 ] 所述url群總體優(yōu)化公式:
vg [] = vg [] + [Gl * rand O * (Gpbest [] - Gpresent []) +G2*rand() * (gbest []-Gpresent []) ]^Experience,其中 Gpresent [] = Gpersent [] + Vg[],在該公式中 Vg表不url群速度,Gbest表示最佳位置速度,Gpbest表示目標(biāo)參數(shù),Gpresent表示當(dāng)前粒子位置參數(shù),Experience表示經(jīng)驗(yàn)值且其值為1,G1、G2表示url群的學(xué)習(xí)因子。該公式的括號(hào)內(nèi)填寫優(yōu)化的url群數(shù)值。
[0012]本發(fā)明與現(xiàn)有技術(shù)相比所產(chǎn)生的有益效果是:
本發(fā)明的一種防攻擊引擎的實(shí)現(xiàn)方法在不影響nginx原有緩存技術(shù)和效率的基礎(chǔ)上并行增加的一個(gè)攻擊檢測(cè)技術(shù),在nginx現(xiàn)有技術(shù)的基礎(chǔ)上增加了常見攻擊的防護(hù)功能,更大程度的降低了服務(wù)器的開銷;該防攻擊技術(shù)具有自動(dòng)更新的能力,在聯(lián)網(wǎng)的情況下可以通過自主學(xué)習(xí)網(wǎng)絡(luò)上得到的新攻擊的特征來補(bǔ)充現(xiàn)有規(guī)則庫的特征,自主學(xué)習(xí)算法是一個(gè)類似網(wǎng)絡(luò)爬蟲下載功能,在不同的資源中篩選攻擊的新特征;綜合分析了各種攻擊的基礎(chǔ)上,將通用的攻擊歸類、取樣,針對(duì)各種攻擊模擬的訪問進(jìn)行了應(yīng)答模式的設(shè)置,將需要經(jīng)過復(fù)雜識(shí)別流程的訪問攻擊結(jié)束在萌芽狀態(tài),對(duì)nginx的服務(wù)起到了輔助的作用,對(duì)服務(wù)器資源的安全方面起到了保護(hù)作用,使得nginx更加高效、安全、可靠;能夠更大程度的提高訪問速度、降低服務(wù)器的負(fù)載,防護(hù)能力強(qiáng),保證數(shù)據(jù)安全性,實(shí)用性強(qiáng),易于推廣。
【專利附圖】
【附圖說明】
[0013]附圖1為本發(fā)明的實(shí)現(xiàn)示意圖。
[0014]附圖2是本發(fā)明的核心引擎實(shí)現(xiàn)圖。
[0015]附圖3是本發(fā)明的核心攻擊識(shí)別示意圖。
【具體實(shí)施方式】
[0016]下面結(jié)合附圖對(duì)本發(fā)明的一種防攻擊引擎的實(shí)現(xiàn)方法作以下詳細(xì)說明。
[0017]本發(fā)明提供了一種基于Nginx的防攻擊引擎的實(shí)現(xiàn)方法,Nginx是一款可擴(kuò)展的開源服務(wù)器,本發(fā)明是在nginx的基礎(chǔ)上繼續(xù)二次開發(fā),開發(fā)出一種防各種常見攻擊的引擎,以一種插件的形式嵌入nginx,在不影響nginx本身性能的基礎(chǔ)上,提前過濾掉常見的攻擊,并給出返回值,不占用nginx的本身的資源?;谠撛O(shè)計(jì)思路,如附圖1、圖2、圖3所示,該方法的具體實(shí)現(xiàn)過程為:
一、在nginx服務(wù)器中,初始化引擎,啟動(dòng)防攻擊引擎,并將nginx接收到的訪問請(qǐng)求輸入引擎,該引擎具備一定的緩存和特征碼庫,屬于自主定義的范疇。
[0018] 該防攻擊引擎工作的原理架構(gòu)如附圖1所示,此功能是加入到nginx請(qǐng)求處理之后的handler模塊的并行功能,根據(jù)檢測(cè)到的訪問的安全性,決定該訪問繼續(xù)由nginx處理還是由該引擎返回拒絕并中斷訪問,以免浪費(fèi)nginx的資源。該引擎的核心函數(shù)邏輯如下所示:
【權(quán)利要求】
1.一種防攻擊引擎的實(shí)現(xiàn)方法,其特征在于其具體實(shí)現(xiàn)過程為: 一、在nginx服務(wù)器中,初始化引擎,啟動(dòng)防攻擊引擎,并將nginx接收到的訪問請(qǐng)求輸入引擎; 二、在源碼中的函數(shù)nginx_http_parse_request_linesO返回NGX_OK之前,將該函數(shù)捕獲到的訪問內(nèi)容進(jìn)行過濾,分析是否具有攻擊特征; 三、如果是則將該請(qǐng)求賦予否定值并返回,否則說明這個(gè)http請(qǐng)求是合法的,通過判斷該返回值,將函數(shù) nginx_http_parse_header_line O 返回 NGX_HTTP_HEADER_DONE。
2.根據(jù)權(quán)利要求1所述的一種防攻擊引擎的實(shí)現(xiàn)方法,其特征在于:所述網(wǎng)絡(luò)攻擊特征的發(fā)現(xiàn)使用粒子群算法,該算法的詳細(xì)過程為: 1)在url群體內(nèi)部,首先完成單個(gè)粒子完成初始化,并將權(quán)值和目標(biāo)位置優(yōu)化,優(yōu)化后的結(jié)果實(shí)時(shí)傳遞給url群體,這里的url群體是由若干url組成,每一個(gè)url中包含若干粒子; 2)設(shè)置目標(biāo)值、url群體位置、url群體權(quán)值,進(jìn)行url群總體優(yōu)化; 3)循環(huán)、優(yōu)化迭代N次直至優(yōu)化收斂。
3.根據(jù)權(quán)利要求2所述的一種防攻擊引擎的實(shí)現(xiàn)方法,其特征在于:所述群內(nèi)粒子的優(yōu)化公式:
Vs [] = Vs [] + [SI * rand () * (Spbest [] - Spresent []) + S2 * rand () * (Sbest []-spresent []) ]*Experience,其中 Spresent [] = Spersent [] +Vs[],其中 Vs 表不粒子速度,Sbest表示最佳位置速度,Spbest表示目標(biāo)參數(shù),Spresent表示當(dāng)前粒子位置參數(shù),Experience表示經(jīng)驗(yàn)值且其值為I, S1、S2表示單個(gè)粒子學(xué)習(xí)因子。
4.根據(jù)權(quán)利要求2所述的一種防攻擊引擎的實(shí)現(xiàn)方法,其特征在于:所述url群總體優(yōu)化公式:
vg [] = vg [] + [Gl * rand () * (Gpbest [] - Gpresent []) + G2 * rand () * (gbest []-Gpresent []) ]^Experience,其中 Gpresent [] = Gpersent [] + Vg[],在該公式中 Vg表不url群速度,Gbest表示最佳位置速度,Gpbest表示目標(biāo)參數(shù),Gpresent表示當(dāng)前粒子位置參數(shù),Experience表示經(jīng)驗(yàn)值且其值為I, Gl、G2表示url群的學(xué)習(xí)因子。
【文檔編號(hào)】G06F21/55GK104036186SQ201410311345
【公開日】2014年9月10日 申請(qǐng)日期:2014年7月2日 優(yōu)先權(quán)日:2014年7月2日
【發(fā)明者】路廷文 申請(qǐng)人:浪潮電子信息產(chǎn)業(yè)股份有限公司