張俊芳


摘要:網(wǎng)絡(luò)攻擊軟件層出不窮,攻擊事件頻頻發(fā)生,嚴(yán)重影響了正常用戶的上網(wǎng)功能。如何應(yīng)對(duì)互聯(lián)網(wǎng)中各式各樣的攻擊事件,成為了各種網(wǎng)絡(luò)設(shè)備必須要解決的課題。本文提出了一種路由網(wǎng)關(guān)設(shè)備自動(dòng)識(shí)別和定位攻擊用戶以及攻擊電路的方法,并對(duì)該攻擊的用戶或者電路的報(bào)文進(jìn)行抑制,保證正常用戶的報(bào)文可以得到響應(yīng),用戶的正常業(yè)務(wù)可以正常進(jìn)行。
關(guān)鍵字:攻擊識(shí)別;電路抑制;用戶抑制;用戶限速
引言
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)攻擊工具層出不窮,從有些論壇、博客和開源網(wǎng)站上,普通用戶輕輕松松就可以獲取不同種類的網(wǎng)絡(luò)攻擊工具。互聯(lián)網(wǎng)的公開性,讓網(wǎng)絡(luò)上的攻擊者進(jìn)行攻擊的成本大幅降低,網(wǎng)絡(luò)攻擊事件頻繁發(fā)生。路由器網(wǎng)關(guān)設(shè)備在網(wǎng)絡(luò)中承載了用戶的上網(wǎng)功能,但是由于經(jīng)常遭遇到網(wǎng)絡(luò)攻擊報(bào)文,導(dǎo)致用戶正常的上線報(bào)文或者保活報(bào)文被丟棄,嚴(yán)重影響了合法用戶的上網(wǎng)功能。例如某一個(gè)用戶(MAC識(shí)別)在某條電路上不停的發(fā)送攻擊報(bào)文,從而導(dǎo)致某一些正常用戶的保活報(bào)文或者上線報(bào)文由于算法沖突或者報(bào)文限速等原因被丟棄,用戶保活失敗或者上線失敗。失敗的用戶又會(huì)自動(dòng)重新?lián)芴?hào),隨著時(shí)間的積累,越來越多的用戶在重復(fù)不停的進(jìn)行撥號(hào)上線操作,從而導(dǎo)致整個(gè)路由網(wǎng)關(guān)設(shè)備上的用戶震蕩,CPU沖高。或者某一個(gè)用戶在一條鏈路上變換MAC,偽裝成不同的用戶,不停的發(fā)送攻擊報(bào)文,也會(huì)影響整個(gè)路由網(wǎng)關(guān)設(shè)備的用戶接入功能,系統(tǒng)CPU沖高。
當(dāng)前路由網(wǎng)關(guān)設(shè)備一般都會(huì)有業(yè)務(wù)報(bào)文的限速功能,可以減少攻擊報(bào)文對(duì)控制面的攻擊,但是基于報(bào)文類型的限速無法區(qū)分用戶,所有用戶相同類型的報(bào)文都是等價(jià)的,設(shè)備的限速功能進(jìn)行報(bào)文丟棄也是隨機(jī)的,經(jīng)常有合法用戶的協(xié)議交互報(bào)文由于限速被丟棄,而攻擊用戶的攻擊報(bào)文被錯(cuò)誤放行的情況。所以如何有效識(shí)別攻擊的用戶,以及如何抑制攻擊的報(bào)文,對(duì)路由網(wǎng)關(guān)設(shè)備顯得尤為重要。
定位攻擊模型
網(wǎng)關(guān)設(shè)備定位和抑制攻擊用戶以及攻擊電路的模型如下圖所示,基于用戶MAC或者用戶電路,對(duì)所有用戶的協(xié)議報(bào)文收包速率進(jìn)行統(tǒng)計(jì),根據(jù)一定的計(jì)算策略識(shí)別該用戶或者電路是否是攻擊用戶和電路,如果是攻擊用戶或者電路,則生成該用戶或者該電路的抑制條目。設(shè)備收到用戶的協(xié)議交互報(bào)文時(shí),如果查到抑制條目,說明該用戶或者電路已經(jīng)被識(shí)別為有攻擊行為,該用戶或者電路的所有報(bào)文都進(jìn)行丟棄,不再上送到控制面。如果沒有查中抑制條目,則該用戶或者電路的協(xié)議報(bào)文正常進(jìn)行上送并進(jìn)行速率統(tǒng)計(jì)。
對(duì)于識(shí)別為攻擊的用戶或者電路,在一段時(shí)間內(nèi)進(jìn)行報(bào)文抑制,防止該攻擊用戶或者電路的報(bào)文影響正常用戶的協(xié)議交互。抑制時(shí)間過后,對(duì)該用戶或者電路解除抑制,以免對(duì)正常用戶上網(wǎng)撥號(hào)功能產(chǎn)生影響。
定位攻擊用戶策略
對(duì)于某一個(gè)用戶在一條電路上不停發(fā)送攻擊報(bào)文的場(chǎng)景,需要識(shí)別出攻擊的用戶,并對(duì)該用戶的所有報(bào)文進(jìn)行抑制,以免對(duì)合法用戶的業(yè)務(wù)造成影響。識(shí)別攻擊用戶的策略有如下幾種:
對(duì)用戶(基于MAC)的收包速率持續(xù)進(jìn)行監(jiān)測(cè),如果發(fā)現(xiàn)用戶的收包速率明顯大于正常協(xié)議交互報(bào)文的速率,則認(rèn)為該用戶存在攻擊行為。通過設(shè)定一個(gè)報(bào)文速率的閾值,該閾值應(yīng)大于正常用戶撥號(hào)上線的交互速率值,如果用戶的收包速率超過該閾值則可以判定為攻擊用戶。需要對(duì)該用戶執(zhí)行抑制策略。
用戶不同類型的協(xié)議報(bào)文發(fā)包速率相差較大時(shí),可以對(duì)不同的報(bào)文類型分別進(jìn)行速率統(tǒng)計(jì),設(shè)定不同的抑制閾值,有一種報(bào)文的收包速率超過閾值,則認(rèn)為該用戶存在攻擊行為,對(duì)該用戶執(zhí)行抑制策略。
如果不同接口接入的用戶的行為不一樣,速率相差較大,可以對(duì)不同接口的用戶設(shè)置不同的抑制閾值,分別進(jìn)行速率統(tǒng)計(jì),如果有一個(gè)接口的收包速率超過閾值,則認(rèn)為用戶存在攻擊行為,對(duì)該用戶執(zhí)行抑制策略。
正常用戶撥號(hào)上線或者業(yè)務(wù)保活交互的協(xié)議報(bào)文速率是可預(yù)知的,不會(huì)很大,也不會(huì)太頻繁。如果一個(gè)用戶持續(xù)以超過正常交互報(bào)文速率的報(bào)文,周期性地進(jìn)行發(fā)包,雖然速率不是很大,也可以判定為攻擊用戶。通常是設(shè)定一個(gè)報(bào)文速率的較小閾值和次數(shù),連續(xù)幾次都超過這個(gè)較小的閾值,則認(rèn)為該用戶存在攻擊行為,需要對(duì)該用戶執(zhí)行抑制策略。
如果在網(wǎng)絡(luò)中,提前知道攻擊源,人為可以判定該用戶是攻擊用戶,需要進(jìn)行報(bào)文的抑制,則可以通過靜態(tài)配置的方式配置攻擊的用戶,對(duì)該用戶的所有報(bào)文作丟棄處理。對(duì)于靜態(tài)配置的用戶,需要解除抑制,只能人為刪除配置。
對(duì)于動(dòng)態(tài)識(shí)別出的攻擊用戶,執(zhí)行抑制策略一段時(shí)間,需要解除抑制。以免攻擊用戶盜用正常用戶MAC,導(dǎo)致正常用戶再也無法撥號(hào)上網(wǎng)。解除抑制后,之前被判定為攻擊的用戶的協(xié)議交互報(bào)文可以正常上送到控制面,如果后續(xù)未檢測(cè)出攻擊行為,則該用戶一切報(bào)文交互正常。如果再次檢測(cè)出攻擊行為,可以再次執(zhí)行抑制策略。
定位攻擊電路策略
對(duì)于同一個(gè)用戶變換MAC在同一個(gè)電路上進(jìn)行攻擊的場(chǎng)景,需要識(shí)別出攻擊的電路,對(duì)該電路進(jìn)行抑制。
(1)電路高速率發(fā)包
對(duì)每條電路的收包速率進(jìn)行統(tǒng)計(jì),如果發(fā)現(xiàn)某條電路的收包速率明顯大于該電路承載的用戶正常的報(bào)文交互速率,則認(rèn)為該電路存在攻擊行為。通過設(shè)定一個(gè)電路速率的閾值,該閾值應(yīng)大于該電路上所有用戶正常撥號(hào)上線的交互速率值,如果電路的收包速率超過該閾值則可以判定為攻擊的電路,需要對(duì)該電路執(zhí)行抑制策略。
對(duì)某一條電路的報(bào)文進(jìn)行抑制會(huì)影響該電路上所有接入的用戶報(bào)文交互,所以電路的抑制功能建議默認(rèn)關(guān)閉,需要使用時(shí)再開啟。
如果在網(wǎng)絡(luò)中,提前知道鏈路有攻擊,卻無法鎖定攻擊的MAC,并且知道所屬的電路信息,確認(rèn)該電路上的攻擊影響很大,可以通過靜態(tài)配置的方式配置攻擊的電路。對(duì)該電路的所有報(bào)文作丟棄處理。對(duì)整條鏈路進(jìn)行抑制后,會(huì)影響該鏈路所有用戶的接入功能,但是可以保護(hù)控制平面的安全,保障其他鏈路用戶的正常接入功能。對(duì)于靜態(tài)配置的抑制電路,需要解除抑制只能人為刪除配置。
對(duì)于動(dòng)態(tài)識(shí)別出的攻擊電路,執(zhí)行抑制策略一段時(shí)間,也需要解除抑制。防止鏈路上的攻擊消除后,正常用戶也無法進(jìn)行撥號(hào)上網(wǎng)。解除抑制后,之前被判定為攻擊電路的協(xié)議交互報(bào)文可以正常上送到控制面,如果后續(xù)未檢測(cè)出攻擊行為,則該電路用戶的一切報(bào)文交互正常。如果再次檢測(cè)出攻擊行為,則再次執(zhí)行抑制策略。
動(dòng)態(tài)識(shí)別攻擊的用戶和電路有如下優(yōu)勢(shì):
網(wǎng)絡(luò)中經(jīng)常有大量的攻擊報(bào)文影響正常用戶的上網(wǎng)業(yè)務(wù),自動(dòng)識(shí)別攻擊用戶,可以在攻擊出現(xiàn)的時(shí)候,定位攻擊的用戶并將該用戶的報(bào)文進(jìn)行抑制,阻止其對(duì)系統(tǒng)的攻擊,保證正常用戶的上網(wǎng)撥號(hào)功能。對(duì)于判定攻擊的閾值、統(tǒng)計(jì)次數(shù)、接口以及報(bào)文類型等都可以配置,兼容不同的應(yīng)用場(chǎng)景。對(duì)攻擊的用戶抑制一段時(shí)間后解除抑制,可以讓用戶不再攻擊時(shí)可以享受正常的上網(wǎng)功能。
對(duì)于整條鏈路都存在大量攻擊時(shí),可以識(shí)別并將整條電路的報(bào)文進(jìn)行抑制,防止其對(duì)系統(tǒng)資源的惡意消耗,保障其他鏈路正常接入用戶的業(yè)務(wù)。在該電路抑制一段時(shí)間后,重新開啟報(bào)文上送功能,保證電路上的攻擊消失后,用戶的接入業(yè)務(wù)可以恢復(fù)。
如果人為識(shí)別出了攻擊的用戶或者鏈路,也可以采用人工配置的方式對(duì)其進(jìn)行抑制,人工刪除配置的方式對(duì)其解除抑制。
結(jié)語
基于用戶和電路的攻擊識(shí)別方法,通過監(jiān)測(cè)用戶和電路的報(bào)文收包情況,對(duì)用戶和電路的報(bào)文進(jìn)行統(tǒng)計(jì),根據(jù)制定的策略識(shí)別出攻擊的用戶和電路。并對(duì)識(shí)別出的用戶或者電路的報(bào)文進(jìn)行抑制,保障正常合法用戶的業(yè)務(wù)不受損失。在抑制時(shí)間過后,可以重新對(duì)該用戶和電路的報(bào)文進(jìn)行放行。
通過動(dòng)態(tài)的識(shí)別攻擊并且對(duì)攻擊的報(bào)文進(jìn)行抑制,從整體上提高了系統(tǒng)的可靠性和穩(wěn)定性,提高了網(wǎng)關(guān)設(shè)備的防攻擊能力。正常合法用戶的業(yè)務(wù)也更穩(wěn)定,不因?yàn)榫W(wǎng)絡(luò)中時(shí)不時(shí)的攻擊而中斷。而且設(shè)備可以自動(dòng)識(shí)別攻擊,一方面減少了設(shè)備對(duì)人工的依賴,另一方面也可以更及時(shí)的處理攻擊,更快速的恢復(fù)業(yè)務(wù)。
路由設(shè)備可以自動(dòng)定位攻擊也讓設(shè)備更智能,實(shí)時(shí)監(jiān)測(cè),實(shí)時(shí)發(fā)現(xiàn),實(shí)時(shí)處置。降低了異常攻擊場(chǎng)景對(duì)人工的依賴,也讓設(shè)備能夠更及時(shí)的應(yīng)對(duì)各種攻擊以及異常。