在云計(jì)較環(huán)境,云主機(jī)供給被要求的云辦事,有時(shí)在收到大年夜量的要求時(shí)可能解體。這就是產(chǎn)生了拒盡辦事(DoS)報(bào)復(fù)打擊。它放正常常利用戶不克不及正常拜候。DoS報(bào)復(fù)打擊凡是采取IP棍騙的手法用來隱躲真實(shí)的報(bào)復(fù)打擊源,同時(shí)使得報(bào)復(fù)打擊源地址看起來都不不異。
本文中我們供給了一個(gè)在云計(jì)較環(huán)境下防御DDoS報(bào)復(fù)打擊的編制,這個(gè)新的跳數(shù)統(tǒng)計(jì)過濾的編制供給了一個(gè)在云計(jì)較環(huán)境下的自力收集 ,可以等閑的的避免DoS的解決方案。這個(gè)別例也能夠或許降落正常常利用戶云辦事的不成用率,降落更新的數(shù)量,節(jié)流了計(jì)較時(shí)候。該編制摹擬了CloudSim Toolkit環(huán)境和響應(yīng)的產(chǎn)生的成果。
1、介紹
云計(jì)較被定義為一種新型的計(jì)較情勢(shì),以可以動(dòng)態(tài)擴(kuò)大的虛擬資本在互聯(lián)網(wǎng)上供給辦事。高級(jí)的云計(jì)較手藝包含了,節(jié)流耗損,高可用和可擴(kuò)大的特點(diǎn)。
DoS 報(bào)復(fù)打擊不在于經(jīng)由過程點(diǎn)竄數(shù)據(jù)獲得不法拜候,而是??词狗结樀霓k事或全部收集解體,或是侵?jǐn)_正常常利用戶的拜候。DoS報(bào)復(fù)打擊能在一個(gè)源或多個(gè)源倡議。多個(gè)源的報(bào)復(fù)打擊被稱為漫衍式拒盡辦事報(bào)復(fù)打擊(DDoS)。
當(dāng)把持系統(tǒng)寄望到某個(gè)辦事的工作負(fù)載較高,它將分派更多的計(jì)較資本來應(yīng)付增加的負(fù)載。報(bào)復(fù)打擊者可以沉沒一個(gè)單點(diǎn)的,系統(tǒng)根本的地址來達(dá)到使方針辦事的全不成用目標(biāo)。這些報(bào)復(fù)打擊者比較典型的手法就是洪水報(bào)復(fù)打擊,根基是由報(bào)復(fù)打擊者倡議大年夜量的無意義的報(bào)文給某一肯定的在云上面開放的辦事。每個(gè)要求城市被辦事往措置以驗(yàn)證是不是為合法要求,這就使得每個(gè)總計(jì)要求城市占用必然量的工作負(fù)載。在洪水般的報(bào)復(fù)打擊下凡是會(huì)造成辦事器的拒盡辦事。
2、跳數(shù)計(jì)較
當(dāng)然跳數(shù)信息沒有直接存儲(chǔ)在IP頭中,但它可以試用TTL字段計(jì)較出來。TTL在IP頭中是一個(gè)8位的字段,開初是用來指定互聯(lián)網(wǎng)上每個(gè)報(bào)的最大年夜生命周期的。每個(gè)中間的路由器會(huì)把顛末它的IP包在轉(zhuǎn)發(fā)到下一跳前把TTL值減一。
A.提取最終的TTL值
當(dāng)一個(gè)數(shù)據(jù)包達(dá)到目標(biāo)地址提取TTL字段值的時(shí)辰,這個(gè)值被稱為最終TTL值。跳數(shù)統(tǒng)計(jì)的挑戰(zhàn)在于在目標(biāo)地址只能看到最終TTL值。假定所有的把持系統(tǒng)都是用不異的TTL初始值的將會(huì)很簡單,但實(shí)際他們并沒有再初始TTL值上達(dá)成共叫。別的,因?yàn)榘殉窒到y(tǒng)對(duì)給定的IP地址可能會(huì)隨時(shí)改變,我們就不克不及假定每個(gè)IP地址都利用一個(gè)不變的TTL初始值。
B.研究TTL的初始值
按照以上得出,大年夜大都現(xiàn)代的把持系統(tǒng)只選擇利用幾種初始TTL值,如 30,32,60,64,128和255.只有很少的互聯(lián)網(wǎng)主機(jī)緣被豆割超越30跳以上,是以我們可以初步鑒定命據(jù)包的初始TTL值為在以上調(diào)集總大年夜于最終TTL值的最小數(shù)值。
例如,假定最終TTL值為112,那么在可能的128和255當(dāng)選擇最小的是128為初始值。如許給出最終的TTL值就可以夠找到初始的TTL值。初始TTL值可以由以下編制計(jì)較得出:
Initial TTL=32 if final TTL <=32
Initial TTL =64 if 32 Initial TTL =128 if 64 Initial TTL =255 if 128 C.IP2HC表 IP2HC表是一個(gè)在數(shù)據(jù)包源IP地址和這個(gè)IP的跳數(shù)做映照的表。這是一個(gè)以源IP地址為索引來匹配跳數(shù)信息。 3、避免DoS報(bào)復(fù)打擊的算法 該算法利用跳數(shù)過濾機(jī)制,并且供給了一個(gè)在云計(jì)較環(huán)境中履行的明白思惟。 這個(gè)算法需要在云上持續(xù)的監(jiān)控經(jīng)由過程收集的數(shù)據(jù)包,然后我們從監(jiān)控到的TCP/IP包中提掏出SYN標(biāo)識(shí)、TTL值和源IP信息。該算法辨認(rèn)每個(gè)捕獲的包的四元組的全部把持以下, 假定SYN標(biāo)識(shí)被設(shè)置,并且源IP地址在IP2HC表中存在,然后試用IP包的TTL值計(jì)較跳數(shù)。此刻查抄跳數(shù)是不是和存儲(chǔ)的跳數(shù)是不是一致,假定不一致就更新這個(gè)IP地址對(duì)應(yīng)的跳數(shù)字段的值。 假定SYN標(biāo)識(shí)被設(shè)置可是源IP地址在IP2HC表中不存在,那么就計(jì)較跳數(shù),然后把源IP地址和對(duì)應(yīng)的跳數(shù)作為新的條目添加到該表中。 假定SYN標(biāo)識(shí)沒有被設(shè)置,并且IP地址存在于IP2HC表中,那么就計(jì)較跳數(shù)。假定跳數(shù)與IP2HC表中存儲(chǔ)的對(duì)應(yīng)跳數(shù)不符,那么可以鑒定這個(gè)包是子虛的或這個(gè)包是不法的。 假定SYN標(biāo)識(shí)沒有被設(shè)置并且源IP地址不存在于IP2HC表中,這意味著這個(gè)包是子虛的,因?yàn)槊總€(gè)合法的IP地址都有一個(gè)可用的TCP連接信息記其實(shí)IP2HC表中的。 這個(gè)檢測(cè)算法提取往了每個(gè)IP包的源IP地址和最終TTL值。算法用猜測(cè)出初始的TTL值減往最終的TTL值來獲得中間的跳數(shù)。源IP地址作為表的索引檢索這個(gè)IP地址的準(zhǔn)確跳數(shù)。假定某個(gè)數(shù)據(jù)包計(jì)較跳數(shù)和表中的匹配,這個(gè)包為可托的,反之這個(gè)包就比較像是子虛的。 算法-1 參考下面的標(biāo)識(shí): synflag = Syn bit of TCP packet. mcount =malicious packet counter. Tf= final value of TTL. Ti=initial value of TTL. 偽代碼以下: For each packet Set TTL = ExtractFinalValueOfTTL( ); //get time-to-leave field of IP packet Set srcIp = ExtractSourceIP( ); //get source IP address from IP packet Set synflag = ExtractSynBit( ); //get Syn flag value from TCP packet If (synflag is set) { If (establish_tcp_connection( )) //true when connection established { If ( srcIp is exist in IP2HC table ) { ComputePacket ( srcIp , TTL , synflag); // function call which filter the spoofed Packet } else //new connection packet { Hc=ComputeHopCount( TTL ); //get hop-count value NewEntryInTable(srcIp,Hc); //Add entry into IP2HC table } } else { // ignore packet } } else //synflag is not set { If ( srcIp exist in IP2HC Table) { ComputePacket ( srcIp , TTL, synflag ); // function call which filter the spoofed packet } else { ‘drop the packet’ //Packet is spoofed mcount++; // increment in malicious packet by 1 } } ComputePacket ( string srcIp , int Tf , boolean synflag) { Hc=ComputeHopCount( Tf ); //get hop-count value Hs=RetreiveStoredHopCount(srcIp); //get stored hop-count value If ( Hc != Hs ) { if( synflag is set) { UpdateTable ( srcIp , Hc); //update hop-count value in IP2HC table } else { ‘drop the packet’ //Packet is spoofed mcount++; // increment in malicious packet by 1 } } else { ‘a(chǎn)llow the packet’ // packet is legitimate } } int ComputeHopCount( int Tf ) { Set Ti= InvestigateInitialTTL(Tf); return Ti - Tf; //return hop-count value } 4、摹擬成果 我們?cè)贑loudSim Toolkit上摹擬我們的算法,在云主機(jī)上已達(dá)到了1000 pps。嘗試成果見表1,此中包含了包的SYN標(biāo)識(shí)(Syn)和源IP地址(Src)的各類環(huán)境,Syn=0暗示SYN 標(biāo)識(shí)沒有被設(shè)置,Syn=1暗示SYN標(biāo)識(shí)已被設(shè)置。一樣Src標(biāo)識(shí)當(dāng)前源IP地址是不是在IP2HC表中。Src=0暗示條目不存在,Src=1暗示條目存在。 第一個(gè)嘗試包含了580(337+243,見表1)個(gè)歹意包,和173個(gè)新條目,并且只有83個(gè)條目被更新。相反,需要在表中需要被更新的包是130(Syn=1且Src=1)。所以有效包的(實(shí)際上已縮減)是47個(gè)(130-83)??偣部s減在表中更新數(shù)是30.15%(總共承諾的報(bào)數(shù)/所有包數(shù)),這比常規(guī)的編制改良了良多。 在對(duì)摹擬樣本輸進(jìn)達(dá)到率為‘A’的計(jì)較時(shí)候的各類成果進(jìn)行了闡發(fā)匯總為表2。 表2:樣本輸進(jìn) 圖3中揭示了我們提出的編制可能節(jié)流的計(jì)較時(shí)候,在2,3,4的用樣本里趨勢(shì)有改變。樣本2需要更多的時(shí)候,樣本3和4因?yàn)橐劳杏陬I(lǐng)受包的字段。計(jì)較時(shí)候是云收集機(jī)能衡量的相干身分。它進(jìn)步了云主機(jī)的措置能力,可用資本損掉達(dá)到最小化。 圖3:計(jì)較時(shí)候 5、結(jié)論 云計(jì)較愈來愈風(fēng)行,可是跟著云的遍及利用,其安然標(biāo)題問題也愈來愈較著。一個(gè)運(yùn)安然的首要的威脅是漫衍式拒盡辦事報(bào)復(fù)打擊(DDoS)或是更加簡單的拒盡辦事報(bào)復(fù)打擊(DoS)。進(jìn)步資本的可用率,是很有需要供給一種防御DDoS報(bào)復(fù)打擊的機(jī)制。此中一種防御編制就是跳數(shù)過濾編制(HCF)。本文揭示了一個(gè)版本的跳數(shù)統(tǒng)計(jì)編制,不只是檢測(cè)歹意數(shù)據(jù)包也包含了更新IP的跳數(shù)表的機(jī)制。經(jīng)由過程闡發(fā)TCP和談的SYN標(biāo)識(shí)削減了更新次數(shù),也就節(jié)流了計(jì)較時(shí)候。 原文地址:http://irnet.sg/irnet_journal/journal/IJCSEE/IJCSEE_Vol1Iss1/06.pdf

