版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、信息安全原理張基溫電子教案黑客第2章 網(wǎng)絡(luò)攻擊 2.1 黑客 2.2 信息收集類(lèi)攻擊 2.3 入侵類(lèi)攻擊 2.4 欺騙類(lèi)攻擊 2.5 拒絕服務(wù)類(lèi)攻擊 信息安全原理張基溫電子教案黑客 自從20世紀(jì)90年代以來(lái),幾乎每一個(gè)計(jì)算機(jī)信息系統(tǒng)都是在網(wǎng)絡(luò)環(huán)境下運(yùn)行的。在網(wǎng)絡(luò)環(huán)境下工作的計(jì)算機(jī),除了經(jīng)常要受到病毒等惡意程序的侵害外,還要受到黑客的攻擊。這一章介紹黑客對(duì)于網(wǎng)絡(luò)的一些主要攻擊手段。 信息安全原理張基溫電子教案黑客2.1 黑客黑客返回信息安全原理張基溫電子教案黑客2.1.1 俠客、駭客和入侵者俠客、駭客和入侵者 “黑客”是一個(gè)精通計(jì)算機(jī)技術(shù)的特殊群體。可分為3類(lèi): “俠客(Hackers)”,他們
2、多是好奇者和愛(ài)出風(fēng)頭者; “駭客(Crackers)”,他們是一些不負(fù)責(zé)的惡作劇者; “入侵者(Intruder),他們是有目的的破壞者。信息安全原理張基溫電子教案黑客2.1.2 2.1.2 黑客攻擊的發(fā)展趨勢(shì)黑客攻擊的發(fā)展趨勢(shì)目前,黑客攻擊有如下發(fā)展趨勢(shì):(1)攻擊工具的簡(jiǎn)單化:目前,黑客工具的技術(shù)性越來(lái)越高,使用越來(lái)越簡(jiǎn)單,并且大多是圖形化界面,容易操作。(2)攻擊目標(biāo)針對(duì)化:黑客攻擊的目標(biāo)越來(lái)越有針對(duì)性,并主要是針對(duì)意識(shí)形態(tài)和商業(yè)活動(dòng),如Yahoo事件。(3)攻擊方式系統(tǒng)化:黑客在攻擊方式、時(shí)間、規(guī)模等方面一般都進(jìn)行了長(zhǎng)時(shí)間的準(zhǔn)備和部署,系統(tǒng)地進(jìn)行攻擊。(4)攻擊時(shí)間持續(xù)化:由于網(wǎng)絡(luò)協(xié)議
3、的漏洞和追蹤力量的薄弱,黑客肆無(wú)忌憚地對(duì)目標(biāo)進(jìn)行長(zhǎng)時(shí)間的攻擊。例如,網(wǎng)站曾承受過(guò)DDoS長(zhǎng)達(dá)40余天的攻擊。 信息安全原理張基溫電子教案黑客2.1.3 2.1.3 黑客攻擊的一般過(guò)程黑客攻擊的一般過(guò)程 盡管黑客攻擊目標(biāo)偏好不同、技能有高低之分、手法多種多樣,但是他們對(duì)目標(biāo)施行攻擊的流程卻大致相同,基本如圖2.1所示。 信息安全原理張基溫電子教案黑客下面介紹各個(gè)步驟的基本內(nèi)容。1. 踩點(diǎn)黑客確定了攻擊目標(biāo)后,一般要收集被攻擊者的信息: 目標(biāo)機(jī)的類(lèi)型、IP地址、所在網(wǎng)絡(luò)的類(lèi)型; 操作系統(tǒng)的類(lèi)型、版本; 系統(tǒng)管理人員的名字、郵件地址; 。 信息安全原理張基溫電子教案黑客 對(duì)攻擊對(duì)象信息的分析,可找到
4、被攻擊對(duì)象的脆弱點(diǎn)。為了獲得這些信息,黑客要利用一些技術(shù)。例如: 運(yùn)行一個(gè)host命令,可以獲得被攻擊目標(biāo)機(jī)的IP地址信息,還可以識(shí)別出目標(biāo)機(jī)操作系統(tǒng)的類(lèi)型; 利用whois查詢(xún),可以了解技術(shù)管理人員的名字; 運(yùn)行一些Usernet和Web查詢(xún),可以了解有關(guān)技術(shù)人員是否經(jīng)常上Usernet等; 利用DNS區(qū)域傳送工具dig、nslookup及Windows版本的Sam Spade(網(wǎng)址為),獲取目標(biāo)域中的所有主機(jī)信息; 一個(gè)管理人員經(jīng)常討論的問(wèn)題也可以表明其技術(shù)水平的高低等。 信息安全原理張基溫電子教案黑客2. 掃描 “蒼蠅不叮無(wú)縫的蛋“。系統(tǒng)的漏洞會(huì)為攻擊提供機(jī)會(huì)和入口。在踩點(diǎn)獲得的信息的基
5、礎(chǔ)上,黑客常編寫(xiě)或收集適當(dāng)?shù)墓ぞ撸谳^短的時(shí)間內(nèi)對(duì)目標(biāo)系統(tǒng)進(jìn)行掃描,進(jìn)一步確定攻擊對(duì)象的漏洞。 漏洞掃描就是自動(dòng)檢測(cè)計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)在安全方面存在的可能被黑客利用的脆弱點(diǎn)。漏洞掃描技術(shù)通過(guò)安全掃描程序?qū)崿F(xiàn)。所謂掃描,包含了非破壞性原則,即不對(duì)網(wǎng)絡(luò)造成任何破壞。在實(shí)施策略上可以采用被動(dòng)式和主動(dòng)式兩種策略。 信息安全原理張基溫電子教案黑客(1)被動(dòng)式掃描策略 被動(dòng)式掃描策略主要檢測(cè)系統(tǒng)中不合適的設(shè)置、脆弱的口令以及同安全規(guī)則相抵觸的對(duì)象,具體還可以分為如下幾類(lèi):(a)基于主機(jī)的掃描技術(shù),通常它涉及系統(tǒng)的內(nèi)核、文件的屬性、操作系統(tǒng)的補(bǔ)丁等問(wèn)題,能把一些簡(jiǎn)單的口令解密和剔除,能非常準(zhǔn)確地定位系統(tǒng)存在的問(wèn)
6、題,發(fā)現(xiàn)漏洞。缺點(diǎn)是與平臺(tái)相關(guān),升級(jí)復(fù)雜。(b)基于目標(biāo)的掃描技術(shù),基于目標(biāo)的掃描技術(shù)的基本原理是基于消息加密算法和哈希函數(shù),如果函數(shù)的輸入有一點(diǎn)變化,輸出就會(huì)發(fā)生很大變化。這樣文件和數(shù)據(jù)流的細(xì)微變化就會(huì)被感知?;谀繕?biāo)的掃描技術(shù)通常用于檢測(cè)系統(tǒng)屬性和文件屬性,如數(shù)據(jù)庫(kù)、注冊(cè)號(hào)等。由于這種技術(shù)的加密強(qiáng)度極大,不易受攻擊,比較安全和可靠。(c)基于應(yīng)用的掃描技術(shù),這種技術(shù)主要用于檢查應(yīng)用軟件包的設(shè)置和安全漏洞。信息安全原理張基溫電子教案黑客(2)主動(dòng)式掃描策略 主動(dòng)式掃描策略是基于網(wǎng)絡(luò)的掃描技術(shù),主要通過(guò)一些腳本文件對(duì)系統(tǒng)進(jìn)行攻擊,記錄系統(tǒng)的反應(yīng),從中發(fā)現(xiàn)漏洞。 (3)掃描工具 目前,掃描程序已
7、經(jīng)發(fā)展到了幾十種,有的小巧快捷,有的界面友好;有的功能單一,有的功能完善。被廣泛使用的掃描程序有如下一些。(a)Ping掃射 Ping掃射可以判別主機(jī)是否“活動(dòng)”。Ping向目標(biāo)主機(jī)發(fā)送ICMP回射請(qǐng)求分組,并期待目標(biāo)系統(tǒng)關(guān)于活動(dòng)的回射應(yīng)答分組。常用的Ping掃射工具有:操作系統(tǒng)的Ping命令和用于掃射網(wǎng)段的fping和WS_ping等。信息安全原理張基溫電子教案黑客(b)端口掃描 掃描TCP/UDP端口號(hào),可以確定正在運(yùn)行的服務(wù)及其版本號(hào),以發(fā)現(xiàn)相應(yīng)的服務(wù)程序的漏洞。 在UNIX系統(tǒng)上運(yùn)行的重要掃描工具有: Netcat( utilities) Nmap()在Windows系統(tǒng)上運(yùn)行的重要掃
8、描工具有: superscan( superscan.shtml) NetScan Tool Pro 2003()(c)旗標(biāo)獲取 旗標(biāo)獲取是通過(guò)一個(gè)打開(kāi)的端口,來(lái)聯(lián)系和識(shí)別系統(tǒng)提供的服務(wù)及版本號(hào)。如連接到一個(gè)端口,按幾次Enter鍵,看返回的信息是什么。信息安全原理張基溫電子教案黑客(d)操作系統(tǒng)檢測(cè) 許多漏洞與操作系統(tǒng)有關(guān)。因此,黑客要首先確定操作系統(tǒng)的類(lèi)型。如圖2.2所示,目前操作系統(tǒng)檢測(cè)按技術(shù)原理可以分為:利用系統(tǒng)旗標(biāo)信息和利用TCP/IP堆棧指紋兩種;按鑒別的主動(dòng)性可以分為:主動(dòng)鑒別和被動(dòng)鑒別。 目前常用的操作系統(tǒng)檢測(cè)工具有: Nmap Queso() Siphon() 信息安全原理張
9、基溫電子教案黑客3. 查點(diǎn) 查點(diǎn)就是搜索特定系統(tǒng)上用戶(hù)、用戶(hù)組名、路由表、SNMP信息、共享資源、服務(wù)程序及旗標(biāo)等信息。 查點(diǎn)采用的技術(shù)依操作系統(tǒng)而定:(1)Windows系統(tǒng)上的主要技術(shù) 查點(diǎn)NetBIOS線(xiàn)路 空會(huì)話(huà)(Null Session) SNMP代理 活動(dòng)目錄(Active Directory) 其他信息安全原理張基溫電子教案黑客Windows系統(tǒng)上使用的主要工具:(a)Windows系統(tǒng)命令:net view、nbtstat、nbtscan和nltest。(b)第三方工具 Netviewx() Userdump() User2sid() GetAcct() DumpSec() L
10、egion() NAT( 信息安全原理張基溫電子教案黑客(2)UNIX系統(tǒng)上的主要技術(shù) PRG查點(diǎn) NIS查點(diǎn) NFS查點(diǎn) SNMP查點(diǎn)UNIX系統(tǒng)上常用的工具有:rpcinfo、rpcdump、shomount、finger、rwho、ruser、nmap、telnet、nc和snmpwalk等。 信息安全原理張基溫電子教案黑客4. 模擬攻擊進(jìn)行模擬攻擊,測(cè)試對(duì)方反應(yīng),找出毀滅入侵證據(jù)的方法。 5. 獲取訪(fǎng)問(wèn)權(quán)獲取訪(fǎng)問(wèn)權(quán)是入侵的正式開(kāi)始。(1)Windows系統(tǒng)上的主要技術(shù) NetBIOS-SMB密碼猜測(cè); 竊聽(tīng)LM及NTLM認(rèn)證散列 攻擊IIS Web服務(wù)器 遠(yuǎn)程緩沖區(qū)溢出信息安全原理張基
11、溫電子教案黑客(2)UNIX系統(tǒng)上的主要技術(shù) 蠻力密碼攻擊 密碼竊聽(tīng) 數(shù)據(jù)驅(qū)動(dòng)式攻擊(如緩沖區(qū)溢出、輸入驗(yàn)證、字典攻擊等) RPC攻擊 NFS攻擊 針對(duì)X-Windows系統(tǒng)的攻擊 其他信息安全原理張基溫電子教案黑客著名的密碼竊聽(tīng)工具: sniffer pro() TCPdump LC4(L0phtcrack version 4,) readsmb著名的字典攻擊工具: LC4 John the RIPper() NAT SMBGrind() fgrind信息安全原理張基溫電子教案黑客6. 權(quán)限提升 黑客一旦獲取了訪(fǎng)問(wèn)權(quán),就會(huì)試圖將自己的普通用戶(hù)權(quán)限提升至超級(jí)用戶(hù)權(quán)限,以對(duì)系統(tǒng)進(jìn)行完全控制。 權(quán)
12、限提升主要的技術(shù)是口令破解利用漏洞以及不當(dāng)配置等進(jìn)行。 常用口令破解工具有:John The RIPper??梢缘玫焦芾韱T權(quán)限的工具有:lc_message、getadmin、sechole、Invisible、Keystroke、Logger()。 7. 竊取 竊取就是對(duì)一些敏感數(shù)據(jù)的篡改、添加、刪除和復(fù)制,以及通過(guò)對(duì)敏感數(shù)據(jù)的分析,為進(jìn)一步攻擊應(yīng)用系統(tǒng)做準(zhǔn)備。 8. 掩蓋蹤跡 掩蓋蹤跡,即清除自己所有的入侵痕跡。主要工作有:禁止系統(tǒng)審計(jì)、隱藏作案工具、清空事件日志(使用zap、wzap、wted等)、替換系統(tǒng)常用操作命令等。 信息安全原理張基溫電子教案黑客9. 創(chuàng)建后門(mén) 創(chuàng)建后門(mén)是為了以后
13、的入侵打開(kāi)一個(gè)缺口,使入侵者能卷土重來(lái),以特權(quán)用戶(hù)身份控制整個(gè)系統(tǒng)。主要工作有: 創(chuàng)建具有特權(quán)用戶(hù)權(quán)限的虛假用戶(hù)賬號(hào); 安裝批處理或遠(yuǎn)程控制工具; 使用木馬程序替換系統(tǒng)程序; 安裝監(jiān)控程序; 感染啟動(dòng)文件。信息安全原理張基溫電子教案黑客黑客常用的創(chuàng)建后門(mén)的工具有: rootkit、cron、at、secadmin、Invisible Keystoke、remove.exe、rc(UNIX) Windows啟動(dòng)文件夾 su7() Netcat() VNC() BO2K() 10. 拒絕服務(wù)攻擊 拒絕服務(wù)是指利用協(xié)議或不同系統(tǒng)實(shí)現(xiàn)的漏洞,使目標(biāo)服務(wù)器資源耗盡或過(guò)載、沒(méi)有能力向外提供服務(wù)的攻擊。 信
14、息安全原理張基溫電子教案黑客2.2 信息收集類(lèi)攻擊 返回信息安全原理張基溫電子教案黑客2.2.1 2.2.1 SnifferSniffer Sniffer(嗅覺(jué)器)是一類(lèi)用于捕獲網(wǎng)絡(luò)報(bào)文的軟件。它可以用來(lái)進(jìn)行網(wǎng)絡(luò)流量分析,找出網(wǎng)絡(luò)中潛在問(wèn)題,確定在通信所使用的多個(gè)協(xié)議中,屬于不同協(xié)議的流量大小,哪臺(tái)主機(jī)承擔(dān)主要協(xié)議的通信;哪臺(tái)主機(jī)是主要的通信目的地,報(bào)文發(fā)送的時(shí)間是多少,主機(jī)間報(bào)文傳送的時(shí)間間隔等,是網(wǎng)絡(luò)管理員的一個(gè)常用工具。當(dāng)一段網(wǎng)絡(luò)運(yùn)行不好,速度較慢而又找不出問(wèn)題所在時(shí),用Sniffer往往可以做出精確判斷。 Sniffer可以捕獲網(wǎng)絡(luò)報(bào)文這一用處,也可以被黑客用來(lái)捕獲網(wǎng)絡(luò)中傳輸?shù)挠脩?hù)口令
15、、金融賬號(hào)、機(jī)密或敏感數(shù)據(jù)、專(zhuān)用數(shù)據(jù)、低級(jí)協(xié)議信息等。 信息安全原理張基溫電子教案黑客1. Sniffer的工作原理(1)在共享網(wǎng)絡(luò)中的嗅覺(jué)器 共享信道是Sniffer捕獲信息的根本所在。這里,共享意味著一臺(tái)計(jì)算機(jī)能夠接收到其他計(jì)算機(jī)之間通信的信息,或者說(shuō)同一網(wǎng)段的網(wǎng)絡(luò)所有接口都有訪(fǎng)問(wèn)在物理媒體上傳輸數(shù)據(jù)的能力。以太網(wǎng)的特點(diǎn)就是這樣的一種共享網(wǎng)絡(luò)。在以太網(wǎng)中,每個(gè)接口有一個(gè)與其他網(wǎng)絡(luò)接口不同的硬件地址,同時(shí)網(wǎng)段還有一個(gè)向所有傳輸?shù)膹V播地址。一個(gè)合法的網(wǎng)絡(luò)接口應(yīng)該只響應(yīng)這兩種地址。 以太網(wǎng)卡有4種工作模式。當(dāng)局域網(wǎng)中的某臺(tái)計(jì)算機(jī)將網(wǎng)絡(luò)接口配置成混雜(Promiscuous)模式后,就可以接收網(wǎng)絡(luò)
16、上的所有報(bào)文和數(shù)據(jù)幀了。這臺(tái)計(jì)算機(jī)上安裝的用于處理捕獲報(bào)文的軟件,就是一個(gè)嗅覺(jué)器。 信息安全原理張基溫電子教案黑客 可見(jiàn),Sniffer工作在網(wǎng)絡(luò)環(huán)境中的底層,它會(huì)“嗅”到所有在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)。由于在一個(gè)以太網(wǎng)中,賬號(hào)和口令都是以明文形式傳輸?shù)?,因此一旦入侵者獲取了其中一臺(tái)主機(jī)的管理員權(quán)限,并將其配置成混雜模式,它就有可能對(duì)網(wǎng)絡(luò)中的其他所有計(jì)算機(jī)發(fā)起攻擊。 信息安全原理張基溫電子教案黑客(2)交換式網(wǎng)絡(luò)上的Sniffer 交換式網(wǎng)絡(luò)不是共享網(wǎng)絡(luò),交換式設(shè)備可以準(zhǔn)確地將數(shù)據(jù)報(bào)文發(fā)給目的主機(jī)。這樣,安裝了Sniffer的主機(jī)可能收不到某些數(shù)據(jù)包,Sniffer軟件也就不能工作。 但是,在交換環(huán)境
17、中,Sniffer攻擊也并非完全不可能。一個(gè)簡(jiǎn)單的方法,就是將安裝有Sniffer軟件的計(jì)算機(jī)偽裝成為網(wǎng)關(guān)。網(wǎng)關(guān)是一個(gè)網(wǎng)絡(luò)與其他網(wǎng)絡(luò)之間的接口,所有發(fā)往其他網(wǎng)絡(luò)的數(shù)據(jù)包都必須經(jīng)過(guò)網(wǎng)關(guān)轉(zhuǎn)發(fā),即一個(gè)局域網(wǎng)上發(fā)往其他網(wǎng)絡(luò)的數(shù)據(jù)幀的目標(biāo)地址都是指向網(wǎng)關(guān)的。如果把安裝有Sniffer軟件的計(jì)算機(jī)偽裝成為網(wǎng)關(guān),Sniffer就能嗅到本地網(wǎng)中的數(shù)據(jù)。如圖2.4所示,一個(gè)交換網(wǎng)絡(luò)中有三臺(tái)主機(jī):A:IP地址為;B:IP地址為,入侵者;C:IP地址為,網(wǎng)關(guān)。信息安全原理張基溫電子教案黑客 在正常情形下,B無(wú)法收到A與C之間的通信報(bào)文的。
18、但是,若在B上運(yùn)行ARP欺騙的軟件ARPredirect(dsniff軟件的一部分),并發(fā)出一條命令A(yù)RPredirect t 就可以將該網(wǎng)絡(luò)中主機(jī)發(fā)送的數(shù)據(jù)報(bào)文重定向:ARPredirect就開(kāi)始向A發(fā)假冒的ARP應(yīng)答,說(shuō)B是網(wǎng)關(guān);A就會(huì)刷新自己的緩存,將B的硬件地址作為網(wǎng)關(guān)地址保存。這樣,當(dāng)A需要同其他網(wǎng)絡(luò)中的主機(jī)進(jìn)行通信時(shí),就會(huì)依據(jù)緩存中的網(wǎng)關(guān)地址(現(xiàn)在是B),先把數(shù)據(jù)包發(fā)往B;B可以先竊取A發(fā)出的數(shù)據(jù)包中的有關(guān)信息,再用IP轉(zhuǎn)發(fā)或其他軟件將這些數(shù)據(jù)包轉(zhuǎn)發(fā)到C,發(fā)出去。對(duì)A來(lái)說(shuō),一切都非常正常,但有關(guān)內(nèi)容已經(jīng)被竊去。 信息安全原理張基
19、溫電子教案黑客 當(dāng)然,如果在A(yíng)上用ARP命令查看ARP高速緩存,可以發(fā)現(xiàn)網(wǎng)關(guān)地址已經(jīng)被換掉了。 因此,在交換環(huán)境中,一個(gè)ARP(地址解析將IP地址解析為局域網(wǎng)中的MAC地址)欺騙加上一個(gè)Sniffer軟件,同樣可以實(shí)現(xiàn)Sniffer攻擊。 信息安全原理張基溫電子教案黑客2. Sniffer產(chǎn)品(1)Sniffer ProSniffer Pro是NAI公司開(kāi)發(fā)的一種圖形界面嗅覺(jué)器。它功能強(qiáng)大,能全面監(jiān)視所有網(wǎng)絡(luò)信息流量,識(shí)別和解決網(wǎng)絡(luò)問(wèn)題,是目前唯一能夠?yàn)槠邔覱SI網(wǎng)絡(luò)模型提供全面性能管理的工具。(2)Libpcap/WinpcapLibpcap是Packet Capture Library(數(shù)
20、據(jù)包捕獲函數(shù)庫(kù))的縮寫(xiě)與重組。它不是一個(gè)Sniffer,但是它提供的C語(yǔ)言函數(shù)接口可用于對(duì)經(jīng)過(guò)網(wǎng)絡(luò)接口數(shù)據(jù)包的捕獲,以支持Sniffer產(chǎn)品的開(kāi)發(fā)。Winpcap是Libpcap的Win32版本。 信息安全原理張基溫電子教案黑客(3)DsniffDsniff是Dug Song編寫(xiě)的一個(gè)功能強(qiáng)大的工具軟件包,它可以支持多種協(xié)議類(lèi)型,包括FTP、telnet、rlogin、Ldap、SMTP、Pop、Imap、IRC、ICQ、MS-CHAP、Npster、Citrix、ICA、PCAnywher、SNMP、OSPF、PPTP、X11、NFS、RIP、RIP、VRRP、Oracle SQL *Net
21、、Microsoft SQL protocol、Postgre SQL等。(4)Tcpdump/WindumpTcpdump是一個(gè)傳統(tǒng)的嗅覺(jué)器,通過(guò)將網(wǎng)卡設(shè)置為混雜模式截取幀進(jìn)行工作。 信息安全原理張基溫電子教案黑客3. Sniffer的防范Sniffer攻擊屬第二層攻擊,通常是入侵者進(jìn)入目標(biāo)系統(tǒng)后,為了獲取更多的信息而采用的攻擊手段。為了達(dá)到好的 攻擊效果,它要被放置在下列位置: 被攻擊對(duì)象(主機(jī)或網(wǎng)絡(luò))附近; 網(wǎng)關(guān)上。Sniffer的防范方法大體有如下一些。 (1)規(guī)劃網(wǎng)絡(luò)一般將網(wǎng)絡(luò)分段劃分得越細(xì),Sniffer收集到的信息越少。(2)采用加密通信加密后,即使Sniffer捕獲了數(shù)據(jù),也難
22、于獲得數(shù)據(jù)的原文。目前比較流行的做法是使用SSL協(xié)議和SSH(下在地址為)安全產(chǎn)品。 信息安全原理張基溫電子教案黑客(3)監(jiān)測(cè)Sniffer 監(jiān)測(cè)Sniffer就是確定網(wǎng)絡(luò)上有無(wú)Sniffer在運(yùn)行。當(dāng)有Sniffer運(yùn)行時(shí),會(huì)觀(guān)察到一些異常情況,如(a)用ping命令等測(cè)試發(fā)現(xiàn)網(wǎng)絡(luò)出現(xiàn)較高的丟包率,因?yàn)楸O(jiān)聽(tīng)會(huì)使數(shù)據(jù)包不順暢傳送;(b)通過(guò)帶寬控制器觀(guān)察網(wǎng)絡(luò)帶寬反常;(c)使用MD5校驗(yàn)工具(如TripWare下載地址為)等,發(fā)現(xiàn)單機(jī)上的Sniffer。(d)使用Anti-Sniffer、promisc、cmp()等,發(fā)現(xiàn)大型網(wǎng)絡(luò)上的Sniffer。(e)測(cè)試網(wǎng)絡(luò)接口有無(wú)被設(shè)置成混雜模式,因?yàn)?/p>
23、雖然在非混雜模式下可以運(yùn)行Sniffer,但只有在混雜模式下才可以捕獲共享網(wǎng)絡(luò)中的所有會(huì)話(huà)。對(duì)于SunOS、Linux和BSD Unix可以采用命令: ifconfig -a 信息安全原理張基溫電子教案黑客2.2.2 2.2.2 掃描器掃描器 掃描器是自動(dòng)檢測(cè)遠(yuǎn)程或本地主機(jī)安全性弱點(diǎn)的程序,它不僅是黑客們的作案工具,也是管理人員維護(hù)網(wǎng)絡(luò)安全的有力工具。主要用于收集系統(tǒng)信息(遠(yuǎn)程操作系統(tǒng)的識(shí)別、網(wǎng)絡(luò)結(jié)構(gòu)的分析以及其他敏感信息的收集)和發(fā)現(xiàn)漏洞。常用的掃描器很多,如網(wǎng)絡(luò)安全掃描器NSS、超級(jí)優(yōu)化TCP端口檢測(cè)程序Strobe、安全管理員網(wǎng)絡(luò)分析工具SATAN等。1. 掃描類(lèi)型具體地說(shuō),掃描是通過(guò)向
24、目標(biāo)主機(jī)發(fā)送數(shù)據(jù)報(bào)文,從響應(yīng)中獲得目標(biāo)主機(jī)的有關(guān)信息。按照掃描方式,可以將掃描分為如下3種主要類(lèi)型。 信息安全原理張基溫電子教案黑客(1)地址掃描 地址掃描就是判斷某個(gè)IP地址上有無(wú)活動(dòng)主機(jī),以及某臺(tái)主機(jī)是否在線(xiàn)。 最簡(jiǎn)單的地址掃描方法是使用ping命令,用ping命令向目標(biāo)主機(jī)發(fā)送ICMP回顯請(qǐng)求報(bào)文,并等待ICMP回顯應(yīng)答。如果ping不到某臺(tái)主機(jī),就表明它不在線(xiàn)。 Ping命令的發(fā)送可以手工一條一條地進(jìn)行,也可以用Fping等根據(jù)進(jìn)行大范圍的地址掃描,得到一個(gè)網(wǎng)段中的在線(xiàn)地址列表。 但是,由于用戶(hù)安全意識(shí)的提高,很多路由器和防火墻的規(guī)則中都增加了丟棄ICMP回顯請(qǐng)求數(shù)據(jù)包,或在主機(jī)中進(jìn)行
25、了禁止請(qǐng)求應(yīng)答,使得地址掃描難于進(jìn)行。 (2)端口掃描 在TCP/IP網(wǎng)絡(luò)中,端口號(hào)是主機(jī)上提供的服務(wù)的標(biāo)識(shí)。例如,F(xiàn)TP服務(wù)的端口號(hào)為21、Telnet服務(wù)的端口號(hào)為23、DNS服務(wù)的端口號(hào)為53、Http服務(wù)的端口號(hào)為53等。入侵者知道了被攻擊主機(jī)的地址后,還需要知道通信程序的端口號(hào);只要掃描到相應(yīng)的端口被打開(kāi)著,就知道目標(biāo)主機(jī)上運(yùn)行著什么服務(wù),以便采取針對(duì)這些服務(wù)的攻擊手段。 (3)漏洞掃描 漏洞是系統(tǒng)所存在的安全缺陷或薄弱環(huán)節(jié)。入侵者通過(guò)掃描可以發(fā)現(xiàn)可以利用的漏洞,并進(jìn)一步通過(guò)漏洞收集有用信息或直接對(duì)系統(tǒng)實(shí)施威脅。管理人員可以通過(guò)掃描對(duì)所管理的系統(tǒng)和網(wǎng)絡(luò)進(jìn)行安全審計(jì),檢測(cè)系統(tǒng)中的安全脆
26、弱環(huán)節(jié)。 常用的掃描工具有Xscan等。 信息安全原理張基溫電子教案黑客2. 掃描技術(shù)(1)半開(kāi)放掃描 TCP連接通過(guò)三次握手建立。圖2.5表示了一個(gè)建立TCP連接的三次握手過(guò)程。若主機(jī)B運(yùn)行一個(gè)服務(wù)器進(jìn)程,則它要首先發(fā)出一個(gè)被動(dòng)打開(kāi)命令,要求它的TCP準(zhǔn)備接收客戶(hù)進(jìn)程的連接請(qǐng)求,然后服務(wù)器進(jìn)程就處于“聽(tīng)”狀態(tài),不斷檢測(cè)有無(wú)客戶(hù)進(jìn)程發(fā)起連接的請(qǐng)求。SYN=1,ACK=0,SEQ=y,ACK=x+1 TCPB 主機(jī)B 主機(jī)A TCPASYN=1,ACK=1,SEQ=xSYN=1,ACK=1, SEQ=x+1,ACK=y+1 連接請(qǐng)求 確認(rèn) 確認(rèn)信息安全原理張基溫電子教案黑客 當(dāng)A需要服務(wù)器的服務(wù)
27、時(shí),就要向它的TCP發(fā)出主動(dòng)連接命令:用SYN=1和ACK=0表示連接請(qǐng)求,用SEQ=x表示選擇了一個(gè)序號(hào)。主機(jī)B收到A的連接請(qǐng)求報(bào)文,就完成了第一次握手。 主機(jī)B如果同意連接,其TCP就向A發(fā)回確認(rèn)報(bào)文:用SYN=1和ACK=1表示同意連接,用ACK=x+1表示對(duì)x的確認(rèn),用SEQ=y表示B選擇的一個(gè)序號(hào)。主機(jī)A接收到該確認(rèn)報(bào)文,完成第二次握手。 接著,主機(jī)A的TCP就還要向主機(jī)B發(fā)出確認(rèn):用SYN=1和ACK=1表示同意連接,用ACK=y+1表示對(duì)y的確認(rèn),同時(shí)發(fā)送A的第一個(gè)數(shù)據(jù)x+1。主機(jī)B收到主機(jī)A的確認(rèn)報(bào)文,完成第三次握手過(guò)程。 信息安全原理張基溫電子教案黑客 完成這樣一個(gè)三次握手,
28、才算建立了可靠的TCP連接,才能開(kāi)始正式傳輸數(shù)據(jù)報(bào)文。 攻擊者進(jìn)行端口掃描最常用的方法就是嘗試與遠(yuǎn)程主機(jī)的端口建立一次正常的TCP連接。連接成功,表示端口開(kāi)放。這種掃描方式稱(chēng)為“TCP connect掃描”。但是,這種掃描往往會(huì)被遠(yuǎn)程系統(tǒng)記入日志。針對(duì)這一缺陷,便產(chǎn)生了半開(kāi)放掃描“TCP SYN掃描”。因?yàn)?,?dāng)客戶(hù)端發(fā)出一個(gè)SYN連接請(qǐng)求報(bào)文后,如果收到了遠(yuǎn)程目標(biāo)主機(jī)的ACK/SYN確認(rèn),就說(shuō)明遠(yuǎn)程主機(jī)的該端口是打開(kāi)的;而若沒(méi)有收到程目標(biāo)主機(jī)的ACK/SYN確認(rèn),而是收到RST數(shù)據(jù)報(bào)文,就說(shuō)明連接出現(xiàn)問(wèn)題,遠(yuǎn)程主機(jī)的該端口沒(méi)有打開(kāi)。這樣對(duì)于掃描要獲得的信息已經(jīng)足夠了,也不會(huì)在目標(biāo)主機(jī)的日志中留
29、下記錄。 信息安全原理張基溫電子教案黑客(2)FIN掃描 半開(kāi)放掃描廣泛地應(yīng)用,使得防火墻和路由器都采取了相應(yīng)的措施,會(huì)對(duì)端口掃描進(jìn)行完全記錄。有些入侵掃描系統(tǒng)也能檢測(cè)到這類(lèi)掃描,許多過(guò)濾設(shè)備能過(guò)濾SYN數(shù)據(jù)報(bào)文。于是端口掃描開(kāi)始另辟溪徑,采用FIN掃描。 FIN是中斷連接的數(shù)據(jù)報(bào)文。很多日志不記錄這類(lèi)報(bào)文?!癟CP FIN掃描”的原理是向目標(biāo)端口發(fā)送FIN報(bào)文,如果收到了RST的回復(fù),表明該端口沒(méi)有開(kāi)放;反之(沒(méi)有回復(fù)),該端口是開(kāi)放的,因?yàn)榇蜷_(kāi)的端口往往忽略對(duì)FIN的回復(fù)。這種方法還可以用來(lái)區(qū)別操作系統(tǒng)是Windows,還是Unix。 但是,有的系統(tǒng)不管端口打開(kāi)與否,一律回復(fù)RST。這時(shí),
30、FIN掃描就不適用了。 信息安全原理張基溫電子教案黑客(3)反向掃描 反向掃描是一種地址掃描技術(shù),主要用于獲得可到達(dá)網(wǎng)絡(luò)和主機(jī)的地址列表,借以推斷出一個(gè)網(wǎng)絡(luò)的結(jié)構(gòu)分布圖。其基本原理是利用了多數(shù)路由器只對(duì)報(bào)文中的地址進(jìn)行檢查,而不分析報(bào)文的內(nèi)容。具體方法是使用可以穿過(guò)防火墻的RST數(shù)據(jù)報(bào)文對(duì)網(wǎng)絡(luò)地址進(jìn)行掃描。向一個(gè)網(wǎng)絡(luò)中的所有地址發(fā)送RST報(bào)文后,路由器會(huì)對(duì)這些報(bào)文進(jìn)行檢查:當(dāng)目標(biāo)地址不可到達(dá)時(shí),就送回ICMP差錯(cuò)報(bào)文;沒(méi)有返回的ICMP差錯(cuò)報(bào)文的,就是主機(jī)在線(xiàn)。根據(jù)不在線(xiàn)的主機(jī),進(jìn)行求逆可以獲得在線(xiàn)主機(jī)列表。 (4)慢速掃描 慢速掃描就是使用非連續(xù)性端口進(jìn)行時(shí)間間隔長(zhǎng)且無(wú)定率的掃描,并使用不一
31、致的源地址,使這些掃描記錄無(wú)規(guī)律地分布在大量的日志中,被淹沒(méi),給日志分析造成困難。 (5)亂序掃描 亂序掃描就是對(duì)掃描的端口號(hào)集合,隨機(jī)地產(chǎn)生掃描順序,并且每次的掃描順序不同。這就給對(duì)入侵檢測(cè)系統(tǒng)的發(fā)覺(jué)帶來(lái)困難。 信息安全原理張基溫電子教案黑客2.2.3 2.2.3 其他信息收集類(lèi)攻擊其他信息收集類(lèi)攻擊1. 利用信息獲取命令舉例(1)ping命令ping命令的基本格式:ping ping還有許多高級(jí)應(yīng)用,如命令ping f 可以向指定主機(jī)發(fā)送大量數(shù)據(jù),使該主機(jī)忙于回應(yīng)而死機(jī)。(2)tracert命令tracert命令用來(lái)跟蹤消息從一臺(tái)主機(jī)到另一臺(tái)主機(jī)的路徑,并顯示。 信息安全原理張基溫電子教案
32、黑客(3)rusers 這個(gè)命令都是Unix命令,用于收集目標(biāo)計(jì)算機(jī)上的有關(guān)用戶(hù)的信息。(4)host/nslookup命令這兩個(gè)命令都是Unix命令,可以得到包括操作系統(tǒng)、機(jī)器和網(wǎng)絡(luò)的許多信息。(5)showmount命令showmount命令可以列出一臺(tái)機(jī)器上共享的所有目錄及其相關(guān)信息。(6)rpcinfo命令rpcinfo命令報(bào)告關(guān)于一臺(tái)主機(jī)上注冊(cè)了的可供外部進(jìn)程調(diào)用的過(guò)程服務(wù)的編號(hào)、版本、端口和名稱(chēng)。 信息安全原理張基溫電子教案黑客2. 利用信息服務(wù)(1)whois服務(wù)whois是一個(gè)客戶(hù)程序。通過(guò)它攻擊者可以收集到下列信息: 網(wǎng)絡(luò)注冊(cè)機(jī)構(gòu) 網(wǎng)絡(luò)域名 主機(jī)信息 網(wǎng)絡(luò)IP地址分配 網(wǎng)絡(luò)管
33、理人員信息,如電子郵件、電話(huà)號(hào)碼等。 信息安全原理張基溫電子教案黑客(2)finger服務(wù)finger服務(wù)同rusers 命令一樣,用于收集目標(biāo)計(jì)算機(jī)上的有關(guān)用戶(hù)的信息。(3)DNS域名轉(zhuǎn)換DNS(Domain Name Service,域名服務(wù)系統(tǒng))提供域名與IP地址之間的轉(zhuǎn)換。攻擊者只需實(shí)施一次轉(zhuǎn)換,就能得到目標(biāo)系統(tǒng)(網(wǎng)絡(luò))的所有主機(jī)名稱(chēng)和內(nèi)部IP地址。(4)LDAP服務(wù)攻擊者可以使用LDAP(Light Directory Access Protocol,簡(jiǎn)化目錄訪(fǎng)問(wèn)協(xié)議)服務(wù)窺探網(wǎng)絡(luò)內(nèi)部的系統(tǒng)及其用戶(hù)信息。(5)NIS服務(wù)NIS(Network Information Service,
34、網(wǎng)絡(luò)信息服務(wù))是為分布式網(wǎng)絡(luò)環(huán)境設(shè)計(jì)的一個(gè)統(tǒng)一管理系統(tǒng),它把公共的配置文件,如用戶(hù)賬號(hào)和口令文件、用戶(hù)組文件、主機(jī)名與IP對(duì)應(yīng)文件,轉(zhuǎn)變成一種映射數(shù)據(jù)結(jié)構(gòu)。攻擊者非法獲取NIS/NIS+的使用權(quán)后,就可以獲取有關(guān)信息。 信息安全原理張基溫電子教案黑客2.3 入侵類(lèi)攻擊 返回信息安全原理張基溫電子教案黑客2.3.1 2.3.1 口令攻擊口令攻擊 口令機(jī)制是資源訪(fǎng)問(wèn)的第一道屏障。攻破了這到屏障,就獲得了進(jìn)入系統(tǒng)的第一道大門(mén)。所以口令攻擊是入侵者最常用的攻擊手段。 口令攻擊可以從破解口令和屏蔽口令保護(hù)兩個(gè)方面進(jìn)行。下面主要介紹口令破解技術(shù)1. 口令破解的基本技術(shù)口令破解首先要獲取口令文件,然后采取一
35、定的攻擊技術(shù)進(jìn)行口令的破解。下面介紹口令破解的基本方法。(1)口令字典猜測(cè)破解法攻擊者基于某些知識(shí),編寫(xiě)出口令字典,然后對(duì)字典進(jìn)行窮舉或猜測(cè)攻擊。表2.1為口令字典的構(gòu)造方法。 信息安全原理張基溫電子教案黑客信息安全原理張基溫電子教案黑客目前,Internet上已經(jīng)提供了一些口令字典,從一萬(wàn)到幾十萬(wàn)條,可以下載。此外,還有一些可以生成口令字典的程序。利用口令字典可以以猜測(cè)方式進(jìn)行口令破解攻擊。 信息安全原理張基溫電子教案黑客(2)窮舉破解法 有人認(rèn)為使用足夠長(zhǎng)的口令或者使用足夠完善的加密模式,就會(huì)攻不破。事實(shí)上沒(méi)有攻不破的口令,這只是個(gè)時(shí)間問(wèn)題。如果有速度足夠快的計(jì)算機(jī)能?chē)L試字母、數(shù)字、特殊字
36、符所有的組合,將最終能破解所有的口令。這種類(lèi)型的攻擊方式通過(guò)窮舉口令空間獲得用戶(hù)口令稱(chēng)為窮舉破解法或蠻力破解,也叫強(qiáng)行攻擊。如先從字母a開(kāi)始,嘗試aa、ab、ac等等,然后嘗試aaa、aab、aac。 攻擊者也可以利用分布式攻擊。如果攻擊者希望在盡量短的時(shí)間內(nèi)破解口令,也可能會(huì)求助幾個(gè)有大批計(jì)算機(jī)的公司并利用他們的資源破解口令。 信息安全原理張基溫電子教案黑客(3)組合破解法 詞典破解法只能發(fā)現(xiàn)詞典單詞口令,但是速度快。窮舉破解法能發(fā)現(xiàn)所有的口令,但是破解時(shí)間很長(zhǎng)。鑒于很多管理員要求用戶(hù)使用字母和數(shù)字,用戶(hù)的對(duì)策是在口令后面添加幾個(gè)數(shù)字,如把口令computer變成computer99。使用強(qiáng)
37、行破解法又非常費(fèi)時(shí)間。由于實(shí)際的口令常常很弱(可以通過(guò)對(duì)字典或常用字符列表進(jìn)行搜索或經(jīng)過(guò)簡(jiǎn)單置換而發(fā)現(xiàn)的口令)。這時(shí)可以基于詞典單詞而在單詞尾部串接幾個(gè)字母和數(shù)字。這就是組合破解法。 (4)其他破解類(lèi)型 社會(huì)工程學(xué):通過(guò)對(duì)目標(biāo)系統(tǒng)的人員進(jìn)行游說(shuō)、欺騙、利誘,獲得口令或部分。 偷窺:觀(guān)察別人敲口令。 搜索垃圾箱。 信息安全原理張基溫電子教案黑客2. Unix系統(tǒng)的口令攻擊 Unix系統(tǒng)用戶(hù)的口令,本來(lái)是經(jīng)加密后保存在一個(gè)文本文件passwd中,一般存放在/etc目錄下。后來(lái)由于安全的需要,把passwd文件中與用戶(hù)口令相關(guān)的域提取出來(lái),組織成文件shadow,并規(guī)定只有超級(jí)用戶(hù)才能讀取。這種分離
38、工作也稱(chēng)為shadow變換。因此,在破解口令時(shí),需要作UnShadow變換,將/etc/passwd與/etc/shadow合并起來(lái)。在此基礎(chǔ)上才開(kāi)始進(jìn)行口令的破解。 真正的加密口令一般是很難逆向破解的,黑客們常用的口令入侵工具所采用的技術(shù)是仿真對(duì)比,利用與原口令程序相同的方法,通過(guò)對(duì)比分析,用不同的加密口令去匹配原口令。下面是口令破解工具Crack的主要工作流程。 信息安全原理張基溫電子教案黑客它采用逆向比較法進(jìn)行口令破解。1 準(zhǔn)備:對(duì)口令文件作UnShadow變換;2 下載或自己生成一個(gè)字典文件;3 窮舉出口令字典中的每個(gè)條目,對(duì)每個(gè)單詞運(yùn)用一系列規(guī)則。典型的規(guī)則有: 使用幾個(gè)單詞或數(shù)字的
39、組合; 大小寫(xiě)交替使用; 把單詞正向、反向拼寫(xiě)后,接在一起; 在單詞的開(kāi)頭或結(jié)尾加上一些數(shù)字;規(guī)則可以多種多樣。規(guī)則越多,破譯時(shí)間越長(zhǎng);但成功率越高。4 調(diào)用crypt()函數(shù)對(duì)使用規(guī)則生成的字符串進(jìn)行加密變換;5 用一組子程序打開(kāi)口令文件,取出密文口令,與crypt()函數(shù)的輸出進(jìn)行比較。循環(huán)3、4兩步,直到口令破解成功。 信息安全原理張基溫電子教案黑客3. 網(wǎng)絡(luò)服務(wù)口令攻擊網(wǎng)絡(luò)服務(wù)口令攻擊往往是一種遠(yuǎn)程在線(xiàn)攻擊,攻擊過(guò)程大致如下: 建立與目標(biāo)網(wǎng)絡(luò)服務(wù)的網(wǎng)絡(luò)連接; 選取一個(gè)用戶(hù)列表文件和一個(gè)字典文件; 在用戶(hù)列表文件和一個(gè)字典文件中,選取一組用戶(hù)和口令,按照網(wǎng)絡(luò)服務(wù)協(xié)議規(guī)定,將用戶(hù)名和口令發(fā)
40、給目標(biāo)網(wǎng)絡(luò)服務(wù)端口。 檢測(cè)遠(yuǎn)程服務(wù)返回信息,確定口令嘗試是否成功。 循環(huán)2、3、4步,直到口令破解成功。 信息安全原理張基溫電子教案黑客4. 增強(qiáng)口令安全性的措施口令攻擊的成功與否,取決于多種因素,如口令長(zhǎng)度、口令有效期、口令加密算法的加密強(qiáng)度、口令系統(tǒng)的安全機(jī)制等。此外,采用下面一些措施,也可以增強(qiáng)口令的安全性: 除進(jìn)行口令驗(yàn)證外,還應(yīng)使口令完全不可讀(包括超級(jí)用戶(hù))。 在選擇密碼時(shí),就對(duì)密碼進(jìn)行過(guò)濾。 對(duì)字典或字符列表進(jìn)行掃描,剔除用戶(hù)選擇的弱口令。 采用口令與智能卡結(jié)合的方式登錄系統(tǒng)。 使用一次性口令。 信息安全原理張基溫電子教案黑客2.3.2 緩沖區(qū)溢出攻擊 緩沖區(qū)是程序運(yùn)行時(shí)在內(nèi)存中
41、為保存給定類(lèi)型的數(shù)據(jù)而開(kāi)辟的一個(gè)連續(xù)空間。這個(gè)空間是有限的。當(dāng)程序運(yùn)行過(guò)程中要放入緩沖區(qū)的數(shù)據(jù)太多時(shí),就會(huì)產(chǎn)生緩沖區(qū)溢出。 信息安全原理張基溫電子教案黑客 早在1988年,美國(guó)康奈爾大學(xué)的計(jì)算機(jī)科學(xué)系研究生,23歲的莫里斯(Morris)利用了UNIX fingered程序不限制輸入長(zhǎng)度的漏洞使緩沖器溢出。Morris又寫(xiě)了一段程序使他的惡意程序能以root(根)身份執(zhí)行,并傳播到其他機(jī)器上,結(jié)果造成6000臺(tái)Internet上的服務(wù)器癱瘓,占當(dāng)時(shí)總數(shù)的10%?!癝QL Slammer”蠕蟲(chóng)王的發(fā)作原理,就是利用未及時(shí)更新補(bǔ)丁的MS SQL Server數(shù)據(jù)庫(kù)緩沖溢出漏洞。采用不正確的方式將數(shù)
42、據(jù)發(fā)到MS Sql Server的監(jiān)聽(tīng)端口,這個(gè)錯(cuò)誤可以引起緩沖溢出攻擊。目前新出現(xiàn)的MSBLAST病毒正是利用了微軟關(guān)于RPC接口中遠(yuǎn)程任意可執(zhí)行代碼漏洞,“中招”的機(jī)器會(huì)反復(fù)重啟,或者拷貝、粘貼功能不工作等現(xiàn)象。黑客如果成功利用緩沖漏洞,就有可能獲得對(duì)遠(yuǎn)程計(jì)算機(jī)的完全控制,并以本地系統(tǒng)權(quán)限執(zhí)行任意指令,如安裝程序、查看或更改、刪除數(shù)據(jù)、格式化硬盤(pán)等,危害性不言而喻。 信息安全原理張基溫電子教案黑客 緩沖溢出漏洞是一種很普遍的漏洞。在1998年CERT的13份建議中,有9份是是與緩沖區(qū)溢出有關(guān)的,在1999年,至少有半數(shù)的建議是和緩沖區(qū)溢出有關(guān)的。根據(jù)綠盟科技提供的漏洞報(bào)告():2002年共
43、發(fā)現(xiàn)各種操作系統(tǒng)和應(yīng)用程序的漏洞1830個(gè),其中緩沖區(qū)溢出漏洞有432個(gè),占總數(shù)的23.6%;而2002年程度嚴(yán)重、影響范圍最大的十個(gè)安全漏洞中,和緩沖區(qū)溢出相關(guān)的就有6個(gè)。 值得關(guān)注的是,緩沖器溢出攻擊不是一種竊密和欺騙的手段,而是從計(jì)算機(jī)系統(tǒng)的最底層發(fā)起攻擊,因此在它的攻擊下系統(tǒng)的身份驗(yàn)證和訪(fǎng)問(wèn)權(quán)限等安全策略形同虛設(shè);同時(shí),由于攻擊者傳輸?shù)臄?shù)據(jù)分組并無(wú)異常特征,沒(méi)有任何欺騙,且用來(lái)實(shí)施緩存器溢出攻擊的字符串非常多樣化,無(wú)法與正常數(shù)據(jù)有效進(jìn)行區(qū)分,因而傳統(tǒng)安全工具(如防火墻)對(duì)這種攻擊方式也無(wú)能為力。 信息安全原理張基溫電子教案黑客2. 緩沖溢出的基本原理緩沖區(qū)溢出的根本原因來(lái)自C語(yǔ)言(以及
44、其后代C+)本質(zhì)的不安全性: 沒(méi)有邊界來(lái)檢查數(shù)組和指針的引用; 標(biāo)準(zhǔn)C 庫(kù)中還存在許多非安全字符串操作,如strcpy() 、sprintf() 、gets() 等。為了說(shuō)明這個(gè)問(wèn)題還必須看一看程序的內(nèi)存映像。 任何一個(gè)源程序通常都包括代碼段和數(shù)據(jù)段,這些代碼和數(shù)據(jù)本身都是靜態(tài)的。為了運(yùn)行程序,首先要由操作系統(tǒng)負(fù)責(zé)為其創(chuàng)建進(jìn)程,并在進(jìn)程的虛擬地址空間中為其代碼段和數(shù)據(jù)段建立映射。但是,光有靜態(tài)的代碼段和數(shù)據(jù)段是不夠的,進(jìn)程在運(yùn)行過(guò)程中還要有其動(dòng)態(tài)環(huán)境。一般說(shuō)來(lái),默認(rèn)的動(dòng)態(tài)存儲(chǔ)環(huán)境通過(guò)堆棧(簡(jiǎn)稱(chēng)棧)機(jī)制建立。所有局部變量以及所有按值傳遞的函數(shù)參數(shù)都通過(guò)堆棧機(jī)制自動(dòng)地進(jìn)行內(nèi)存空間的分配。分配同一數(shù)
45、據(jù)類(lèi)型相鄰塊的內(nèi)存區(qū)域稱(chēng)為緩沖區(qū)。圖2.6為L(zhǎng)inux下進(jìn)程的地址空間布局。當(dāng)然,C語(yǔ)言還允許程序員使用堆機(jī)制創(chuàng)建存儲(chǔ)器,存儲(chǔ)使用malloc()獲得的數(shù)據(jù)。不過(guò),這與本節(jié)討論的問(wèn)題無(wú)關(guān)。 信息安全原理張基溫電子教案黑客從邏輯上講進(jìn)程的堆棧是由多個(gè)堆棧幀構(gòu)成的,其中每個(gè)堆棧幀都對(duì)應(yīng)一個(gè)函數(shù)調(diào)用。當(dāng)函數(shù)調(diào)用發(fā)生時(shí),新的堆棧幀被壓入堆棧;當(dāng)函數(shù)返回時(shí),相應(yīng)的堆棧幀從堆棧中彈出。盡管堆棧幀結(jié)構(gòu)的引入為在高級(jí)語(yǔ)言中實(shí)現(xiàn)函數(shù)或過(guò)程這樣的概念提供了直接的硬件支持,但是由于將函數(shù)返回地址這樣的重要數(shù)據(jù)保存在程序員可見(jiàn)的堆棧中。當(dāng)程序?qū)懭氤^(guò)緩沖區(qū)的邊界時(shí),這就是所謂的“緩沖區(qū)溢出”。發(fā)生緩沖區(qū)溢出時(shí),就會(huì)覆
46、蓋下一個(gè)相鄰的內(nèi)存塊,導(dǎo)致一些不可預(yù)料的結(jié)果:也許程序可以繼續(xù),也許程序的執(zhí)行出現(xiàn)奇怪現(xiàn)象,也許程序完全失敗。信息安全原理張基溫電子教案黑客下面的程序是一個(gè)緩沖溢出的實(shí)例。例2.3.1 #include int main()char name5;printf(“Please input your name:”);gets(name);printf(“you are %s”,name); 運(yùn)行這個(gè)程序可以發(fā)現(xiàn),當(dāng)輸入的字符數(shù)少時(shí),程序運(yùn)行正常;當(dāng)輸入的字符數(shù)太多時(shí)(超過(guò)8),程序就不能正常結(jié)束。這就是緩沖區(qū)逸出所造成。 信息安全原理張基溫電子教案黑客 典型的堆棧幀結(jié)構(gòu)如圖2.7所示。堆棧中存放的
47、是與每個(gè)函數(shù)對(duì)應(yīng)的堆棧幀。當(dāng)函數(shù)調(diào)用發(fā)生時(shí),新的堆棧幀被壓入堆棧;當(dāng)函數(shù)返回時(shí),相應(yīng)的堆棧幀從堆棧中彈出。 圖2.7 典型的堆棧幀結(jié)構(gòu) 信息安全原理張基溫電子教案黑客 堆棧幀的頂部為函數(shù)的實(shí)參,下面是函數(shù)的返回地址以及前一個(gè)堆棧幀的指針,最下面是分配給函數(shù)的局部變量使用的空間。一個(gè)堆棧幀通常都有兩個(gè)指針,其中一個(gè)稱(chēng)為堆棧幀指針,另一個(gè)稱(chēng)為棧頂指針。前者所指向的位置是固定的,而后者所指向的位置在函數(shù)的運(yùn)行過(guò)程中可變。因此,在函數(shù)中訪(fǎng)問(wèn)實(shí)參和局部變量時(shí)都是以堆棧幀指針為基址,再加上一個(gè)偏移。由圖2.7可知,實(shí)參的偏移為正,局部變量的偏移為負(fù)。當(dāng)發(fā)生數(shù)據(jù)棧溢出時(shí),多余的內(nèi)容就會(huì)越過(guò)棧底,覆蓋棧底后面
48、的內(nèi)容。通常,與棧底相鄰的內(nèi)存空間中存放著程序返回地址。因此,數(shù)據(jù)棧的溢出,會(huì)覆蓋程序的返回地址,從而造成如下局面:要么程序會(huì)取到一個(gè)錯(cuò)誤地址,要么將因程序無(wú)權(quán)訪(fǎng)問(wèn)該地址而產(chǎn)生一個(gè)錯(cuò)誤。 鑒此,C語(yǔ)言把這一艱巨任務(wù)交給了開(kāi)發(fā)人員,要求他們進(jìn)行邊界檢查,編寫(xiě)安全的程序。然而這一要求往往被人們忽視,從而給黑客有機(jī)可乘。 信息安全原理張基溫電子教案黑客3. 緩沖區(qū)溢出攻擊 如果當(dāng)發(fā)生緩沖溢出時(shí),能夠準(zhǔn)確地控制跳轉(zhuǎn)地址,將程序流程引向預(yù)定的地址,CPU就會(huì)去執(zhí)行這個(gè)指令。如果入侵者在預(yù)定的地址中放置代碼用于產(chǎn)生一個(gè)Shell,則當(dāng)程序被溢出時(shí),入侵者將獲得一個(gè)Shell。該Shell會(huì)繼承被溢出的程序
49、的權(quán)限(操作系統(tǒng)中,一個(gè)新產(chǎn)生的Shell會(huì)繼承生成該Shell的程序的權(quán)限)。如果入侵者獲得了某臺(tái)服務(wù)器的一個(gè)普通權(quán)限賬號(hào),而服務(wù)器上某個(gè)以root或system權(quán)限運(yùn)行的程序存在緩沖溢出漏洞,入侵者就可以利用該漏洞生成的Shell去獲得root權(quán)限。而入侵者進(jìn)行攻擊的關(guān)鍵是修改以較高權(quán)限運(yùn)行的程序跳轉(zhuǎn)指令的地址。 信息安全原理張基溫電子教案黑客 入侵者為了修改以較高權(quán)限運(yùn)行的程序跳轉(zhuǎn)指令的地址,一般要經(jīng)過(guò)如下3步。(1)將需要執(zhí)行的代碼放到目標(biāo)系統(tǒng)的內(nèi)存。下面是兩種常用方法: 植入法:通過(guò)主機(jī),將需要執(zhí)行的代碼(目標(biāo)平臺(tái)上可執(zhí)行的),直接放到緩沖區(qū)。 利用已經(jīng)有的代碼:只要修改傳入?yún)?shù)。(
50、2)修改返回地址。(3)控制程序跳轉(zhuǎn),改變程序流程。下面是3種常用方法。 修改程序返回地址:將預(yù)先設(shè)定好的地址替換程序原來(lái)的返回地址。 在緩沖區(qū)附近放一個(gè)函數(shù)指針,指向入侵者定義的指令。 使用longjmp:C語(yǔ)言的setjmp/longjmp是一個(gè)檢驗(yàn)/恢復(fù)系統(tǒng),可以在檢驗(yàn)點(diǎn)設(shè)定setjmp(buffer),用longjmp(buffer)恢復(fù)檢驗(yàn)點(diǎn)。入侵者可以利用longjmp(buffer)跳轉(zhuǎn)到預(yù)定代碼。 信息安全原理張基溫電子教案黑客4. 緩沖區(qū)溢出防御措施 (1)安裝安全補(bǔ)丁。 (2)編寫(xiě)安全的代碼:緩沖區(qū)溢出攻擊的根源在于編寫(xiě)程序的機(jī)制。因此,防范緩沖區(qū)溢出漏洞首先應(yīng)該確保在Li
51、nux系統(tǒng)上運(yùn)行的程序(包括系統(tǒng)軟件和應(yīng)用軟件)代碼的正確性,避免程序中有不檢查變量、緩沖區(qū)大小及邊界等情況存在。比如,使用grep工具搜索源代碼中容易產(chǎn)生漏洞的庫(kù)調(diào)用,檢測(cè)變量的大小、數(shù)組的邊界、對(duì)指針變量進(jìn)行保護(hù),以及使用具有邊界、大小檢測(cè)功能的C編譯器等。 信息安全原理張基溫電子教案黑客(3)基于一定的安全策略設(shè)置系統(tǒng):攻擊者攻擊某一個(gè)Linux系統(tǒng),必須事先通過(guò)某些途徑對(duì)要攻擊的系統(tǒng)做必要的了解,如版本信息等,然后再利用系統(tǒng)的某些設(shè)置直接或間接地獲取控制權(quán)。因此,防范緩沖區(qū)溢出攻擊就要對(duì)系統(tǒng)設(shè)置實(shí)施有效的安全策略。這些策略種類(lèi)很多,下面只列舉幾個(gè)典型措施。 在裝有Telnet服務(wù)的情況
52、下,通過(guò)手工改寫(xiě)“/etc/inetd.conf”文件中的Telnet設(shè)置,使得遠(yuǎn)程登錄的用戶(hù)無(wú)法看到系統(tǒng)的提示信息。具體方法是將Telnet設(shè)置改寫(xiě)為:telnet stream tcp nowait root /usr/sbin/tcpd/in.telnetd -h末尾加上“-h”參數(shù)可以讓守護(hù)進(jìn)程不顯示任何系統(tǒng)信息,只顯示登錄提示。 改寫(xiě)“rc.local”文件。默認(rèn)情況下,當(dāng)?shù)卿汱inux系統(tǒng)時(shí)系統(tǒng)運(yùn)行rc.local文件,顯示該Linux發(fā)行版本的名字、版本號(hào)、內(nèi)核版本和服務(wù)器名稱(chēng)等信息,這使得大量系統(tǒng)信息被泄露。將“rc.local”文件中顯示這些信息的代碼注釋掉,可以使系統(tǒng)不顯示
53、這些信息。 信息安全原理張基溫電子教案黑客一種方法是在顯示這些信息的代碼行前加“#”:# echo /etc/issue# echo $R/etc/issue# echo Kernel $ (uname -r)on $a $(uname -m)/etc/issue# echo /etc/issue另一種方法是將保存有系統(tǒng)信息的文件/etc/和issue刪除。這兩個(gè)文件分別用于在遠(yuǎn)程登錄和本地登錄時(shí)向用戶(hù)提供相關(guān)信息。刪除這兩個(gè)文件的同時(shí),仍需要完成方法一中的注釋工作,否則,系統(tǒng)在啟動(dòng)時(shí)將會(huì)自動(dòng)重新生成這兩個(gè)文件。 禁止提供finger服務(wù)。使用finger命令可以顯示本地或遠(yuǎn)程系統(tǒng)中目前已登錄
54、用戶(hù)的詳細(xì)信息。禁止提供finger服務(wù)的有效方法是,通過(guò)修改該文件屬性、權(quán)限,使得只有root用戶(hù)才可以執(zhí)行該命令。 處理“inetd.conf”文件。該程序通過(guò)“/etc/inetd.conf”文件獲得inetd在監(jiān)聽(tīng)哪些網(wǎng)絡(luò)端口,為每個(gè)端口啟動(dòng)哪些特定服務(wù)等信息,會(huì)泄露大量的敏感信息。 信息安全原理張基溫電子教案黑客(4)保護(hù)堆棧 加入函數(shù)建立和銷(xiāo)毀代碼。前者在函數(shù)返回地址后增加一些附加字節(jié),返回時(shí)要檢查這些字節(jié)有無(wú)被改動(dòng)。 使堆棧不可執(zhí)行非執(zhí)行緩沖區(qū)技術(shù),使入侵者無(wú)法利用緩沖區(qū)溢出漏洞。 信息安全原理張基溫電子教案黑客2.3.3 2.3.3 格式化字符串攻擊格式化字符串攻擊 格式化字符
55、串攻擊也稱(chēng)為格式化字符串漏洞,同其他許多安全漏洞一樣是由于程序員的疏漏造成的。不過(guò),這種疏漏來(lái)自程序員使用格式化字符串函數(shù)的不嚴(yán)謹(jǐn)。 信息安全原理張基溫電子教案黑客1. 格式化字符串函數(shù)族ANSI C定義了一系列的格式化字符串函數(shù),如 printf輸出到一個(gè)stdout流。 fprintf輸出到一個(gè)文件流。 sprintf輸出到字符串。 snprintf輸出到字符串并檢查長(zhǎng)度。 vprintf從va_arg結(jié)構(gòu)體輸出到一個(gè)stdout流。 vfprintf從va_arg結(jié)構(gòu)體輸出到一個(gè)文件流。 vsprintf從va_arg結(jié)構(gòu)體輸出到一個(gè)字符串。 vsnprintf從va_arg結(jié)構(gòu)體輸出到
56、一個(gè)字符串并檢查長(zhǎng)度。 基于這些函數(shù)的復(fù)雜函數(shù)和非標(biāo)準(zhǔn)函數(shù),包括setproctitle、syslog、err*、verr*、warm、*vwarm等。這些函數(shù)有一個(gè)共同的特點(diǎn),就是都要使用一個(gè)格式化字符串。例如對(duì)于大家熟悉的prontf函數(shù),它的前一個(gè)參數(shù),就是格式化字符串。 信息安全原理張基溫電子教案黑客2. 格式化字符串漏洞 為了說(shuō)明對(duì)格式化字符串使用不當(dāng)而產(chǎn)生的格式化字符串漏洞,請(qǐng)先看下面的程序。例 2.3.2 #include int main()char *name;gets(s); printf(s);abcdeabcde%08x,%08x,%08x000002e2,0000ff
57、e4,0000011d下面是該函數(shù)的兩次運(yùn)行結(jié)果。 信息安全原理張基溫電子教案黑客 當(dāng)輸入“abcde”時(shí),輸出仍然是“abcde”。 當(dāng) 輸 入 “ % 0 8 x , % 0 8 x , % 0 8 x ” 時(shí) , 輸 出 的 卻 是“000002e2,0000fe4,0000011d”。這就是格式化字符串漏洞所造成的問(wèn)題。因?yàn)椋趐rintf函數(shù)中,s被解釋成了格式化字符串。當(dāng)調(diào)用該函數(shù)時(shí),首先會(huì)解析格式化字符串,一次取一個(gè)字符進(jìn)行分析:如果字符不是“%”,就將其原樣輸出;若字符是“%”,則其后面的字符就要按照格式化參數(shù)進(jìn)行解析。當(dāng)輸入“abcde”時(shí),由于沒(méi)有包 含 “ % ” , 所
58、 以 每 個(gè) 字 符 都 被 原 樣 輸 出 了 。 而 當(dāng) 輸 入“%08x,%08x,%08x”時(shí),就要將每個(gè)“%”后面的“x”都解釋為一個(gè)十六進(jìn)制的數(shù)據(jù)項(xiàng),但函數(shù)沒(méi)有這樣3個(gè)數(shù)據(jù)項(xiàng)。于是,就將堆棧中從當(dāng)前堆棧指針向堆棧底部方向的3個(gè)地址的內(nèi)容按十六進(jìn)制輸出出來(lái),這就是“000002e2,0000fe4,0000011d”。一個(gè)啟發(fā):當(dāng)格式化字符串中包含有許多“%”時(shí),就會(huì)有機(jī)會(huì)訪(fǎng)問(wèn)到一個(gè)非法地址。 信息安全原理張基溫電子教案黑客3. 格式化字符串攻擊的幾種形式(1)查看內(nèi)存堆棧指針開(kāi)始的一些地址的內(nèi)容由例2.3.1可知,使用類(lèi)似于printf (“%08x,%08x,%08x”);的語(yǔ)句
59、,可以輸出當(dāng)前堆棧指針向棧底方向的一些地址的內(nèi)容,甚至可以是超過(guò)棧底之外的內(nèi)存地址的內(nèi)容。(2)查看內(nèi)存任何地址的內(nèi)容所查看的內(nèi)存地址內(nèi)容,也可以從任何一個(gè)地址開(kāi)始的內(nèi)存內(nèi)容。例如語(yǔ)句printf (“x2002x85x08_%08x,%08x,%08x”);將會(huì)從地址0 x08850220開(kāi)始,查看連續(xù)3個(gè)地址的內(nèi)容。 信息安全原理張基溫電子教案黑客(3)修改內(nèi)存任何地址的內(nèi)容 格式化字符串函數(shù)還可以使用一個(gè)格式字符“%n”。它的作用是將已經(jīng)打印的字節(jié)數(shù)寫(xiě)入一個(gè)變量。請(qǐng)觀(guān)察下面的程序。例 2.3.3 #include int main()int i;printf(“china %nn”,(i
60、nt*)&i);printf(“i = %dn”,i);信息安全原理張基溫電子教案黑客程序運(yùn)行的結(jié)果如下: 即i的值為前面已經(jīng)打印的字符串“china”的長(zhǎng)度5。利用這一點(diǎn),很容易改變某個(gè)內(nèi)存變量的值。 信息安全原理張基溫電子教案黑客例 2.3.4 #include int main()int i = 5;printf(“%108u%nt”,1,(int*)&i);printf(“i=%dn”,i);printf(“%58s123%nt”,”,&i);print(“i=%dn”,i);程序執(zhí)行結(jié)果如下: 信息安全原理張基溫電子教案黑客語(yǔ)句printf(“%108u%nt”,1,(int*)&i
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度保險(xiǎn)合同標(biāo)的及保險(xiǎn)條款
- 2024年教育培訓(xùn)項(xiàng)目投資合作協(xié)議
- 2024年度環(huán)境污染治理工程承包合同
- 2024年供應(yīng)商加工保密協(xié)議書(shū)范本
- DB4117T 169.37-2023 動(dòng)物疫病流行病學(xué)調(diào)查技術(shù)規(guī)范 第37部分:牛傳染性胸膜肺炎
- 2024年度股權(quán)投資框架協(xié)議
- 2024醫(yī)療設(shè)備生產(chǎn)與銷(xiāo)售代理合同
- 2024年教育技術(shù)許可協(xié)議
- 2024年店鋪使用權(quán)租賃合同
- 2024年房產(chǎn)購(gòu)買(mǎi)還款協(xié)議
- 五十年的同學(xué)會(huì)配樂(lè)詩(shī)朗誦.
- 中國(guó)石油天然氣股份有限公司股權(quán)處置實(shí)施細(xì)則
- 高中化學(xué)趣味知識(shí)競(jìng)賽(課堂PPT)
- 三管塔筏板計(jì)算
- 柴油購(gòu)銷(xiāo)合同
- MD380總體技術(shù)方案重點(diǎn)講義
- 天車(chē)道軌施工方案
- 傳染病轉(zhuǎn)診單
- 手術(shù)室各級(jí)護(hù)士崗位任職資格及職責(zé)
- 班組建設(shè)實(shí)施細(xì)則
- 畢業(yè)設(shè)計(jì)(論文)汽車(chē)照明系統(tǒng)常見(jiàn)故障診斷與排除
評(píng)論
0/150
提交評(píng)論