• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種針對BGP會話的低速率分布式拒絕服務(wù)攻擊模擬研究

      2020-04-29 10:55:20張源良
      智能計算機與應(yīng)用 2020年2期
      關(guān)鍵詞:令牌會話僵尸

      張源良, 張 宇

      (哈爾濱工業(yè)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院, 哈爾濱 150001)

      0 引 言

      BGP 是目前互聯(lián)網(wǎng)實際使用的標準域間路由協(xié)議,可將為數(shù)眾多、拓撲各異、大小不一的自治域連接在一起并相互交換路由信息。BGP 使用TCP 作為路由交換的底層傳輸協(xié)議,通常工作在互聯(lián)網(wǎng)提供商(ISP)搭建的大型BGP路由之間,在自治域之間建立BGP會話,使得自治域之間可達。

      在互聯(lián)網(wǎng)中針對不同的網(wǎng)絡(luò)有各種不同的攻擊手段,其中拒絕服務(wù)(DoS)攻擊是一種常見的網(wǎng)絡(luò)攻擊手段,攻擊者利用可達到受害者的機器對受害者發(fā)送大量流量使得受害者的正常工作受阻,達到攻擊的目標。其中,受害者可以是網(wǎng)絡(luò)服務(wù)器、網(wǎng)絡(luò)鏈接或路由器、ISP等等。幾乎所有互聯(lián)網(wǎng)服務(wù)都容易受到拒絕服務(wù)攻擊。攻擊者往往會感染足夠多的終端主機,使很多終端主機變?yōu)榭煽刂频慕┦瑱C,利用足夠多的散布整個網(wǎng)絡(luò)的僵尸機對受害者進行拒絕服務(wù)攻擊,這種攻擊方法被稱為分布式拒絕服務(wù)(DDos)攻擊。

      拒絕服務(wù)攻擊的種類有很多,包括利用軟件漏洞的Ping of death和Teardrop、耗盡應(yīng)用資源的Fork bomb、耗盡操作系統(tǒng)資源的TCP SYN flood、LAND攻擊、HTTP SlowPOST、BlackNurse等[1]。本文要討論的是低速率分布式拒絕服務(wù)(Low-rate DDos)攻擊。與普通的DDos攻擊最大的區(qū)別是,Low-rate DDos攻擊不會長時間地發(fā)送攻擊流量,而是周期性地發(fā)送短暫的攻擊流量,在2個攻擊周期之間不發(fā)送任何攻擊流量。這樣的特性使得Low-rate DDos在統(tǒng)計流量特征中與普通用戶的流量區(qū)別不明顯,較難檢測[2]。

      Low-rate DDos在實施上也比DDos復(fù)雜很多,需要針對攻擊的受害者服務(wù)特性進行分析,選擇合適的攻擊周期,達到設(shè)定的攻擊效果。本文研究的是針對BGP會話的Low-rate DDos。

      1 針對BGP會話的低速率分布式拒絕服務(wù)攻擊原理

      根據(jù)低速率分布式拒絕服務(wù)攻擊周期性發(fā)送匯聚攻擊流量的特性以及BGP會話周期性發(fā)送?;畎奶匦裕匀坏乜梢韵氲饺绾吾槍GP會話進行低速率分布式拒絕服務(wù)攻擊,其原理包括3個部分,對此可分述如下。

      (1)2個自治域在建立BGP會話后,會周期性(holdtime時間通常為120 s)地發(fā)送Keepalive包。

      (2)如果BGP路由在會話過程中對于一個路由器的連續(xù)3個Keepalive包都沒有收到,BGP路由會認為會話已經(jīng)失效,會發(fā)送Notification包,表示會話斷開,并且向周圍的BGP路由發(fā)送Update包,更新自治域的互連情況。

      (3)使用Low-rate DDos攻擊在攻擊BGP會話時,在攻擊峰值周期時有概率擁塞BGP路由器的接受隊列,使得其他BGP路由發(fā)送的Keepalive包被丟棄。

      綜合以上原理,理論上,使用Low-rate DDos攻擊對BGP會話的Keepalive包進行阻塞即可打斷BGP會話,進而使2個自治域之間的通信受到影響。在應(yīng)用中實施此攻擊時還需要考慮組織DDos攻擊流量的方法和攻擊參數(shù)的確定。

      2 模擬攻擊研究

      由于BGP路由往往是ISP間用于自治域互連的大型路由器,如果在其上進行Low-rate DDos攻擊,會使得正常的自治域通信出現(xiàn)問題,因此本文在虛擬的網(wǎng)絡(luò)環(huán)境中對攻擊進行模擬,驗證其攻擊效果。

      2.1 虛擬的網(wǎng)絡(luò)環(huán)境

      本文使用的虛擬網(wǎng)絡(luò)環(huán)境,包括若干完全可控的僵尸主機Bot和若干建立BGP會話互連的BGP路由。整個網(wǎng)絡(luò)由若干個自治域構(gòu)成,每個自治域包括若干僵尸主機Bot和BGP路由Router,自治域之間通過BGO路由互連,使得整個網(wǎng)絡(luò)互通。

      2.2 僵尸機調(diào)度的方法

      僵尸機調(diào)度方法如圖1所示,欲攻擊的BGP連接為Target Link,發(fā)送攻擊流量f1,f2,…,fn的僵尸機為Bot1,Bot2,…,Botn。給僵尸機下達攻擊命令的控制機為Controller C。

      調(diào)度僵尸機攻擊過程可闡釋論述如下。

      (1)選取控制機??刂茩C應(yīng)該滿足每個僵尸機都有到達控制機C的路徑,而且每條路徑都經(jīng)過被攻擊連接Target Link,經(jīng)過Target Link后通過同樣的路徑Route 2,…,RouteZ到達控制機。這是最優(yōu)的控制機選取,因為攻擊機從被攻擊鏈路到達控制機的路徑相同,時鐘同步時只需考慮攻擊機到被攻擊鏈路的網(wǎng)絡(luò)延遲。

      圖1 僵尸機調(diào)度方法

      (2)時鐘同步。為了保證僵尸機的攻擊流量同時到達被攻擊鏈路,需要進行時鐘同步??刂茩C對每臺僵尸機發(fā)送時鐘同步請求,僵尸機返回其當(dāng)前時間Tsi,控制機收到Ts時根據(jù)本機當(dāng)前時間Tri計算時間差,計算公式表示為:

      Di=Tri-Tsi,

      (1)

      將Di發(fā)送給僵尸機,每個僵尸機實際的開始時間bot_start_timei=strat_time-Di,其中start_time為控制機發(fā)送的開始攻擊時間。

      (3)環(huán)境參數(shù)的設(shè)定。對于BGP連接之間的BGP協(xié)議的keepalive發(fā)送間隔、holdtime時間和reconnect時間等參數(shù),以及被攻擊鏈路帶寬大小,在攻擊前可通過讀取配置文件中設(shè)定參數(shù)來求得。

      (4)攻擊參數(shù)的設(shè)定。攻擊前從配置文件中讀取開始時間、攻擊流量、持續(xù)時間等參數(shù),以此對僵尸機下達攻擊指令。其中,產(chǎn)生攻擊流量的方法為組裝UDP包。以14字節(jié)以太網(wǎng)頭,20字節(jié)IP包頭,8字節(jié)UDP包頭,32字節(jié)數(shù)據(jù)組裝UDP包。使用數(shù)據(jù)報套接字發(fā)包。指定接收方IP地址和端口,開啟多個線程,用SOCK_DGRM類型套接字發(fā)送UDP包。

      在此基礎(chǔ)上,還需設(shè)定發(fā)包速率大小。設(shè)定預(yù)期發(fā)送流量大小為flow,可以計算出發(fā)包速率為:

      rate=(flow*1 024*1 024)/(8*(42+length)).

      (2)

      每個線程中循環(huán)發(fā)包,設(shè)定全局變量記錄發(fā)包數(shù)量,每發(fā)送一百個包判斷當(dāng)前速率是否達到設(shè)定值rate,若達到,此次循環(huán)不發(fā)送包;未達到,則繼續(xù)發(fā)包。

      (5)攻擊結(jié)果的分析。攻擊的同時使用tcpdump抓包,待攻擊結(jié)束后將抓包結(jié)果進行分析,將結(jié)果存為日志文件。

      2.3 帶寬限制

      考慮到普通的BGP鏈路帶寬為百兆或千兆帶寬,僵尸機匯聚的攻擊流量很難達到阻塞BGP鏈路的目的,所以在模擬實驗中對BGP帶寬鏈路進行限制。

      本文的虛擬網(wǎng)絡(luò)帶寬限制采用Linux內(nèi)核Traffic Control中的令牌桶算法。其原理如圖2所示,主要有以下要點:

      (1)每過1/rs, 桶中增加一個令牌。

      (2)桶中最多存放b個令牌,如果桶滿了,新放入的令牌會被丟棄。

      (3)當(dāng)一個n字節(jié)的數(shù)據(jù)包到達時,消耗n個令牌,然后發(fā)送該數(shù)據(jù)包。

      (4)如果桶中可用令牌小于n,則該數(shù)據(jù)包將被緩存。

      (5)緩存區(qū)滿后,后續(xù)的包會被丟棄。

      圖2 令牌桶算法

      本文在令牌桶算法的實際實施中采用集成tc的tcconfig模塊,例如控制端口eth1帶寬為1Mb/s的命令為tcset --device eth1 --rate 1 024 K,等價于表1中的Linux流量控制命令。首先在端口eth1上建立htb令牌桶,接著設(shè)置令牌速率rate,單位存儲cile為1 024 Kbit,緩沖區(qū)burst和子緩沖區(qū)cburst為12.8 KB,最后設(shè)置進出口列表為0.0.0.0/0,表示規(guī)則對所有IP地址有效。

      表1 流量控制方法

      2.4 間隔發(fā)送流量

      根據(jù)Low-rate DDos攻擊的原理,模擬攻擊對BGP會話采用如圖3所示的間隔發(fā)送流量的方式。BGP會話在建立連接后會周期性地發(fā)送Keepalive包,發(fā)送流量的方法即在Keepalive包發(fā)送的前后覆蓋一段時間進行流量發(fā)送。因為模擬攻擊時為理想情況,如此一來就可以在BGP路由的端口進行抓包,確定Keepalive包的發(fā)送具體時間,根據(jù)該時間和holdtime參數(shù)設(shè)定確定持續(xù)發(fā)送流量發(fā)起的時間和間隔需要的時間。

      圖3 間隔發(fā)送流量

      3 發(fā)送流量參數(shù)確定及模擬攻擊結(jié)果

      在確定虛擬網(wǎng)絡(luò)以及攻擊方法后需要對每個僵尸機開啟多少攻擊線程,采用多少僵尸機,在哪個攻擊范圍內(nèi)有打斷BGP連接的可能等參數(shù)進行確定,然后使用確定后的攻擊參數(shù)進行模擬攻擊,分析模擬攻擊結(jié)果。

      3.1 僵尸機發(fā)送流量

      分別設(shè)定發(fā)送30 Mb/s、50 Mb/s、80 Mb/s、100 Mb/s的流量,用ifstat在接收端口流量日志文件,流量發(fā)送控制是否精確。研究結(jié)果表明,4種設(shè)定攻擊流量時的接收端流量確切值與預(yù)期偏差不超過1 Mb/s,達到了流量設(shè)定控制預(yù)期效果。特別地,跨路由發(fā)送流量的情況下與直接相連路由發(fā)送流量結(jié)果相同。

      3.2 僵尸機發(fā)送流量參數(shù)確定

      在調(diào)度僵尸機發(fā)送匯聚流量前,需要確定發(fā)送流量參數(shù)。首先確定單個僵尸機的攻擊流量參數(shù),然后確定同主機多個僵尸機攻擊流量匯聚的參數(shù),最后改變匯聚攻擊流量和帶寬限制確定有可能攻擊成功的參數(shù)。

      (1)單個僵尸機發(fā)送流量瓶頸。從1~8增加線程數(shù)量(高于8個線程內(nèi)存占用過多),每個線程永真循環(huán)發(fā)包,與使用ifstat寫日志記錄不同線程數(shù)下最大發(fā)包值,線程從1~8時的最大入口流量如圖4所示。由圖4中可以看到單個虛擬僵尸機發(fā)送最大流量所需的線程數(shù)為4。

      (2)多個僵尸機匯聚流量。通過多個連接相同BGP路由的僵尸主機,匯聚流量發(fā)送到與連接的BGP路由直連的BGP路由器,變化僵尸主機的數(shù)量,記錄匯聚攻擊流量的大小。

      多僵尸機匯聚流量的情況如圖5所示,改變僵尸機數(shù)量,得到不同的僵尸機匯總流量大小,每個結(jié)果均為多次測試得到,仿真結(jié)果表明4臺僵尸機時候達到瓶頸匯聚流量。

      圖4 不同線程數(shù)發(fā)送流量

      圖5 多僵尸機匯聚流量

      3.3 間隔發(fā)送流量結(jié)果

      以之前步驟測得的每個僵尸主機開啟4個線程,使用4個僵尸主機的實驗拓撲,鏈路帶寬從10 Mb/s到100 Mb/s進行變化,攻擊流量從40 Mb/s變化到之前測試的瓶頸匯聚流量260 Mb/s,進行攻擊測試。每個參數(shù)進行10次實驗,每次實驗時設(shè)定最大攻擊時間為2 h,2 h內(nèi)若BGP連接斷開則計數(shù)加1,進行下一次實驗,超過2 h則直接進行下一次實驗。

      帶寬為10 Mb/s、20 Mb/s、40 Mb/s和60 Mb/s時的流量范圍實驗結(jié)果見表2,帶寬大于60 Mb/s時與60 Mb/s的實驗結(jié)果相同。故只有10 Mb/s、20 Mb/s和40 Mb/s有被打斷的可能。

      表2 發(fā)送流量范圍實驗結(jié)果

      Tab. 2 Send traffic range experiment results %

      帶寬 攻擊流量4060801001401802202601000303030505040200020020103020400000102010206000000000

      得到指導(dǎo)實驗參數(shù)范圍后,在能夠打斷BGP連接的參數(shù)范圍內(nèi)進行實驗,每組參數(shù)進行10次攻擊實驗,每次實驗攻擊中記錄BGP數(shù)據(jù)包,直到BGP連接斷開為止,記錄BGP連接斷開所需的時間。實驗結(jié)果記錄如圖6所示。該結(jié)果說明測試得能打斷的BGP鏈路帶寬為10 Mb/s、20 Mb/s、40 Mb/s。其中,10 Mb/s時可以用100 Mb/s攻擊流量打斷,其他帶寬只能用大于140 Mb/s的攻擊流量。大部分成功攻擊參數(shù)下可以在120 s內(nèi)打斷BGP連接。

      圖6 不同參數(shù)打斷所需時間

      4 結(jié)束語

      本文研究了針對BGP會話的低速率分布式拒絕服務(wù)攻擊,按照低速率分布式拒絕服務(wù)攻擊周期性攻擊的特性,對BGP會話的周期性Keepalive包進行周期性阻斷,達到攻擊BGP會話的目的,并對此攻擊進行模擬。模擬結(jié)果說明在對網(wǎng)絡(luò)進行相應(yīng)帶寬限制的情況下,按照一定攻擊流量和頻率,低速率分布式拒絕服務(wù)攻擊可以打斷BGP會話。

      猜你喜歡
      令牌會話僵尸
      稱金塊
      筆記本電腦“僵尸”
      英語文摘(2020年2期)2020-08-13 07:26:22
      基于路由和QoS令牌桶的集中式限速網(wǎng)關(guān)
      動態(tài)令牌分配的TCSN多級令牌桶流量監(jiān)管算法
      計算機工程(2018年8期)2018-08-17 00:26:54
      你愿意當(dāng)吸血鬼還是僵尸?
      有意冒犯性言語的會話含義分析
      漢語教材中的會話結(jié)構(gòu)特征及其語用功能呈現(xiàn)——基于85個會話片段的個案研究
      App已死?80%的僵尸應(yīng)用帶來的困惑
      新聞傳播(2015年6期)2015-07-18 11:13:15
      “僵尸肉”橫行誰之過
      沖突語的會話分析研究
      襄垣县| 大同市| 新源县| 南皮县| 瑞昌市| 兴国县| 洪雅县| 吉首市| 定南县| 东港市| 高淳县| 金湖县| 富阳市| 太和县| 铁岭市| 昆山市| 南昌县| 德化县| 池州市| 宣化县| 榆林市| 若羌县| 贵港市| 宁波市| 定西市| 龙州县| 安达市| 泽库县| 通城县| 涞源县| 彭山县| 宝坻区| 噶尔县| 远安县| 临猗县| 民县| 东乌| 南宁市| 邢台市| 漠河县| 平邑县|