精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當前位置:安全行業動態 → 正文

讓子彈多飛一會:論如何優化DDoS

責任編輯:editor005 作者:nickchang |來源:企業網D1Net  2016-06-20 15:02:41 本文摘自:黑客與極客

假設1枚炮彈擊中目標的傷害為10,而4枚炮彈同時擊中目標的傷害為200?,F在我方只有一門火炮,4枚炮彈。此火炮每次只能發射一枚炮彈。問如何操作可以使其傷害達到200?

答案是”讓子彈多飛一會兒”,不過這個回答不是來自姜文的電影,而是源于美軍在二戰中提出的 MRSI (Multiple Rounds Simultaneous Impact)技術,粗糙的翻譯一下就是“發射多次卻同時命中”。

我們知道炮彈飛行的時間取決于開炮時的發射仰角,比如仰角大于45度時,炮彈的飛行的長度和時間比仰角小于45度要長。那么我們就可以采用MRSI 技術,以從大到小的發射仰角,連續發射4次。這樣第一次發射的炮彈飛行時間最長,最后一次發射的飛行時間最短。只要我們精確的計算好角度和發射的時間間隔,就有可能讓4枚炮彈同時擊中目標,從而造成200的傷害。

簡而言之,就是利用炮彈的飛行時間差來彌補發射的間隔時間。

Ryan Rasti在Temporal Lensing and its Application in Pulsing Denial-of-Service Attacks一文中提出了一種利用網絡延遲來增強DDoS攻擊效果的方法。以DNS放大攻擊為例。假設攻擊者選擇了兩個DNS 服務器(A和B)來攻擊目標, 已知A到目標的網絡延遲為110毫秒,B到目標的網絡延遲為40毫秒。而攻擊者到A和B的延遲忽略不計。那么攻擊者可以先給A發一個假冒的DNS請求,讓A反射目標。略等70毫秒以后(110-40=70毫秒),攻擊者再發給B請求,讓B反射目標。這樣,雖然攻擊者的兩個DNS請求不是同時發出的,但是反射出來的攻擊消息卻可以同時擊中目標。如下圖所示

這么做的好處是什么呢?當然是提高了DDoS的效率,攻擊者的發報率是1包/70毫秒,而在某個時間點卻有2個反射包擊中目標。這相當于巧妙的利用了網絡延遲而把所有的攻擊包匯聚在某一個特定的時間點上。例子中只用到了2個DNS服務器,但是在實際攻擊中,可以擴展到n個。攻擊方式也不僅限于DNS放大攻擊,用http 代理的CC攻擊也可以。

優化過的DDoS步驟是

1.假設有n條線路(取決于具體的攻擊方法,可能有n個DNS服務器,n個http代理等等),攻擊者先測量出每條攻擊路線的延遲, 對應記為 (L1,L2,…,Ln)。

2.從(L1,L2,…,Ln)中找出最大延遲,記為Lmax

3. 對于路線i(1≤ i ≤n),攻擊者在發送前須等待 Lmax-Li

普通的DDoS是拼命打,有多少打多少。這樣的結果是數據包擊中最終目標的時間是平均分布的,如下圖所示

而優化過的DDoS應該是這樣的

然而為了成功的優化DDoS,我們還必須得解決一個首要問題,如何測量網絡延遲。 對于HTTP CC類攻擊來說比較簡單,攻擊者配制好代理,對攻擊目標發一個http請求,接收http響應,就可以得到請求往返時間,然后用這個請求往返時間來估算網絡延遲。當然,在實際情況中,網絡延遲取決于很多因素,還需要用不同的方法降低噪音帶來的影響,比如多次測量取平均值等等。

對于DNS放大攻擊,一般用King測量法。比如攻擊者(A)打算用DNS服務器D來攻擊目標T。然而,直接測量 A經過D到T的網絡延遲 (LADT)是很難的。但是,我們可以利用DNS遞歸查詢的特性,測量出 A經過D到T的DNS服務器 的網絡延遲(LADT(DNS))。方法是讓A對D發一個關于T域的DNS查詢,在這種情況下D會向T的DNS服務器遞歸查詢。從而該攻擊者可以用此DNS請求往返時間來估算LAT(DNS)。一般來說, DNS服務器都在離其他服務器很近的地方,延遲差別可以忽略不計,因此LAT ≈ LAT(DNS) 。

比如攻擊者打算利用google DNS (8.8.8.8)來攻擊test.com的web 服務器。為了優化,攻擊者需要先知道他到8.8.8.8再到test.com web服務器的延遲。怎么計算延遲呢? 攻擊者可以給8.8.8.8發送一個DNS查詢:[隨機子域].test.com 。由于8.8.8.8 并不負責test.com子域名,它只能遞歸詢問test.com的DNS服務器。test.com的DNS服務器收到該詢問以后,會進行本地記錄查詢。因為該子域是隨機產生的,所以肯定會返回找不到啦,8.8.8.8收到回答以后,會再把這一回答繼續轉發給攻擊者。這樣攻擊者就可以計算出他到8.8.8.8再到test.com DNS服務器的延遲。由于一般DNS服務器都在離WEB服務器很近的地方,因此可以推算出到8.8.8.8再到test.com web服務器的延遲。

為什么查詢的時候要使用隨機子域呢?是為了防止查詢結果被cache緩存。如果查詢結果被緩存了,那么DNS服務器就不遞歸查詢了,從而導致測量結果不準確。

參考資料

1.Ryan Rasti et al., Temporal Lensing and its Application in Pulsing Denial-of-Service Attacks, IEEE S&P 2015

2.GUMMADI, K. P., SAROIU, S., AND GRIBBLE, S. D. King: Estimating Latency Between Arbitrary Internet End Hosts. In Proc. ACM Internet Measurment Workshop (2002)

* 作者:nickchang,本文屬FreeBuf原創獎勵計劃文章,未經許可禁止轉載

關鍵字:攻擊者發射仰角DNS服務器

本文摘自:黑客與極客

x 讓子彈多飛一會:論如何優化DDoS 掃一掃
分享本文到朋友圈
當前位置:安全行業動態 → 正文

讓子彈多飛一會:論如何優化DDoS

責任編輯:editor005 作者:nickchang |來源:企業網D1Net  2016-06-20 15:02:41 本文摘自:黑客與極客

假設1枚炮彈擊中目標的傷害為10,而4枚炮彈同時擊中目標的傷害為200?,F在我方只有一門火炮,4枚炮彈。此火炮每次只能發射一枚炮彈。問如何操作可以使其傷害達到200?

答案是”讓子彈多飛一會兒”,不過這個回答不是來自姜文的電影,而是源于美軍在二戰中提出的 MRSI (Multiple Rounds Simultaneous Impact)技術,粗糙的翻譯一下就是“發射多次卻同時命中”。

我們知道炮彈飛行的時間取決于開炮時的發射仰角,比如仰角大于45度時,炮彈的飛行的長度和時間比仰角小于45度要長。那么我們就可以采用MRSI 技術,以從大到小的發射仰角,連續發射4次。這樣第一次發射的炮彈飛行時間最長,最后一次發射的飛行時間最短。只要我們精確的計算好角度和發射的時間間隔,就有可能讓4枚炮彈同時擊中目標,從而造成200的傷害。

簡而言之,就是利用炮彈的飛行時間差來彌補發射的間隔時間。

Ryan Rasti在Temporal Lensing and its Application in Pulsing Denial-of-Service Attacks一文中提出了一種利用網絡延遲來增強DDoS攻擊效果的方法。以DNS放大攻擊為例。假設攻擊者選擇了兩個DNS 服務器(A和B)來攻擊目標, 已知A到目標的網絡延遲為110毫秒,B到目標的網絡延遲為40毫秒。而攻擊者到A和B的延遲忽略不計。那么攻擊者可以先給A發一個假冒的DNS請求,讓A反射目標。略等70毫秒以后(110-40=70毫秒),攻擊者再發給B請求,讓B反射目標。這樣,雖然攻擊者的兩個DNS請求不是同時發出的,但是反射出來的攻擊消息卻可以同時擊中目標。如下圖所示

這么做的好處是什么呢?當然是提高了DDoS的效率,攻擊者的發報率是1包/70毫秒,而在某個時間點卻有2個反射包擊中目標。這相當于巧妙的利用了網絡延遲而把所有的攻擊包匯聚在某一個特定的時間點上。例子中只用到了2個DNS服務器,但是在實際攻擊中,可以擴展到n個。攻擊方式也不僅限于DNS放大攻擊,用http 代理的CC攻擊也可以。

優化過的DDoS步驟是

1.假設有n條線路(取決于具體的攻擊方法,可能有n個DNS服務器,n個http代理等等),攻擊者先測量出每條攻擊路線的延遲, 對應記為 (L1,L2,…,Ln)。

2.從(L1,L2,…,Ln)中找出最大延遲,記為Lmax

3. 對于路線i(1≤ i ≤n),攻擊者在發送前須等待 Lmax-Li

普通的DDoS是拼命打,有多少打多少。這樣的結果是數據包擊中最終目標的時間是平均分布的,如下圖所示

而優化過的DDoS應該是這樣的

然而為了成功的優化DDoS,我們還必須得解決一個首要問題,如何測量網絡延遲。 對于HTTP CC類攻擊來說比較簡單,攻擊者配制好代理,對攻擊目標發一個http請求,接收http響應,就可以得到請求往返時間,然后用這個請求往返時間來估算網絡延遲。當然,在實際情況中,網絡延遲取決于很多因素,還需要用不同的方法降低噪音帶來的影響,比如多次測量取平均值等等。

對于DNS放大攻擊,一般用King測量法。比如攻擊者(A)打算用DNS服務器D來攻擊目標T。然而,直接測量 A經過D到T的網絡延遲 (LADT)是很難的。但是,我們可以利用DNS遞歸查詢的特性,測量出 A經過D到T的DNS服務器 的網絡延遲(LADT(DNS))。方法是讓A對D發一個關于T域的DNS查詢,在這種情況下D會向T的DNS服務器遞歸查詢。從而該攻擊者可以用此DNS請求往返時間來估算LAT(DNS)。一般來說, DNS服務器都在離其他服務器很近的地方,延遲差別可以忽略不計,因此LAT ≈ LAT(DNS) 。

比如攻擊者打算利用google DNS (8.8.8.8)來攻擊test.com的web 服務器。為了優化,攻擊者需要先知道他到8.8.8.8再到test.com web服務器的延遲。怎么計算延遲呢? 攻擊者可以給8.8.8.8發送一個DNS查詢:[隨機子域].test.com 。由于8.8.8.8 并不負責test.com子域名,它只能遞歸詢問test.com的DNS服務器。test.com的DNS服務器收到該詢問以后,會進行本地記錄查詢。因為該子域是隨機產生的,所以肯定會返回找不到啦,8.8.8.8收到回答以后,會再把這一回答繼續轉發給攻擊者。這樣攻擊者就可以計算出他到8.8.8.8再到test.com DNS服務器的延遲。由于一般DNS服務器都在離WEB服務器很近的地方,因此可以推算出到8.8.8.8再到test.com web服務器的延遲。

為什么查詢的時候要使用隨機子域呢?是為了防止查詢結果被cache緩存。如果查詢結果被緩存了,那么DNS服務器就不遞歸查詢了,從而導致測量結果不準確。

參考資料

1.Ryan Rasti et al., Temporal Lensing and its Application in Pulsing Denial-of-Service Attacks, IEEE S&P 2015

2.GUMMADI, K. P., SAROIU, S., AND GRIBBLE, S. D. King: Estimating Latency Between Arbitrary Internet End Hosts. In Proc. ACM Internet Measurment Workshop (2002)

* 作者:nickchang,本文屬FreeBuf原創獎勵計劃文章,未經許可禁止轉載

關鍵字:攻擊者發射仰角DNS服務器

本文摘自:黑客與極客

電子周刊
回到頂部

關于我們聯系我們版權聲明隱私條款廣告服務友情鏈接投稿中心招賢納士

企業網版權所有 ©2010-2024 京ICP備09108050號-6 京公網安備 11010502049343號

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 娱乐| 松溪县| 兴义市| 周宁县| 岳阳县| 区。| 东辽县| 南安市| 南康市| 舒城县| 缙云县| 临西县| 汉阴县| 广东省| 浮梁县| 开阳县| 法库县| 平远县| 鄂托克旗| 新平| 吉木萨尔县| 白朗县| 太原市| 集贤县| 苍南县| 涟水县| 浪卡子县| 青海省| 尖扎县| 肇庆市| 利津县| 内丘县| 葵青区| 天峻县| 安陆市| 新竹县| 抚顺县| 城口县| 湖州市| 潮州市| 西乡县|