第6章 網(wǎng)絡(luò)入侵與攻擊技術(shù)_第1頁
第6章 網(wǎng)絡(luò)入侵與攻擊技術(shù)_第2頁
第6章 網(wǎng)絡(luò)入侵與攻擊技術(shù)_第3頁
第6章 網(wǎng)絡(luò)入侵與攻擊技術(shù)_第4頁
第6章 網(wǎng)絡(luò)入侵與攻擊技術(shù)_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

網(wǎng)絡(luò)安全基礎(chǔ)及應(yīng)用張仕斌陳麟方睿編著北京:人民郵電出版社二00九年十一月2023/3/91主要內(nèi)容第1章緒論第2章密碼技術(shù)第3章信息隱藏技術(shù)第4章數(shù)字簽名技術(shù)第5章認(rèn)證技術(shù)第6章網(wǎng)絡(luò)入侵與攻擊技術(shù)第7章網(wǎng)絡(luò)安全防范技術(shù)第8章操作系統(tǒng)安全技術(shù)第9章數(shù)據(jù)與數(shù)據(jù)庫安全技術(shù)第10章軟件安全技術(shù)第11章Web安全技術(shù)第12章網(wǎng)絡(luò)互聯(lián)安全技術(shù)2023/3/92第6章網(wǎng)絡(luò)入侵與攻擊技術(shù)2023/3/93知識(shí)點(diǎn):

網(wǎng)絡(luò)攻擊基礎(chǔ)知識(shí)

網(wǎng)絡(luò)攻擊的基本步驟

典型的網(wǎng)絡(luò)攻擊技術(shù)

操作系統(tǒng)中常用的網(wǎng)絡(luò)工具2023/3/946.1網(wǎng)絡(luò)入侵與攻擊概述6.1.1入侵和攻擊的基本概念

1.入侵和攻擊入侵是指任何威脅和破壞系統(tǒng)資源的行為(如非授權(quán)或越權(quán)訪問系統(tǒng)資源、搭線竊聽信息),實(shí)施入侵行為的“人”稱為入侵者。而攻擊是入侵者進(jìn)行入侵所采取的技術(shù)手段和方法。入侵的整個(gè)過程(包括入侵準(zhǔn)備、進(jìn)攻、侵入)都伴隨著攻擊,因此有時(shí)也把入侵者稱為攻擊者。

入侵者的入侵途徑有3類:一是物理途徑(入侵者利用管理缺陷或人們的疏忽大意,乘虛而入,侵入目標(biāo)主機(jī)企圖登錄系統(tǒng)或偷竊重要資源進(jìn)行研究與分析);二是系統(tǒng)途徑(入侵者使用自己所擁有的較低級(jí)別的操作權(quán)限進(jìn)入目標(biāo)系統(tǒng),或裝“后門”、復(fù)制信息、破壞資源、尋找系統(tǒng)漏洞以獲取更高級(jí)別的操作權(quán)限等);三是網(wǎng)絡(luò)途徑(入侵者通過網(wǎng)絡(luò)滲透到目標(biāo)系統(tǒng)中,進(jìn)破壞活動(dòng))。

2023/3/952.入侵與攻擊的關(guān)系

入侵與攻擊是直接相關(guān)的,入侵是目的,攻擊是手段,在整個(gè)入侵過程中都存在攻擊。入侵的目的就是搶占資源,但它不一定有攻擊能力,可能雇傭攻擊者來達(dá)到入侵目的。因此,攻擊是由入侵者發(fā)起并由攻擊者實(shí)現(xiàn)的一種“非法”行為。無論是入侵還是攻擊,僅僅是概念上和形式上的描述有所區(qū)別而已。

對(duì)計(jì)算機(jī)網(wǎng)絡(luò)而言,入侵與攻擊并沒有什么本質(zhì)的區(qū)別,入侵伴隨著攻擊的結(jié)果就是入侵(比如在入侵者沒有侵入目標(biāo)之前,他想方設(shè)法利用各種手段對(duì)目標(biāo)進(jìn)行攻擊,這屬于網(wǎng)絡(luò)外的主動(dòng)攻擊行為);當(dāng)攻擊者得手而侵入目標(biāo)之后,入侵者利用各種手段掠奪和破壞別人的資源(這屬于網(wǎng)絡(luò)內(nèi)的主動(dòng)攻擊行為)。從網(wǎng)絡(luò)安全角度來看,入侵和攻擊的結(jié)果是一樣的。2023/3/963.入侵者的攻擊手段(1)冒充;(2)篡改;(3)重放;(4)服務(wù)拒絕;(5)陷阱門;(6)外部攻擊;(7)內(nèi)部攻擊;(8)特洛伊木馬。2023/3/976.1.2防止入侵和攻擊的主要技術(shù)

(1)訪問控制技術(shù)是網(wǎng)絡(luò)安全保護(hù)和防范的核心策略之一,其主要目的是確保網(wǎng)絡(luò)資源不被非法訪問和非法利用。訪問控制技術(shù)所涉及的內(nèi)容較為廣泛,包括網(wǎng)絡(luò)登錄控制、網(wǎng)絡(luò)使用權(quán)限控制、目錄級(jí)安全控制以及屬性安全控制等技術(shù)。(2)防火墻技術(shù)是用來保護(hù)內(nèi)部網(wǎng)絡(luò)免受外部網(wǎng)絡(luò)的惡意入侵和攻擊,防止計(jì)算機(jī)犯罪,將入侵者拒之門外的網(wǎng)絡(luò)安全技術(shù)。防火墻是內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)的邊界,它能夠嚴(yán)密監(jiān)視進(jìn)出網(wǎng)絡(luò)邊界的數(shù)據(jù)包,能夠阻擋入侵者,嚴(yán)格限制外部網(wǎng)絡(luò)對(duì)內(nèi)部網(wǎng)絡(luò)的訪問,也可以有效地監(jiān)視內(nèi)部網(wǎng)絡(luò)對(duì)外部網(wǎng)絡(luò)的訪問。(3)入侵檢測(cè)技術(shù)是網(wǎng)絡(luò)安全技術(shù)和信息技術(shù)結(jié)合的產(chǎn)物,它可以實(shí)時(shí)監(jiān)視網(wǎng)絡(luò)系統(tǒng)的某些區(qū)域,當(dāng)這些區(qū)域受到攻擊時(shí)能夠及使檢測(cè)和立即響應(yīng)。2023/3/98(4)安全審計(jì)是在網(wǎng)絡(luò)中模擬現(xiàn)實(shí)社會(huì)的監(jiān)察機(jī)構(gòu),對(duì)網(wǎng)絡(luò)系統(tǒng)的活動(dòng)進(jìn)行監(jiān)視、記錄并提出安全意見和建議的一種機(jī)制。利用安全審計(jì)可以有針對(duì)性地對(duì)網(wǎng)絡(luò)運(yùn)行狀態(tài)和過程進(jìn)行記錄、跟蹤和審查。通過安全審計(jì)不僅可以對(duì)網(wǎng)絡(luò)風(fēng)險(xiǎn)進(jìn)行有效評(píng)估,還可以為制定合理的安全策略和加強(qiáng)安全管理提供決策依據(jù),使網(wǎng)絡(luò)系統(tǒng)能夠及時(shí)調(diào)整對(duì)策。(5)安全掃描技術(shù)是指對(duì)計(jì)算機(jī)及網(wǎng)絡(luò)系統(tǒng)等設(shè)備進(jìn)行相關(guān)安全檢測(cè),以查找安全隱患和可能被攻擊者利用的漏洞。從安全掃描的角度來看,它既是保護(hù)計(jì)算機(jī)及網(wǎng)絡(luò)系統(tǒng)必不可少的方法,也攻擊者攻擊系統(tǒng)的技術(shù)之一。系統(tǒng)管理員利用安全掃描技術(shù)可以排除隱患,防止攻擊者入侵;而攻擊者也可以利用安全掃描技術(shù)來尋找入侵計(jì)算機(jī)及網(wǎng)絡(luò)系統(tǒng)的機(jī)會(huì)。(6)安全管理技術(shù)一般意義上講是指為實(shí)現(xiàn)信息系統(tǒng)安全的目標(biāo)而采取的一系列管理制度和技術(shù)手段,包括安全檢測(cè)、監(jiān)控、響應(yīng)和調(diào)整的全部控制過程。2023/3/996.2網(wǎng)絡(luò)攻擊的基本步驟

要實(shí)施網(wǎng)絡(luò)攻擊,必須進(jìn)行3個(gè)基本步驟:搜集信息→選擇目標(biāo)、實(shí)施攻擊→上傳攻擊程序、下載用戶數(shù)據(jù)。網(wǎng)絡(luò)攻擊的關(guān)鍵一步就搜集信息,即踩點(diǎn)。

1.搜集攻擊目標(biāo)的初始信息攻擊者搜集的攻擊目標(biāo)初始信息包括開放信息源(OpenSourceInformation)、公司新聞信息、公司員工信息和新聞組等。這些信息雖然對(duì)最終實(shí)施攻擊的用處不是很大,但能決定是否對(duì)該目標(biāo)實(shí)施攻擊行為。在這一步中常采用的工具主要有whois和nslookup。2023/3/910

2.查找網(wǎng)絡(luò)地址范圍

當(dāng)攻擊者獲得了目標(biāo)機(jī)器的IP地址后,下一步需要找出網(wǎng)絡(luò)的地址范圍或者子網(wǎng)掩碼。需知道地址范圍的主要原因是保證攻擊者能集中精力對(duì)付一個(gè)網(wǎng)絡(luò)而沒有闖入其他網(wǎng)絡(luò)。3.查找活動(dòng)機(jī)器

知道了IP地址范圍后,攻擊者想知道哪些機(jī)器是活動(dòng)的,哪些不是。公司里一天中不同的時(shí)間有不同的機(jī)器在活動(dòng)。一般攻擊者會(huì)在白天尋找活動(dòng)的機(jī)器,然后在深夜再次查找,這樣他就能區(qū)分工作站和服務(wù)器。服務(wù)器會(huì)被一直使用,而工作站只在正常工作日是活動(dòng)的。2023/3/911

4.查找開放的端口和入口點(diǎn)

網(wǎng)絡(luò)通信除了需要知道目標(biāo)IP地址以外,還需要知道對(duì)方開放的端口。因此攻擊者在攻擊前也要知道可以利用的端口。此時(shí)可以利用Port

Scanners(端口掃描器)工具進(jìn)行,它可以在一系列端口上運(yùn)行以找出哪些端口是開放的。5.查看操作系統(tǒng)類型攻擊者知道哪些機(jī)器是活動(dòng)的和哪些端口是開放的后,下一步是識(shí)別每臺(tái)主機(jī)運(yùn)行哪種操作系統(tǒng)。有一些探測(cè)遠(yuǎn)程主機(jī)并確定在運(yùn)行哪種操作系統(tǒng)的程序。這些程序通過向遠(yuǎn)程主機(jī)發(fā)送不平常的或者沒有意義的數(shù)據(jù)包來完成。因?yàn)檫@些數(shù)據(jù)包RFC(Internet標(biāo)準(zhǔn))沒有列出,不同的操作系統(tǒng)對(duì)它們的處理方法不同,攻擊者通過解析輸出,能夠弄清自己正在訪問的是什么類型的設(shè)備和在運(yùn)行哪種操作系統(tǒng)。這些工具軟件中比較著名的有Queso、Nmap、CheckOS等。2023/3/912

6.掃描目標(biāo)網(wǎng)絡(luò)弱點(diǎn)

攻擊者了解目標(biāo)系統(tǒng)中主要端口所運(yùn)行的服務(wù)是相當(dāng)重要的,因?yàn)樗麄兛梢詮倪@些服務(wù)中找到目標(biāo)網(wǎng)絡(luò)系統(tǒng)的弱點(diǎn),從中找到攻擊的切入點(diǎn)

7.畫出網(wǎng)絡(luò)圖

進(jìn)展到這個(gè)階段,攻擊者得到了各種信息,現(xiàn)在可以畫出網(wǎng)絡(luò)圖使他能找出最好的入侵方法。攻擊者可以使用traceroute或者ping來找到這個(gè)信息,也可以使用諸如cheops的程序,自動(dòng)地畫出網(wǎng)絡(luò)圖。2023/3/9136.3典型的網(wǎng)絡(luò)攻擊技術(shù)

服務(wù)拒絕(DenialofService,DoS)攻擊是通過占用大量的資源,最終使計(jì)算機(jī)或網(wǎng)絡(luò)無法提供正常的服務(wù),是目前最常見的一種攻擊類型。

從網(wǎng)絡(luò)攻擊各種技術(shù)和所產(chǎn)生的破壞情況來看,DoS攻擊應(yīng)該算是一種很簡(jiǎn)單、但又很有效的攻擊方式。其目的就是服務(wù)拒絕訪問,破壞組織的正常運(yùn)行,最終使網(wǎng)絡(luò)連接堵塞,或網(wǎng)絡(luò)服務(wù)器因疲于處理攻擊者發(fā)送的數(shù)據(jù)包而使服務(wù)器系統(tǒng)的相關(guān)服務(wù)崩潰、系統(tǒng)資源耗盡。攻擊原理是:利用各種手段不斷向目標(biāo)主機(jī)發(fā)送虛假請(qǐng)求或垃圾信息等,使目標(biāo)主機(jī)一直處于忙于應(yīng)付或一直處于等待回應(yīng)的狀態(tài)而無法為其他主機(jī)提供服務(wù)。6.3.1服務(wù)拒絕攻擊技術(shù)2023/3/914

1.SYNFloodSYNFlood(同步洪流)攻擊是當(dāng)前最為常見的一種攻擊技術(shù),它利用TCP的缺陷進(jìn)行攻擊。

2.Land攻擊技術(shù)Land攻擊也是DoS攻擊中經(jīng)常采用的一種攻擊技術(shù),其原理是:用一個(gè)特別打造的SYN包,它的源地址和目標(biāo)地址都被設(shè)置成某一個(gè)服務(wù)器地址。

3.廣播風(fēng)暴技術(shù)當(dāng)某臺(tái)主機(jī)使用廣播地址發(fā)送一個(gè)ICMPecho請(qǐng)求包時(shí),其他一些主機(jī)會(huì)向該主機(jī)回應(yīng)ICMPecho應(yīng)答包。如果不斷地發(fā)送這樣的數(shù)據(jù)包,則會(huì)有大量的數(shù)據(jù)包被回應(yīng)到相應(yīng)的主機(jī)上,導(dǎo)致該主機(jī)一直處于接收響應(yīng)數(shù)據(jù)包的狀態(tài)而無法做其他的事。廣播風(fēng)暴就是基于這樣一個(gè)原理。2023/3/915

4.IP分段攻擊技術(shù)

IP分段攻擊是指采用數(shù)據(jù)分組分段的辦法來處理僅支持給定最大IP分組長(zhǎng)度的網(wǎng)絡(luò)部分,一旦被發(fā)送,并不立即重新組裝單個(gè)的分段,而是把它們路由到最終目的地,并在這時(shí)才把它們放在一塊給出原始的IP分組。因此,被分段的分組是對(duì)基于分組過濾防火墻系統(tǒng)的一個(gè)威脅。

5.WinNuke攻擊技術(shù)

WinNuke攻擊又稱為“帶外輸出攻擊”,它的特征是攻擊目標(biāo)端口,被攻擊的目標(biāo)端口通常是139、138、137、113、53,而且URG(UrgentPointerFieldSignificant)位設(shè)為1,即緊急模式。WinNuke攻擊就是利用了Windows操作系統(tǒng)的一個(gè)漏洞,向這些端口發(fā)送一些攜帶TCP帶外(OoB(OutofBand)的意思是“束縛數(shù)據(jù)脫離”,這是一種破壞Windows系統(tǒng)的過程)數(shù)據(jù)報(bào)文的。2023/3/916

6.IP欺騙的DoS攻擊技術(shù)

是利用RST(RESETtheconnection)位來實(shí)現(xiàn)。假設(shè)現(xiàn)在有一個(gè)合法用戶(1)已經(jīng)同服務(wù)器建立了正常的連接,攻擊者構(gòu)造攻擊的TCP數(shù)據(jù),偽裝自己的IP為1,并向服務(wù)器發(fā)送一個(gè)帶有RST位的TCP數(shù)據(jù)段。服務(wù)器接收到這樣的數(shù)據(jù)后,認(rèn)為從1發(fā)送的連接有錯(cuò)誤,就會(huì)清空緩沖區(qū)中建立好的連接。這時(shí),如果合法用戶1再發(fā)送合法數(shù)據(jù),服務(wù)器就已經(jīng)沒有這樣的連接了,該用戶就必須重新開始建立連接。攻擊時(shí),攻擊者會(huì)偽造大量的IP地址,向目標(biāo)發(fā)送RST數(shù)據(jù),使服務(wù)器不對(duì)合法用戶服務(wù),從而實(shí)現(xiàn)了對(duì)受害服務(wù)器的服務(wù)拒絕攻擊。

7.Smurf攻擊技術(shù)Smurf攻擊的原理是:通過使用將回復(fù)地址設(shè)置成受害網(wǎng)絡(luò)的廣播地址的ICMP應(yīng)答請(qǐng)求(Ping)數(shù)據(jù)包來淹沒受害主機(jī)。最終導(dǎo)致該網(wǎng)絡(luò)的所有主機(jī)都對(duì)此ICMP應(yīng)答請(qǐng)求作出答復(fù),導(dǎo)致網(wǎng)絡(luò)阻塞。2023/3/917

8.IIS上傳攻擊技術(shù)在Internet網(wǎng)絡(luò)應(yīng)用中,一些協(xié)議(如HTTP)對(duì)上傳到服務(wù)器上的數(shù)據(jù)長(zhǎng)度一般沒有限制,這使得服務(wù)拒絕攻擊十分容易。例如,在HTTP中,利用POST方法上傳數(shù)據(jù)時(shí),所上傳的數(shù)據(jù)長(zhǎng)度是由字段ContentLenth指定的,但沒有大小限制。如果用戶指定一個(gè)非常大的數(shù)值,則導(dǎo)致IIS一直等待接收這些數(shù)據(jù),直到傳送完成,才會(huì)釋放所占用的內(nèi)存資源。攻擊者就是利用這種缺陷,輕而易舉地向IIS(Web服務(wù)器)發(fā)送大量的垃圾數(shù)據(jù),導(dǎo)致服務(wù)器的內(nèi)存資源耗盡。當(dāng)內(nèi)存資源不足時(shí),服務(wù)器將會(huì)頻繁使用磁盤緩沖區(qū)進(jìn)行數(shù)據(jù)交換,CPU的處理速度明顯下降。在內(nèi)存不足的時(shí)候,出現(xiàn)系統(tǒng)速度明顯下降,硬盤讀寫增多(磁盤交換區(qū)頻繁使用)等。

9.淚滴攻擊技術(shù)

淚滴(teardrop)攻擊是利用在TCP/IP堆棧中實(shí)現(xiàn)信任IP碎片的包的標(biāo)題頭所包含的信息來實(shí)現(xiàn)自己的攻擊。IP分段含有指明該分段所包含的是源包的哪一段信息,某些TCP/IP(包括ServicePack4以前的NT)在收到含有重疊偏移的偽造分段時(shí)將崩潰。2023/3/918

10.Ping洪流攻擊技術(shù)

早期,路由器對(duì)包的最大尺寸都有限制。許多操作系統(tǒng)對(duì)TCP/IP棧的實(shí)現(xiàn)在ICMP包上都是規(guī)定64KB,并且在對(duì)包的標(biāo)題頭進(jìn)行讀取之后,要根據(jù)該標(biāo)題頭里包含的信息來為有效載荷生成緩沖區(qū)。當(dāng)產(chǎn)生畸形的,聲稱自己的尺寸超過ICMP上限的包也就是加載的尺寸超過64KB上限時(shí),就會(huì)出現(xiàn)內(nèi)存分配錯(cuò)誤,導(dǎo)致TCP/IP堆棧崩潰,致使接收方死機(jī)。

11.UDP洪水攻擊技術(shù)

UDP洪水攻擊是攻擊者利用簡(jiǎn)單的TCP/IP服務(wù),如Chargen和Echo,來傳送毫無用處的占滿帶寬的數(shù)據(jù)。通過偽造與某一主機(jī)的Chargen服務(wù)之間的一次UDP連接,回復(fù)地址指向開著Echo服務(wù)的一臺(tái)主機(jī),這樣就生成在兩臺(tái)主機(jī)之間存在很多的無用數(shù)據(jù)流,這些無用數(shù)據(jù)流就會(huì)導(dǎo)致帶寬的服務(wù)攻擊。2023/3/919

12.分布式服務(wù)拒絕攻擊技術(shù)

分布式服務(wù)拒絕(DistributedDenialofService,DDoS)攻擊是基于DoS攻擊的一種特殊形式。當(dāng)攻擊目標(biāo)的CPU速度低、內(nèi)存小或者網(wǎng)絡(luò)帶寬等各項(xiàng)性能指標(biāo)不高時(shí),傳統(tǒng)DoS的攻擊效果是明顯的。圖6-1DDoS攻擊示意圖2023/3/920

(1)攻擊者收集攻擊目標(biāo)的主機(jī)數(shù)目、地址情況,目標(biāo)主機(jī)的配置、性能和帶寬等相關(guān)資料(這關(guān)系到多少臺(tái)傀儡主機(jī)才能達(dá)到攻擊效果的問題);

(2)攻擊者選擇占領(lǐng)傀儡主機(jī)。攻擊者通常會(huì)選擇鏈路狀態(tài)好、性能優(yōu)、安全管理水平差的主機(jī)作為傀儡機(jī)(讓一部分傀儡機(jī)作為控制傀儡機(jī),一部分作為攻擊傀儡機(jī));

(3)取得傀儡機(jī)控制權(quán)后,將相應(yīng)的DDoS程序上傳到傀儡機(jī)安裝運(yùn)行;

(4)攻擊者向控制傀儡主機(jī)發(fā)送控制命令,由控制傀儡主機(jī)發(fā)送命令控制攻擊傀儡機(jī)攻擊目標(biāo)。大量的攻擊目標(biāo)匯聚到目標(biāo)主機(jī),造成目標(biāo)主機(jī)不能工作、癱瘓。常見的DDoS攻擊工具有Trinoo、TFN(TribeFloodNetwork)、TFN2K和Stacheldraht等。

2023/3/921

13.電子郵件炸彈攻擊技術(shù)

這種攻擊方式簡(jiǎn)單易用,也有很多發(fā)匿名郵件的工具,而且只要對(duì)方獲悉你的電子郵件地址就可以進(jìn)行攻擊;這種攻擊技術(shù)不僅會(huì)干擾用戶的電子郵件系統(tǒng)的正常使用,甚至它還能影響到郵件系統(tǒng)所在的服務(wù)器系統(tǒng)的安全,造成整個(gè)網(wǎng)絡(luò)系統(tǒng)全部癱瘓,所以電子郵件炸彈攻擊是一種殺傷力極強(qiáng)的網(wǎng)絡(luò)武器。2023/3/9226.3.2緩沖區(qū)溢出攻擊技術(shù)

1.緩沖區(qū)溢出攻擊的原理

緩沖區(qū)溢出的原理很簡(jiǎn)單,類似于把水倒入杯子中,而杯子容量有限,如果到入的水超過杯子容量,就會(huì)溢出。緩沖區(qū)是一塊用于存放數(shù)據(jù)的臨時(shí)內(nèi)存空間,它的長(zhǎng)度事先已經(jīng)被程序或操作系統(tǒng)定義好。緩沖區(qū)類似于杯子,寫入的數(shù)據(jù)類似于到入的水。緩沖區(qū)溢出就是將長(zhǎng)度超過緩沖區(qū)大小的數(shù)據(jù)寫入程序的緩沖區(qū),造成緩沖區(qū)溢出,從而破壞程序的堆棧,使程序轉(zhuǎn)而執(zhí)行其他指令。

例如下面程序:Voidf1(char*str){charbuf[16];Strcpy(buf,str);}

上面的程序strcpy(buf,str)將直接把str中的內(nèi)容復(fù)制到buf中。這樣只要str的長(zhǎng)度大于16,就會(huì)造成溢出,使程序運(yùn)行出錯(cuò)。2023/3/923

當(dāng)然,隨便往緩沖區(qū)填東西造成它溢出一般只會(huì)出現(xiàn)“分段錯(cuò)誤(SegmentationFult)”,而達(dá)不到攻擊的目的。最為常見的手段是通過制造緩沖區(qū)溢出使程序運(yùn)行一個(gè)用戶shell,再通過shell執(zhí)行其他命令,如果該程序有root且有suid權(quán)限,攻擊者就獲得了一個(gè)root權(quán)限的shell,就可以對(duì)系統(tǒng)實(shí)施任意操作了。這就是緩沖區(qū)溢出攻擊的實(shí)現(xiàn)原理。

2.緩沖區(qū)溢出攻擊的過程

緩沖區(qū)溢出的目的在于擾亂某些特權(quán)運(yùn)行的程序,使攻擊者取得程序的控制權(quán)。若該程序有足夠的權(quán)限,那么整個(gè)主機(jī)就被控制了。

目前,普遍使用兩種在被攻擊程序地址空間里安排攻擊代碼的方法:

①植入法。攻擊者向被攻擊的程序輸入一段字符,程序會(huì)把這些字符放入到緩沖區(qū)里。這些字符是可以在被攻擊的主機(jī)上運(yùn)行的指令序列。在這里,攻擊者用被攻擊程序的緩沖區(qū)來存放攻擊代碼(緩沖區(qū)可以設(shè)在任何位置,如堆棧(Stack,自動(dòng)變量)、堆(Heap,動(dòng)態(tài)分配的內(nèi)存區(qū))和靜態(tài)資料區(qū)。2023/3/924

②利用已經(jīng)存在的代碼。攻擊者有時(shí)想把攻擊代碼放入到被攻擊的程序中,所要做的只是傳遞一些參數(shù)。比如,攻擊代碼要求執(zhí)行“exec(’/bin/sh)”,而在libc庫中的代碼執(zhí)行“exec(arg)”,其中arg是一個(gè)指向字符串的指針參數(shù),那么攻擊者只要把傳入的參數(shù)指針改成指向“/bin/sh”即可。

(2)控制程序轉(zhuǎn)移到攻擊代碼的方法

控制程序轉(zhuǎn)移到攻擊代碼的方法是尋找改變程序執(zhí)行流程,使之跳轉(zhuǎn)到攻擊代碼。最基本的思想就是溢出一個(gè)沒有邊界檢查或者具有其他弱點(diǎn)的緩沖區(qū),這樣就擾亂了程序的正常運(yùn)行順序。其主要方法有以下3種。

①活動(dòng)記錄(ActiveationRecords)。每當(dāng)函數(shù)調(diào)用發(fā)生時(shí),調(diào)用者都會(huì)在堆棧中留下活動(dòng)記錄,它包含了函數(shù)結(jié)束時(shí)返回的地址。攻擊者通過溢出堆棧中的自動(dòng)變量,使返回地址指針指向攻擊代碼。2023/3/925當(dāng)函數(shù)調(diào)用結(jié)束時(shí),通過改變程序的返回地址,程序就可跳轉(zhuǎn)到攻擊者設(shè)定的地址,而不是原先地址。這類緩沖區(qū)溢出攻擊被稱為堆棧溢出攻擊(StackSmashingAttack),是目前最常用的緩沖區(qū)溢出攻擊方式。②函數(shù)指針(FunctionPointers)。函數(shù)指針可以用來定位任何地址空間,攻擊者只需在任何空間內(nèi)的函數(shù)指針附近找到一個(gè)能夠溢出的緩沖區(qū),然后溢出這個(gè)緩沖區(qū)來改變函數(shù)指針。在某一時(shí)刻,當(dāng)程序通過函數(shù)指針調(diào)用函數(shù)時(shí),程序的流程就按攻擊者的意圖來實(shí)現(xiàn)了。它的一個(gè)攻擊范例就是Linux系統(tǒng)下的Superprobe程序。

③長(zhǎng)跳轉(zhuǎn)緩沖區(qū)(LongJmpBuffers)。在C語言中包含了一個(gè)簡(jiǎn)單的檢驗(yàn)/恢復(fù)系統(tǒng),稱為“Setjmp/Longjmp”。其意思是在檢驗(yàn)點(diǎn)設(shè)定“Setjmp(buffer)”,用“Longjmp(buffer)”來恢復(fù)檢驗(yàn)點(diǎn)。如果攻擊者能夠進(jìn)入緩沖區(qū)空間,那么就可以利用“Longjmp(buffer)”跳轉(zhuǎn)到攻擊者的代碼段。與函數(shù)指針一樣,Longjmp緩沖區(qū)能夠指向任何地方,所以攻擊者所要做的就是找到一個(gè)供溢出的緩沖區(qū)。2023/3/926目前有4種基本方法可以保護(hù)主機(jī)免受緩沖區(qū)溢出的攻擊和影響(雖然這些方法不能使所有緩沖區(qū)溢出攻擊失敗,但能阻止絕大多數(shù)攻擊)。

①非執(zhí)行緩沖區(qū)。通過使被攻擊程序的數(shù)據(jù)段地址空間不可執(zhí)行,從而使得攻擊者不可能執(zhí)行已被植入到被攻擊程序輸入緩沖區(qū)的代碼,該技術(shù)稱為非執(zhí)行緩沖區(qū)技術(shù)。

②編寫正確的代碼。這是一件非常有意義的工作,特別像編寫C語言風(fēng)格自由而容易出錯(cuò)的程序(比如過分追求性能而忽視其正確性引起的)。最簡(jiǎn)單的方法就是用grep來搜索代碼中容易產(chǎn)生漏洞的庫調(diào)用(比如對(duì)strcpy的調(diào)用,這個(gè)函數(shù)沒有檢查輸入?yún)?shù)的長(zhǎng)度。事實(shí)上,各個(gè)版本的C標(biāo)準(zhǔn)庫均有這樣的問題存在)。此外,人們還開發(fā)了一些高級(jí)檢錯(cuò)工具(如faultinjection等),這些工具的目的在于通過為人們隨機(jī)產(chǎn)生一些緩沖區(qū)溢出來尋找代碼的安全漏洞。還有一些靜態(tài)分析工具用于偵測(cè)緩沖區(qū)溢出的存在。雖然這些工具幫助程序開發(fā)更安全的程序,但是由于C語言的特點(diǎn),這些工具不可能找出所有緩沖區(qū)溢出漏洞,只能用來減少緩沖區(qū)溢出的可能,并不能完全消除其存在。2023/3/927③數(shù)組邊界檢查。數(shù)據(jù)舊邊界檢查能防止所有的緩沖區(qū)溢出的產(chǎn)生和攻擊。這是因?yàn)橹灰獢?shù)組不能被溢出,溢出攻擊也就無從談起。為了實(shí)現(xiàn)數(shù)組邊界的檢查,所有對(duì)數(shù)組的讀寫操作都應(yīng)當(dāng)被檢查以確保對(duì)數(shù)組的操作在正確的范圍內(nèi)。最直接的方法就是檢查所有的數(shù)組操作。目前有以下一些檢測(cè)方法:

a.Jones&Kelly:C的數(shù)組邊界檢查;b.CompaqC編譯器:Compaq公司為AlphaCPU開發(fā)的C編譯器支持有限的邊界檢查;c.Purity:內(nèi)存存取檢查。

④程序指針完整性檢查。在程序指針被引用之前檢測(cè)它的改變。因此,即使一個(gè)攻擊者成功改變了程序的指針,由于系統(tǒng)事先檢測(cè)到了指針的改變,所以指針將不會(huì)被使用。與數(shù)組邊界檢查方法相比,該方法不能解決所有的緩沖區(qū)溢出問題,且采用緩沖區(qū)溢出攻擊方法可以避免這種檢測(cè)。該方法在性能上有很大的優(yōu)勢(shì),并且兼容性也很好。2023/3/9286.3.3網(wǎng)絡(luò)監(jiān)聽技術(shù)網(wǎng)絡(luò)監(jiān)聽的原理非常簡(jiǎn)單,對(duì)于共享介質(zhì)類型的網(wǎng)絡(luò),只要改變低層數(shù)據(jù)鏈路層的工作模式,將所收到的數(shù)據(jù)包(不論目的地址是誰)統(tǒng)統(tǒng)收下并存儲(chǔ)再進(jìn)行分析即可。對(duì)于點(diǎn)到點(diǎn)的網(wǎng)絡(luò)連接,則需要搭線才能實(shí)現(xiàn)監(jiān)聽。表6-1列出了在不同通信網(wǎng)絡(luò)的數(shù)據(jù)鏈路上傳輸信息時(shí)被監(jiān)聽的可能性。

2023/3/929目前,常用的監(jiān)聽工具有Windump(Windump是最經(jīng)典的UNIT的Tcpdump監(jiān)聽工具的Windows移植版,和Tcpdump幾乎完全兼容,采用命令行方式運(yùn)行)、Nrep(和Tcpdump類似,與Tcpdump最大的不同之處是借助于該工具,可以很方便地把截獲目標(biāo)定制在用戶名、口令等感興趣的關(guān)鍵字上)、Netray(能監(jiān)控多個(gè)網(wǎng)段)、Iris(完全圖形化界面,可定制各種截獲控制語句,對(duì)數(shù)據(jù)包進(jìn)行分析、還原等)、Snifft(運(yùn)行于Solaris、SGI和Linux等平臺(tái)上的網(wǎng)絡(luò)監(jiān)聽軟件,使用時(shí)用戶可選擇源、目的地址或地址集合進(jìn)行監(jiān)聽,還可以監(jiān)聽端口、協(xié)議、網(wǎng)絡(luò)接口等)、Linux中的Rpdump、T中的NetworkMonitor及Solaris中的Snoop等。網(wǎng)絡(luò)監(jiān)聽是很難發(fā)現(xiàn)的,這是因?yàn)檫\(yùn)行網(wǎng)絡(luò)監(jiān)聽的主機(jī)只是被動(dòng)地接收網(wǎng)上傳輸?shù)男畔?,并沒有主動(dòng)的行動(dòng),即不會(huì)與其他主機(jī)交換信息,也不修改在網(wǎng)上傳輸?shù)臄?shù)據(jù)包。2023/3/9306.3.4Web欺騙技術(shù)

Web欺騙是指攻擊者建立一個(gè)人們相信的Web站點(diǎn)的復(fù)制,該Web站點(diǎn)的復(fù)制與真實(shí)的完全一樣,它具有所有的頁面和連接,而攻擊者控制著這個(gè)Web站點(diǎn)的復(fù)制,被攻擊者和真實(shí)的Web服務(wù)器之間的所有信息流動(dòng)都被攻擊者控制了。這樣,攻擊者既可以假冒用戶給服務(wù)器發(fā)送數(shù)據(jù),也可以假冒服務(wù)器給用戶發(fā)送假冒的信息。

1.Web欺騙攻擊的原理Web欺騙攻擊的關(guān)鍵在于攻擊者的Web服務(wù)器能夠插在瀏覽器和其他Web服務(wù)器之間。攻擊者的首要任務(wù)就是改寫某個(gè)頁面上的所有URL,使得這些URL連接都指向攻擊者的機(jī)器,而不是真正的Web服務(wù)器。比如,攻擊者的服務(wù)器在機(jī)器上運(yùn)行,那么攻擊者要在頁面上所有的URL前加上http://www.zzssbb.。這樣,原來的URLhttp://就變成http:///。2023/3/931當(dāng)前,在許多鏡像站點(diǎn)和組織內(nèi)部,為了節(jié)省網(wǎng)絡(luò)開銷,往往將用戶發(fā)出的URL改為本地的一個(gè)服務(wù)器的地址,而用戶往往不知道。當(dāng)用戶請(qǐng)求一個(gè)頁面時(shí)可能會(huì)發(fā)生這樣一些事情:①用戶的請(qǐng)求來自攻擊者服務(wù)器的頁面;②攻擊者服務(wù)器請(qǐng)求真正的服務(wù)器的相應(yīng)頁面;③真正的服務(wù)器向攻擊者服務(wù)器提供真正的頁面;④攻擊者服務(wù)器重寫頁面;⑤攻擊者服務(wù)器向?yàn)g覽者提供一個(gè)修改的頁面。如果發(fā)生以上事情的話,攻擊者的目的就達(dá)到了。

2.Web欺騙攻擊的過程攻擊者可通過以下這些方法誘騙攻擊對(duì)象連接到攻擊者的假Web上:

①把一個(gè)指向假Web的鏈接放到一個(gè)流行的Web頁面上;

②如果用戶使用支持Web的電子郵件系統(tǒng),可發(fā)郵件引誘;

③使Web搜索引擎指向假的Web。2023/3/932由于Web欺騙攻擊的危害性很大,上當(dāng)?shù)挠脩舨坏珪?huì)泄露機(jī)密信息,還可能會(huì)蒙受巨額的經(jīng)濟(jì)損失。為確保安全,用戶可以采取一些必要的防護(hù)措施:(1)關(guān)閉瀏覽器的JavaScript選項(xiàng),使得攻擊者不能隱藏攻擊的痕跡;

(2)確信瀏覽器的地址行總是可見的(注意瀏覽器地址行上顯示的URL,確信它們一定指向你所希望的服務(wù)器地址);(3)進(jìn)入SSL安全連接時(shí),仔細(xì)查看站點(diǎn)的證書是否與其聲稱的一致,不要被相似字符所欺騙。2023/3/9336.3.5IP地址欺騙攻擊技術(shù)

IP地址欺騙包括源地址欺騙和序列號(hào)欺騙,是最常見的攻擊TCP/IP網(wǎng)絡(luò)弱點(diǎn)的方法之一。IP地址欺騙不是攻擊的結(jié)果,而是攻擊的手段,主要攻擊的對(duì)象是基于IP地址鑒別的網(wǎng)絡(luò)應(yīng)用,比如UNIX系統(tǒng)中的R系列應(yīng)用。

1.IP地址欺騙攻擊的原理

假設(shè)主機(jī)A和B上各有一個(gè)賬戶,使用主機(jī)A時(shí)需要輸入主機(jī)A的賬戶和密碼,使用主機(jī)B時(shí)也需要輸入主機(jī)B的賬戶和密碼,主機(jī)A和主機(jī)B把你當(dāng)做是互不相關(guān)的賬戶,很顯然這在應(yīng)用中是很不方便的,也不符合實(shí)際情況。為了避免這種情況出現(xiàn),可以在主機(jī)A和主機(jī)B中建立起兩個(gè)賬戶相互信任的關(guān)系,可以方便地使用以r開頭的遠(yuǎn)程調(diào)用命令,比如rlogin、rcall和rsh等,而無需密碼的驗(yàn)證。這些命令將提供以地址為基礎(chǔ)的驗(yàn)證,根據(jù)訪問者的IP地址,決定允許或拒絕存取服務(wù),也即信任關(guān)系是基于IP地址來建立的。2023/3/934

眾所周知,TCP連接的建立是一個(gè)3次握手的過程,如圖6-2所示。由于在某些系統(tǒng)中序列號(hào)SEQS=y的產(chǎn)生規(guī)律相對(duì)簡(jiǎn)單,為以后的安全問題留下了隱患。TCP序列號(hào)欺騙是通過TCP的3次握手過程,推測(cè)服務(wù)器的響應(yīng)序列號(hào)而實(shí)現(xiàn)的。這種欺騙即使在沒有得到服務(wù)器響應(yīng)的情況下,也可以產(chǎn)生TCP數(shù)據(jù)包與服務(wù)器進(jìn)行通信。

如果攻擊者知道主機(jī)A與B之間建立了信任關(guān)系,在A不能正常工作時(shí),假冒主機(jī)A的IP地址向主機(jī)B發(fā)送建立連接的請(qǐng)求包。這時(shí)若攻擊者能夠猜測(cè)出主機(jī)B確認(rèn)包中的序列號(hào)y,就可以假冒主機(jī)A與主機(jī)B建立連接;然后通過傳送可執(zhí)行的命令數(shù)據(jù),侵入主機(jī)B中。

圖6-2TCP連接的建立過程2023/3/935

2.IP地址欺騙攻擊的過程

首先,選定目標(biāo)主機(jī);其次,發(fā)現(xiàn)信任關(guān)系模式,并找到一個(gè)被目標(biāo)主機(jī)信任的主機(jī);然后,使該主機(jī)喪失工作能力,同時(shí)采樣目標(biāo)主機(jī)發(fā)出的TCP序列號(hào),猜測(cè)出它的數(shù)據(jù)序列;最后攻擊者偽裝成被信任的主機(jī),同時(shí)建立起與目標(biāo)主機(jī)基于地址驗(yàn)證的應(yīng)用連接。如果成功,攻擊者就可以使用一種簡(jiǎn)單命令放置一個(gè)后門,以進(jìn)行非授權(quán)操作。攻擊者一旦發(fā)現(xiàn)被信任的主機(jī),為了偽裝它,往往要使其喪失工作能力。由于被攻擊者將要取代真正被信任的主機(jī),他必須確保被信任的主機(jī)不能接收到任何有效信息,否則將會(huì)被揭穿。目前有許多方法可以實(shí)現(xiàn),比如前面介紹的SYN-Flood攻擊。

為防御IP地址欺騙,應(yīng)該通過合理的設(shè)置初始序列號(hào)在系統(tǒng)中的改變速度和時(shí)間間隔,使攻擊者無法準(zhǔn)確地預(yù)測(cè)數(shù)據(jù)序列號(hào)。此外,還可以從拋棄基于IP地址的信任策略、進(jìn)行包過濾、使用加密方法和使用隨機(jī)化的序列號(hào)產(chǎn)生方式等方面進(jìn)行防御。2023/3/9366.3.6掃描技術(shù)掃描器是最出名的破解工具,也是當(dāng)今入侵者最常使用的工具,它能檢測(cè)出主機(jī)、服務(wù)器及網(wǎng)絡(luò)的安全漏洞。由于大多數(shù)掃描工具都能夠從Internet上免費(fèi)得到,因此掃描器被認(rèn)為是入侵檢測(cè)工具最為危險(xiǎn)的工具。

1.掃描器的原理

掃描器是利用C/S結(jié)構(gòu)中的請(qǐng)求—應(yīng)答機(jī)制來實(shí)現(xiàn)的,它使用不同的請(qǐng)求信息依次向遠(yuǎn)程主機(jī)或本地主機(jī)發(fā)送服務(wù)請(qǐng)求,然后根據(jù)遠(yuǎn)程主機(jī)或本地主機(jī)的響應(yīng)情況來判別它們目前所處的工作狀態(tài),最后決定下一步的操作。如果遠(yuǎn)程主機(jī)或本地主機(jī)有響應(yīng),則表明與服務(wù)請(qǐng)求所對(duì)應(yīng)的服務(wù)正在進(jìn)行中,這時(shí),再進(jìn)一步分析和確定服務(wù)軟件的版本信息,并試探該版本中的漏洞是否存在,從而實(shí)現(xiàn)掃描的目的。2023/3/937常用的掃描方法有利用網(wǎng)絡(luò)命令掃描、端口掃描和漏洞掃描3種。一個(gè)完整的掃描器應(yīng)具備的基本功能包括發(fā)現(xiàn)目標(biāo)主機(jī)和網(wǎng)絡(luò)、能夠掃描正在運(yùn)行的各種服務(wù)和能夠測(cè)試這些服務(wù)中是否存在漏洞等。

2.利用網(wǎng)絡(luò)命令進(jìn)行掃描大多數(shù)網(wǎng)絡(luò)操作系統(tǒng)都會(huì)提供一些用于網(wǎng)絡(luò)管理和維護(hù)的網(wǎng)絡(luò)命令,利用這些網(wǎng)絡(luò)命令可收集到許多有用的信息。例如,DNS服務(wù)器的地址,主機(jī)上的用戶名、操作系統(tǒng)類型和服務(wù)程序等。但這些工具也常被入侵者用來掃描網(wǎng)絡(luò)信息,當(dāng)他們知道了目標(biāo)主機(jī)上運(yùn)行的操作系統(tǒng)、服務(wù)軟件及其版本號(hào)后,就可利用已經(jīng)發(fā)現(xiàn)的漏洞來攻擊系統(tǒng)。如果目標(biāo)主機(jī)的管理員疏忽大意,沒有及時(shí)修補(bǔ)系統(tǒng)中存在的漏洞,則入侵者就會(huì)輕易地侵入系統(tǒng),并留下后門。當(dāng)?shù)弥鳈C(jī)上的用戶名后,入侵者將會(huì)利用口令破解工具不斷猜測(cè)口令直到破譯,進(jìn)而以合法身份在系統(tǒng)中實(shí)施攻擊行為。2023/3/938

3.端口掃描(1)端口掃描的工作原理使用一系列TCP或UDP端口號(hào),不斷向目標(biāo)主機(jī)發(fā)出連接請(qǐng)求,試圖連接到目標(biāo)主機(jī)上,并記錄目標(biāo)主機(jī)的應(yīng)答信息;然后,進(jìn)一步分析主機(jī)的響應(yīng)信息,從而判斷是否可以匿名登錄,是否有可寫入的FTP目錄,是否可以使用Telnet登錄等。(2)常用的端口掃描技術(shù)①TCPconnect請(qǐng)求。②TCPSYN請(qǐng)求。③TCPFIN請(qǐng)求。④IP分段請(qǐng)求。⑤FTP反射請(qǐng)求。⑥UDP請(qǐng)求。2023/3/939

4.漏洞掃描

漏洞掃描是根據(jù)已發(fā)現(xiàn)的漏洞來判斷正在運(yùn)行的服務(wù)中是否還存在著相應(yīng)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論