基于csrf攻擊的防護(hù)方法及裝置的制造方法
【專利摘要】本發(fā)明提供一種基于CSRF攻擊的防護(hù)方法及裝置,該方法包括:接收HTTP報(bào)文,并判斷HTTP報(bào)文是否需要防護(hù);若HTTP報(bào)文需要進(jìn)行防護(hù),且HTTP報(bào)文中包含來(lái)源網(wǎng)址時(shí),判斷來(lái)源網(wǎng)址是否為安全網(wǎng)址;若來(lái)源網(wǎng)址是安全網(wǎng)址時(shí),獲取HTTP報(bào)文的參數(shù);當(dāng)HTTP報(bào)文的參數(shù)中沒有預(yù)設(shè)的積極模式串,或者有且只有預(yù)設(shè)的積極模式串時(shí),則確定HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;當(dāng)不是有且只有預(yù)設(shè)的積極模式串時(shí),則確定HTTP報(bào)文出現(xiàn)異常,并對(duì)HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。因此本發(fā)明可以實(shí)現(xiàn)對(duì)HTTP報(bào)文進(jìn)行基于CSRF攻擊的防護(hù),而且防護(hù)效率較高,不易產(chǎn)生防護(hù)錯(cuò)誤,還極大提高防護(hù)效率。
【專利說(shuō)明】
基于CSRF攻擊的防護(hù)方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及基于CSRF攻擊的防護(hù)方法及裝置。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展,出現(xiàn)了一種權(quán)限冒用的攻擊方法,即跨站請(qǐng)求偽造(Cross Site Request Forgery,CSRF)攻擊。該CSRF攻擊是一種網(wǎng)絡(luò)攻擊形式,該攻擊可以在受害者毫不知情的情況下以受害者名義偽造請(qǐng)求發(fā)送給受攻擊站點(diǎn),從而在未授權(quán)的情況下執(zhí)行在權(quán)限保護(hù)之下的操作,具有很大的危害性。
[0003]現(xiàn)有技術(shù)中,基于CSRF攻擊的防護(hù)方法可以采用驗(yàn)證超文本傳輸協(xié)議(HyperText Transfer Protocol,HTTP)的 Referer 字段來(lái)實(shí)現(xiàn)。其中,根據(jù) HTTP 協(xié)議,在 HTTP 頭中有一個(gè)字段叫Referer,它記錄了該HTTP請(qǐng)求的來(lái)源地址。但是,采用上述防護(hù)方法安全性不高,對(duì)CSRF攻擊的防護(hù)效果很低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供基于CSRF攻擊的防護(hù)方法及裝置,以解決現(xiàn)有技術(shù)中采用現(xiàn)有的防護(hù)方法安全性不高,對(duì)CSRF攻擊的防護(hù)效果很低的問(wèn)題。
[0005]根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種基于CSRF攻擊的防護(hù)方法,所述方法包括:
[0006]接收HTTP報(bào)文,并判斷所述HTTP報(bào)文是否需要基于CSRF攻擊的防護(hù);
[0007]若所述HTTP報(bào)文需要進(jìn)行所述防護(hù),且所述HTTP報(bào)文中包含所述HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),判斷所述HTTP報(bào)文的來(lái)源網(wǎng)址是否為安全網(wǎng)址;
[0008]若所述來(lái)源網(wǎng)址是安全網(wǎng)址時(shí),獲取所述HTTP報(bào)文的參數(shù)當(dāng)所述HTTP報(bào)文的參數(shù)中包含預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;當(dāng)所述HTTP報(bào)文的參數(shù)中沒有包含預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行丟包處理。
[0009]根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種基于CSRF攻擊的防護(hù)裝置,所述裝置包括:
[0010]第一判斷單元,用于接收超文本傳輸協(xié)議HTTP報(bào)文,并判斷所述HTTP報(bào)文是否需要基于CSRF攻擊的防護(hù);
[0011 ] 第二判斷單元,用于若所述HTTP報(bào)文需要進(jìn)行所述防護(hù),且所述HTTP報(bào)文中包含所述HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),判斷所述HTTP報(bào)文的來(lái)源網(wǎng)址是否為安全網(wǎng)址;
[0012]第一防護(hù)單元,用于若所述來(lái)源網(wǎng)址是安全網(wǎng)址時(shí),獲取所述HTTP報(bào)文的參數(shù);當(dāng)所述HTTP報(bào)文的參數(shù)中沒有預(yù)設(shè)的積極模式串,或者所述HTTP報(bào)文的參數(shù)中有且只有預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;當(dāng)所述HTTP報(bào)文的參數(shù)中不是有且只有預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。
[0013]應(yīng)用本發(fā)明實(shí)施例,通過(guò)接收HTTP報(bào)文,并判斷所述TTP報(bào)文是否需要基于CSRF攻擊的防護(hù);若HTTP報(bào)文需要進(jìn)行防護(hù),且HTTP報(bào)文中包含HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),判斷HTTP報(bào)文的來(lái)源網(wǎng)址是否為安全網(wǎng)址;若來(lái)源網(wǎng)址是安全網(wǎng)址時(shí),獲取HTTP報(bào)文的參數(shù),當(dāng)HTTP報(bào)文的參數(shù)中包含預(yù)設(shè)的積極模式串時(shí),則確定HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;當(dāng)HTTP報(bào)文的參數(shù)中沒有包含預(yù)設(shè)的積極模式串時(shí),則確定HTTP報(bào)文出現(xiàn)異常,并對(duì)HTTP報(bào)文進(jìn)行丟包處理,從而實(shí)現(xiàn)了對(duì)HTTP報(bào)文進(jìn)行基于CSRF攻擊的防護(hù),而且防護(hù)效率較高,不易產(chǎn)生防護(hù)錯(cuò)誤,還極大提高防護(hù)效率。
【附圖說(shuō)明】
[0014]圖1是應(yīng)用本發(fā)明實(shí)施例基于CSRF攻擊的防護(hù)的應(yīng)用場(chǎng)景示意圖;
[0015]圖2是本發(fā)明基于CSRF攻擊的防護(hù)方法的一個(gè)實(shí)施例流程圖;
[0016]圖3是本發(fā)明基于CSRF攻擊的防護(hù)方法的另一個(gè)實(shí)施例流程圖;
[0017]圖4是本發(fā)明基于CSRF攻擊的防護(hù)裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖;
[0018]圖5是本發(fā)明基于CSRF攻擊的防護(hù)裝置的一個(gè)實(shí)施例框圖。
【具體實(shí)施方式】
[0019]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。
[0020]參見圖1,為應(yīng)用本發(fā)明實(shí)施例基于CSRF攻擊的防護(hù)的應(yīng)用場(chǎng)景示意圖:
[0021]圖1中示出了一種基于CSRF攻擊的防護(hù)的組網(wǎng)架構(gòu)。該架構(gòu)中包括網(wǎng)站(Web) A、網(wǎng)站B和網(wǎng)站A的合法用戶。
[0022]其中,網(wǎng)站A可以接用戶發(fā)送的HTTP報(bào)文。網(wǎng)站B為用戶發(fā)送的HTTP報(bào)文的來(lái)源網(wǎng)站。根據(jù)HTTP協(xié)議,在HTTP頭中有一個(gè)字段叫Referer,它記錄了該HTTP請(qǐng)求的來(lái)源地址,該來(lái)源地址為Web B的網(wǎng)址。
[0023]如果Web A沒有基于CSRF的防護(hù)機(jī)制,即存在CSRF漏洞的網(wǎng)站,Web B為攻擊者構(gòu)建的惡意網(wǎng)站,當(dāng)用戶根據(jù)網(wǎng)站B的請(qǐng)求,向網(wǎng)站A發(fā)送HTTP報(bào)文,而網(wǎng)站A并不知道該HTTP報(bào)文其實(shí)是由網(wǎng)站B發(fā)起的,所以會(huì)根據(jù)用戶C的權(quán)限處理該HTTP報(bào)文,導(dǎo)致來(lái)自網(wǎng)站B的惡意代碼被執(zhí)行。
[0024]本發(fā)明實(shí)施例中,當(dāng)網(wǎng)站A接收到HTTP報(bào)文后,首先判斷該HTTP報(bào)文是否基于CSRF攻擊的防護(hù),當(dāng)判定需要防護(hù)時(shí),則進(jìn)行相應(yīng)的防護(hù),并根據(jù)防護(hù)結(jié)果決定是對(duì)該HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理,還是對(duì)該HTTP報(bào)文進(jìn)行丟包處理;以及,只有判定不需要防護(hù)時(shí),才直接對(duì)該HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。
[0025]另外,網(wǎng)站A接收到的HTTP報(bào)文可以外網(wǎng)發(fā)送的,也可以內(nèi)網(wǎng)發(fā)送的。其中,外網(wǎng)指的是除網(wǎng)站A外的網(wǎng)站,S卩外網(wǎng)的網(wǎng)站與網(wǎng)站A的域名或網(wǎng)絡(luò)之間互連的協(xié)議(InternetProtocol, IP)地址不同;內(nèi)網(wǎng)指的是網(wǎng)站A自身,具有相同的域名或IP地址。
[0026]因此,本發(fā)明實(shí)施例中,可以從內(nèi)網(wǎng)、外網(wǎng)發(fā)送的HTTP報(bào)文進(jìn)行基于CSRF攻擊的有效防護(hù)。
[0027]下面結(jié)合附圖對(duì)本發(fā)明基于CSRF攻擊的防護(hù)的實(shí)施例進(jìn)行詳細(xì)描述。
[0028]參見圖2,為本發(fā)明基于CSRF攻擊的防護(hù)方法的一個(gè)實(shí)施例流程圖,該方法可以應(yīng)用于網(wǎng)站上,比如,圖1中的網(wǎng)站A,具體包括以下步驟:
[0029]步驟210:接收HTTP報(bào)文,并判斷該HTTP報(bào)文是否需要基于CSRF攻擊的防護(hù)。其中,該HTTP報(bào)文可以是內(nèi)網(wǎng)網(wǎng)站發(fā)送的,也可以是外網(wǎng)網(wǎng)站發(fā)送的。
[0030]步驟220:若接收到的HTTP報(bào)文需要進(jìn)行基于CSRF攻擊的防護(hù),且該HTTP報(bào)文中包含發(fā)送該HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),判斷該HTTP報(bào)文的來(lái)源網(wǎng)址是否為安全網(wǎng)址。其中,根據(jù)HTTP協(xié)議,在HTTP頭中有一個(gè)字段叫Referer,它記錄了該HTTP請(qǐng)求的來(lái)源地址。
[0031]步驟230:若HTTP報(bào)文的來(lái)源網(wǎng)址是安全網(wǎng)址時(shí),獲取該HTTP報(bào)文的參數(shù);當(dāng)HTTP報(bào)文的參數(shù)中沒有預(yù)設(shè)的積極模式串,或者HTTP報(bào)文的參數(shù)中有且只有預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;當(dāng)所述HTTP報(bào)文的參數(shù)中不是有且只有預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。
[0032]本發(fā)明實(shí)施例中,積極模式串指的是HTTP報(bào)文的統(tǒng)一資源定位器(UniformResource Locator,URL)網(wǎng)址的參數(shù)部分中的參數(shù),預(yù)設(shè)的積極模式串為預(yù)設(shè)的參數(shù)。
[0033]比如,HTTP報(bào)文的URL網(wǎng)址的參數(shù)部分為/dp/index, php ? name = dptech,其中,name為積極模式串。若預(yù)設(shè)的積極模式串為name,則確定該HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)該HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。
[0034]本發(fā)明實(shí)施例中使用預(yù)設(shè)的積極模式串目的是進(jìn)一步確定接收到的HTTP報(bào)文的安全性,只有滿足積極模式串匹配準(zhǔn)則,才能更好地進(jìn)行基于CSRF攻擊的防護(hù)。其中,積極模式串匹配準(zhǔn)則為有且只有積極模式串。
[0035]由上述實(shí)施例可見,通過(guò)接收HTTP報(bào)文,并判斷所述TTP報(bào)文是否需要基于CSRF攻擊的防護(hù);若HTTP報(bào)文需要進(jìn)行防護(hù),且HTTP報(bào)文中包含HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),判斷HTTP報(bào)文的來(lái)源網(wǎng)址是否為安全網(wǎng)址;若來(lái)源網(wǎng)址是安全網(wǎng)址時(shí),獲取HTTP報(bào)文的參數(shù),當(dāng)HTTP報(bào)文的參數(shù)中包含預(yù)設(shè)的積極模式串時(shí),則確定HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;當(dāng)HTTP報(bào)文的參數(shù)中沒有包含預(yù)設(shè)的積極模式串時(shí),則確定HTTP報(bào)文出現(xiàn)異常,并對(duì)HTTP報(bào)文進(jìn)行丟包處理,從而實(shí)現(xiàn)了對(duì)HTTP報(bào)文進(jìn)行基于CSRF攻擊的防護(hù),而且防護(hù)效率較高,不易產(chǎn)生防護(hù)錯(cuò)誤,還極大提高防護(hù)效率。
[0036]在一個(gè)實(shí)施例中,上述基于CSRF攻擊的防護(hù)方法還包括:
[0037]若接收到的HTTP報(bào)文中不包含所述來(lái)源網(wǎng)址,或者該HTTP報(bào)文的來(lái)源網(wǎng)址不是安全網(wǎng)址時(shí),獲取該HTTP報(bào)文的參數(shù);當(dāng)HTTP報(bào)文的參數(shù)中包含預(yù)設(shè)的積極模式串時(shí),則確定HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;當(dāng)HTTP報(bào)文的參數(shù)中沒有包含預(yù)設(shè)的積極模式串時(shí),則確定HTTP報(bào)文出現(xiàn)異常,并對(duì)HTTP報(bào)文進(jìn)行丟包處理。
[0038]另一個(gè)實(shí)施例中,上述基于CSRF攻擊的防護(hù)方法還包括:
[0039]若接收到的HTTP報(bào)文不需要進(jìn)行基于CSRF攻擊的防護(hù)時(shí),則確定該HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)該HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。
[0040]再一個(gè)實(shí)施例中,上述步驟210中判斷該HTTP報(bào)文是否需要基于CSRF攻擊的防護(hù)時(shí),具體步驟包括:
[0041](I)獲取接收到的HTTP報(bào)文的URL網(wǎng)址,并在預(yù)設(shè)的URL網(wǎng)址中查詢HTTP報(bào)文的URL網(wǎng)址。其中,預(yù)設(shè)的URL網(wǎng)址包括需要進(jìn)行基于CSRF攻擊的防護(hù)的網(wǎng)址。
[0042](2)若查詢到HTTP報(bào)文的URL網(wǎng)址時(shí),則該HTTP報(bào)文需要進(jìn)行基于CSRF攻擊的防護(hù);若沒有查詢到HTTP報(bào)文的URL網(wǎng)址時(shí),則該HTTP報(bào)文不需要進(jìn)行基于CSRF攻擊的防護(hù)。
[0043]再一個(gè)實(shí)施例中,上述步驟220中判斷HTTP報(bào)文的來(lái)源網(wǎng)址是否為安全網(wǎng)址時(shí),具體步驟包括:
[0044](I)在預(yù)設(shè)的來(lái)源網(wǎng)址中查詢HTTP報(bào)文的來(lái)源網(wǎng)址。其中,預(yù)設(shè)的來(lái)源網(wǎng)址皆為安全網(wǎng)址。
[0045](2)若查詢到HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),則HTTP報(bào)文的來(lái)源網(wǎng)址是安全網(wǎng)址;若沒有查詢到HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),則HTTP報(bào)文的來(lái)源網(wǎng)址不是安全網(wǎng)址。
[0046]由上述實(shí)施例可見,通過(guò)對(duì)HTTP報(bào)文的URL網(wǎng)址、來(lái)源網(wǎng)址、積極模式串等方面進(jìn)行區(qū)分處理,從而實(shí)現(xiàn)了對(duì)HTTP報(bào)文進(jìn)行基于CSRF攻擊的防護(hù),而且防護(hù)效率較高,不易產(chǎn)生防護(hù)錯(cuò)誤,還極大提高防護(hù)效率。
[0047]圖3是本發(fā)明基于CSRF攻擊的防護(hù)方法的另一個(gè)實(shí)施例流程圖,該方法可以應(yīng)用于網(wǎng)站上,比如,圖1中的網(wǎng)站A,具體包括以下步驟:
[0048]步驟301:接收HTTP報(bào)文。其中,該HTTP報(bào)文可以是內(nèi)網(wǎng)網(wǎng)站發(fā)送的,也可以是外網(wǎng)網(wǎng)站發(fā)送的。
[0049]步驟302:判斷HTTP報(bào)文是否需要基于CSRF攻擊的防護(hù),若需要,則執(zhí)行步驟303 ;否則,則執(zhí)行步驟311。
[0050]其中,判斷HTTP報(bào)文是否需要基于CSRF攻擊的防護(hù)具體包括:
[0051](I)獲取接收到的HTTP報(bào)文的URL網(wǎng)址,并在預(yù)設(shè)的URL網(wǎng)址中查詢接收到的HTTP報(bào)文的URL網(wǎng)址。其中,預(yù)設(shè)的URL網(wǎng)址包括需要進(jìn)行基于CSRF攻擊的防護(hù)的網(wǎng)址。
[0052](2)若查詢到HTTP報(bào)文的URL網(wǎng)址時(shí),則該HTTP報(bào)文需要進(jìn)行基于CSRF攻擊的防護(hù);若沒有查詢到HTTP報(bào)文的URL網(wǎng)址時(shí),則該HTTP報(bào)文不需要進(jìn)行基于CSRF攻擊的防護(hù)。
[0053]步驟303:獲取HTTP報(bào)文的來(lái)源網(wǎng)址。
[0054]步驟304:判斷是否獲取到HTTP報(bào)文的來(lái)源網(wǎng)址,若獲取到,則執(zhí)行步驟305 ;否貝IJ,則執(zhí)行步驟309。
[0055]步驟305:判斷HTTP報(bào)文的來(lái)源網(wǎng)址是否為安全網(wǎng)址,若是安全網(wǎng)址,則執(zhí)行步驟306 ;否則,則執(zhí)行步驟309。
[0056]其中,判斷HTTP報(bào)文的來(lái)源網(wǎng)址是否為安全網(wǎng)址具體包括:
[0057](I)在預(yù)設(shè)的來(lái)源網(wǎng)址中查詢HTTP報(bào)文的來(lái)源網(wǎng)址。其中,預(yù)設(shè)的來(lái)源網(wǎng)址皆為安全網(wǎng)址。
[0058](2)若查詢到HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),則所述HTTP報(bào)文的來(lái)源網(wǎng)址是安全網(wǎng)址;若沒有查詢到HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),則HTTP報(bào)文的來(lái)源網(wǎng)址不是安全網(wǎng)址。
[0059]步驟306:獲取HTTP報(bào)文的參數(shù)。
[0060]步驟307:判斷HTTP報(bào)文的參數(shù)中是否包含預(yù)設(shè)的積極模式串,若包含,則執(zhí)行步驟308 ;否則,執(zhí)行步驟312。
[0061]步驟308:判斷HTTP報(bào)文的參數(shù)中是否有且只有預(yù)設(shè)的積極模式串,若有且只有預(yù)設(shè)的積極模式串,則執(zhí)行步驟311 ;否則,執(zhí)行步驟312。
[0062]步驟309:獲取HTTP報(bào)文的參數(shù)。
[0063]步驟310:判斷HTTP報(bào)文的參數(shù)中是否包含預(yù)設(shè)的積極模式串,若包含,則執(zhí)行步驟311 ;否則,執(zhí)行步驟312。
[0064]步驟311:確定HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理,流程結(jié)束。
[0065]步驟312:確定HTTP報(bào)文出現(xiàn)異常,并對(duì)HTTP報(bào)文進(jìn)行丟包處理,流程結(jié)束。
[0066]由上述實(shí)施例可見,通過(guò)對(duì)HTTP報(bào)文的URL網(wǎng)址、來(lái)源網(wǎng)址、積極模式串等方面進(jìn)行區(qū)分處理,從而實(shí)現(xiàn)了對(duì)HTTP報(bào)文進(jìn)行基于CSRF攻擊的防護(hù),而且防護(hù)效率較高,不易產(chǎn)生防護(hù)錯(cuò)誤,還極大提高防護(hù)效率。
[0067]與前述基于CSRF攻擊的防護(hù)方法實(shí)施例相對(duì)應(yīng),本發(fā)明還提供了基于CSRF攻擊的防護(hù)裝置的實(shí)施例。
[0068]本發(fā)明基于CSRF攻擊的防護(hù)裝置的實(shí)施例可以應(yīng)用在網(wǎng)絡(luò)設(shè)備上。裝置實(shí)施例可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過(guò)其所在設(shè)備的處理器將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖4所示,為本發(fā)明基于CSRF攻擊的防護(hù)裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖4所示的處理器、網(wǎng)絡(luò)接口、內(nèi)存以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常還可以包括其他硬件,如負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)芯片等等;從硬件結(jié)構(gòu)上來(lái)講該設(shè)備還可能是分布式的設(shè)備,可能包括多個(gè)接口卡,以便在硬件層面進(jìn)行報(bào)文處理的擴(kuò)展。
[0069]參見圖5,為本發(fā)明基于CSRF攻擊的防護(hù)裝置的一個(gè)實(shí)施例框圖,所述裝置可以應(yīng)用在網(wǎng)絡(luò)設(shè)備上,可以用于執(zhí)行圖2和圖3所示的基于CSRF攻擊的防護(hù)方法,所述裝置包括:第一判斷單元51、第二判斷單元52和第一防護(hù)單元53。
[0070]其中,第一判斷單元51用于接收超文本傳輸協(xié)議HTTP報(bào)文,并判斷所述HTTP報(bào)文是否需要基于CSRF攻擊的防護(hù)。
[0071]第二判斷單元52用于若所述HTTP報(bào)文需要進(jìn)行所述防護(hù),且所述HTTP報(bào)文中包含所述HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),判斷所述HTTP報(bào)文的來(lái)源網(wǎng)址是否為安全網(wǎng)址。
[0072]第一防護(hù)單元53用于若所述來(lái)源網(wǎng)址是安全網(wǎng)址時(shí),獲取所述HTTP報(bào)文的參數(shù);當(dāng)所述HTTP報(bào)文的參數(shù)中沒有預(yù)設(shè)的積極模式串,或者所述HTTP報(bào)文的參數(shù)中有且只有預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;當(dāng)所述HTTP報(bào)文的參數(shù)中不是有且只有預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。
[0073]其中,積極模式串指的是HTTP報(bào)文的URL網(wǎng)址的參數(shù)部分中的參數(shù),預(yù)設(shè)的積極模式串為預(yù)設(shè)的參數(shù)。
[0074]在一個(gè)可選的實(shí)現(xiàn)方式中,所述基于CSRF攻擊的防護(hù)裝置還可以包括:第二防護(hù)單元(圖5中未示出)。
[0075]其中,第二防護(hù)單元用于若所述HTTP報(bào)文中不包含所述來(lái)源網(wǎng)址,或者所述HTTP報(bào)文的來(lái)源網(wǎng)址不是安全網(wǎng)址時(shí),獲取所述HTTP報(bào)文的參數(shù);當(dāng)所述HTTP報(bào)文的參數(shù)中包含預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;當(dāng)所述HTTP報(bào)文的參數(shù)中沒有包含預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行丟包處理。
[0076]在另一個(gè)可選的實(shí)現(xiàn)方式中,所述基于CSRF攻擊的防護(hù)裝置還可以包括:第三防護(hù)單元(圖5中未示出)。
[0077]其中,第三防護(hù)單元用于若所述HTTP報(bào)文不需要進(jìn)行所述防護(hù)時(shí),則確定所述HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。
[0078]再一個(gè)可選的實(shí)現(xiàn)方式中,所述第一判斷單元51還用于獲取所述HTTP報(bào)文的統(tǒng)一資源定位器URL網(wǎng)址,并在預(yù)設(shè)的URL網(wǎng)址中查詢所述HTTP報(bào)文的URL網(wǎng)址,所述預(yù)設(shè)的URL網(wǎng)址包括需要進(jìn)行基于CSRF攻擊的防護(hù)的網(wǎng)址;若查詢到所述HTTP報(bào)文的URL網(wǎng)址時(shí),則所述HTTP報(bào)文需要進(jìn)行所述防護(hù);若沒有查詢到所述HTTP報(bào)文的URL網(wǎng)址時(shí),則所述HTTP報(bào)文不需要進(jìn)行所述防護(hù)。
[0079]再一個(gè)可選的實(shí)現(xiàn)方式中,所述第二判斷單元52還用于在預(yù)設(shè)的來(lái)源網(wǎng)址中查詢所述HTTP報(bào)文的來(lái)源網(wǎng)址,所述預(yù)設(shè)的來(lái)源網(wǎng)址皆為安全網(wǎng)址;若查詢到所述HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),則所述HTTP報(bào)文的來(lái)源網(wǎng)址是安全網(wǎng)址;若沒有查詢到所述HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),則所述HTTP報(bào)文的來(lái)源網(wǎng)址不是安全網(wǎng)址。
[0080]上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過(guò)程具體詳見上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過(guò)程,在此不再贅述。
[0081]對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本發(fā)明方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
[0082]由上述實(shí)施例可見,通過(guò)接收HTTP報(bào)文,并判斷所述TTP報(bào)文是否需要基于CSRF攻擊的防護(hù);若HTTP報(bào)文需要進(jìn)行防護(hù),且HTTP報(bào)文中包含HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),判斷HTTP報(bào)文的來(lái)源網(wǎng)址是否為安全網(wǎng)址;若來(lái)源網(wǎng)址是安全網(wǎng)址時(shí),獲取HTTP報(bào)文的參數(shù),當(dāng)HTTP報(bào)文的參數(shù)中包含預(yù)設(shè)的積極模式串時(shí),則確定HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;當(dāng)HTTP報(bào)文的參數(shù)中沒有包含預(yù)設(shè)的積極模式串時(shí),則確定HTTP報(bào)文出現(xiàn)異常,并對(duì)HTTP報(bào)文進(jìn)行丟包處理,從而實(shí)現(xiàn)了對(duì)HTTP報(bào)文進(jìn)行基于CSRF攻擊的防護(hù),而且防護(hù)效率較高,不易產(chǎn)生防護(hù)錯(cuò)誤,還極大提高防護(hù)效率。
[0083]本領(lǐng)域技術(shù)人員在考慮說(shuō)明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
[0084]應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來(lái)限制。
【主權(quán)項(xiàng)】
1.一種基于跨站請(qǐng)求偽造CSRF攻擊的防護(hù)方法,其特征在于,所述方法包括: 接收超文本傳輸協(xié)議HTTP報(bào)文,并判斷所述HTTP報(bào)文是否需要基于CSRF攻擊的防護(hù); 若所述HTTP報(bào)文需要進(jìn)行所述防護(hù),且所述HTTP報(bào)文中包含所述HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),判斷所述HTTP報(bào)文的來(lái)源網(wǎng)址是否為安全網(wǎng)址; 若所述來(lái)源網(wǎng)址是安全網(wǎng)址時(shí),獲取所述HTTP報(bào)文的參數(shù);當(dāng)所述HTTP報(bào)文的參數(shù)中沒有預(yù)設(shè)的積極模式串,或者所述HTTP報(bào)文的參數(shù)中有且只有預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;當(dāng)所述HTTP報(bào)文的參數(shù)中不是有且只有預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)設(shè)的積極模式串為預(yù)設(shè)的參數(shù),所述方法還包括: 若所述HTTP報(bào)文中不包含所述來(lái)源網(wǎng)址,或者所述HTTP報(bào)文的來(lái)源網(wǎng)址不是安全網(wǎng)址時(shí),獲取所述HTTP報(bào)文的參數(shù);當(dāng)所述HTTP報(bào)文的參數(shù)中包含預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;當(dāng)所述HTTP報(bào)文的參數(shù)中沒有包含預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行丟包處理。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 若所述HTTP報(bào)文不需要進(jìn)行所述防護(hù)時(shí),則確定所述HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述HTTP報(bào)文是否需要基于CSRF攻擊的防護(hù)具體包括: 獲取所述HTTP報(bào)文的統(tǒng)一資源定位器URL網(wǎng)址,并在預(yù)設(shè)的URL網(wǎng)址中查詢所述HTTP報(bào)文的URL網(wǎng)址,所述預(yù)設(shè)的URL網(wǎng)址包括需要進(jìn)行基于CSRF攻擊的防護(hù)的網(wǎng)址; 若查詢到所述HTTP報(bào)文的URL網(wǎng)址時(shí),則所述HTTP報(bào)文需要進(jìn)行所述防護(hù);若沒有查詢到所述HTTP報(bào)文的URL網(wǎng)址時(shí),則所述HTTP報(bào)文不需要進(jìn)行所述防護(hù)。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述HTTP報(bào)文的來(lái)源網(wǎng)址是否為安全網(wǎng)址具體包括: 在預(yù)設(shè)的來(lái)源網(wǎng)址中查詢所述HTTP報(bào)文的來(lái)源網(wǎng)址,所述預(yù)設(shè)的來(lái)源網(wǎng)址皆為安全網(wǎng)址; 若查詢到所述HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),則所述HTTP報(bào)文的來(lái)源網(wǎng)址是安全網(wǎng)址;若沒有查詢到所述HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),則所述HTTP報(bào)文的來(lái)源網(wǎng)址不是安全網(wǎng)址。6.一種基于CSRF攻擊的防護(hù)裝置,其特征在于,所述裝置包括: 第一判斷單元,用于接收超文本傳輸協(xié)議HTTP報(bào)文,并判斷所述HTTP報(bào)文是否需要基于CSRF攻擊的防護(hù); 第二判斷單元,用于若所述HTTP報(bào)文需要進(jìn)行所述防護(hù),且所述HTTP報(bào)文中包含所述HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),判斷所述HTTP報(bào)文的來(lái)源網(wǎng)址是否為安全網(wǎng)址; 第一防護(hù)單元,用于若所述來(lái)源網(wǎng)址是安全網(wǎng)址時(shí),獲取所述HTTP報(bào)文的參數(shù);當(dāng)所述HTTP報(bào)文的參數(shù)中沒有預(yù)設(shè)的積極模式串,或者所述HTTP報(bào)文的參數(shù)中有且只有預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;當(dāng)所述HTTP報(bào)文的參數(shù)中不是有且只有預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述預(yù)設(shè)的積極模式串為預(yù)設(shè)的參數(shù),所述裝置還包括: 第二防護(hù)單元,用于若所述HTTP報(bào)文中不包含所述來(lái)源網(wǎng)址,或者所述HTTP報(bào)文的來(lái)源網(wǎng)址不是安全網(wǎng)址時(shí),獲取所述HTTP報(bào)文的參數(shù);當(dāng)所述HTTP報(bào)文的參數(shù)中包含預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;當(dāng)所述HTTP報(bào)文的參數(shù)中沒有包含預(yù)設(shè)的積極模式串時(shí),則確定所述HTTP報(bào)文出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行丟包處理。8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 第三防護(hù)單元,用于若所述HTTP報(bào)文不需要進(jìn)行所述防護(hù)時(shí),則確定所述HTTP報(bào)文沒有出現(xiàn)異常,并對(duì)所述HTTP報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理。9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述第一判斷單元還用于獲取所述HTTP報(bào)文的統(tǒng)一資源定位器URL網(wǎng)址,并在預(yù)設(shè)的URL網(wǎng)址中查詢所述HTTP報(bào)文的URL網(wǎng)址,所述預(yù)設(shè)的URL網(wǎng)址包括需要進(jìn)行基于CSRF攻擊的防護(hù)的網(wǎng)址;若查詢到所述HTTP報(bào)文的URL網(wǎng)址時(shí),則所述HTTP報(bào)文需要進(jìn)行所述防護(hù);若沒有查詢到所述HTTP報(bào)文的URL網(wǎng)址時(shí),則所述HTTP報(bào)文不需要進(jìn)行所述防護(hù)。10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述第二判斷單元還用于在預(yù)設(shè)的來(lái)源網(wǎng)址中查詢所述HTTP報(bào)文的來(lái)源網(wǎng)址,所述預(yù)設(shè)的來(lái)源網(wǎng)址皆為安全網(wǎng)址;若查詢到所述HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),則所述HTTP報(bào)文的來(lái)源網(wǎng)址是安全網(wǎng)址;若沒有查詢到所述HTTP報(bào)文的來(lái)源網(wǎng)址時(shí),則所述HTTP報(bào)文的來(lái)源網(wǎng)址不是安全網(wǎng)址。
【文檔編號(hào)】H04L29/08GK105991615SQ201510096263
【公開日】2016年10月5日
【申請(qǐng)日】2015年3月4日
【發(fā)明人】鄭言
【申請(qǐng)人】杭州迪普科技有限公司