|
網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機(jī)整體,實(shí)現(xiàn)資源的全面共享和有機(jī)協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計(jì)算機(jī)、存儲(chǔ)資源、數(shù)據(jù)資源、信息資源、知識(shí)資源、專家資源、大型數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。 Internet給全世界的人們帶來了無限的生機(jī),真正實(shí)現(xiàn)了無國(guó)界的全球村。但是還有很多困繞我們的因素,象IP地址的短缺,大量帶寬的損耗,以及政府規(guī)章的限制和編程技術(shù)的不足。現(xiàn)在,由于多年來網(wǎng)絡(luò)系統(tǒng)累積下了無數(shù)的漏洞,我們將面臨著更大的威脅,網(wǎng)絡(luò)中潛伏的好事者將會(huì)以此作為缺口來對(duì)系統(tǒng)進(jìn)行攻擊,我們也不得不為以前的疏忽付出更大的努力。雖然大多的網(wǎng)絡(luò)系統(tǒng)產(chǎn)品都標(biāo)榜著安全的旗號(hào),但就我們現(xiàn)在的網(wǎng)絡(luò)協(xié)議和殘缺的技術(shù)來看,危險(xiǎn)無處不在。
拒絕服務(wù)攻擊是一種遍布全球的系統(tǒng)漏洞,黑客們正醉心于對(duì)它的研究,而無數(shù)的網(wǎng)絡(luò)用戶將成為這種攻擊的受害者。Tribe Flood Network, tfn2k, smurf, targa…還有許多的程序都在被不斷的開發(fā)出來。這些程序想瘟疫一樣在網(wǎng)絡(luò)中散布開來,使得我們的村落更為薄弱,我們不得不找出一套簡(jiǎn)單易用的安全解決方案來應(yīng)付黑暗中的攻擊。
在這篇文章中我們將會(huì)提供:
對(duì)當(dāng)今網(wǎng)絡(luò)中的拒絕服務(wù)攻擊的討論。 安全環(huán)境中的一些非技術(shù)性因素以及我們必須克服的一些障礙問題。 如何認(rèn)清產(chǎn)品推銷商所提供的一些謊言。
在我們正式步入對(duì)這些問題的技術(shù)性討論之前,讓我們先從現(xiàn)實(shí)的生活中的實(shí)際角度來看一下這些困繞我們的問題。
1、當(dāng)前的技術(shù)概況
在我們進(jìn)入更為詳細(xì)的解決方案之前,讓我們首先對(duì)問題做一下更深入的了解。
與安全相關(guān)的這些小問題如果詳細(xì)來講的話都能成為一個(gè)大的章節(jié),但限于篇幅的原因,我們只能先作一下大體的了解。
軟件弱點(diǎn)是包含在操作系統(tǒng)或應(yīng)用程序中與安全相關(guān)的系統(tǒng)缺陷,這些缺陷大多是由于錯(cuò)誤的程序編制,粗心的源代碼審核,無心的副效應(yīng)或一些不適當(dāng)?shù)慕壎ㄋ斐傻摹8鶕?jù)錯(cuò)誤信息所帶來的對(duì)系統(tǒng)無限制或者未經(jīng)許可的訪問程度,這些漏洞可以被分為不同的等級(jí)。
典型的拒絕服務(wù)攻擊有如下兩種形式:資源耗盡和資源過載。當(dāng)一個(gè)對(duì)資源的合理請(qǐng)求大大超過資源的支付能力時(shí)就會(huì)造成拒絕服務(wù)攻擊(例如,對(duì)已經(jīng)滿載的Web服務(wù)器進(jìn)行過多的請(qǐng)求。)拒絕服務(wù)攻擊還有可能是由于軟件的弱點(diǎn)或者對(duì)程序的錯(cuò)誤配置造成的。區(qū)分惡意的拒絕服務(wù)攻擊和非惡意的服務(wù)超載依賴于請(qǐng)求發(fā)起者對(duì)資源的請(qǐng)求是否過份,從而使得其他的用戶無法享用該服務(wù)資源。
錯(cuò)誤配置也會(huì)成為系統(tǒng)的安全隱患。這些錯(cuò)誤配置通常發(fā)生在硬件裝置,系統(tǒng)或者應(yīng)用程序中。如果對(duì)網(wǎng)絡(luò)中的路由器,防火墻,交換機(jī)以及其他網(wǎng)絡(luò)連接設(shè)備都進(jìn)行正確的配置會(huì)減小這些錯(cuò)誤發(fā)生的可能性。如果發(fā)現(xiàn)了這種漏洞應(yīng)當(dāng)請(qǐng)教專業(yè)的技術(shù)人員來修理這些問題。
如果換個(gè)角度,也可以說是如下原因造成的:
錯(cuò)誤配置。錯(cuò)誤配置大多是由于一些沒經(jīng)驗(yàn)的,無責(zé)任員工或者錯(cuò)誤的理論所導(dǎo)致的。開發(fā)商一般會(huì)通過對(duì)您進(jìn)行簡(jiǎn)單的詢問來提取一些主要的配置信息,然后在由經(jīng)過專業(yè)培訓(xùn)并相當(dāng)內(nèi)行的專業(yè)人士來解決問題。
軟件弱點(diǎn)。由于使用的軟件幾乎完全依賴于開發(fā)商,所以對(duì)于由軟件引起的漏洞只能依靠打補(bǔ)丁,安裝hot fixes和Service packs來彌補(bǔ)。當(dāng)某個(gè)應(yīng)用程序被發(fā)現(xiàn)有漏洞存在,開發(fā)商會(huì)立即發(fā)布一個(gè)更新的版本來修正這個(gè)漏洞。
拒絕服務(wù)攻擊。拒絕服務(wù)攻擊大多是由于錯(cuò)誤配置或者軟件弱點(diǎn)導(dǎo)致的。某些DoS攻擊是由于開發(fā)協(xié)議固有的缺陷導(dǎo)致的,某些DoS攻擊可以通過簡(jiǎn)單的補(bǔ)丁來解決,還有一些導(dǎo)致攻擊的系統(tǒng)缺陷很難被彌補(bǔ)。最后,還有一些非惡意的拒絕服務(wù)攻擊的情況,這些情況一般是由于帶寬或者資源過載產(chǎn)生瓶頸導(dǎo)致的,對(duì)于這種問題沒有一個(gè)固定的解決方案。
2、深入DoS
DoS的攻擊方式有很多種。最基本的DoS攻擊就是利用合理的服務(wù)請(qǐng)求來占用過多的服務(wù)資源,致使服務(wù)超載,無法響應(yīng)其他的請(qǐng)求。這些服務(wù)資源包括網(wǎng)絡(luò)帶寬,文件系統(tǒng)空間容量,開放的進(jìn)程或者向內(nèi)的連接。這種攻擊會(huì)導(dǎo)致資源的匱乏,無論計(jì)算機(jī)的處理速度多么快,內(nèi)存容量多么大,互連網(wǎng)的速度多么快都無法避免這種攻擊帶來的后果。因?yàn)槿魏问露加幸粋(gè)極限,所以,總能找到一個(gè)方法使請(qǐng)求的值大于該極限值,因此就會(huì)使所提供的服務(wù)資源匱乏,象是無法滿足需求。千萬不要自認(rèn)為自己擁有了足夠?qū)挼膸捑蜁?huì)有一個(gè)高效率的網(wǎng)站,拒絕服務(wù)攻擊會(huì)使所有的資源變得非常渺小。 傳統(tǒng)上,攻擊者所面臨的主要問題是網(wǎng)絡(luò)帶寬,由較小的網(wǎng)絡(luò)規(guī)模和較慢的網(wǎng)絡(luò)速度,無法使攻擊者發(fā)出過多的請(qǐng)求,然而,類似"the ping of death"的攻擊類型緊需要很少量的包就可以摧毀一個(gè)沒有打過補(bǔ)丁的UNIX系統(tǒng)。當(dāng)然,多數(shù)的DoS攻擊還是需要相當(dāng)大的帶寬的,但是高帶寬是大公司所擁有的,而以個(gè)人為主的黑客很難享用。為了克服這個(gè)缺點(diǎn),惡意的攻擊者開發(fā)了分布式的攻擊。這樣,攻擊者就可以利用工具集合許多的網(wǎng)絡(luò)帶寬來對(duì)同一個(gè)目標(biāo)發(fā)送大量的請(qǐng)求。
以下的兩種情況最容易導(dǎo)致拒絕服務(wù)攻擊:
由于程序員對(duì)程序錯(cuò)誤的編制,導(dǎo)致系統(tǒng)不停的建立進(jìn)程,最終耗盡資源,只能重新啟動(dòng)機(jī)器。不同的系統(tǒng)平臺(tái)都會(huì)采取某些方法可以防止一些特殊的用戶來占用過多的系統(tǒng)資源,我們也建議盡量采用資源管理的方式來減輕這種安全威脅。
還有一種情況是由磁盤存儲(chǔ)空間引起的。假如一個(gè)用戶有權(quán)利存儲(chǔ)大量的文件的話,他就有可能只為系統(tǒng)留下很小的空間用來存儲(chǔ)日志文件等系統(tǒng)信息。這是一種不良的操作習(xí)慣,會(huì)給系統(tǒng)帶來隱患。這種情況下應(yīng)該對(duì)系統(tǒng)配額作出考慮。
從安全的角度來看,本地的拒絕服務(wù)攻擊可以比較容易的追蹤并消除。而我們這篇文章主要是針對(duì)于網(wǎng)絡(luò)環(huán)境下的DoS攻擊。下面我們大體討論一下較為常見的基于網(wǎng)絡(luò)的拒絕服務(wù)攻擊:
Smurf (directed broadcast)。廣播信息可以通過一定的手段(通過廣播地址或其他機(jī)制)發(fā)送到整個(gè)網(wǎng)絡(luò)中的機(jī)器。當(dāng)某臺(tái)機(jī)器使用廣播地址發(fā)送一個(gè)ICMP echo請(qǐng)求包時(shí)(例如PING),一些系統(tǒng)會(huì)回應(yīng)一個(gè)ICMP echo回應(yīng)包,也就是說,發(fā)送一個(gè)包會(huì)收到許多的響應(yīng)包。Smurf攻擊就是使用這個(gè)原理來進(jìn)行的,當(dāng)然,它還需要一個(gè)假冒的源地址。也就是說在網(wǎng)絡(luò)中發(fā)送源地址為要攻擊主機(jī)的地址,目的地址為廣播地址的包,會(huì)使許多的系統(tǒng)響應(yīng)發(fā)送大量的信息給被攻擊主機(jī)(因?yàn)樗牡刂繁还粽呒倜傲耍J褂镁W(wǎng)絡(luò)發(fā)送一個(gè)包而引出大量回應(yīng)的方式也被叫做"放大器",這些smurf放大器可以在www.netscan.org網(wǎng)站上獲得,一些無能的且不負(fù)責(zé)任的網(wǎng)站仍有很多的這種漏洞。
SYN flooding 一臺(tái)機(jī)器在網(wǎng)絡(luò)中通訊時(shí)首先需要建立TCP握手,標(biāo)準(zhǔn)的TCP握手需要三次包交換來建立。一臺(tái)服務(wù)器一旦接收到客戶機(jī)的SYN包后必須回應(yīng)一個(gè)SYN/ACK包,然后等待該客戶機(jī)回應(yīng)給它一個(gè)ACK包來確認(rèn),才真正建立連接。然而,如果只發(fā)送初始化的SYN包,而不發(fā)送確認(rèn)服務(wù)器的ACK包會(huì)導(dǎo)致服務(wù)器一直等待ACK包。由于服務(wù)器在有限的時(shí)間內(nèi)只能響應(yīng)有限數(shù)量的連接,這就會(huì)導(dǎo)致服務(wù)器一直等待回應(yīng)而無法響應(yīng)其他機(jī)器進(jìn)行的連接請(qǐng)求。
Slashdot effect 這種攻擊手法使web服務(wù)器或其他類型的服務(wù)器由于大量的網(wǎng)絡(luò)傳輸而過載,一般這些網(wǎng)絡(luò)流量是針對(duì)某一個(gè)頁(yè)面或一個(gè)鏈接而產(chǎn)生的。當(dāng)然這種現(xiàn)象也會(huì)在訪問量較大的網(wǎng)站上正常發(fā)生,但我們一定要把這些正,F(xiàn)象和拒絕服務(wù)攻擊區(qū)分開來。如果您的服務(wù)器突然變得擁擠不堪,甚至無法響應(yīng)再多的請(qǐng)求時(shí),您應(yīng)當(dāng)仔細(xì)檢查一下這個(gè)資源匱乏的現(xiàn)象,確認(rèn)在10000次點(diǎn)擊里全都是合法用戶進(jìn)行的,還是由5000個(gè)合法用戶和一個(gè)點(diǎn)擊了5000次的攻擊者進(jìn)行的。
拒絕服務(wù)一般都是由過載導(dǎo)致的,而過載一般是因?yàn)檎?qǐng)求到達(dá)了極限。
網(wǎng)絡(luò)的神奇作用吸引著越來越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來越嚴(yán)峻的考驗(yàn)―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項(xiàng)技術(shù)都需要適時(shí)應(yīng)勢(shì),對(duì)應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進(jìn)步的催化劑。
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!