基于流量異常及特征分析的攻擊行為檢測(cè)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別涉及攻擊行為檢測(cè)方法,可用于保護(hù)網(wǎng)絡(luò)安 全。
【背景技術(shù)】
[0002] 近年來(lái),互聯(lián)網(wǎng)技術(shù)得到快速發(fā)展,上網(wǎng)已經(jīng)是人們?nèi)粘9ぷ骱蜕钪斜夭豢缮?的一部分,各種新興應(yīng)用如電子郵件,網(wǎng)上購(gòu)物,網(wǎng)絡(luò)社交,網(wǎng)絡(luò)游戲等已經(jīng)成為人們辦公、 消遣中的重要選擇。這些新興事物在為用戶帶來(lái)方便的同時(shí),也帶來(lái)了新的安全隱患。首 先,所有的新興網(wǎng)絡(luò)應(yīng)用都需要用戶管理自己的賬號(hào)和密碼,這些信息一旦被人竊取,用戶 的隱私及虛擬數(shù)據(jù)將損失慘重;其次,在一些需要網(wǎng)上支付的場(chǎng)景中,用戶往往需要將自己 的銀行卡資料上傳,這些資料若被不法分子竊取,后果將不堪設(shè)想。
[0003] 針對(duì)上述問(wèn)題,目前已經(jīng)有了很多解決方案,如殺毒軟件、網(wǎng)絡(luò)防火墻等。這些防 護(hù)措施可以在一定程度上解決用戶的安全需求,但是其核心功能的實(shí)現(xiàn)是基于以往的攻擊 特征庫(kù)的,這種方式的缺點(diǎn)有:(1)當(dāng)攻擊者針對(duì)未知漏洞進(jìn)行攻擊時(shí),這類防護(hù)措施就失 效了; (2)隨著時(shí)間的推移,攻擊行為特征庫(kù)的體積將會(huì)越來(lái)越大,攔截攻擊的效率也會(huì)越 來(lái)越低。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于提出一種基于流量異常及特征分析的攻擊行為檢測(cè)方法,以解 決現(xiàn)有檢測(cè)技術(shù)中無(wú)法防范來(lái)自未知漏洞的攻擊和攻擊特征庫(kù)體積增大導(dǎo)致的攔截攻擊 效率降低的問(wèn)題。
[0005] 實(shí)現(xiàn)本方法的主要思想是:通過(guò)對(duì)流經(jīng)網(wǎng)卡的流量進(jìn)行統(tǒng)計(jì),計(jì)算流量序列的赫 斯特指數(shù)判斷流量是否符合自相似特性:若流量序列符合自相似特性,則認(rèn)為未受到攻擊, 繼續(xù)進(jìn)行下一個(gè)時(shí)刻的判斷,若流量序列不符合自相似特性,則認(rèn)為疑似受到攻擊,使用攻 擊流量特征庫(kù)對(duì)疑似攻擊流量數(shù)據(jù)包進(jìn)行匹配:若匹配成功,則認(rèn)為受到攻擊,對(duì)用戶進(jìn)行 報(bào)警,若匹配不成功,則認(rèn)為未受到攻擊,進(jìn)行下一個(gè)時(shí)刻的判斷。
[0006] 根據(jù)以上思路,本發(fā)明的技術(shù)方案包括:
[0007] (1)獲取網(wǎng)絡(luò)流量;
[0008] (2)計(jì)算網(wǎng)絡(luò)流量的赫斯特指數(shù):
[0009] 2a)設(shè)置采樣間隔n,依據(jù)單位時(shí)間內(nèi)流經(jīng)網(wǎng)絡(luò)適配器A的流量序列X = (X11 i = 1,2,. . .,η},求出流量序列X的均值$ ;
[0010] 2b)設(shè)置時(shí)移系數(shù)k,依據(jù)流量序列X的均值計(jì)算時(shí)移系數(shù)為k的流量序列的自協(xié) 方差yk、方差γ。及時(shí)移系數(shù)為k的流量序列的自相關(guān)系數(shù)p k;
[0011] 2c)設(shè)置赫斯特指數(shù)初始值Η。及迭代終止值s,并利用2b)中選擇的時(shí)移系數(shù)k和 計(jì)算出來(lái)的自相關(guān)系數(shù)Pk帶入迭代公式:
進(jìn)行計(jì)算,得到赫 斯特指數(shù)H,其中,m表示迭代次數(shù)且m多O ;
[0012] 2d)設(shè)置報(bào)警閾值q,并將赫斯特指數(shù)H與設(shè)置的報(bào)警閾值q進(jìn)行比較:若H彡q, 則流量序列X不符合自相似特性,判斷為存在疑似攻擊流量,執(zhí)行步驟(3),若H>q,則此流 量序列符合自相似特性,判斷為不存在疑似攻擊流量,返回步驟(1);
[0013] (3)對(duì)疑似攻擊流量做攻擊流量特征分析:
[0014] 3a)使用網(wǎng)絡(luò)封包分析軟件對(duì)疑似攻擊流量進(jìn)行解包,獲取數(shù)據(jù)包中的數(shù)據(jù)字段, 并將其保存到本地文件D中;
[0015] 3b)使用攻擊流量特征庫(kù)L中的攻擊流量特征字串c對(duì)本地文件D中的數(shù)據(jù)字段 進(jìn)行匹配,若匹配成功,則判斷為受到攻擊,對(duì)用戶進(jìn)行報(bào)警,否則,認(rèn)為未受到攻擊,返回 步驟(1)。
[0016] 本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點(diǎn):
[0017] 1.由于本發(fā)明使用網(wǎng)絡(luò)流量的自相似特性對(duì)是否受到攻擊進(jìn)行判斷,因此可以避 免傳統(tǒng)方案對(duì)攻擊者針對(duì)未知漏洞進(jìn)行攻擊時(shí)無(wú)法攔截的問(wèn)題。
[0018] 2.由于本發(fā)明使用網(wǎng)絡(luò)流量特征對(duì)是否受到攻擊進(jìn)行判斷,因此可以避免攻擊行 為特征庫(kù)體積增大導(dǎo)致的匹配效率降低的問(wèn)題。
【附圖說(shuō)明】
[0019] 圖1本發(fā)明的實(shí)現(xiàn)總流程圖;
[0020] 圖2是本發(fā)明中計(jì)算網(wǎng)絡(luò)流量的赫斯特指數(shù)子流程圖。
【具體實(shí)施方式】
[0021 ] 參照?qǐng)D1,本發(fā)明的實(shí)現(xiàn)步驟如下:
[0022] 步驟1,獲取網(wǎng)絡(luò)流量。
[0023] 目前,獲取網(wǎng)絡(luò)流量的方法有很多,使用如防火墻鉤子,divert socket和基于NPF 驅(qū)動(dòng)的截獲方法等等,其中,防火墻鉤子方法和divert socket方法均在在TCP/IP協(xié)議棧 的IP層截獲數(shù)據(jù)包并進(jìn)行流量統(tǒng)計(jì),這些數(shù)據(jù)包由于經(jīng)過(guò)了部分協(xié)議棧,其數(shù)據(jù)完整性得 不到保證,而基于NPF驅(qū)動(dòng)的截獲方法能夠直接對(duì)物理鏈路上的數(shù)據(jù)包進(jìn)行截獲并進(jìn)行流 量統(tǒng)計(jì),因此本實(shí)例使用基于NPF驅(qū)動(dòng)的Windows網(wǎng)絡(luò)底層訪問(wèn)工具winpcap進(jìn)行網(wǎng)絡(luò)流 量統(tǒng)計(jì),其實(shí)現(xiàn)步驟如下:
[0024] la)使用winpcap打開(kāi)需要檢測(cè)的網(wǎng)絡(luò)適配器A,設(shè)置網(wǎng)絡(luò)適配器A的統(tǒng)計(jì)模式為 混雜模式,并為A配置過(guò)濾器F ;
[0025] Ib)對(duì)通過(guò)網(wǎng)絡(luò)適配器A的數(shù)據(jù)包進(jìn)行截獲,并根據(jù)數(shù)據(jù)包的長(zhǎng)度信息,統(tǒng)計(jì)單位 時(shí)間內(nèi)流經(jīng)網(wǎng)絡(luò)適配器A的網(wǎng)絡(luò)流量。
[0026] 步驟2,計(jì)算網(wǎng)絡(luò)流量的赫斯特指數(shù)。
[0027] 參照?qǐng)D2,本步驟的實(shí)現(xiàn)如下:
[0028] 2a)設(shè)置采樣間隔n,依據(jù)單位時(shí)間內(nèi)流經(jīng)網(wǎng)絡(luò)適配器A的流量序列X = (X11 i = 1,2,. . .,η},使用公式:A計(jì)算流量序列的均值其中采樣間隔η的取值范圍為 /? / -I 10-500,若設(shè)置大的采樣間隔則算法的靈敏度降低,同時(shí)檢測(cè)誤報(bào)率也降低,若設(shè)置小的采 樣間隔則算法的靈敏度升高,但是檢測(cè)誤報(bào)率也會(huì)升高,此值可根據(jù)實(shí)際需要和網(wǎng)絡(luò)環(huán)境 進(jìn)行設(shè)置,本實(shí)例采用默認(rèn)值100 ;
[0029] 2b)設(shè)置時(shí)移系數(shù)k,使用現(xiàn)有的公式
計(jì)算時(shí)移系數(shù) 為k的流量序列的自協(xié)方差yk和方差γ。:
[0030] 若k不為0,則計(jì)算結(jié)果為時(shí)移系數(shù)為k時(shí)的自協(xié)方差yk,
[0031] 若k為0,則計(jì)算結(jié)果為方差γ。,
[0032] 根據(jù)自協(xié)方差yk和方差γ。計(jì)算流量序列的自相關(guān)系數(shù),其中時(shí)移系 /0 數(shù)k的取值范圍為0-9,時(shí)移系數(shù)越大,算法越靈敏,但同時(shí)檢測(cè)誤報(bào)率也越高,時(shí)移系數(shù) 越小,算法靈敏度降低,但同時(shí)檢測(cè)誤報(bào)率也越低,此值可根據(jù)實(shí)際需要和網(wǎng)絡(luò)環(huán)境進(jìn)行設(shè) 置,本實(shí)例使用默認(rèn)值7;
[0033] 2c)設(shè)置赫斯特指數(shù)初始值H。= 0. 5及迭代終止值s,
[0034] 其中,迭代終止值s的取值范圍為0. 0001-0. 005,若迭代終止值s的值越小,則攻 擊行為檢測(cè)的誤報(bào)率越低,但計(jì)算速度也會(huì)降低,若迭代終止值s的值越大,則攻擊行為檢 測(cè)的誤報(bào)率越高,但計(jì)算速度也會(huì)提升,此值可根據(jù)實(shí)際需要和網(wǎng)絡(luò)環(huán)境進(jìn)行設(shè)置,本實(shí)例 使用迭代終止值