看了《問(wèn)綠盟黑洞》的文章好幾天了,有點(diǎn)想法不吐不快。前兩天正忙,現在閑下來(lái)了,說(shuō)說(shuō)我的想法。文章中會(huì )提到一些廠(chǎng)商的技術(shù),有正有反,大家不要對號入座,主要是希望對你們的技術(shù)提高有幫助。我以原始的ddos的先行者syn flood來(lái)舉例說(shuō)明,cc我不打算評價(jià),因為我認為syn flood的效果遠遠好于cc,而隱蔽性是cc遠遠達不到的。先點(diǎn)評一下關(guān)于DDoS話(huà)題方面的一些網(wǎng)友的錯誤認識和廠(chǎng)商的技術(shù)弱點(diǎn)。以下如果沒(méi)有特殊指明,ddos我指的就是syn flood這種最原始、最有效、最簡(jiǎn)單、最可愛(ài)的東西。
1.只要一談?wù)揹dos想到的就是大流量,就是無(wú)邊無(wú)際、無(wú)際無(wú)邊的帶寬消耗戰。
錯了,syn flood可不是帶寬消耗戰,drdos才是!那是因為syn flood的使用者使用不當,才會(huì )有今天大家的錯誤認識。
2.天,我CPU都滿(mǎn)跑了,為什么目標機一點(diǎn)事都沒(méi)有?我用的可以L(fǎng)inux下開(kāi)源的、大家都害怕的、網(wǎng)評第1的攻擊軟件呀。
檢查一下你的網(wǎng)關(guān)是不是有NAT,如果有。不是你的包沒(méi)出去,就是你的網(wǎng)關(guān)快陣亡了,您趕快住手吧。
去掉你前面的防火墻,因為防火墻在你發(fā)起攻擊時(shí),最先受到損害,更重要的是它是你財產(chǎn)的一部分。
你極有可能拿一款ether下的攻擊程序在pppoe網(wǎng)絡(luò )中使用了,為了提高效率攻擊數據包都是自己填充的,所以程序本身可能把數據包進(jìn)行了ether_type的二層封裝,如果你在pppoe環(huán)境中攻擊,請自己修改源代碼改為PPPOE封裝。否則的話(huà),你攻擊的不是目標機,而是在自己的房間里大小便。要學(xué)會(huì )分析協(xié)議,下面才是二層PPPOE封裝的正確格式:
88 64 11 00 0B D0 00 56 00 21
3.這個(gè)ddos設備沒(méi)什么了不起,用的就是syn cookie和syn proxy。
我認為這兩種方法是當前最有效的解決方法,就像攻擊者必須聯(lián)網(wǎng)才能發(fā)起攻擊一樣,這兩種措施是必做的。如果您沒(méi)用這兩種方法就實(shí)現了ddos防御,以下的內容您就不用看了。因為您是我見(jiàn)過(guò)的第一牛人,我在您面前絕對是個(gè)晚輩的。在此就不浪費您的寶貴時(shí)間了。如果您感覺(jué)我還可救,給我留點(diǎn)面子傳張紙條教侮我一番吧。
4.drdos比ddos時(shí)髦多了,可以四兩撥千斤
真不好意思,syn ack這個(gè)數據包應該從內網(wǎng)口收到才對,從外網(wǎng)口收到時(shí)直接丟掉就可以了。它浪費的是你的寬帶而不是內存或者大量的cpu。
你可能會(huì )說(shuō)我后面的服務(wù)器是ftp并工作在主動(dòng)模式,所以有時(shí)syn ack也是不能丟的。嗯…解決方案你自己已經(jīng)說(shuō)出來(lái)了,自己想個(gè)辦法吧。
5.DDoS是最沒(méi)有水準的攻擊類(lèi)型,菜鳥(niǎo)才用。
這只能說(shuō)明你只是使用ddos工具的人,而不是一個(gè)編寫(xiě)ddos攻擊類(lèi)程序的人。大家知道一款好的ddos攻擊軟件,所發(fā)的包在各協(xié)議首部字段的合法范圍內越隨機越好。只要有一個(gè)字段該變但你沒(méi)變的,特證過(guò)濾一下子就把你干掉了。如果攻擊包是以多播、回環(huán)為源ip發(fā)送,我只能說(shuō)攻擊者在和你開(kāi)玩笑,看看日歷確認今天不是愚人節。
但滿(mǎn)足隨機就是好的攻擊軟件嗎?喵~喵~俺家的小花貓都知道,遠遠不是滴,單純發(fā)syn攻擊包就不是好的攻擊方式。浪費ddos設備資源的是握手的第三個(gè)ack包。但第三個(gè)包構造上又很有講究,舉個(gè)例子:國內某某ddos廠(chǎng)商的主頁(yè),我小流量正常訪(fǎng)問(wèn)時(shí)抓包,可以發(fā)現他沒(méi)有做syn proxy,但當我1000pps時(shí),通過(guò)抓包就可以看出,他啟用syn proxy了,并且syn cookie也隨之打開(kāi)了,你問(wèn)我怎么知道的?看看它回復的syn ack包的tcp選項部分的變化你就明白了。這時(shí)是他啟用防護的時(shí)機,也是它最脆弱的時(shí)候,細心的構造一個(gè)syn包,一個(gè)ack包,算準了它的cookie,喂給它。喵~小花貓都知道5000pps足夠了。我不是有意這么做的,是它在CU里叫大家幫忙做測試,我簡(jiǎn)單的分析了一下,是這個(gè)原理。沒(méi)叫勁,睡覺(jué)了,第二天具說(shuō)有3000臺肉機參與了,不知是真是假,如果沒(méi)有了解原理,你就算動(dòng)用8000臺也沒(méi)用??!
這里真正的技術(shù)是推算cookie,但我在市面上找不到一款ddos攻擊軟件有這個(gè)方面的功能,你可能會(huì )說(shuō)這不就是cookie攻擊嗎,我不這么認為,我不會(huì )發(fā)大量的ack來(lái)消耗它的cpu資源,我只是想鉆它算法的空子。因為一種cookie的算法就好比是一類(lèi)ddos設備的指紋,推出這個(gè)cookie的參數與運算法則,以后遇到它的時(shí)候,它就死定了。當然廠(chǎng)商也不傻,算cookie的參數是個(gè)很大的數并且還是在不斷變化,但不會(huì )經(jīng)常變,每次啟動(dòng)的時(shí)候變一次就算很智能了。因為每天小花貓吃飯的時(shí)候,我都會(huì )便順發(fā)送一個(gè)相同的syn包給它,它返給我的syn ack中的cookie一直都是一樣的。哈哈…如果我有耐心,終有一天我會(huì )推出來(lái)的,注意:這個(gè)syn包源IP是真實(shí)的,所以我能觀(guān)察到它的返回數據包,并且他根本就發(fā)現不了偶。一天才一個(gè)syn包嘛。
順便問(wèn)問(wèn)版主,綠盟在測試黑洞的時(shí)候,肯定有一種攻擊軟件是他們自己寫(xiě)的,針對自己的產(chǎn)品的弱點(diǎn)、軟肋、命門(mén)、死穴、捫門(mén)發(fā)送5000pps應該就可以?huà)炝?。喵~喵~喵~小花貓咽到了?br>
6.這個(gè)百兆ddos設備真牛呀,百兆的線(xiàn)路我都D滿(mǎn)了,還可以正常訪(fǎng)問(wèn)保護的服務(wù)器
你的感嘆用錯對像了,你應該感嘆于這條網(wǎng)線(xiàn)的質(zhì)量很好,一條質(zhì)量?jì)?yōu)秀的網(wǎng)線(xiàn),百兆千兆的確都可以跑起來(lái)呀。另外一個(gè)設備適用于百兆還是千兆環(huán)境的瓶頸,你沒(méi)有弄清楚。我用82559網(wǎng)卡,我的算法再好也不可能你把百兆線(xiàn)路D滿(mǎn)了,后面的服務(wù)器你還可以訪(fǎng)問(wèn)。你的這種情況,我可以很負責任的告訴你,這個(gè)外表百兆ddos設備實(shí)際采用了千兆平臺和千兆網(wǎng)卡,而流量的瓶頸在你測試中的其它結點(diǎn)上。僅此而己。
7.我們的算法不對syn包做回追處理,所以你的下行帶寬沒(méi)有被浪費。
這話(huà)也說(shuō)的出口,真汗!小花貓甩甩尾巴跑去喝水了。你把10kpps的發(fā)包器真接插在百兆ddos設備上面試一下,看看是回復syn ack時(shí)CPU使用率高,還是只接受syn包不回復時(shí)CPU占用率高。告訴你,后者的cpu占用率更高一些。為什么呢?因為我回復syn ack時(shí)也是一種另類(lèi)的保護策略,在局域網(wǎng)中,攻擊者發(fā)的數據包也必須依照沖突檢測載波監聽(tīng)的方式來(lái)發(fā)送攻擊包,如果你回復等量的syn ack也就是在堵攻擊者的嘴,他發(fā)包的速度會(huì )成倍的減下來(lái)。這意味這什么?意味著(zhù)你用你的下行帶寬換來(lái)了上行帶寬,這么好的機會(huì )你為什么要放棄?這就好像一群人在用磚頭拍你,拍的你上串下蹦,左躲右閃,累的你呼吃帶喘,你心里還在想我TM怎么這么聰明呀,沒(méi)有回拍他們,節約了不少力氣,所以現在身行才能如此敏捷。
8.你看我們的設備連IP地址都沒(méi)有,可以實(shí)現網(wǎng)絡(luò )隱身,所以很安全
幸好小花貓不在身邊,否則還不得被嗆個(gè)半死呀。這個(gè)因果關(guān)系也說(shuō)的出來(lái)?那我是不是可以說(shuō)工作在橋模式下的設備都很安全?這是我見(jiàn)過(guò)的最大的拿缺點(diǎn)當優(yōu)點(diǎn)忽憂(yōu)人的說(shuō)詞。你把IP地址給我設上,我為什么要網(wǎng)絡(luò )隱身啊,我光明正大!你不是防ddos攻擊嗎?你自己的ip為什么不敢暴露在公網(wǎng)上提供http管理控制?廠(chǎng)商會(huì )找出各種的手段來(lái)忽憂(yōu)你,以下是最常見(jiàn)的托詞:設置管理IP地址當然可以了,但要從另外的一個(gè)網(wǎng)口專(zhuān)門(mén)引出來(lái),并且我們不對管理網(wǎng)口做防護,因為這樣會(huì )增加我們系統的負載呀。呀~~呀~~呀~~,回想起測試性能的時(shí)候他們好像說(shuō)自己的算法很牛,什么國際領(lǐng)先啦,什么可以抵御所有未知的ddos攻擊啦,什么算法CPU零負載啦,什么指紋啦,什么單向數據包一次檢測啦,什么身份證啦、什么syn包實(shí)名制啦、什么暫住證啦….什么這個(gè),什么那個(gè)了,你都這么強了,暴露一下嘛。
不想做過(guò)多技術(shù)分析,主機型syn proxy syn cookie和網(wǎng)關(guān)型syn proxy syn cookie的難度不是一個(gè)數量級,原因是廠(chǎng)家為了效率把syn proxy syn cookie都在驅動(dòng)層實(shí)現了,你叫他們把數據包上送到系統的TCP/IP協(xié)議棧給系統自身,真的是很難為他們。但你實(shí)現不了可以直說(shuō),忽憂(yōu)我家小花貓就不厚道了。
9.我們的設備是透明接入,不會(huì )修改你的拓撲
嗯…這要看你對透明接入的了解程度了,我翻了翻所有ddos廠(chǎng)商的手冊,吃驚的發(fā)現,都是一個(gè)模子,不知是誰(shuí)抄誰(shuí)的。上畫(huà)三張用戶(hù)常用拓撲,一個(gè)保護服務(wù)器、一個(gè)保護防火墻,一個(gè)保護網(wǎng)絡(luò ),就認為自己可以全透明接入了?下面這張圖你能透明接入嗎??jì)染W(wǎng)為三個(gè)VLAN網(wǎng)段,服務(wù)器放在VLAN2中,每個(gè)網(wǎng)段互相訪(fǎng)問(wèn)都必須通過(guò)防火墻內網(wǎng)口的三個(gè)對應VLAN網(wǎng)卡(各網(wǎng)段默認網(wǎng)關(guān)),防火墻通過(guò)DNAT后對外映射VLAN2網(wǎng)段服務(wù)器。我的要求是即要求你防外網(wǎng)的ddos還要你防止內網(wǎng)對VLAN2的ddos,敢問(wèn)您,您打算怎么個(gè)透明進(jìn)入法?
1) 透明接入在防火墻外網(wǎng)口?
2) 透明接入在防火墻內網(wǎng)口?
你八成會(huì )修改我的拓撲,把VLAN2轉到DMZ,然后透明接入在防火墻DMZ網(wǎng)口上
外網(wǎng)
|
防火墻
|
|交換機trunk口
|
switch
| | |
VLAN 1 VLAN2 VLAN3
10.利用超時(shí)重傳來(lái)判斷syn包是否合法
這種方法是相當的有效啊,遠處傳來(lái)小花貓的聲音:“給它在三秒鐘之內發(fā)第二個(gè)syn包”
11.可能您感覺(jué)本文寫(xiě)的不錯,但要轉載的時(shí)候,請注明原作者是skipjack,僅些而己,謝謝了
很不幸,年初時(shí)給國家某某一級刊物投稿,先開(kāi)始寫(xiě)了8000字,后來(lái)叫我一刪再刪,刪了再刪,圖是左減一個(gè),右減一個(gè),上減一個(gè),下減一個(gè),前減一個(gè),后減一個(gè)。本來(lái)是一個(gè)從淺入深的分析過(guò)程,后來(lái)成了個(gè)半調子,沒(méi)幾個(gè)人可以讀懂了。稿費匯給我時(shí),我都快哭了,4000多字才給俺103元,從郵局走出來(lái)的時(shí)候,手里握著(zhù)這103元錢(qián),心里想:“今兒中午我是請老婆吃飯呢,還是請小花貓吃飯呢?”。
2006-4-6
23:33 skipjack
備注:
2006-4-9 22:02
1)修改原文,去掉筆誤(一處)與錯別字(兩處) xiyang網(wǎng)友說(shuō)我文章中有"憤青"言語(yǔ)和人身攻擊詞匯,我把我認為是的去掉了.在此表示謙意.
2)我不是做ddos產(chǎn)品的,所以我寫(xiě)文章這么大膽,否則我不是自己砸自己飯碗嘛?
3)我的身份大家不要猜了,我不是綠盟 天融信 金盾 神州盾 dosnipe的人(排名不分先后)
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。