明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

D拒絕服務(wù)攻擊的原理及工具介紹_ARP原理

[摘要]進(jìn)入2000年以來, 網(wǎng)絡(luò)遭受攻擊事件不斷發(fā)生, 全球許多著名網(wǎng)站如yahoo、cnn、buy、ebay、fbi, 包括中國的新浪網(wǎng)相繼遭到不名身份的黑客攻擊, 值得注意的是, 在這些攻擊行為中, ...

進(jìn)入2000年以來, 網(wǎng)絡(luò)遭受攻擊事件不斷發(fā)生, 全球許多著名網(wǎng)站如yahoo、cnn、buy、ebay、fbi, 包括中國的新浪網(wǎng)相繼遭到不名身份的黑客攻擊, 值得注意的是, 在這些攻擊行為中, 黑客擯棄了以往常常采用的更改主頁這一對網(wǎng)站實(shí)際破壞性有限的做法, 取而代之的是, 在一定時(shí)間內(nèi), 徹底使被攻擊的網(wǎng)絡(luò)喪失正常服務(wù)功能, 這種攻擊手法為 DDoS, 即分布式拒絕服務(wù)攻擊(Distributed denial of service )。 簡單的講, 拒絕服務(wù)就是用超出被攻擊目標(biāo)處理能力的海量數(shù)據(jù)包消耗可用系統(tǒng), 帶寬資源, 致使網(wǎng)絡(luò)服務(wù)癱瘓的一種攻擊手段。 在早期, 拒絕服務(wù)攻擊主要是針對處理能力比較弱的單機(jī), 如個(gè)人pc, 或是窄帶寬連接的網(wǎng)站, 對擁有高帶寬連接, 高性能設(shè)備的網(wǎng)站影響不大, 但在99年底, 伴隨著DDoS的出現(xiàn), 這種高端網(wǎng)站高枕無憂的局面不復(fù)存在, 與早期的DoS攻擊由單臺攻擊主機(jī)發(fā)起, 單兵作戰(zhàn)相較, DDoS實(shí)現(xiàn)是借助數(shù)百, 甚至數(shù)千臺被植入攻擊守護(hù)進(jìn)程的攻擊主機(jī)同時(shí)發(fā)起的集團(tuán)作戰(zhàn)行為, 在這種幾百, 幾千對一的較量中, 網(wǎng)絡(luò)服務(wù)提供商所面對的破壞力是空前巨大的。 拒絕服務(wù)攻擊自問世以來, 衍生了多種形式, 現(xiàn)將兩種使用較頻繁的TCP-SYN flood, UDP flood做一個(gè)介紹 。 TCP-SYN flood又稱半開式連接攻擊, 每當(dāng)我們進(jìn)行一次標(biāo)準(zhǔn)的TCP連接(如WWW瀏覽, 下載文件等)會(huì)有一個(gè)一個(gè)三次握手的過程, 首先是請求方向服務(wù)方發(fā)送一個(gè)SYN消息, 服務(wù)方收到SYN后, 會(huì)向請求方回送一個(gè)SYN-ACK表示確認(rèn), 當(dāng)請求方收到SYN-ACK后則再次向服務(wù)方發(fā)送一個(gè)ACK消息, 一次成功的TCP連接由此就建立, 可以進(jìn)行后續(xù)工作了, 如圖所示: 而TCP-SYN flood在它的實(shí)現(xiàn)過程中只有前兩個(gè)步驟, 當(dāng)服務(wù)方收到請求方的SYN并回送SYN-ACK確認(rèn)消息后, 請求方由于采用源地址欺騙等手段, 致使服務(wù)方得不到ACK回應(yīng), 這樣, 服務(wù)方會(huì)在一定時(shí)間處于等待接收請求方ACK消息的狀態(tài), 一臺服務(wù)器可用的TCP連接是有限的, 如果惡意攻擊方快速連續(xù)的發(fā)送此類連接請求, 則服務(wù)器可用TCP連接隊(duì)列很快將會(huì)阻塞, 系統(tǒng)可用資源, 網(wǎng)絡(luò)可用帶寬急劇下降, 無法向用戶提供正常的網(wǎng)絡(luò)服務(wù)。 Udp在網(wǎng)絡(luò)中的應(yīng)用也是比較廣泛的, 比如DNS解析、realaudio實(shí)時(shí)音樂、網(wǎng)絡(luò)管理、聯(lián)網(wǎng)游戲等, 基于udp的攻擊種類也是比較多的, 如目前在互連網(wǎng)上提供www、mail等服務(wù)的設(shè)備一般為使用unix操作系統(tǒng)的服務(wù)器, 他們默認(rèn)是開放一些有被惡意利用可能的udp服務(wù)的, 如:echo,chargen. echo服務(wù)回顯接收到的每一個(gè)數(shù)據(jù)包, 而原本作為測試功能的chargen服務(wù)會(huì)在收到每一個(gè)數(shù)據(jù)包時(shí)隨機(jī)反饋一些字符, 如果惡意攻擊者將這兩個(gè)udp服務(wù)互指, 則網(wǎng)絡(luò)可用帶寬會(huì)很快耗盡。 自99年后半年開始, DDoS攻擊不斷在Internet出現(xiàn), 并在應(yīng)用的過程中不斷的得到完善, 在Unix或nt環(huán)境上截至目前已有一系列比較成熟的軟件產(chǎn)品, 如Trinoo, TFN, TFN2K, STACHELDRATH等, 他們基本核心及攻擊思路是很相象的, 下面就通過Trinoo對這類軟件做一介紹。 Trinoo是基于UDP flood的攻擊軟件, 它向被攻擊目標(biāo)主機(jī)隨機(jī)端口發(fā)送全零的4字節(jié)UDP包, 被攻擊主機(jī)的網(wǎng)絡(luò)性能在處理這些超出其處理能力垃圾數(shù)據(jù)包的過程中不斷下降, 直至不能提供正常服務(wù)甚至崩潰。 Trinoo攻擊功能的實(shí)現(xiàn), 是通過三個(gè)模塊付諸實(shí)施的, 1:攻擊守護(hù)進(jìn)程(NS) 2:攻擊控制進(jìn)程(MASTER) 3:客戶端(NETCAT, 標(biāo)準(zhǔn)TELNET程序等), 攻擊守護(hù)進(jìn)程N(yùn)S是真正實(shí)施攻擊的程序, 它一般和攻擊控制進(jìn)程(MASTER)所在主機(jī)分離, 在原始C文件ns.c編譯的時(shí)候, 需要加入可控制其執(zhí)行的攻擊控制進(jìn)程MASTER所在主機(jī)IP, (只有在ns.c中的IP方可發(fā)起ns的攻擊行為)編譯成功后, 黑客通過目前比較成熟的主機(jī)系統(tǒng)漏洞破解(如rpc.cmsd, rpc.ttdbserver, rpc.statd)可以方便的將大量NS植入因特網(wǎng)中有上述漏洞主機(jī)內(nèi)。 ns運(yùn)行時(shí), 會(huì)首先向攻擊控制進(jìn)程(MASTER)所在主機(jī)的31335端口發(fā)送內(nèi)容為HELLO的UDP包, 標(biāo)示它自身的存在, 隨后攻擊守護(hù)進(jìn)程即處于對端口27444的偵聽狀態(tài), 等待master攻擊指令的到來。 攻擊控制進(jìn)程(MASTER)在收到攻擊守護(hù)進(jìn)程的HELLO包后, 會(huì)在自己所在目錄生成一個(gè)加密的名為...的可利用主機(jī)表文件, MASTER的啟動(dòng)切枰藶氳模謖肥淙肽廈藶雊Orave后, MASTER即成功啟動(dòng), 它一方面?zhèn)陕牰丝?1335, 等待攻擊守護(hù)進(jìn)程的HELLO包, 另一方面?zhèn)陕牰丝?7665, 等待客戶端對其的連接。 當(dāng)客戶端連接成功并發(fā)出指令時(shí), MASTER所在主機(jī)將向攻擊守護(hù)進(jìn)程ns所在主機(jī)的27444端口傳遞指令。 客戶端不是trinoo自帶的一部分, 可用標(biāo)準(zhǔn)的能提供TCP連接的程序, 如TELNET, NETCAT等, 連接MASTER所在主機(jī)的27665端口, 輸入默認(rèn)密碼betaalmostdone后, 即完成了連接工作, 進(jìn)入攻擊控制可操作的提示狀態(tài)。 目前版本的trinoo有六個(gè)可用命令, mtimer:設(shè)定攻擊時(shí)長, 如mtimer 60, 攻擊60秒, 如果不設(shè)置的話, 默認(rèn)是無限。 dos:對某一目標(biāo)主機(jī)實(shí)施攻擊, 如dos 12.34.45.56 mdie:停止正在實(shí)施的攻擊, 使用這一功能需要輸入口令killme, mping:請求攻擊守護(hù)進(jìn)程N(yùn)S回應(yīng), 監(jiān)測ns是否工作。 mdos, 對多個(gè)目標(biāo)主機(jī)實(shí)施攻擊, msize:設(shè)置攻擊UDP包的大小。 Trinoo運(yùn)行的總體輪廓可用下圖說明: 我們來看一次攻擊的實(shí)例:被攻擊的目標(biāo)主機(jī)victim IP為:12.23.34.45ns被植入三臺sun的主機(jī)里, 他們的IP對應(yīng)關(guān)系分別為client1:11.11.11.11client2:22.22.22.22client3:33.33.33.33master所在主機(jī)為masterhost:11.22.33.44首先我們要啟動(dòng)各個(gè)進(jìn)程, 在client1, 2, 3上分別執(zhí)行ns, 啟動(dòng)攻擊守護(hù)進(jìn)程, 其次, 在master所在主機(jī)啟動(dòng)mastermasterhost# ./master?? gOrave (系統(tǒng)示輸入密碼, 輸入gOrave后master成功啟動(dòng))trinoo v1.07d2+f3+c [Mar 20 2000:14:38:49] (連接成功)在任意一臺與網(wǎng)絡(luò)連通的可使用telnet的設(shè)備上, 執(zhí)行telnet 11.22.33.44 27665Escape character is ^].betaalmostdone (輸入密碼)trinoo v1.07d2+f3+c..[rpm8d/cb4Sx/]trinoo> (進(jìn)入提示符)trinoo> mping (我們首先來監(jiān)測一下各個(gè)攻擊守護(hù)進(jìn)程是否成功啟動(dòng))mping: Sending a PING to every Bcasts.trinoo> PONG 1 Received from 11.11.11.11PONG 2 Received from 22.22.22.22PONG 3 Received from 33.33.33.33 (成功響應(yīng))trinoo> mtimer 60 (設(shè)定攻擊時(shí)間為60秒)mtimer: Setting timer on bcast to 60.trinoo> dos 12.23.34.45DoS: Packeting 12.23.34.45......至此一次攻擊結(jié)束, 此時(shí)ping 12.23.34.45, 會(huì)得到icmp不可到達(dá)反饋, 目標(biāo)主機(jī)此時(shí)與網(wǎng)絡(luò)的正常連接已被破壞。 由于目前版本的trinoo尚未采用IP地址欺騙, 因此在被攻擊的主機(jī)系統(tǒng)日志里我們可以看到如下紀(jì)錄:Mar 20 14:40:34 victim snmpXdmid: Will attempt to re-establish connection.Mar 20 14:40:35 victim snmpdx: error while receiving a pdu from 11.11.11.11.59841: The message has a wrong header type (0x0)Mar 20 14:40:35 victim snmpdx: error while receiving a pdu from 22.22.22.22.43661: The message has a wrong header type (0x0)Mar 20 14:40:36 victim snmpdx: error while receiving a pdu from 33.33.33.33.40183: The message has a wrong header type (0x0)Mar 20 14:40:36 victim snmpXdmid: Error receiving PDU The message has a wrong header type (0x0).Mar 20 14:40:36 victim snmpXdmid: Error receiving packet from agent; rc = -1.Mar 20 14:40:36 victim snmpXdmid: Will attempt to re-establish connection.Mar 20 14:40:36 victim snmpXdmid: Error receiving PDU The message has a wrong header type (0x0).Mar 20 14:40:36 victim snmpXdmid: Error receiving packet from agent; rc = -1.由上述日志, 我們不難看出發(fā)起攻擊的ip地址, 這一問題, 通過ip spoof在后期的軟件tfn, tfn2k等軟件中得到了解決, 給被攻擊者找出肇事者進(jìn)一步增加了難度。 Trinoo等DdoS攻擊軟件的出現(xiàn), 對網(wǎng)絡(luò)的安全產(chǎn)生了巨大的挑戰(zhàn), 借助這種在網(wǎng)上可以得到的公開軟件, 任何一個(gè)普通的上網(wǎng)者對網(wǎng)絡(luò)的安全都構(gòu)成了潛在的威脅, 那么能不能做一些預(yù)防工作呢?有一些是可以做的, 首先, 檢測自己的系統(tǒng)是否被植入了攻擊守護(hù)程序, 最簡單的辦法, 檢測上述提到的udp端口, 如netstat -a grep udp 端口號, 如果得到listen等激活狀態(tài), 就要注意了, 或者用專門的檢測軟件, 這里推薦美國FBI專門研制的Find Distributed Denial of Service (find_ddos) , 最新版本的可檢測到tfn2k client, tfn2k daemon, trinoo daemon, trinoo master, tfn daemon, tfn client, stacheldraht master, stacheldraht client, stachelddraht demon和 tfn-rush client等目前幾乎所有流行攻擊軟件。 它的運(yùn)行很簡單, 解開包, 運(yùn)行find_ddos即可, 下面為在一臺可疑設(shè)備運(yùn)行結(jié)果, Logging output t LOGScanning running processes.../proc/795/object/a.out: trinoo daemon/usr/bin/gcore: core.795 dumped/proc/800/object/a.out: trinoo master/usr/bin/gcore: core.800 dumpedScanning /tmp...Scanning /.../yiming/tfn2k/td: tfn2k daemon/yiming/tfn2k/tfn: tfn2k client/yiming/trinoo/daemon/ns: trinoo daemon/yiming/trinoo/master/master: trinoo master/yiming/trinoo/master/...: possible IP list fileNOTE: This message is based on the filename being suspicious, and is notbased on an analysis of the file contents. It is up to you to examine thefile and decide whether it is actually an IP list file related to a DDOStool./yiming/stacheldrahtV4/leaf/td: stacheldraht daemon/yiming/stacheldrahtV4/telnetc/client: stacheldraht client/yiming/stacheldrahtV4/td: stacheldraht daemon/yiming/stacheldrahtV4/client: stacheldraht client/yiming/stacheldrahtV4/mserv: stacheldraht masterALERT: One or more DDOS tools were found on your system.Please examine LOG and take appropriate action.看來這臺設(shè)備的攻擊守護(hù)程序還不少呢, 系統(tǒng)管理員要注意啦!這個(gè)軟件可從下面的地址得到:http://www.fbi.gov/nipc/trinoo.htm 。 其次, 封掉不必要的UDP服務(wù), 如echo,chargen,減少udp攻擊的入口。 第三, 在路由器連接骨干網(wǎng)絡(luò)的端口結(jié)合采用CEF和ip verify unicast reverse-path, 擋住一部分ip spoof,syn的攻擊。 同時(shí)使用access control lists將可能被使用的網(wǎng)絡(luò)保留地址封掉。 借助使用CAR技術(shù)來限制 ICMP 報(bào)文大小。 具體使用可查閱cisco網(wǎng)站。 第四, 在敏感主機(jī)如www服務(wù)器使用ip filter軟件。 截至目前, 實(shí)際很徹底的防御手段還沒有出現(xiàn), 但采用上述做法可以較大地減小不安全性。 Internet的發(fā)展, 永遠(yuǎn)是一場不會(huì)停止的網(wǎng)絡(luò)安全攻與防的較量。


上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識,學(xué)習(xí)了安全知識,幾乎可以讓你免費(fèi)電腦中毒的煩擾。