999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于虛電路的拒絕服務攻擊防御研究

2009-12-31 00:00:00林宏剛
計算機應用研究 2009年9期

摘 要:設計了一種基于虛電路的拒絕服務保護基體系結構;介紹了基于虛電路的資源分配算法;在基于服務元網絡體系結構的虛電路結構原型系統中實現了所提出的資源分配算法。與其他算法相比,該算法能有效對抗來自網絡的惡意授權實體的拒絕服務攻擊。

關鍵詞:拒絕服務; 虛電路; 資源分配; 惡意授權實體

中圖分類號:TP309.02文獻標志碼:A

文章編號:1001-3695(2009)09-3499-03

doi:10.3969/j.issn.1001-3695.2009.09.085

Research of denial of service attack defense based on virtual circuit

CHEN Lin1, LIN Hong-gang1, HU Yong2

(1.Security Institute of Computer Network, Chengdu University of Information Technology, Chengdu 610225, China; 2.Institute of Information Security, Sichuan University, Chengdu 610064, China)

Abstract:This paper designed a denial of service protection base architecture based on virtual circuit. And presented resource allocation algorithm based on virtual circuit. Realized the resource allocation algorithm in the prototype system of the virtual circuit architecture based on service unit network architecture. Compared with other algorithms, the algorithm can effectively fight the denial of service attacks from malicious authorized entities in the networks.

Key words:denial of service; virtual circuit; resource allocation; malicious authorized entities

近幾年來,在諸多的網絡攻擊中,拒絕服務攻擊成為影響網絡可用性的突出問題。全球每年由于拒絕服務攻擊而造成的經濟損失高達數百億美元[1]。比如,2000年2月,Yahoo、Buy.com、eBay、Amazon、CNN等多家大型網站遭受分布式拒絕服務攻擊而關閉數小時,同時整個網絡速度降低了26%,造成高達10億美元的經濟損失。為此,國內外對拒絕服務攻擊的防御進行了深入研究。

1 相關研究工作

Tuomas Aura等人[2]在對拒絕服務進行深入研究后,將拒絕服務分成兩種類型:第一種是由于過度分配或長時間占用共享資源而導致的拒絕服務,如進程(包括惡意進程和合法進程)從共享資源池中獲取大量資源并占為己有,不允許其他進程使用;第二種是由于資源被破壞而導致的拒絕服務,如惡意進程將資源從共享資源池中刪除,從而導致資源不可用,但惡意進程并沒有獲得資源本身。第二種拒絕服務通??梢酝ㄟ^訪問控制、完整性保護等機制予以避免,而第一種拒絕服務攻擊的防御相對比較困難。為此,國內外主要圍繞如何進行合理的資源分配以避免拒絕服務進行研究。

Yu等人[3]認為一種有效的拒絕服務解決方案必須基于資源分配的控制。Jonathan K. Millen[4]提出了拒絕服務保護基(denial of service protection base, DPB)的概念,DPB負責控制資源的分配。Zheng等人[5]提出了一種有效的實現DPB的算法,但所提出的資源分配算法僅僅基于進程標志和運行進程的用戶標志進行資源分配,對于主機系統而言,問題不是很明顯,但在網絡環境中,存在以下兩個方面的問題:a)由于進程(如IP進程)通常為多個實體(有可能是授權實體,也可能是非授權實體)提供服務,如果進程請求的資源大量用于為非授權實體提供服務,那么當授權實體請求提供服務時,進程會由于得不到相應的資源而無法為授權實體提供服務,從而導致拒絕服務的發生;b)即便是授權實體也有惡意授權實體和非惡意授權實體之分,如果進程請求的資源大量用于為惡意授權實體提供服務,那么當非惡意授權實體請求提供服務時,進程同樣會由于得不到相應的資源而無法為非惡意授權實體提供服務,從而導致拒絕服務的發生。針對情況a),文獻[6]提出了解決辦法:接入路由器對請求接入的源節點進行身份鑒別,源節點只有鑒別通過之后,才能接入網絡,保證只有授權實體才能接入網絡。本文針對情況b),設計了一種基于虛電路的拒絕服務保護基體系結構和資源分配算法,避免了來自惡意授權實體的拒絕服務攻擊。

2 關于虛電路

計算機網絡通常被劃分成資源子網和通信子網,其中通信子網的內部結構主要有數據報和虛電路結構兩種[7]。在虛電路結構中,為了進行數據的傳輸,網絡的源節點和目標節點之間先要建立一條邏輯通路,因為這條邏輯電路不是物理的實際電路,所以稱之為虛電路。源節點和目標節點在同一時間可能存在多條虛電路和多個節點連接。兩個節點之間也可以同時存在多條虛電路為不同的進程服務,這些虛電路的實際路徑可能相同,也可能不同,不同的虛電路通過虛電路號進行區分。在每個被傳送的數據分組中不僅要有分組序號、校驗和等控制信息,還要有它要通過的虛電路的號碼,以區別于其他虛電路的數據分組。

3 基于虛電路的拒絕服務防御方案

基于虛電路的拒絕服務保護基體系結構如圖1所示。進程在請求資源時,它要將進程標志idp、是否是網絡通信進程的標志ifnet、虛電路標志idvc、請求資源的類型a及請求資源的數量nr發送給資源分配監視器。資源分配監視器根據資源分配策略(resource allocation policy, RAP)、資源分配表(resource allocation table, RAT)和虛電路表(virtual circuit table, VCT)決定該資源分配請求是否被接受。虛電路的相關信息存儲在VCT中,RAP不能將信息寫入VCT,VCT的更新工作由虛電路建立、維護、刪除模塊負責。

3.1 基于虛電路的資源分配算法

設maxtotal(a)表示能夠被分配給所有進程的資源ρa的數量,maxp(a)表示能夠分配給單個進程的資源ρa的數量,maxu(a,b)表示能夠分配給用戶b的資源ρa的數量,maxv(a,b)表示能夠分配給虛電路b的資源ρa的數量,maxs_node(a,s)表示能分配給源節點s的資源ρa的數量,curtotal(a)表示當前已經分配給所有進程的資源ρa的數量,curp(a,b)表示當前已經分配給進程b的資源ρa的數量,curu(a,b)表示當前已經分配給用戶b的資源ρa的數量,curv(a,b)表示當前已經分配給虛電路b的資源ρa的數量,curs_node(a,s)表示當前已經分配給源節點s的資源ρa的數量。

資源監視器執行的資源分配算法描述如下:

input: idp,ifnet,idvc,a,nr

variable: result

begin:

Fetchmaxtotal(a) from RAP

Fetchmaxp(a) from RAP

if (ifnet)then

Fetch maxv(a,idvc) from RAP

Fetch maxs_node(a,source(idvc)) from RAP

endif

if (curtotal(a)+nr>maxtotal(a)) then

result=deny

else

if(curp(a,idp)+nr>maxp(a)) then

result=deny

else

if(curu(a,owner(idp))+nr>maxu(a,owner(idp))) then

result=deny

else

if(ifnet) then

if (curv(a,idvc)+nr>maxv(a,idvc))then

result=deny

else

if(curs_node(a,source(idvc))+nr>maxs_node(a,source(idvc)))

result=deny

else

result=accept

endif

endif

endif

endif

endif

endif

end

output: result

上面介紹的算法描述中:

a)語句“Fetch maxtotal(a) from RAP”的作用是從資源分配策略中讀取資源ρa能分配給所有進程的數量。

b)語句“Fetch maxp(a)from RAP”的作用是從資源分配策略中讀取資源ρa能分配給單個進程的數量。

c)語句“if (ifnet) then”的作用是判斷是否是網絡通信進程。

d)語句“Fetch maxv(a,idvc) from RAP”的作用是從資源分配策略中讀取能分配給標志為idvc的虛電路的資源ρa的數量。

e)語句“Fetch maxs_node(a,source(idvc)) from RAP”的作用是從資源分配策略中讀取能分配給標志為idvc的虛電路對應源節點的資源ρa的數量;

f)語句“if (curtotal(a)+nr>maxp(a)) then”的作用是判斷當前已經分配給所有進程的資源ρa的數量與進程請求分配的資源ρa的數量之和是否大于從資源分配策略中讀取的資源ρa能分配給所有進程的數量。

g)語句“if(curp(a,idp)+nr>maxp(a)) then”的作用是判斷當前已經分配給請求資源分配進程的資源ρa的數量與進程請求分配的資源ρa的數量之和是否大于從資源分配策略中讀取的資源ρa能分配給單個進程的數量。

h)語句“if(curu(a,owner(idp))+nr>maxu(a,owner(idp)) then”的作用是判斷當前已經分配給運行請求資源分配進程的用戶的資源ρa的數量與進程請求分配的資源ρa的數量之和是否大于從資源分配策略中讀取的能分配給運行請求資源分配進程的用戶的資源ρa的數量。

i)語句“if (curv(a,idvc)+nr>maxv(a,idvc)) then”的作用是判斷當前已經分配給標志為idvc的虛電路的資源ρa的數量與進程請求分配的資源ρa的數量之和是否大于從資源分配策略中讀取的能分配給標志為idvc的虛電路的資源ρa的數量。

j)語句“if(curs_node(a,source(idvc))+nr>maxs_node(a,source(idvc))”的作用是判斷當前分配給請求中標志為idvc的虛電路對應源節點的資源ρa的數量與進程請求分配的資源ρa的數量之和是否大于從資源分配策略中讀取的能分配給標志為idvc的虛電路對應源節點的資源ρa的數量。

3.2 基于虛電路的資源分配策略

定義 資源分配策略是一個五元組(M,P,U,V,S)。其中:M=〈m1,m2,…,ml〉是一個向量,表示系統中每種資源能分配給所有進程的數量;P=〈p1,p2,…,pl〉是一個向量,表示系統中每種資源能分配給單個進程的數量;U是一個l×k的矩陣,其中k是系統的用戶數,矩陣U的元素ua,b(a≤l,b≤k)表示用戶b能分配資源ρa的數量;V是一個l×q的矩陣,q是系統的虛電路數,矩陣元素va,b(a≤l,b≤q)表示虛電路b能分配資源ρa的數量;S是一個l×z的矩陣,z是系統的源節點數,矩陣元素sa,b(a≤l,b≤z)表示源節點b能分配資源ρa的數量。

資源分配監視器根據資源分配策略、資源分配表和虛電路表決定進程的資源分配請求是被拒絕,還是接受。以下幾種情況之一發生時,資源分配監視器將拒絕進程的資源分配請求:

a)某進程請求分配某種資源ρa的數量與已經分配給所有進程的資源ρa的數量之和大于允許分配給所有進程的資源ρa的數量。

b)某進程請求分配某種資源ρa的數量與已經分配給該進程的資源ρa的數量之和大于允許分配給該進程的資源ρa的數量。

c)某進程請求分配某種資源ρa的數量與已經分配給該進程用戶的資源ρa的數量之和大于允許分配給該進程用戶的資源ρa的數量。

d)如果請求某種資源ρa的進程是網絡通信進程,該進程請求分配資源ρa的數量與已經分配給某條虛電路的資源ρa的數量之和大于允許分配給該虛電路的資源ρa的數量。

e)如果請求某種資源ρa的進程是網絡通信進程,該進程請求分配資源ρa的數量與已經分配給某個授權實體的資源ρa的數量之和大于允許分配給該授權實體的資源ρa的數量。

3.3 資源分配表和虛電路表

資源分配表用于存放已分配資源的相關信息。資源分配表的每一行包括五個域,表示成〈idp,rid,uid,vid,nr〉。其中:idp域表示進程的標志;rid域表示資源的標志;uid域表示進程用戶的標志;vid域表示虛電路的標志;nr域表示已分配資源的數量。

虛電路表用于存放虛電路的相關信息。虛電路表的每一行包括五個域,表示成〈sid,in_vid,in_if,out_vid,out_if〉。其中:sid域表示源節點的標志;in_vid域表示入虛電路標志;in_if域表示入接口;out_vid域表示出虛電路標志;out_if域表示出接口。

根據資源分配表和虛電路表,可以計算出當前已經分配給所有進程的資源ρa的數量curtotal(a)、當前已經分配給進程idp的資源ρa的數量curp(a,idp))、當前已經分配給用戶owner(idp)的資源ρa的數量curu(a,owner(idp))、當前已經分配給虛電路idvc的資源ρa的數量curv(a,idvc)、當前已經分配給源節點source(idvc)的資源ρa的數量curs_node(a,source(idvc))。

函數owner:ID→UID的定義域ID是進程標志的集合,值域UID是運行該進程的用戶標志集合。通過函數owner,可以求出指定進程的用戶,如通過式(1)可以求出標志為idp的進程的用戶標志為uid

owner(idp)=uid(1)

函數source:VID→SID的定義域VID是虛電路標志的集合,值域SID是源節點標志集合。通過函數source,可以求出指定虛電路的源節點(即發起建立該虛電路的節點),如通過式(2)可以求出標志為idvc的虛電路的源節點的標志為sid

source(idvc)=sid(2)

3.4 資源分配策略的執行

資源分配監視器執行函數Φ:IDp,B,IDv,R,N→{deny,accept},

Φ(idp,ifnet,idvc,a,nr)=

deny 如果request(idp,ifnet,idvc,a,nr)應當被拒絕

accept 如果request(idp,ifnet,idvc,a,nr)應當被接受(3)

函數Φ的定義域IDp是由所有進程的標志構成的集合;B={0,1};IDv是由所有虛電路標志構成的集合;R是由所有資源構成的集合,R={ρa|a=1,2,…,l};N是大于0的整數集合;函數Φ的值域是集合{deny,accept},其中deny表示拒絕進程的資源分配請求,accept表示接受進程的資源分配請求。

進程資源分配請求request(idp,ifnet,idvc,a,nr)中的虛電路標志idvc是進程從它接收到的數據分組頭中提取的虛電路標志。虛電路標志是建立虛電路時確定的。

4 算法在Linux操作系統中的實現

本文在基于服務元網絡體系結構的虛電路結構的原型系統[8](圖2)中實現了基于虛電路的資源分配算法。圖2中,與客戶機節點和服務器節點緊鄰的路由器稱為接入路由器,其他路由器稱為傳輸路由器。在客戶機節點、接入路由器節點、傳輸路由器節點以及服務器節點中的虛電路維護模塊負責在客戶機節點和服務器節點之間建立、維護和撤銷虛電路,并負責更新虛電路表。在服務器節點中的資源分配監視器模塊實現了基于虛電路的資源分配算法。

通過對Linux操作系統核心中與網絡通信有關的系統調用的服務函數進行修改,實現了基于虛電路的資源分配。以send( )和recv( )兩個系統調用為例,在send( )和recv( )兩個系統調用的服務函數sys_vc_send( )和sys_vc_rcv( )中,當需要進行sk_buff緩存結構分配時,則執行式(3)所示的資源分配函數。如果執行的結果為accept,則為sys_vc_send( )或sys_vc_rcv( )函數分配其所需的sk_buff緩存結構;否則,返回失敗。

為了測試所實現的資源分配算法,本文使用了五臺高性能的PC機作為客戶機節點。每臺客戶機節點上的合法用戶首先與服務器節點建立起虛電路,然后同時運行針對服務器節點的洪水攻擊程序。測試結果表明,所實現的算法能有效對抗來自惡意授權實體的拒絕服務攻擊。

5 結束語

給出了基于虛電路的拒絕服務保護基體系結構,描述了基于虛電路的資源分配算法。在Linux操作系統下面,通過修改與網絡通信有關的系統調用的服務函數,實現了基于虛電路的資源分配。與其他只適應于主機系統的資源分配算法相比,基于虛電路的資源分配算法能有效對抗網絡環境中由惡意授權實體發起的拒絕服務攻擊。

參考文獻:

[1]MIRKOVIC J, MARTIN J, PEIHER P. A taxonomy of DDoS attacks and DDoS defense mechanisms[J]. ACM Sigcomm Computer Comm, 2004,34(2):39-53.

[2]AURA T, NIKANDER P, LEIWO J. DOS-resistant authentication with client puzzles[M]. Berlin: Springer, 2001:170-177.

[3]YU C F, GLIGOR V D. A specification and verification method for preventing denial of service[J]. IEEE Trans on Software Engineering, 1990,16(6): 581-592.

[4]MILLEN J K. A resource allocation model for denial of service[C]//Proc of IEEE Symposium on Security and Privacy. Oakiand, CA:IEEE Computer Society, 1992: 137-147.

[5]LEIWO J, ZHENG Yu-liang. A method to implement a denial of service protection base[C]//Proc of the 2nd Australian Confenence on Information Security and Privacy. London:Springer-Verlag, 1997: 90-101.

[6]肖邦樂. 基于虛電路的微通信元構架的安全機制研究[D]. 成都:電子科技大學, 2005.

[7]曾華燊, 高雨. 論高速接入網技術[J]. 計算機應用, 2006, 26(8): 1751-1755.

[8]魯珂, 左玲, 曾家智. 微通信元網絡系統的軟件架構[J]. 計算機科學, 2006, 33(7):20-22.

主站蜘蛛池模板: 91一级片| 亚洲人成网7777777国产| 国产精品成人免费视频99| 国产内射一区亚洲| 99久久精品免费看国产免费软件| 思思热在线视频精品| 乱系列中文字幕在线视频| 亚洲精品不卡午夜精品| 亚洲国产日韩一区| 国产主播一区二区三区| 国产亚洲精品自在久久不卡| 女人毛片a级大学毛片免费| 国产麻豆va精品视频| 亚洲男人天堂网址| 亚洲欧美色中文字幕| 一级香蕉视频在线观看| 成人免费网站久久久| 中文字幕丝袜一区二区| 国内精品久久久久鸭| 小13箩利洗澡无码视频免费网站| 精品少妇三级亚洲| 亚洲精品午夜无码电影网| 全部免费特黄特色大片视频| 国产精品成人久久| 在线观看欧美精品二区| 精品国产aⅴ一区二区三区| 国产精品入口麻豆| 精品小视频在线观看| 亚洲中文字幕97久久精品少妇| 婷婷亚洲综合五月天在线| 免费中文字幕在在线不卡| 国内精品视频| 亚洲国产av无码综合原创国产| 女人18一级毛片免费观看| 亚洲欧美激情小说另类| 夜夜操狠狠操| 天天干天天色综合网| 激情综合婷婷丁香五月尤物| 2020亚洲精品无码| 无遮挡国产高潮视频免费观看| 欧美特级AAAAAA视频免费观看| 欧美黄色网站在线看| 91成人在线观看| 不卡午夜视频| 亚洲精品自产拍在线观看APP| 亚洲成人动漫在线观看| 国产18页| 老司机精品一区在线视频| 亚洲欧美成人在线视频| 日本国产精品一区久久久| 久久青草视频| 日韩欧美国产成人| 国产精品永久不卡免费视频| 最新国产成人剧情在线播放| 国产国模一区二区三区四区| 99色亚洲国产精品11p| 在线国产综合一区二区三区| AV老司机AV天堂| 人妻一本久道久久综合久久鬼色| 国产性生大片免费观看性欧美| 成人一区在线| 超清无码一区二区三区| 国产91线观看| 又黄又湿又爽的视频| 超清人妻系列无码专区| 中文字幕在线看视频一区二区三区| 亚洲天堂视频在线免费观看| 天天色综网| 国产在线观看一区二区三区| 国产福利一区视频| 福利姬国产精品一区在线| 青青草国产一区二区三区| 欧美色综合网站| 99精品福利视频| 色一情一乱一伦一区二区三区小说| 亚洲一区第一页| 激情综合网址| 国产哺乳奶水91在线播放| 久久夜色撩人精品国产| 亚洲AV无码乱码在线观看裸奔 | 亚洲欧美另类专区| 欧美日韩动态图|