1. 網(wǎng)絡(luò)安全概述
計(jì)算機(jī)網(wǎng)絡(luò)安全包括三方面內(nèi)容:安全威脅、安全服務(wù)和安全機(jī)制。
1.1 安全威脅
計(jì)算機(jī)網(wǎng)絡(luò)所面臨的安全威脅分為被動(dòng)攻擊和主動(dòng)攻擊兩大類。
1.1.1 被動(dòng)攻擊
攻擊者通過竊聽手段僅觀察和分析網(wǎng)絡(luò)中傳輸?shù)碾娮余]件、文件數(shù)據(jù)、IP電話等數(shù)據(jù)流中的敏感信息,而不對(duì)其進(jìn)行干擾。
即使通信內(nèi)容被加密,使得攻擊者不能直接從被加密的內(nèi)容中獲取機(jī)密信息,也可以通過觀察協(xié)議數(shù)據(jù)單元(PDU)的首部信息,來獲知正在通信的協(xié)議實(shí)體的地址和身份。
通過研究PDU的長(zhǎng)度和傳輸?shù)念l度來了解所交換的數(shù)據(jù)的性質(zhì)。這種被動(dòng)攻擊又稱為流量分析(Traffic Analysis)。
對(duì)于被動(dòng)攻擊,由于其不涉及對(duì)數(shù)據(jù)的更改,因此很難被發(fā)現(xiàn)。
對(duì)付被動(dòng)攻擊主要采用各種數(shù)據(jù)加密技術(shù)進(jìn)行預(yù)防,而不是主動(dòng)檢測(cè)。
1.1.2 主動(dòng)攻擊
主動(dòng)攻擊是指攻擊者對(duì)傳輸中的數(shù)據(jù)流進(jìn)行各種處理。
三種最基本的主動(dòng)攻擊形式:
- 中斷(Interruption):攻擊者故意中斷他人的網(wǎng)絡(luò)通信。
- 篡改(Modification):攻擊者故意篡改網(wǎng)絡(luò)中傳送的PDU。
- 偽造(Fabrication):攻擊者偽造PDU在網(wǎng)絡(luò)中傳送。
除了中斷、篡改和偽造,還有一種特殊的主動(dòng)攻擊就是惡意程序(Rogue Program)。惡意程序的種類繁多,可以通過網(wǎng)絡(luò)在計(jì)算機(jī)系統(tǒng)間進(jìn)行傳播,對(duì)網(wǎng)絡(luò)安全威脅較大的主要有以下幾種:
- 計(jì)算機(jī)病毒(Computer Virus):這是一種會(huì)“傳染”其他程序的程序?!皞魅尽笔峭ㄟ^修改其他程序來把自身或自己的變種復(fù)制進(jìn)去完成的。
- 計(jì)算機(jī)蠕蟲(Computer Worm):這是一種通過網(wǎng)絡(luò)的通信功能將自身從一個(gè)節(jié)點(diǎn)發(fā)送到另一個(gè)節(jié)點(diǎn)并自動(dòng)啟動(dòng)運(yùn)行的程序。
- 特洛伊木馬(Trojan Horse):簡(jiǎn)稱為木馬,這是一種在表面功能掩護(hù)下執(zhí)行惡意功能的程序。例如,一個(gè)偽造成文本編輯軟件的木馬程序,在用戶編輯一個(gè)機(jī)密文件時(shí)偷偷將該文件的內(nèi)容通過網(wǎng)絡(luò)發(fā)送給攻擊者。計(jì)算機(jī)病毒有時(shí)也以木馬的形式出現(xiàn)。
- 邏輯炸彈(Logic Bomb):這是一種當(dāng)運(yùn)行環(huán)境滿足某種特定條件時(shí)就觸發(fā)自身惡意功能的程序。例如,一個(gè)文本編輯軟件平時(shí)正常運(yùn)行,但當(dāng)系統(tǒng)時(shí)間為13日且為星期五時(shí),就會(huì)觸發(fā)該程序的惡意功能,它會(huì)刪除系統(tǒng)中的所有文件,這種程序就是一種典型的邏輯炸彈。
- 后門入侵(Backdoor Knocking):是指利用系統(tǒng)中的漏洞通過網(wǎng)絡(luò)入侵系統(tǒng)。這就好比一個(gè)盜賊侵入某個(gè)房門有缺陷的住戶。
- 拒絕服務(wù)(Denial of Service,DoS)是一種很難防范的主動(dòng)攻擊。攻擊者向因特網(wǎng)上的某個(gè)服務(wù)器不停地發(fā)送大量分組,使該服務(wù)器無法提供正常服務(wù),甚至完全癱瘓。攻擊者甚至還可利用系統(tǒng)漏洞首先非法控制因特網(wǎng)上成百上千臺(tái)主機(jī)(這些主機(jī)被稱為“僵尸”主機(jī)),然后從這些“僵尸”主機(jī)上同時(shí)向某個(gè)服務(wù)器發(fā)起猛烈攻擊。
對(duì)于主動(dòng)攻擊,由于物理通信設(shè)施、軟件和網(wǎng)絡(luò)本身潛在的弱點(diǎn)具有多樣性,因此完全防止主動(dòng)攻擊是非常困難的。但是主動(dòng)攻擊容易檢測(cè),因此對(duì)付主動(dòng)攻擊除要采取數(shù)據(jù)加密技術(shù)、訪問控制技術(shù)等預(yù)防措施,還需要采取各種檢測(cè)技術(shù)及時(shí)發(fā)現(xiàn)并阻止攻擊,同時(shí)還要對(duì)攻擊源進(jìn)行追蹤,并利用法律手段對(duì)其進(jìn)行打擊。
1.2 安全服務(wù)
為防止各種安全威脅,一個(gè)安全的計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)設(shè)法提供基本安全服務(wù)。
1)保密性
保密性(Confidentiality)就是確保網(wǎng)絡(luò)中傳輸?shù)男畔⒅挥衅浒l(fā)送方和接收方才能懂得其含義,而信息的截獲者則看不懂所截獲的數(shù)據(jù)。顯然,保密性是計(jì)算機(jī)網(wǎng)絡(luò)中最基本的安全服務(wù),也是對(duì)付被動(dòng)攻擊所必須具備的功能。
2)報(bào)文完整性
報(bào)文完整性(Message Integrity)就是確保網(wǎng)絡(luò)中傳輸?shù)男畔⒉槐还粽叽鄹幕騻卧?它在應(yīng)對(duì)主動(dòng)攻擊時(shí)也是必不可少的。
報(bào)文完整性與實(shí)體鑒別往往是不可分割的。因此,在談到“鑒別”時(shí),有時(shí)同時(shí)包含了實(shí)體鑒別和報(bào)文完整性。換句話說,既鑒別發(fā)送方的身份,又鑒別報(bào)文的完整性。
3)實(shí)體鑒別
實(shí)體鑒別(Entity Authentication)是指通信兩端的實(shí)體能夠相互驗(yàn)證對(duì)方的真實(shí)身份,確保不會(huì)與冒充者進(jìn)行通信。目前頻發(fā)的網(wǎng)絡(luò)詐騙,多數(shù)情況都是由于在網(wǎng)絡(luò)上不能鑒別出對(duì)方的真實(shí)身份。實(shí)體鑒別在對(duì)付主動(dòng)攻擊時(shí)是非常重要的。
4)不可否認(rèn)性
不可否認(rèn)性(Nonrepudiation)用來防止發(fā)送方或接收方否認(rèn)發(fā)送或接收過某信息。在電子商務(wù)中這是一種非常重要的安全服務(wù)。
5)訪問控制
訪問控制(Access Control)是指可以限制和控制不同實(shí)體對(duì)信息源或其他系統(tǒng)資源進(jìn)行訪問的能力。必須在鑒別實(shí)體身份的基礎(chǔ)上對(duì)實(shí)體的訪問權(quán)限進(jìn)行控制。
6)可用性
可用性(Availability)就是確保授權(quán)用戶能夠正常訪問系統(tǒng)信息和資源。很多攻擊都會(huì)導(dǎo)致系統(tǒng)可用性的損失,拒絕服務(wù)DoS攻擊就是可用性最直接的威脅。
2. 密碼學(xué)與保密性
密碼學(xué)是計(jì)算機(jī)網(wǎng)絡(luò)安全的基礎(chǔ)。
2.1 密碼學(xué)相關(guān)基本概念
將發(fā)送的數(shù)據(jù)變換成對(duì)任何不知道如何做逆變換的人都不可理解的形式,從而保證數(shù)據(jù)的機(jī)密性,這種變換稱為加密(Encryption)。
加密前的數(shù)據(jù)被稱為明文(Plaintext),而加密后的數(shù)據(jù)被稱為密文(Ciphertext)。
通過某種逆變換將密文重新變換回明文,這種逆變換稱為解密(Decryption)。
加密和解密過程可以使用一個(gè)密鑰(Key)作為參數(shù),密鑰必須保密,但加密和解密的過程可以公開。換句話說,只有知道密鑰的人才能解密密文,否則即使知道加密或解密算法也無法解密密文。
加密密鑰和解密密鑰可以相同,也可以不同(即使不同,這兩個(gè)密鑰也必然有某種相關(guān)性),這取決于采用的是對(duì)稱密鑰密碼體制還是公開密鑰(公鑰)密碼體制。
2.2 對(duì)稱密鑰密碼體制
對(duì)稱密鑰密碼體制是指加密密鑰與解密密鑰相同的密碼體制。由IBM公司研制并于1977年被美國(guó)定為聯(lián)邦信息標(biāo)準(zhǔn)的數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,DES),就是對(duì)稱密鑰密碼體制的典型代表。
2.2.1 DES的加密方法
在使用DES進(jìn)行加密前,先將整個(gè)明文劃分成若干個(gè)64比特長(zhǎng)的二進(jìn)制數(shù)據(jù)。然后對(duì)每一個(gè)64比特的數(shù)據(jù)采用64比特的密鑰(實(shí)際密鑰長(zhǎng)度為56比特,另外8比特作為奇偶校驗(yàn))進(jìn)行加密處理,產(chǎn)生一個(gè)64比特的密文數(shù)據(jù)。最后將各64比特的密文數(shù)據(jù)串接起來,就可得出整個(gè)密文。
2.2.2.三重DES
DES的保密性僅取決于對(duì)密鑰的保密和密鑰的長(zhǎng)度。20世紀(jì)70年代設(shè)計(jì)的DES,經(jīng)過了世界上無數(shù)優(yōu)秀學(xué)者幾十年的密碼分析,除了其56比特密鑰長(zhǎng)度太短,沒有發(fā)現(xiàn)其任何大的設(shè)計(jì)缺陷。
為了解決56比特DES密鑰太短的問題,學(xué)者們提出了三重DES(Triple DES,3DES)
對(duì)明文使用密鑰K1和DES算法進(jìn)行加密,將得到的密文使用密鑰K2和DES算法進(jìn)行解密,再將解密的結(jié)果使用密鑰K3和DES算法進(jìn)行加密,即可得到經(jīng)過3DES加密后的密文。
對(duì)密文使用密鑰K3和DES算法進(jìn)行解密,將解密的結(jié)果使用密鑰K2和DES算法進(jìn)行加密,再將加密的結(jié)果使用密鑰K1和DES算法進(jìn)行解密,即可得到經(jīng)過3DES解密后的明文。
2.3 公鑰密碼體制
在公鑰密碼體制中,加密密鑰是向公眾公開的,稱為公鑰(Public Key, PK)。而解密密鑰是需要保密的,稱為私鑰或密鑰(Secret Key,SK)。
公鑰密碼體制的特點(diǎn)如下:
- 發(fā)送方用PK對(duì)明文X加密后,在接收方用SK解密,即可恢復(fù)出明文。
- PK只能用來加密,而不能用來解密。
- 盡管在計(jì)算機(jī)上可以容易地產(chǎn)生成對(duì)的PK和SK,但從已知的PK是不可能推導(dǎo)出SK的,即從PK到SK是“計(jì)算上不可能的”。
- 加密算法和解密算法都是公開的。
由于從PK不能推導(dǎo)出SK,并且PK不能用來解密,因此PK可以是公開的。
公鑰密碼體制提出不久,研究人員就找到了三種公鑰密碼算法。公鑰密碼體制不僅用于加密,還可以很方便地用于鑒別和數(shù)字簽名。然而,目前的公鑰密碼算法比對(duì)稱密碼算法慢好幾個(gè)數(shù)量級(jí)。因此,公鑰密碼通常用于會(huì)話密鑰的建立,而對(duì)稱密碼被用于其他大多數(shù)情況下的加密。
用戶A與B要進(jìn)行加密通信。A首先選擇了一個(gè)用于加密數(shù)據(jù)并且與B共享的DES或AES密鑰(對(duì)稱密碼體制),由于該密鑰僅用于A和B之間的這次會(huì)話,因此被稱為會(huì)話密鑰。
為了讓B知道該會(huì)話密鑰,A必須將該會(huì)話密鑰通過秘密渠道告知B。為此,A用B的RSA公鑰(公鑰密碼體制)加密該會(huì)話密鑰后發(fā)送給B,B收到加密的會(huì)話密鑰后,就用自己的私鑰對(duì)其解密得到會(huì)話密鑰。此后,A與B之間就可以用該會(huì)話密鑰加密通信的數(shù)據(jù)。
3. 報(bào)文完整性與鑒別
如果報(bào)文被攻擊者篡改或偽造,則報(bào)文就不具備完整性。
對(duì)報(bào)文進(jìn)行完整性驗(yàn)證就是進(jìn)行報(bào)文鑒別,也就是鑒別報(bào)文的真?zhèn)巍?/p>
3.1 報(bào)文摘要和報(bào)文鑒別碼
3.1.1 報(bào)文摘要和報(bào)文鑒別碼簡(jiǎn)介
使用加密技術(shù)通常就可以達(dá)到報(bào)文鑒別的目的,因?yàn)楸淮鄹牡膱?bào)文解密后一般不能得到可理解的內(nèi)容。
然而,對(duì)于不需要保密而只需要報(bào)文鑒別的網(wǎng)絡(luò)應(yīng)用,對(duì)整個(gè)報(bào)文進(jìn)行加密和解密,會(huì)使計(jì)算機(jī)花費(fèi)相當(dāng)多的CPU時(shí)間。
使用報(bào)文摘要(Message Digest,MD)進(jìn)行報(bào)文鑒別是一種更有效的方法。
1)發(fā)送方對(duì)待發(fā)送的報(bào)文m(其長(zhǎng)度可變)進(jìn)行報(bào)文摘要算法,得出固定長(zhǎng)度的報(bào)文摘要,記為H(m)。然后使用密鑰K對(duì)H(m)進(jìn)行加密,得到加密后的報(bào)文摘要E(H(m)),并將E(H(m)附加在報(bào)文m的后面發(fā)送出去。
2)接收方收到后,使用密鑰K對(duì)E(H(m))進(jìn)行解密得到H(m),并把收到的報(bào)文進(jìn)行報(bào)文摘要運(yùn)算,如果運(yùn)算結(jié)果與H(m)相同,則可判定收到的報(bào)文就是發(fā)送方產(chǎn)生的報(bào)文m,否則可判定收到的報(bào)文不是發(fā)送方產(chǎn)生的報(bào)文m。
使用報(bào)文摘要的好處是,只對(duì)長(zhǎng)度固定且比整個(gè)報(bào)文長(zhǎng)度短得多的報(bào)文摘要H(m)進(jìn)行加密,比對(duì)整個(gè)報(bào)文m進(jìn)行加密簡(jiǎn)單得多。密鑰K僅在通信雙方之間共享,沒有第三方能用偽造報(bào)文產(chǎn)生出使用密鑰K加密的偽造報(bào)文摘要。
3.1.2 實(shí)用的報(bào)文摘要算法
最有名的報(bào)文摘要算法(密碼散列函數(shù)或稱散列算法)有MD5(Message Digest,MD-5)和安全散列算法1(Secure Hash Algorithm,SHA-1)。
3.1.2.1 MD5
MD5輸出128比特的摘要。MD5希望達(dá)到的設(shè)計(jì)目標(biāo)是,根據(jù)給定的MD5報(bào)文摘要,想要找出一個(gè)與原報(bào)文具有相同報(bào)文摘要的另一個(gè)報(bào)文,其難度在計(jì)算上幾乎是不可能的。
但在2004年,中國(guó)學(xué)者王小云發(fā)表了轟動(dòng)世界的密碼學(xué)論文,證明了可以用系統(tǒng)的方法找出一對(duì)報(bào)文,這對(duì)報(bào)文具有相同的MD5報(bào)文摘要,而這僅需要15分鐘至不到1小時(shí)的時(shí)間。這使得“密碼散列函數(shù)的逆變換是不可能的”這一傳統(tǒng)觀念受到了顛覆性的動(dòng)搖。之后,又有許多學(xué)者開發(fā)了對(duì)MD5的實(shí)際攻擊方法,這導(dǎo)致MD5最終被安全散列算法SHA-1所取代。
3.1.2.2 SHA
SHA是由美國(guó)標(biāo)準(zhǔn)與技術(shù)研究院NIST提出的一個(gè)散列算法系列。SHA-1輸出160比特的報(bào)文摘要,計(jì)算要比MD5慢一些。盡管SHA-1比MD5安全,但后來也被證明其實(shí)際安全性并未達(dá)到設(shè)計(jì)目標(biāo),并且也曾被王小云教授的研究團(tuán)隊(duì)攻破。
盡管現(xiàn)在SHA-1仍在使用,但很快就會(huì)被SHA-2和SHA-3所替代。
3.2 數(shù)字簽名
在計(jì)算機(jī)網(wǎng)絡(luò)中傳送的報(bào)文可以通過數(shù)字簽名(Digital Signature)來證明其真實(shí)來源。
數(shù)字簽名必須保證以下三點(diǎn):
1)接收方能夠核實(shí)發(fā)送方對(duì)報(bào)文的數(shù)字簽名。
2)包括接收方在內(nèi)的任何人都不能偽造對(duì)報(bào)文的數(shù)字簽名。
3)發(fā)送方事后不能抵賴對(duì)報(bào)文的數(shù)字簽名。
3.2.1 數(shù)字簽名的實(shí)現(xiàn)
現(xiàn)在已有多種實(shí)現(xiàn)數(shù)字簽名的方法。采用公鑰密碼算法比采用對(duì)稱密鑰密碼算法更容易實(shí)現(xiàn)數(shù)字簽名。
1)發(fā)送方A使用自己的私鑰SKA、(即解密密鑰)對(duì)報(bào)文m進(jìn)行解密運(yùn)算D。
2)A將經(jīng)過解密運(yùn)算D的結(jié)果D(即帶有數(shù)字簽名的報(bào)文m)發(fā)送給B。
3)B收到帶有數(shù)字簽名的報(bào)文D后,用A的公鑰PKA(即加密密鑰)對(duì)報(bào)文D進(jìn)行加密運(yùn)算E,就可得出原報(bào)文m。
由于除A外的其他任何人都沒有A的私鑰SKA,所以除A外沒有其他任何人能產(chǎn)生帶有數(shù)字簽名的報(bào)文,而任何偽造的報(bào)文經(jīng)過加密運(yùn)算后都不會(huì)得到可理解的內(nèi)容。因此,B就通過這種方式核實(shí)了報(bào)文m的確是A簽名發(fā)送的。
如果A要抵賴曾發(fā)送報(bào)文m給B,B可以把報(bào)文m和帶有數(shù)字簽名的報(bào)文出具給第三方。第三方很容易用A的公鑰PK,去證實(shí)A確實(shí)發(fā)送過報(bào)文m給B。
反之,若B把報(bào)文m1偽造成m2,則B不能在第三方前出示帶有數(shù)字簽名的報(bào)文,因?yàn)锽不可能具有A的私鑰SK。這樣就證明B偽造了報(bào)文。很顯然,數(shù)字簽名實(shí)現(xiàn)了對(duì)報(bào)文來源的鑒別。
由于公鑰密碼算法的計(jì)算代價(jià)非常高,對(duì)整個(gè)報(bào)文進(jìn)行數(shù)字簽名是一件非常耗時(shí)的事情,更有效的方法是僅對(duì)報(bào)文摘要進(jìn)行數(shù)字簽名。
3.2.2 具有保密性的數(shù)字簽名
之前介紹的數(shù)字簽名過程僅對(duì)報(bào)文m進(jìn)行了數(shù)字簽名,但對(duì)報(bào)文m本身并沒有保密。因?yàn)橹腊l(fā)送方A身份的任何人,通過查閱手冊(cè)就可獲得A的公鑰PK,這時(shí)截獲帶有數(shù)字簽名的報(bào)文后,就可得到報(bào)文m。如果采用具有保密性的數(shù)字簽名,就可以同時(shí)實(shí)現(xiàn)數(shù)字簽名和秘密通信。
4. 實(shí)體鑒別
實(shí)體鑒別就是通信雙方的一方驗(yàn)證另一方身份的技術(shù),常簡(jiǎn)稱為鑒別。
實(shí)體可以是人、客戶進(jìn)程以及服務(wù)器進(jìn)程等。
通信實(shí)體的鑒別通常是兩個(gè)通信實(shí)體之間傳輸實(shí)際數(shù)據(jù)之前或進(jìn)行訪問控制之前的必要過程,這是很多安全協(xié)議的重要組成部分。
實(shí)體鑒別的一種最簡(jiǎn)單方法就是使用用戶名和口令。
然而,直接在網(wǎng)絡(luò)中傳輸用戶名和口令會(huì)面臨安全威脅,因?yàn)橛脩裘涂诹羁赡軙?huì)被網(wǎng)絡(luò)上的攻擊者截獲,因此需要對(duì)用戶名和口令進(jìn)行加密。
如圖所示,攻擊者C可以從網(wǎng)絡(luò)中截獲A發(fā)送給B的加密報(bào)文,C并不需要對(duì)該報(bào)文進(jìn)行解密,而是以后把該報(bào)文發(fā)送給B,使B誤認(rèn)為C就是A。之后,B就向偽裝成A的C發(fā)送許多本來應(yīng)當(dāng)發(fā)送給A的報(bào)文,這就是重放攻擊(Replay Attack)。
為了應(yīng)對(duì)重放攻擊,可以使用不重?cái)?shù)。所謂“不重?cái)?shù)”,就是指一個(gè)不重復(fù)使用的大隨機(jī)數(shù),即“一次一數(shù)”。在實(shí)體鑒別過程中,不重?cái)?shù)可以使用戶把重復(fù)的實(shí)體鑒別請(qǐng)求和新的實(shí)體鑒別請(qǐng)求區(qū)分開。
1)用戶A首先給B發(fā)送一個(gè)報(bào)文,該報(bào)文包括A的用戶名和一個(gè)不重?cái)?shù)RA。
2)B收到后給A發(fā)送響應(yīng)報(bào)文,在該報(bào)文中用A和B共享的密鑰KAB。加密RA,并同時(shí)也給出自己的不重?cái)?shù)RB。
3)A收到后給B發(fā)送一個(gè)響應(yīng)報(bào)文,在該報(bào)文中用KAB加密RB。
這里的關(guān)鍵點(diǎn)是,A和B對(duì)不同的會(huì)話必須使用不同的不重?cái)?shù)集。由于不重?cái)?shù)不能重復(fù)使用,所以攻擊者在進(jìn)行重放攻擊時(shí)無法重復(fù)使用所截獲的不重?cái)?shù),因而就無法偽裝成A或B。這種使用不重?cái)?shù)進(jìn)行實(shí)體鑒別的協(xié)議又稱為挑戰(zhàn)-響應(yīng)(Challenge-Response)協(xié)議。同理,使用公鑰密碼體制也可以實(shí)現(xiàn)實(shí)體鑒別。通信雙方可以利用自己的私鑰將對(duì)方發(fā)來的不重?cái)?shù)進(jìn)行簽名,而用對(duì)方的公鑰來鑒別對(duì)方簽名的不重?cái)?shù),從而實(shí)現(xiàn)通信雙方的鑒別。
5. 密鑰分發(fā)
對(duì)稱密鑰密碼體制中通信雙方共享的密鑰是需要保密的,而公鑰密碼體制中的公鑰是公開的,但私鑰仍然需要保密。很顯然,密鑰系統(tǒng)的安全性完全依賴于對(duì)密鑰的安全保護(hù)。
密鑰分發(fā)是密鑰系統(tǒng)中一個(gè)非常重要的問題。密鑰必須通過安全的通路進(jìn)行分發(fā)。例如,可以通過非??煽康男攀箶y帶密鑰分發(fā)給相互通信的各用戶,這稱為網(wǎng)外分發(fā)。密鑰必須定期更換才能確保可靠。
然而,隨著網(wǎng)絡(luò)用戶的增多以及用戶間通信量的增大,通過信使分發(fā)密鑰的方法已不再適用。因此,必須解決網(wǎng)內(nèi)密鑰自動(dòng)分發(fā)的問題,即通過網(wǎng)絡(luò)自動(dòng)分發(fā)密鑰。
5.1 對(duì)稱密鑰的分發(fā)
對(duì)于對(duì)稱密鑰密碼體制,目前常用的密鑰分配方式是設(shè)立密鑰分配中心(KDC)。KDC是個(gè)公眾都信任的機(jī)構(gòu),其任務(wù)就是給需要進(jìn)行秘密通信的用戶臨時(shí)分配一個(gè)會(huì)話密鑰。
假設(shè)用戶A和B都是KDC的登記用戶,他們?cè)贙DC登記時(shí)就分別擁有了與KDC通信的主密鑰KA、和KB。用戶A和B通過KDC安全獲得他們之間共享的、用于一次會(huì)話的密鑰KAB的過程如下:
1)用戶A向KDC發(fā)送報(bào)文(無須加密),說明自己想與用戶B通信。在該報(bào)文中給出A和B在KDC登記的身份。
2)KDC收到A發(fā)來的報(bào)文后,用隨機(jī)數(shù)產(chǎn)生一個(gè)“一次一密”的會(huì)話密鑰KAB。供A和B的一次會(huì)話使用。之后,KDC構(gòu)建一個(gè)準(zhǔn)備向A發(fā)送的回答報(bào)文。在該報(bào)文中包含有會(huì)話密鑰KAB、和需要由A轉(zhuǎn)發(fā)給B的一個(gè)票據(jù)(ticket),該票據(jù)的內(nèi)容為A和B在KDC登記的身份,以及A和B這次會(huì)話將要使用的密鑰KAB。KDC用B的主密鑰KB。加密票據(jù),由于A并沒有B的主密鑰KB,因此A無法知道該票據(jù)的內(nèi)容,實(shí)際上A也無須知道該票據(jù)的內(nèi)容。KDC構(gòu)建好準(zhǔn)備向A發(fā)送的回答報(bào)文后,使用A的主密鑰KA對(duì)該報(bào)文加密后發(fā)送給A。
3)A收到KDC發(fā)來的加密報(bào)文后,用自己的主密鑰KA,對(duì)其解密,就可得到由KDC分發(fā)的用于自己與B進(jìn)行一次會(huì)話的密鑰KAB,以及需要轉(zhuǎn)發(fā)給B的加密票據(jù)。于是A將加密票據(jù)轉(zhuǎn)發(fā)給B,B收到后用自己的主密鑰KB。對(duì)其進(jìn)行解密后,就知道A要與自己進(jìn)行通信,同時(shí)也知道了KDC為這次自己與A通信所分配的會(huì)話密鑰KAB。此后,A和B就可以使用會(huì)話密鑰KAB進(jìn)行這次通信了。
5.2 公鑰的分發(fā)
我們知道,公鑰密碼體制中的公鑰是公開的,而私鑰是用戶私有的(保密的),如果每個(gè)用戶都知道其他用戶的公鑰,用戶之間就可以實(shí)現(xiàn)安全通信。然而,如果通過網(wǎng)絡(luò)來隨意公布用戶的公鑰,會(huì)面臨極大的安全風(fēng)險(xiǎn)。
這需要有一個(gè)值得信賴的機(jī)構(gòu)將公鑰與其對(duì)應(yīng)的實(shí)體(人或機(jī)器)進(jìn)行綁定(binding)。這種機(jī)構(gòu)被稱為認(rèn)證中心(Certification Authority,CA),一般由政府出資建立。
需要發(fā)布公鑰的用戶可以讓CA為其公鑰簽發(fā)一個(gè)證書(Certifcate),證書中包含有公鑰及其擁有者的身份標(biāo)識(shí)信息(人名、公司名或IP地址等)。
CA必須首先核實(shí)用戶真實(shí)身份,然后為用戶產(chǎn)生公鑰-私鑰對(duì)并生成證書,最后用CA的私鑰對(duì)證書進(jìn)行數(shù)字簽名。該證書就可以通過網(wǎng)絡(luò)發(fā)送給任何希望與該證書擁有者通信的實(shí)體,也可將該證書存放在服務(wù)器由其他用戶自由下載。
任何人都可從可信的地方(例如代表政府的報(bào)紙)獲取CA的公鑰,并用這個(gè)公鑰來驗(yàn)證某個(gè)證書的真?zhèn)?。一旦證書被鑒別是真實(shí)的,則可以相信證書中的公鑰確實(shí)屬于證書中聲稱的用戶。
如果全世界僅使用一個(gè)CA來簽發(fā)證書,則會(huì)出現(xiàn)負(fù)載過重和單點(diǎn)故障等問題。因特網(wǎng)采用的是[RFC5280]給出的、在全球范圍內(nèi)為所有因特網(wǎng)用戶提供證書的簽發(fā)與認(rèn)證服務(wù)的公鑰基礎(chǔ)結(jié)構(gòu)(Public Key Infrastructure,PKI)。
下級(jí)CA的證書由上級(jí)CA簽發(fā)和認(rèn)證。頂級(jí)的根CA能驗(yàn)證所有1級(jí)CA的證書,1級(jí)CA可以在一個(gè)很大的地理區(qū)域或邏輯區(qū)域內(nèi)運(yùn)作,而2級(jí)CA可以在一個(gè)相對(duì)較小的區(qū)域內(nèi)運(yùn)作。
所有用戶都信任頂級(jí)的根CA,但可以信任也可以不信任中間的CA。用戶可以在自己信任的CA獲取個(gè)人證書,當(dāng)要驗(yàn)證來自不信任CA簽發(fā)的證書時(shí),需要到上一級(jí)CA驗(yàn)證該證書的真?zhèn)?,如果上一?jí)CA也不可信則需要到更上一級(jí)CA進(jìn)行驗(yàn)證,一一直追溯到可信任的一級(jí)CA。這一過程最終有可能會(huì)追溯到頂級(jí)的根CA。
6. 訪問控制
6.1 訪問控制的基本概念
用戶要訪問某信息系統(tǒng),通常需要經(jīng)過的第一道安全防線就是身份鑒別,身份鑒別可以將未授權(quán)用戶隔離在信息系統(tǒng)之外。當(dāng)用戶經(jīng)過身份鑒別通過第一道安全防線進(jìn)入系統(tǒng)后,并不能毫無限制地訪問系統(tǒng)中的任意資源,而只能訪問授權(quán)范圍內(nèi)的資源,這就是訪問控制(Access Control)。
訪問控制可被看作信息系統(tǒng)的第二道安全防線,對(duì)進(jìn)入系統(tǒng)的合法用戶進(jìn)行訪問權(quán)限控制。
對(duì)合法用戶訪問權(quán)限的授予一般遵循最小特權(quán)原則。所謂“最小特權(quán)”,就是指能夠滿足用戶完成工作所需的權(quán)限,用戶不會(huì)被賦予超出其實(shí)際需求的權(quán)限。最小特權(quán)原則可以有效防范合法用戶濫用權(quán)限所帶來的安全風(fēng)險(xiǎn)。
訪問控制包含以下基本要素:
- 主體(Subject):是指訪問活動(dòng)的發(fā)起者,可以是某個(gè)用戶,也可以是代表用戶執(zhí)行操作的進(jìn)程、服務(wù)和設(shè)備等。
- 客體(Object):是指訪問活動(dòng)中被訪問的對(duì)象。凡是可以被操作的信息、文件、設(shè)備、服務(wù)等資源都可以認(rèn)為是客體。
- 訪問(Access):是指對(duì)客體(被訪問的對(duì)象)的各種操作類型。例如創(chuàng)建、讀取、修改、刪除、執(zhí)行、發(fā)送、接收等操作。不同的系統(tǒng)有不同的訪問類型。
- 訪問策略:是訪問控制的核心,訪問控制根據(jù)訪問策略限制主體對(duì)客體的訪問。訪問控制策略可用三元組(S、O、P)來描述,其中S表示主體,O表示客體,P表示許可(Permission)。許可P明確了允許主體S對(duì)客體0所進(jìn)行的訪問類型。訪間策略通常存儲(chǔ)在系統(tǒng)的授權(quán)服務(wù)器中。
上圖給出了著名的訪問監(jiān)控器(Reference Monitor)模型。按照訪問監(jiān)控器模型的描述,當(dāng)系統(tǒng)中出現(xiàn)訪問請(qǐng)求時(shí),訪問監(jiān)控器對(duì)訪問請(qǐng)求進(jìn)行裁決,它向授權(quán)服務(wù)器進(jìn)行查詢,根據(jù)授權(quán)服務(wù)器中存儲(chǔ)的訪問策略決定主體對(duì)客體的訪問是否被允許。
在訪問監(jiān)控器模型中有一個(gè)負(fù)責(zé)審計(jì)的模塊,它是訪問控制的必要補(bǔ)充。審計(jì)模塊會(huì)記錄與訪問有關(guān)的各類信息,包括主體、客體、訪問類型、訪間時(shí)間以及訪問是否被允許等信息。系統(tǒng)管理員通過查看審計(jì)記錄,就可以詳細(xì)了解系統(tǒng)中訪問活動(dòng)的具體情況,主要包括以下三方面的情況:
- 哪些主體對(duì)哪些資源的訪問請(qǐng)求被拒絕。主體發(fā)出大量違規(guī)的訪問請(qǐng)求,這往往是攻擊和破壞活動(dòng)的征兆,需要引起特別的關(guān)注。
- 訪問策略是否得到了嚴(yán)格執(zhí)行。如果訪問規(guī)則在配置或執(zhí)行過程中存在失誤,一些違反訪問策略的訪問請(qǐng)求可能被許可。通過查看審計(jì)記錄可以發(fā)現(xiàn)此類情況,以便及時(shí)修正。
- 提供訪問活動(dòng)的證據(jù),為事后追查和追責(zé)提供依據(jù)。
6.2 訪問控制策略
典型的訪問控制策略可分為三類:自主訪問控制、強(qiáng)制訪問控制和基于角色的訪問控制。
6.2.1 自主訪問控制策略
自主訪問控制(Discretionary Access Control,DAC)策略中“自主”的意思是客體的擁有者可以自主地決定其他主體對(duì)其擁有的客體所進(jìn)行訪問的權(quán)限。
這種訪問控制策略具有很強(qiáng)的靈活性,然而也有其明顯的缺陷,即權(quán)限管理過于分散,容易出現(xiàn)漏洞,并且無
法有效控制被攻擊主體破壞系統(tǒng)安全性的行為。
木馬程序利用自主訪問控制策略的上述缺陷,可以很容易地破壞系統(tǒng)的安全性。例如,用戶A對(duì)文件門具有讀權(quán)限。攻擊者B為了非法獲取該文件,編寫了一個(gè)木馬程序,并誘騙用戶A運(yùn)行了該木馬程序。木馬程序獲得用戶A的訪問權(quán)限,能夠讀取文件f的內(nèi)容,并將這些內(nèi)容寫入到新創(chuàng)建的文件中,然后用戶A將文件的讀取權(quán)限授予攻擊者B,這樣攻擊者B就可以非法讀取到文件的內(nèi)容了。
自主訪問控制策略的最大特點(diǎn)是“自主”,也就是資源的擁有者對(duì)資源的訪問策略具有決策權(quán),因此是一種限制比較弱的訪問控制策略。這種訪問控制策略給用戶帶來靈活性的同時(shí),也帶來了安全隱患。
6.2.2 強(qiáng)制訪問控制策略
強(qiáng)制訪間控制(Mandatory Access Control,MAC)策略與自主訪問控制策略不同,它不允許一般的主體進(jìn)行訪問權(quán)限的設(shè)置。在強(qiáng)制訪問控制策略中,主體和客體被賦予一定的安全級(jí)別。通常只有系統(tǒng)的安全管理員可以進(jìn)行安全級(jí)別的設(shè)定,而普通用戶不能改變自己或任何客體的安全級(jí)別。
系統(tǒng)通過比較主體和客體的安全級(jí)別來決定某個(gè)主體是否能夠訪問某個(gè)客體。
在強(qiáng)制訪問控制策略中廣泛使用以下兩項(xiàng)原則:
- “下讀”原則:主體的安全級(jí)別必須高于或等于被讀客體的安全級(jí)別,主體讀取客
體的訪問活動(dòng)才能被允許。 - “上寫”原則:主體的安全級(jí)別必須低于或等于被寫客體的安全級(jí)別,主體寫客體
的訪問活動(dòng)才能被允許。
“下讀”和“上寫”原則限制了信息只能由低級(jí)別的對(duì)象流向高級(jí)別或同級(jí)別的對(duì)象,這樣能夠有效防止木馬等惡意程序的竊密攻擊。
例如,用戶A的安全級(jí)別高于文件f1,而用戶B的安全級(jí)別低于文件f1,因此用戶A可以讀取文件f1,而用戶B卻不能讀取文件f1。即使用戶A運(yùn)行了用戶B編寫的木馬程序,但由于該木馬程序具有與用戶A同樣的安全級(jí)別,雖然木馬程序可以讀取文件f1,卻不能將文件f1的安全級(jí)別修改成用戶B可讀的安全級(jí)別,也無法將其內(nèi)容寫入到安全級(jí)別比用戶A低的文件中。因此,用戶B無法讀取到文件f1中的信息。
6.2.3 基于角色的訪問控制策略
基于角色的訪問控制(Role Based Access Control,RBAC)策略,其目的在于降低安全管理的復(fù)雜度。用戶在實(shí)際工作中所承擔(dān)的角色,往往決定了在信息系統(tǒng)中應(yīng)為該用戶賦予怎樣的訪問權(quán)限。
RBAC的核心思想是,根據(jù)安全策略劃分不同的角色,用戶不再直接與許可關(guān)聯(lián),而是通過角色與許可關(guān)聯(lián)。
在RBAC中,一個(gè)用戶可以擁有多個(gè)角色,一個(gè)角色也可以賦予多個(gè)用戶;一個(gè)角色可以擁有多種許可,一種許可也可以分配給多個(gè)角色。許可指明了對(duì)某客體可以進(jìn)行的訪問類型。
角色與許可之間的關(guān)系比角色與用戶的關(guān)系要更加穩(wěn)定,當(dāng)一個(gè)用戶的職責(zé)發(fā)生變化或需要為一個(gè)新的用戶授權(quán)時(shí),只要修改或設(shè)置用戶的角色即可。很顯然,將用戶和訪問權(quán)限通過角色進(jìn)行邏輯隔離能夠減小授權(quán)的復(fù)雜性,增強(qiáng)權(quán)限的可管理性,減少因授權(quán)失誤導(dǎo)致安全漏洞的風(fēng)險(xiǎn)。
7. 網(wǎng)絡(luò)體系結(jié)構(gòu)各層采取的安全措施
7.1 物理層安全實(shí)例:信道加密
在物理層實(shí)現(xiàn)通信數(shù)據(jù)的保密性和完整性的方法是對(duì)信道進(jìn)行加密。
對(duì)信道進(jìn)行加密需要使用信道加密機(jī)。信道加密機(jī)位于通信節(jié)點(diǎn)(例如路由器)前端(按數(shù)據(jù)流動(dòng)方向),它將通信節(jié)點(diǎn)發(fā)送的所有數(shù)據(jù)都進(jìn)行加密處理,然后再發(fā)送到物理鏈路上。
使用信道加密技術(shù)可為通過鏈路的所有數(shù)據(jù)提供安全保護(hù),并且對(duì)上層協(xié)議幾乎沒有任何影響(也就是具有很好的透明性)。
由于鏈路上傳送的各種協(xié)議數(shù)據(jù)單元(PDU)的首部和數(shù)據(jù)載荷都被加密了,PDU的截獲者無法從PDU中提取源地址和目的地址,因此可以防止各種形式的流量分析。由于信道加密機(jī)完全使用硬件加密技術(shù),因此加密和解密速度快,并且無須傳送額外的數(shù)據(jù),采用該技術(shù)不會(huì)減少網(wǎng)絡(luò)的有效帶寬。
一般情況下,網(wǎng)絡(luò)的源點(diǎn)和終點(diǎn)在物理上都可以確保安全,但是所有的中間節(jié)點(diǎn)(可能經(jīng)過的路由器)則未必都是安全的。因此,在網(wǎng)絡(luò)互聯(lián)的情況下,信道加密這種僅用于保護(hù)網(wǎng)絡(luò)局部鏈路通信安全的技術(shù)就不能確保端到端通信的安全了。在實(shí)際應(yīng)用中,通常只在容易被竊聽的無線鏈路(例如衛(wèi)星鏈路)上,或軍用網(wǎng)絡(luò)等專用網(wǎng)絡(luò)的通信鏈路所在不安全區(qū)域的部分使用信道加密技術(shù)。
7.2 數(shù)據(jù)鏈路層安全實(shí)例:802.11i
隨著802.11無線局域網(wǎng)的廣泛應(yīng)用,其安全問題越來越受到關(guān)注。我們知道,在無線通信方式下,電磁波在自由空間輻射傳播,任何無線終端都可在無線接入點(diǎn)的信號(hào)覆蓋范圍內(nèi)接收其無線信號(hào)。若不采取相應(yīng)的安全措施,任何無線終端都可以接入到網(wǎng)絡(luò)中,進(jìn)而竊聽網(wǎng)絡(luò)通信或非法使用網(wǎng)絡(luò)資源。
因此802.11無線局域網(wǎng)的安全問題就顯得尤為重要。802.11無線局域網(wǎng)主要在數(shù)據(jù)鏈路層為用戶提供安全服務(wù)。
除了無線終端和接入點(diǎn)AP,802.11i還定義了一種鑒別服務(wù)器(Authentication Server,AS)。AP可與AS進(jìn)行通信。將AS從AP分離出來的目的在于可使一臺(tái)AS服務(wù)于多臺(tái)AP,集中在一臺(tái)AS中處理鑒別和接入,可以降低AP的復(fù)雜性和成本。
在802.11i中,無線終端與AP之間建立安全通信的過程包含四個(gè)階段:
1)安全性能力發(fā)現(xiàn)階段:在安全性能力發(fā)現(xiàn)階段,AP會(huì)向其信號(hào)覆蓋范圍內(nèi)的無線終端,通告其所能提供的鑒別和加密方式。各無線終端收到后,可請(qǐng)求各自所期望的特定的鑒別和加密方式。盡管在上述過程中無線終端已經(jīng)與AP交換了報(bào)文,但此階段無線終端還沒有被鑒別,也沒有獲得用于數(shù)據(jù)通信的加密密鑰。
2)相互鑒別和主密鑰生成階段:相互鑒別發(fā)生在無線終端和AS之間。在相互鑒別的過程中,AP僅在無線終端和AS之間轉(zhuǎn)發(fā)報(bào)文,也就是僅起到通信中繼的作用。無線終端與AS之間的雙向鑒別過程使用由擴(kuò)展的鑒別協(xié)議(Extensible Authentication Protocol,EAP)[RFC2284]所定義的一種端到端的報(bào)文格式。在EAP中,AS可以選擇多種鑒別方式中的任何一種來執(zhí)行鑒別,主要利用公鑰加密技術(shù)(包括不重?cái)?shù)加密和報(bào)文摘要)在某個(gè)無線終端和AS之間進(jìn)行相互鑒別,并生成雙方共享的一個(gè)主密鑰(Master Key,MK)。
3)成對(duì)主密鑰生成階段:除了在上一個(gè)階段所生成的由某個(gè)無線終端和AS之間共享的MK,該無線終端與AS彼此之間還要再生成一個(gè)密鑰,稱為成對(duì)主密鑰(Pairwise Master Key,PMK)。PMK由無線終端和AP共同使用。AS將PMK發(fā)送給AP,這時(shí)該無線終端和AP就具有了一個(gè)共享的密鑰,并彼此相互鑒別。
4)臨時(shí)密鑰生成階段:使用上一階段獲得的PMK,該無線終端和AP可以生成用于加密通信的臨時(shí)密鑰(Temporal Key,TK)。TK被用于經(jīng)無線鏈路向任意遠(yuǎn)程主機(jī)發(fā)送數(shù)據(jù)的鏈路級(jí)的數(shù)據(jù)加密。
IEEE 802.11i提供了多種加密形式,其中包含WEP加密的強(qiáng)化版本臨時(shí)密鑰完整性協(xié)議(Temporal Key Integrity Protocol,TKIP)和基于高級(jí)加密標(biāo)準(zhǔn)(AES)的加密方案。考慮到不同用戶和不同應(yīng)用的安全需要,例如企業(yè)用戶需要很高的企業(yè)級(jí)安全保護(hù),而家庭用戶往往只是使用網(wǎng)絡(luò)來瀏覽網(wǎng)頁(yè)、收發(fā)電子郵件等,對(duì)安全保護(hù)的要求相對(duì)較低。為了滿足不同用戶的需求,IEEE802.11i規(guī)定了以下兩種應(yīng)用模式:
- 企業(yè)模式:使用AS和復(fù)雜的安全鑒別機(jī)制來保護(hù)無線網(wǎng)絡(luò)的通信安全。
- 家庭模式:也稱個(gè)人模式(包括小型辦公室),在AP或無線路由器上以及無線終端上配置預(yù)設(shè)共享密鑰(Pre-Shared Key,PSK)來保護(hù)無線網(wǎng)絡(luò)的通信安全。
7.3 網(wǎng)絡(luò)層安全實(shí)例:IPSec
7.3.1 IPSec協(xié)議族概述
IPSec是“IPSecurity”(IP安全)的縮寫,它是為因特網(wǎng)網(wǎng)際層提供安全服務(wù)的協(xié)議族(也有人不太嚴(yán)格地稱其為“IPSec協(xié)議”)[RFC 4301,RFC6071]。IPSec并不限定用戶使用何種特定的加密和鑒別算法,通信雙方可以選擇合適的算法和參數(shù)(例如,密鑰長(zhǎng)度)。為了保證互操作性,IPSec還包含了一套加密算法,所有IPSec的實(shí)現(xiàn)都必須使用。
IPSec包含兩種不同的工作方式:運(yùn)輸方式和隧道方式
運(yùn)輸方式(Transport Mode)下IP安全數(shù)據(jù)報(bào)的封裝方式:IPSec將運(yùn)輸層向下交付給網(wǎng)際層的運(yùn)輸層報(bào)文添加IPSec首部和尾部,之后網(wǎng)際層再為其添加一個(gè)IP首部,使之成為IP安全數(shù)據(jù)報(bào)。
隧道方式(Tunnel Mode)下IP安全數(shù)據(jù)報(bào)的封裝方式:IPSec給原始IP數(shù)據(jù)報(bào)添加IPSec首部和尾部,之后網(wǎng)際層再為其添加一個(gè)新的IP首部,使之成為IP安全數(shù)據(jù)報(bào)。
無論使用上述哪種方式,所封裝出的IP交全數(shù)據(jù)報(bào)的首部都是不加密的。這是為了使因特網(wǎng)中的各路由器能夠識(shí)別IP安全數(shù)據(jù)報(bào)首部中的相關(guān)信息,進(jìn)而可以將IP安全數(shù)據(jù)報(bào)在不安全的因特網(wǎng)中從源點(diǎn)安全地轉(zhuǎn)發(fā)到終點(diǎn)。所謂“IP安全數(shù)據(jù)報(bào)”是指數(shù)據(jù)報(bào)的數(shù)據(jù)載荷是經(jīng)過加密并能夠被鑒別的。
7.3.2 安全關(guān)聯(lián)
7.3.2.1 在路由器之間建立安全關(guān)聯(lián)
在使用隧道方式傳送IP安全數(shù)據(jù)報(bào)之前,應(yīng)當(dāng)首先為通信雙方建立一條網(wǎng)際層的邏輯連接(即安全隧道),稱為安全關(guān)聯(lián)(Security Association,SA)。這樣,傳統(tǒng)因特網(wǎng)無連接的網(wǎng)際層就變成了具有邏輯連接的一個(gè)層。
例如,某個(gè)公司有一個(gè)總部和一個(gè)在外地的分公司。總部需要與分公司進(jìn)行雙向安全通信,還要與各地出差的n個(gè)員工進(jìn)行雙向安全通信。在這種情況下,總部與分公司需要2條SA(用于雙向安全通信),n個(gè)員工每個(gè)都需要與總部建立2條SA,因此共需要建立(2+2n)條SA。IP安全數(shù)據(jù)報(bào)就是在這些SA中傳送的。
路由器R1和R2分別是公司總部和分公司的防火墻中的路由器,它們各自負(fù)責(zé)為其所在部門收發(fā)IP數(shù)據(jù)報(bào)。因此公司總部與分公司之間的SA可以建立在R1和R2之間?,F(xiàn)假定公司總部中的主機(jī)A要給分公司中的主機(jī)B通過因特網(wǎng)中已建立好的SA發(fā)送IP安全數(shù)據(jù)報(bào),具體過程如下:
1)主機(jī)A給B發(fā)送的IP數(shù)據(jù)報(bào)必須首先經(jīng)過路由器R1。
2)R1對(duì)該數(shù)據(jù)報(bào)進(jìn)行IPSec加密并為其添加一個(gè)新的IP首部,使之成為IP安全數(shù)據(jù)報(bào)。
3)IP安全數(shù)據(jù)報(bào)經(jīng)過因特網(wǎng)中多個(gè)路由器的轉(zhuǎn)發(fā)后到達(dá)路由器R2。
4)R2對(duì)IP安全數(shù)據(jù)報(bào)進(jìn)行IPSec解密,還原出原始的IP數(shù)據(jù)報(bào),并將其直接交付給主機(jī)B。
從邏輯上看,IP安全數(shù)據(jù)報(bào)在SA中的傳送,就好像通過一條安全的隧道。
如果公司總部中的主機(jī)A和C進(jìn)行通信,由于都在公司內(nèi)部而不需要經(jīng)過不安全的因特網(wǎng),因此不需要建立SA。主機(jī)A發(fā)送的IP數(shù)據(jù)報(bào)只需通過路由器R1轉(zhuǎn)發(fā)一次就可傳送給主機(jī)C。如果主機(jī)A想要上網(wǎng)瀏覽一些新聞,也不需要建立SA,只需通過路由器R1收發(fā)普通的IP數(shù)據(jù)報(bào)即可。
7.3.2.2 在路由器和主機(jī)之間建立SA
上圖給出了公司總部中的主機(jī)A要和正在外地出差的某個(gè)員工的主機(jī)B進(jìn)行安全通信的情況。在這種情況下,公司總部中的路由器R1與外地員工的主機(jī)B之間需要建立SA,之后主機(jī)A發(fā)送IP數(shù)據(jù)報(bào)給主機(jī)B,具體過程如下:
1)主機(jī)A發(fā)送的IP數(shù)據(jù)報(bào)經(jīng)過路由器R1的IPSec處理后就變成了IP安全數(shù)據(jù)報(bào)。
2)IP安全數(shù)據(jù)報(bào)經(jīng)過因特網(wǎng)中多個(gè)路由器的轉(zhuǎn)發(fā),最終到達(dá)主機(jī)B。
3)主機(jī)B中的IPSec對(duì)IP安全數(shù)據(jù)報(bào)進(jìn)行鑒別和解密,還原出主機(jī)A發(fā)送的原始IP數(shù)
從邏輯上看,IP安全數(shù)據(jù)報(bào)是在路由器R1和員工的主機(jī)B之間的安全隧道中傳送的。
建立SA的路由器或主機(jī),需要維護(hù)這條SA的狀態(tài)信息,包括如下項(xiàng)目:
- 一個(gè)32位的連接標(biāo)識(shí)符,稱為安全參數(shù)索引(Security Parameter Index,SPI)。
- SA的源點(diǎn)和終點(diǎn)的IP地址(即路由器R1和主機(jī)B的IP地址)。
- 所使用的加密類型(例如DES或AES)。
- 加密的密鑰。
- 完整性檢查的類型(例如,使用報(bào)文摘要MD5或SHA-1的報(bào)文鑒別碼MAC)。
- 鑒別使用的密鑰。
當(dāng)路由器R1要通過SA傳送IP安全數(shù)據(jù)報(bào)時(shí),首先需要讀取SA的上述狀態(tài)信息,以便知道應(yīng)當(dāng)如何加密和鑒別IP數(shù)據(jù)報(bào)。
7.4 運(yùn)輸層安全實(shí)例:SSL/TLS
現(xiàn)在廣泛使用的運(yùn)輸層安全協(xié)議有以下兩個(gè):
- 安全套接字層(Secure Socket Layer,SSL)
- 運(yùn)輸層安全(Transport Layer Security,TLS)
SSL作用于端系統(tǒng)應(yīng)用層中的HTTP和運(yùn)輸層中的TCP之間,在TCP連接之上建立起一個(gè)安全通道,為通過TCP連接傳輸?shù)膽?yīng)用層報(bào)文提供安全服務(wù)。
1995年,SSL由因特網(wǎng)工程任務(wù)組(IETF)進(jìn)行了標(biāo)準(zhǔn)化。IETF在SSL3.0的基礎(chǔ)上設(shè)計(jì)了TLS協(xié)議,為所有基于TCP連接的網(wǎng)絡(luò)應(yīng)用提供安全數(shù)據(jù)傳輸服務(wù)。
SSL/TLS作用于TCP/IP體系結(jié)構(gòu)的應(yīng)用層與運(yùn)輸層之間。在應(yīng)用層中使用SSL/TLS最多的協(xié)議是HTTP(但不限于HTTP,IMAP也可使用)。
當(dāng)使用瀏覽器查看普通網(wǎng)站的網(wǎng)頁(yè)時(shí),HTTP直接使用TCP連接,這時(shí)SSL不起作用。但使用瀏覽器進(jìn)行網(wǎng)上購(gòu)物時(shí),支持SSL的購(gòu)物網(wǎng)站的Web服務(wù)器,會(huì)提供使用SSL的安全網(wǎng)頁(yè),瀏覽器訪問這種網(wǎng)頁(yè)時(shí)就需要使用SSL協(xié)議。這時(shí),HTTP會(huì)調(diào)用SSL對(duì)整個(gè)網(wǎng)頁(yè)進(jìn)行加密。在瀏覽器地址欄原來顯示http的地方,現(xiàn)在變成了https,表明現(xiàn)在使用的是提供安全服務(wù)的HTTPS。
SSL提供以下三種安全服務(wù):
- SSL服務(wù)器鑒別:支持SSL的客戶端通過驗(yàn)證來自服務(wù)器的證書,來鑒別服務(wù)器的真實(shí)身份并獲得服務(wù)器的公鑰。
- SSL客戶鑒別:用于服務(wù)器證實(shí)客戶的身份,這是SSL的可選安全服務(wù)。
- 加密的SSL會(huì)話:加密客戶和服務(wù)器之間傳送的所有報(bào)文,并檢測(cè)報(bào)文是否被篡改。
7.5 應(yīng)用層安全實(shí)例:PGP
PGP(Pretty Good Privacy)是已被廣泛應(yīng)用的,為電子郵件提供加密、鑒別、電子簽名和壓縮等技術(shù)的電子郵件安全軟件包。
PGP為電子郵件用戶提供保密性、完整性、發(fā)件人鑒別和不可否認(rèn)性四種安全服務(wù)。PGP并沒有使用什么新的概念,它使用對(duì)稱密鑰和公鑰的組合進(jìn)行加密,為電子郵件提供保密性,通過報(bào)文摘要和數(shù)字簽名技術(shù)為電子郵件提供完整性和不可否認(rèn)性。需要說明的是,盡管PGP已被廣泛使用(電子郵件的事實(shí)上的標(biāo)準(zhǔn)),但PGP并不是因特網(wǎng)的正式標(biāo)準(zhǔn)。
假設(shè)用戶A給B發(fā)送電子郵件的明文為X,要使用PGP來確保該郵件的安全。用戶A有三個(gè)密鑰:用戶A自己的私鑰、用戶A自己生成的一次性密鑰以及用戶B的公鑰。用戶B有兩個(gè)密鑰,分別是用戶B自己的私鑰和用戶A的公鑰。
用戶A(郵件發(fā)送方)的PGP處理過程具體解釋如下:
1)用散列函數(shù)(例如MD5運(yùn)算)得到明文郵件X的報(bào)文摘要H。用A自己的私鑰對(duì)H進(jìn)行數(shù)字簽名,得出報(bào)文鑒別碼(MAC)。將MAC拼接在X后面,得到擴(kuò)展的郵件(X,MAC)。
2)使用A自己生成的一次性密鑰對(duì)擴(kuò)展的郵件(X,MAC)進(jìn)行加密。
3)使用B的公鑰對(duì)A生成的一次性密鑰進(jìn)行加密。
4)把加密后的一次性密鑰和加密后的擴(kuò)展的郵件發(fā)送給B。
用戶B(郵件接收方)收到A發(fā)來的、加密后的一次性密鑰,以及加密后的擴(kuò)展的郵件后,PGP處理過程具體解釋如下:
1)將加密后的一次性密鑰與加密后的擴(kuò)展的郵件分開。
2)用B自己的私鑰解密出A生成的一次性密鑰。
3)用一次性密鑰對(duì)擴(kuò)展的郵件進(jìn)行解密,并從解密后的結(jié)果(X,MAC))中分離出郵件
4)用A的公鑰對(duì)MAC進(jìn)行鑒別(即簽名核實(shí)),得出報(bào)文摘要H。該報(bào)文摘要就是A原先用明文郵件X通過散列函數(shù)生成的那個(gè)報(bào)文摘要。
5)用散列函數(shù)對(duì)分離出的明文郵件X生成另一個(gè)報(bào)文摘要H,將H與之前得出的H進(jìn)行比較。若相同,則對(duì)郵件的發(fā)送方的鑒別就通過了,并且郵件的完整性也得到肯定。
8. 防火墻訪問控制與入侵檢測(cè)系統(tǒng)
盡管之前介紹的網(wǎng)絡(luò)各層面的安全機(jī)制,可為網(wǎng)絡(luò)提供保密性、報(bào)文完整性、實(shí)體鑒別和不可否認(rèn)性等基本的安全服務(wù),但仍無法應(yīng)對(duì)以下安全問題:
- 非法用戶利用系統(tǒng)漏洞進(jìn)行未授權(quán)登錄。
- 授權(quán)用戶非法獲取更高級(jí)別的權(quán)限。
- 通過網(wǎng)絡(luò)傳播病毒、蠕蟲和特洛伊木馬。
- 阻止合法用戶正常使用服務(wù)的拒絕服務(wù)攻擊。
為了降低上述安全威脅所帶來的安全風(fēng)險(xiǎn),可以使用防火墻來嚴(yán)格控制出入網(wǎng)絡(luò)邊界的分組,禁止任何不必要的通信,從而減少入侵的發(fā)生。由于防火墻不可能阻止所有入侵行為,可使用入侵檢測(cè)系統(tǒng)作為第二道防線,通過對(duì)進(jìn)入網(wǎng)絡(luò)的分組進(jìn)行檢測(cè)與深度分析,來發(fā)現(xiàn)疑似入侵行為的網(wǎng)絡(luò)活動(dòng),并進(jìn)行報(bào)警以便進(jìn)一步采取相應(yīng)措施。
8.1防火墻
防火墻(Firewall)屬于一種訪問控制技術(shù),具體實(shí)現(xiàn)為一種可編程的特殊路由器,它把一個(gè)單位(機(jī)構(gòu)或公司)的內(nèi)部網(wǎng)絡(luò)與其他網(wǎng)絡(luò)(一般為因特網(wǎng))進(jìn)行安全隔離。
根據(jù)防火墻中配置的訪問控制策略,某些分組允許通過防火墻,而某些分組則被禁止通過。訪向控制策略由使用防火墻的單位根據(jù)自己的安全需要自行制定。
防火墻位于因特網(wǎng)和內(nèi)部網(wǎng)絡(luò)之間。防火墻的外面為因特網(wǎng),防火墻的里面為內(nèi)部網(wǎng)絡(luò)。一般把防火墻里面的網(wǎng)絡(luò)稱為“可信網(wǎng)絡(luò)”(Trusted Network),而把防火墻外面的網(wǎng)絡(luò)稱為“不可信網(wǎng)絡(luò)”(Untrusted Network)。
8.1.1 防火墻設(shè)備
實(shí)現(xiàn)防火墻技術(shù)的設(shè)備一般有兩種:分組過濾路由器和應(yīng)用網(wǎng)關(guān)。
8.1.1.1 分組過濾路由器
分組過濾路由器是一種具有分組過濾功能的路由器,它根據(jù)所配置的分組過濾規(guī)則對(duì)出入內(nèi)部網(wǎng)絡(luò)的分組執(zhí)行轉(zhuǎn)發(fā)或丟棄(即分組過濾)。
分組過濾規(guī)則所采用的各參數(shù)來自分組的網(wǎng)際層和/或運(yùn)輸層首部中的某些字段的值,例如,網(wǎng)際層的源IP地址和目的IP地址、運(yùn)輸層的源端口和目的端口以及協(xié)議類型(TCP或UDP)等。
我們知道,TCP/IP應(yīng)用層中的FTP使用運(yùn)輸層TCP的端口號(hào)為21(用于控制連接),如果在分組過濾規(guī)則中配置一條“將目的端口號(hào)為21的出分組(Outgoing Packet)進(jìn)行阻攔”的規(guī)則,則本單位可信網(wǎng)絡(luò)中的用戶將無法從不可信的因特網(wǎng)中的所有FTP服務(wù)器下載文件。
通常,分組過濾規(guī)則以訪問控制列表(Access Control List,ACL)的形式存儲(chǔ)在分組過濾路由器中,網(wǎng)絡(luò)管理人員可以通過命令行或圖形界面來配置ACL中的規(guī)則。
上圖給出了一個(gè)簡(jiǎn)單的ACL例子,規(guī)則1和2使得內(nèi)網(wǎng)中的主機(jī)可以訪問因特網(wǎng)中的各種Web服務(wù)器;規(guī)則3和4使得因特網(wǎng)中的主機(jī)可以訪問內(nèi)網(wǎng)中IP地址為192.168.1.252的電子郵件服務(wù)器;規(guī)則5則禁止因特網(wǎng)中IP地址為211.67.230.1的主機(jī)訪問內(nèi)網(wǎng)中的任何主機(jī)。
上述ACL所進(jìn)行的分組過濾是無狀態(tài)的,也就是獨(dú)立地處理每一個(gè)分組。功能更強(qiáng)的分組過濾路由器還支持有狀態(tài)的分組過濾,也就是要跟蹤每個(gè)連接或會(huì)話的通信狀態(tài),并根據(jù)這些狀態(tài)信息來決定是否轉(zhuǎn)發(fā)分組。
從以上介紹可以看出,分組過濾路由器簡(jiǎn)單高效,對(duì)用戶是透明的(用戶感覺不到分組過濾路由器的存在)。然而,分組過濾路由器不能對(duì)應(yīng)用層數(shù)據(jù)進(jìn)行過濾。例如,不能禁止某個(gè)用戶對(duì)某個(gè)特定網(wǎng)絡(luò)應(yīng)用進(jìn)行某個(gè)特定的操作,也不支持應(yīng)用層用戶鑒別等。這些功能需要使用應(yīng)用網(wǎng)關(guān)來實(shí)現(xiàn)。
8.1.1.2 應(yīng)用網(wǎng)關(guān)
應(yīng)用網(wǎng)關(guān)又稱為代理服務(wù)器(Proxy Server),它可以實(shí)現(xiàn)應(yīng)用層數(shù)據(jù)的過濾和高層用戶的鑒別。所有出入網(wǎng)絡(luò)的應(yīng)用報(bào)文都必須通過應(yīng)用網(wǎng)關(guān)。當(dāng)用戶通過應(yīng)用網(wǎng)關(guān)訪問內(nèi)網(wǎng)或外網(wǎng)資源時(shí),應(yīng)用網(wǎng)關(guān)可以要求用戶進(jìn)行身份鑒別,然后根據(jù)用戶身份對(duì)用戶做出相應(yīng)的訪問控制。
當(dāng)某個(gè)網(wǎng)絡(luò)應(yīng)用的客戶進(jìn)程向服務(wù)器發(fā)送一個(gè)請(qǐng)求報(bào)文時(shí),該報(bào)文會(huì)被首先傳送給應(yīng)用網(wǎng)關(guān),應(yīng)用網(wǎng)關(guān)解析該報(bào)文,根據(jù)該報(bào)文中的應(yīng)用層用戶標(biāo)識(shí)或其他應(yīng)用層信息來判斷該請(qǐng)求是否滿足安全要求。如果滿足安全要求,則應(yīng)用網(wǎng)關(guān)會(huì)以客戶進(jìn)程的身份將該請(qǐng)求報(bào)文轉(zhuǎn)發(fā)給服務(wù)器。如果不滿足安全要求,則應(yīng)用網(wǎng)關(guān)會(huì)丟棄該請(qǐng)求報(bào)文。例如,某種郵件網(wǎng)關(guān)在收到郵件時(shí),除了檢查郵件地址,還會(huì)檢查其內(nèi)容是否包含有禁用的敏感詞,最終決定該郵件是否能通過郵件網(wǎng)關(guān)。
應(yīng)用網(wǎng)關(guān)也有一些局限:
- 每種網(wǎng)絡(luò)應(yīng)用都需要一個(gè)專用的應(yīng)用網(wǎng)關(guān)。當(dāng)然,多個(gè)不同的應(yīng)用網(wǎng)關(guān)可以運(yùn)行在同一臺(tái)主機(jī)上。
- 在應(yīng)用層處理和轉(zhuǎn)發(fā)報(bào)文,處理負(fù)擔(dān)較重。
- 應(yīng)用網(wǎng)關(guān)對(duì)應(yīng)用程序是不透明的,用戶需要在應(yīng)用程序客戶端指明應(yīng)用網(wǎng)關(guān)的地址。
通??蓪⒎纸M過濾路由器和應(yīng)用網(wǎng)關(guān)這兩種防火墻技術(shù)結(jié)合使用。
8.1.2 個(gè)人防火墻
之前介紹的防火墻又稱為網(wǎng)絡(luò)防火墻,其任務(wù)是保護(hù)內(nèi)部網(wǎng)絡(luò)的安全,主要由網(wǎng)絡(luò)管理員進(jìn)行配置和使用,普通的網(wǎng)絡(luò)用戶較少接觸。
對(duì)于普通網(wǎng)絡(luò)用戶,使用更多的是個(gè)人防火墻(一般操作系統(tǒng)都自帶功能較弱的防火墻)。
個(gè)人防火墻是一種安裝在用戶計(jì)算機(jī)中的應(yīng)用程序,它對(duì)用戶計(jì)算機(jī)的網(wǎng)絡(luò)通信行為進(jìn)行監(jiān)控。很顯然,個(gè)人防火墻不同于網(wǎng)絡(luò)防火墻,個(gè)人防火墻僅保護(hù)單臺(tái)計(jì)算機(jī),并且由用戶為其配置分組過濾規(guī)則,由于比較簡(jiǎn)單,一般無須網(wǎng)絡(luò)管理員配置。
個(gè)人防火墻根據(jù)用戶配置的分組過濾規(guī)則,允許或拒絕網(wǎng)絡(luò)通信。
8.1.3 防火墻的局限性
盡管防火墻提高了內(nèi)部網(wǎng)絡(luò)的安全防護(hù)程度,但是它并不能解決所有的網(wǎng)絡(luò)安全問題,主要有以下局限:
1)對(duì)防火墻的配置是否正確和完善,在很大程度上決定了防火墻可以發(fā)揮的安全防護(hù)作用。
2)防火墻對(duì)惡意代碼(病毒、木馬等)的查殺能力非常有限,因此不能有效地防止惡意代碼通過網(wǎng)絡(luò)的傳播。這是因?yàn)椴闅阂獯a的計(jì)算開銷非常大,若提高防火墻的查殺力度,則會(huì)降低防火墻的處理速度,進(jìn)而降低用戶的網(wǎng)絡(luò)帶寬。
3)防火墻對(duì)于一些利用系統(tǒng)漏洞或網(wǎng)絡(luò)協(xié)議漏洞進(jìn)行的攻擊是無法防范的。攻擊者通過分組過濾規(guī)則中允許的端口對(duì)某個(gè)服務(wù)器的漏洞進(jìn)行攻擊,這對(duì)于一般的分組過濾路由器是無法防護(hù)的,即使使用應(yīng)用網(wǎng)關(guān),也必須具有能夠識(shí)別該特定漏洞的應(yīng)用網(wǎng)關(guān)才能阻斷攻擊。
4)防火墻技術(shù)自身存在不足。例如,分組過濾路由器不能防止IP地址和端口號(hào)欺騙,而應(yīng)用軟件自身也可能有軟件漏洞而存在被滲透攻擊的風(fēng)險(xiǎn)。
8.2 入侵檢測(cè)系統(tǒng)
入侵檢測(cè)系統(tǒng)(Intrusion Detection System,IDS)是在入侵已經(jīng)開始但還未造成危害或在造成更大危害之前,及時(shí)檢測(cè)到入侵并盡快阻止入侵的一種技術(shù)。
IDS對(duì)出入網(wǎng)絡(luò)的分組執(zhí)行深度檢查,當(dāng)檢查到可疑分組時(shí),會(huì)及時(shí)向網(wǎng)絡(luò)管理員發(fā)出警報(bào)或進(jìn)行阻斷。由于IDS的誤報(bào)率較高,因此一般情況下不建議對(duì)可疑分組進(jìn)行自動(dòng)阻斷。
IDS能夠檢測(cè)端口掃描、拒絕服務(wù)DoS攻擊、網(wǎng)絡(luò)映射、惡意代碼(蠕蟲和病毒)、系統(tǒng)漏洞攻擊等多種網(wǎng)絡(luò)攻擊。
IDS一般分為兩種:基于特征的入侵檢測(cè)系統(tǒng)和基于異常的入侵檢測(cè)系統(tǒng)。
8.2.1 基于特征的入侵檢測(cè)系統(tǒng)
基于特征的入侵檢測(cè)系統(tǒng)需要維護(hù)一個(gè)已知各類攻擊的標(biāo)志性特征的數(shù)據(jù)庫(kù)。
每個(gè)標(biāo)志性特征就是一個(gè)與某種入侵活動(dòng)相關(guān)聯(lián)的行為模式或規(guī)則集,這些規(guī)則可能基于單個(gè)分祖的首部字段值或數(shù)據(jù)載荷中特定的比特串,又或者與一系列分組有關(guān)。
當(dāng)IDS檢測(cè)到與某種攻擊特征匹配的分組或分組序列時(shí),就判斷可能出現(xiàn)了某種入侵行為。
被用于入侵檢測(cè)的標(biāo)志性特征必須具有很好的區(qū)分度,也就是說這種標(biāo)志性特征只出現(xiàn)在攻擊活動(dòng)中,而在系統(tǒng)正常運(yùn)行的過程中通常不會(huì)出現(xiàn)。因此,這些標(biāo)志性特征一般由網(wǎng)絡(luò)安全專家提供,由單位的網(wǎng)絡(luò)管理員定制并將其加入到數(shù)據(jù)庫(kù)中。
很顯然,基于特征的IDS只能檢測(cè)已知攻擊,對(duì)于未知攻擊則無法防范。
8.2.2 基于異常的入侵檢測(cè)系統(tǒng)
基于異常的入侵檢測(cè)系統(tǒng)通過觀察正常運(yùn)行的網(wǎng)絡(luò)流量來學(xué)習(xí)正常網(wǎng)絡(luò)流量的統(tǒng)計(jì)特性和規(guī)律。
當(dāng)IDS檢測(cè)到網(wǎng)絡(luò)流量的某種統(tǒng)計(jì)規(guī)律不符合正常情況時(shí),則判斷可能發(fā)生了入侵行為。然而,區(qū)分正常流量和統(tǒng)計(jì)異常流量是非常困難的?,F(xiàn)在很多研究致力于將機(jī)器學(xué)習(xí)方法應(yīng)用于入侵檢測(cè),讓機(jī)器自動(dòng)學(xué)習(xí)某種網(wǎng)絡(luò)攻擊的特征或正常流量的模式。
這種智能的方法可以大大減小對(duì)網(wǎng)絡(luò)安全專家的依賴。目前,大多數(shù)部署的IDS主要是基于特征的,有些IDS中也包含了某些基于異常的特征。
漏報(bào)率和誤報(bào)率是衡量IDS效能的重要依據(jù)。如果漏報(bào)率比較高,則只能檢測(cè)到少量入侵,給人以安全的假象。對(duì)于特定的IDS,可以通過調(diào)整某些參數(shù)或閾值來降低漏報(bào)率,然而這同時(shí)會(huì)增大誤報(bào)率。誤報(bào)率太大會(huì)導(dǎo)致大量的虛假警報(bào),網(wǎng)絡(luò)管理員需要花費(fèi)大量時(shí)間分析警報(bào)信息,甚至?xí)驗(yàn)樘摷倬瘓?bào)太多而對(duì)警報(bào)“視而不見”,使IDS形同虛設(shè)。
9. 常見的網(wǎng)絡(luò)攻擊及其防范
9.1 網(wǎng)絡(luò)掃描
網(wǎng)絡(luò)掃描是獲取攻擊目標(biāo)信息的一種重要技術(shù)。攻擊目標(biāo)信息包括目的主機(jī)的IP地址、操作系統(tǒng)類型、運(yùn)行的程序及存在的漏洞等。在進(jìn)行網(wǎng)絡(luò)攻擊之前,對(duì)攻擊目標(biāo)的信息掌握得越全面和具體,就越能有效合理地制定出攻擊策略和攻擊方法,進(jìn)而提高網(wǎng)絡(luò)攻擊的成功率。
9.1.1 網(wǎng)絡(luò)掃描的四種主要類型
網(wǎng)絡(luò)掃描主要有四種類型:主機(jī)發(fā)現(xiàn)、端口掃描、操作系統(tǒng)檢測(cè)和漏洞掃描。
9.1.1.1 主機(jī)發(fā)現(xiàn)
主機(jī)發(fā)現(xiàn)是指搜索要攻擊的主機(jī),這是對(duì)其進(jìn)行攻擊的前提。搜索要攻擊的主機(jī),實(shí)際上是要確定該目標(biāo)主機(jī)的IP地址。
進(jìn)行主機(jī)發(fā)現(xiàn)的主要方法是利用網(wǎng)際控制報(bào)文協(xié)議(ICMP)。我們知道,運(yùn)行TCP/IP協(xié)議棧的每臺(tái)主機(jī)(和路由器)都運(yùn)行了ICMP。攻擊者向主機(jī)發(fā)送ICMP查詢報(bào)文,則主機(jī)會(huì)用ICMP應(yīng)答報(bào)文進(jìn)行響應(yīng),這樣攻擊者就知道了該主機(jī)正在運(yùn)行。攻擊者可以利用ping命令(應(yīng)用層直接利用網(wǎng)際層ICMP實(shí)現(xiàn)的連通性測(cè)試工具)對(duì)某個(gè)IP地址范圍內(nèi)的所有IP地址進(jìn)行連通性測(cè)試,來發(fā)現(xiàn)正在運(yùn)行的目標(biāo)主機(jī)。
為了防范ping掃描,可以配置防火墻不允許通過ICMP查詢報(bào)文,也可以配置主機(jī)(或服務(wù)器或路由器)對(duì)ICMP查詢報(bào)文不進(jìn)行響應(yīng)。
針對(duì)防火墻對(duì)ICMP查詢報(bào)文進(jìn)行阻斷的情況,攻擊者可能會(huì)向目標(biāo)主機(jī)故意發(fā)送首部有錯(cuò)誤的IP數(shù)據(jù)報(bào),當(dāng)目標(biāo)主機(jī)收到這種IP數(shù)據(jù)報(bào)時(shí)會(huì)向攻擊者發(fā)送ICMP差錯(cuò)報(bào)告報(bào)文。一般情況下,防火墻不會(huì)阻斷ICMP差錯(cuò)報(bào)告報(bào)文,否則目標(biāo)主機(jī)將失去進(jìn)行ICMP差錯(cuò)報(bào)告的功能,而影響正常的網(wǎng)絡(luò)通信。
9.1.1.2 端口掃描
在進(jìn)行主機(jī)發(fā)現(xiàn)確定了要攻擊的目標(biāo)主機(jī)后,攻擊者可以進(jìn)一步通過端口掃描來獲取目標(biāo)主機(jī)上所有端口的工作狀態(tài),進(jìn)而得出目標(biāo)主機(jī)上開放了哪些網(wǎng)絡(luò)服務(wù)。例如HTTP服務(wù)使用TCP的80端口,而DNS服務(wù)使用UDP的51端口。
由于活躍的TCP端口會(huì)對(duì)收到的TCP連接請(qǐng)求報(bào)文進(jìn)行響應(yīng),因此攻擊者可以通過嘗試與某個(gè)目的端口建立TCP連接,來檢測(cè)該TCP端口是否處于工作狀態(tài)。
對(duì)于無連接的UDP,攻擊者向某個(gè)目的端口發(fā)送UDP用戶數(shù)據(jù)報(bào),如果該目的端口處于工作狀態(tài),則會(huì)收到該UDP用戶數(shù)據(jù)報(bào),由于該UDP用戶數(shù)據(jù)報(bào)是攻擊者發(fā)送的,其內(nèi)容一般不可能滿足接收方的要求,因此接收方不會(huì)做出任何響應(yīng)。但如果該目的端口處于關(guān)閉狀態(tài),則目標(biāo)主機(jī)會(huì)給攻擊者發(fā)送“端口不可達(dá)”的ICMP差錯(cuò)報(bào)告報(bào)文,攻擊者收到ICMP差錯(cuò)報(bào)告報(bào)文后就可推斷出該UDP端口處于關(guān)閉狀態(tài)。
9.1.1.3 操作系統(tǒng)檢測(cè)
不同的操作系統(tǒng)所存在的安全漏洞可能有很多不同。要利用這些安全漏洞進(jìn)行攻擊,首先必須檢測(cè)遠(yuǎn)程目標(biāo)主機(jī)所使用的操作系統(tǒng)類型,通常有三種方法:
- 獲取操作系統(tǒng)旗標(biāo)(Banner)信息:在客戶機(jī)與服務(wù)器建立連接的過程中,服務(wù)器往往會(huì)返回各種獨(dú)特的歡迎信息。攻擊者可根據(jù)這些信息來推斷出服務(wù)器的操作系統(tǒng)類型。
- 獲取主機(jī)端口狀態(tài)信息:操作系統(tǒng)通常會(huì)默認(rèn)開啟一些常用的網(wǎng)絡(luò)服務(wù),這些服務(wù)會(huì)打開各自特定的端口進(jìn)行網(wǎng)絡(luò)監(jiān)聽。而不同操作系統(tǒng)默認(rèn)開啟的網(wǎng)絡(luò)服務(wù)可能不同,因此可對(duì)目標(biāo)主機(jī)進(jìn)行端口掃描,根據(jù)端口掃描結(jié)果來推斷目標(biāo)主機(jī)的操作系統(tǒng)類型。
- 分析TCP/IP協(xié)議棧指紋:盡管RFC文檔嚴(yán)格規(guī)定了各種協(xié)議的三要素(語(yǔ)法、語(yǔ)義和同步),但RFC并沒有規(guī)定各種協(xié)議的具體實(shí)現(xiàn)。同一個(gè)協(xié)議在不同操作系統(tǒng)中的實(shí)現(xiàn)細(xì)節(jié)可能會(huì)有所不同,通過分析協(xié)議數(shù)據(jù)單元或協(xié)議交互過程中的這些細(xì)節(jié),可以推斷出目標(biāo)主機(jī)的操作系統(tǒng)類型。
9.1.1.4 漏洞掃描
利用操作系統(tǒng)檢測(cè)和端口掃描,可以獲知目標(biāo)主機(jī)上運(yùn)行的操作系統(tǒng)類型和網(wǎng)絡(luò)應(yīng)用服務(wù)。根據(jù)操作系統(tǒng)類型和網(wǎng)絡(luò)應(yīng)用服務(wù),可在網(wǎng)絡(luò)安全機(jī)構(gòu)提供的漏洞庫(kù)中查找匹配的漏洞,然后根據(jù)不同漏洞的具體細(xì)節(jié)向目標(biāo)主機(jī)發(fā)送探測(cè)分組,并從返回的結(jié)果進(jìn)一步判斷目標(biāo)主機(jī)是否存在可利用的漏洞。
上述過程屬于攻擊者基于網(wǎng)絡(luò)的漏洞掃描,而用戶自己可以進(jìn)行基于主機(jī)的漏洞掃描,以便及時(shí)修補(bǔ)漏洞。顯然,漏洞掃描對(duì)于用戶和攻擊者都有重要意義。
9.1.2 網(wǎng)絡(luò)掃描的防范
為了防范上述各種類型的網(wǎng)絡(luò)掃描,可以采取以下主要措施:
- 僅打開確實(shí)需要使用的端口,關(guān)閉閑置和危險(xiǎn)端口。
- 限制因特網(wǎng)(不可信網(wǎng)絡(luò))中的主機(jī)主動(dòng)與內(nèi)部網(wǎng)絡(luò)(可信網(wǎng)絡(luò))中的主機(jī)進(jìn)行通信。
- 設(shè)置防火墻,根據(jù)安全要求設(shè)置分組過濾策略(例如過濾不必要的ICMP報(bào)文)。
- 使用入侵檢測(cè)系統(tǒng)及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)掃描行為和攻擊者IP地址,配置防火墻對(duì)來自該地址的分組進(jìn)行阻斷。
網(wǎng)絡(luò)掃描的行為特征是比較明顯的,例如,在短時(shí)間內(nèi)對(duì)某一IP地址范圍內(nèi)的每個(gè)地址和端口發(fā)起連接等。
目前,大部分防火墻都具有識(shí)別簡(jiǎn)單的網(wǎng)絡(luò)掃描行為的功能。然而,很多攻擊者也在研究如何隱蔽自己的網(wǎng)絡(luò)攻擊行為,例如,利用虛假源地址、減緩掃描速度、動(dòng)態(tài)調(diào)整掃描順序、分布式掃描等。這些對(duì)防火墻和IDS都提出了更高的要求。
9.2 網(wǎng)絡(luò)監(jiān)聽
9.2.1 網(wǎng)絡(luò)監(jiān)聽的常見類型
網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)大部分都是明文形式。如果攻擊者對(duì)網(wǎng)絡(luò)進(jìn)行監(jiān)聽并截獲了包含有大量明文信息的一系列分組,則可從這些分組中直接分析出賬號(hào)、密碼等敏感信息。
常見的網(wǎng)絡(luò)監(jiān)聽類型有:分組嗅探器、交換機(jī)毒化攻擊和ARP欺騙。
9.2.1.1 分組嗅探器
分組嗅探器(Packet Sniffer)是一種網(wǎng)絡(luò)監(jiān)聽工具軟件,它運(yùn)行在網(wǎng)絡(luò)中的某臺(tái)主機(jī)上,被動(dòng)接收所有出入該主機(jī)的網(wǎng)絡(luò)適配器(網(wǎng)卡)的數(shù)據(jù)鏈路層協(xié)議單元(即幀)。
如果將網(wǎng)絡(luò)適配器配置為混雜方式,網(wǎng)絡(luò)適配器就會(huì)接收所有進(jìn)入自己接口的MAC幀,而不管這些幀的目的MAC地址是否指向該網(wǎng)絡(luò)適配器。
對(duì)于使用集線器互連的共享式局域網(wǎng)(或802.11無線局域網(wǎng)),只要分組嗅探器軟件所在主機(jī)中的網(wǎng)絡(luò)適配器設(shè)置為混雜方式,就可以監(jiān)聽到網(wǎng)絡(luò)中的所有分組。然而,現(xiàn)在的局域網(wǎng)基本上都是采用交換機(jī)互連而成的交換式以太網(wǎng),如果網(wǎng)絡(luò)中的以太網(wǎng)交換機(jī)已經(jīng)通過被動(dòng)自學(xué)習(xí)知道了網(wǎng)絡(luò)中各主機(jī)與交換機(jī)自身各接口的對(duì)應(yīng)關(guān)系,則各主機(jī)通常只能接收到發(fā)送給自己的單播幀或廣播幀。這樣該網(wǎng)絡(luò)中某主機(jī)中的分組嗅探器就只能收到發(fā)送給該主機(jī)的分組,而無法收到其他分組。
為了能夠捕獲到網(wǎng)絡(luò)中的其他分組就必須采用一些特殊手段,例如交換機(jī)毒化攻擊和ARP欺騙。
9.2.1.2 交換機(jī)毒化攻擊
在使用以太網(wǎng)交換機(jī)的交換式以太網(wǎng)中,攻擊者向以太網(wǎng)交換機(jī)發(fā)送大量的偽造不同源MAC地址的幀。以太網(wǎng)交換機(jī)收到這樣的幀進(jìn)行自學(xué)習(xí),就把幀首部中偽造的源MAC地址寫入自己的轉(zhuǎn)發(fā)表中。由于這種偽造源MAC幀的數(shù)量巨大,因此很快就會(huì)使以太網(wǎng)交換機(jī)的轉(zhuǎn)發(fā)表填滿,使得真正需要保存的MAC地址被更新淘汰。此時(shí),如果交換機(jī)收到正常的單播幀,由于在交換機(jī)的轉(zhuǎn)發(fā)表中找不到這些單播幀的目的MAC地址,交換機(jī)就不得不廣播這些單播幀。這樣,網(wǎng)絡(luò)中某主機(jī)中的分組嗅探器就能監(jiān)聽到網(wǎng)絡(luò)中其他主機(jī)間的通信了。
9.2.1.3 ARP欺騙
從ARP的工作原理可知,ARP存在ARP欺騙的問題。
- 攻擊者C希望監(jiān)聽主機(jī)A和B之間的通信。于是C向A發(fā)送ARP報(bào)文,聲稱自己是B;而同時(shí)又向B發(fā)送ARP報(bào)文,聲稱自己是A。
2)主機(jī)A和B就都被攻擊者C欺騙了,A誤認(rèn)為C就是B,B誤認(rèn)為C就是A。
3)主機(jī)A發(fā)送給B的分組就會(huì)發(fā)送給攻擊者C,C收到后再轉(zhuǎn)發(fā)給B。
4)主機(jī)B發(fā)送給A的分組也會(huì)發(fā)送給攻擊者C,C收到后再轉(zhuǎn)發(fā)給A。
5)主機(jī)A和B之間的通信完全被攻擊者C監(jiān)聽,而A和B卻不知道C的存在。
實(shí)際上,ARP欺騙是之前曾介紹過的中間人攻擊。設(shè)想一下,如果網(wǎng)絡(luò)中的所有主機(jī)都被攻擊者進(jìn)行了ARP欺騙,則攻擊者就將自己偽裝成了路由器,從而可以監(jiān)聽到網(wǎng)絡(luò)中的所有通信,這對(duì)網(wǎng)絡(luò)安全造成了極大的危害。
9.2.2 網(wǎng)絡(luò)監(jiān)聽的防范
為了防范上述各種類型的網(wǎng)絡(luò)監(jiān)聽,可以采取以下主要措施:
1)使用交換機(jī)替代集線器,這不但可以提高網(wǎng)絡(luò)性能,還能使攻擊者在交換機(jī)環(huán)境中更難實(shí)施監(jiān)聽。目前,大多數(shù)交換機(jī)都具備一些安全功能。例如防止交換機(jī)毒化攻擊。
2)禁用交換機(jī)的自學(xué)習(xí)功能,將IP地址、MAC地址與交換機(jī)的接口進(jìn)行靜態(tài)綁定,這樣可以限制非法主機(jī)的接入,使攻擊者無法實(shí)施交換機(jī)毒化攻擊,也使ARP欺騙難以實(shí)施。
3)對(duì)于ARP欺騙,主機(jī)或路由器可以僅使用靜態(tài)ARP表,而不再依據(jù)ARP請(qǐng)求報(bào)文或響應(yīng)報(bào)文動(dòng)態(tài)更新。
4)劃分VLAN以限制攻擊者的監(jiān)聽范圍,因?yàn)榉纸M嗅探只能在單個(gè)局域網(wǎng)范圍內(nèi)進(jìn)行。
5)防范網(wǎng)絡(luò)監(jiān)聽的最有效的方法是進(jìn)行數(shù)據(jù)加密和實(shí)體鑒別技術(shù)。
9.3 拒絕服務(wù)攻擊
9.3.1 拒絕服務(wù)攻擊的常見類型
拒絕服務(wù)(DoS)攻擊,它是最容易實(shí)現(xiàn)卻又最難防范的攻擊手段。
常見的DoS攻擊類型有:基于漏洞的DoS攻擊、基于資源消耗的DoS攻擊和分布式DoS攻擊。
9.3.1.1 基于漏洞的DoS攻擊
基于漏洞的DoS攻擊主要利用網(wǎng)絡(luò)協(xié)議漏洞或操作系統(tǒng)漏洞。攻擊者向目標(biāo)系統(tǒng)發(fā)送一些特殊分組,使目標(biāo)系統(tǒng)在處理這些分組時(shí)出現(xiàn)異常,甚至崩潰。這種攻擊又稱為劇毒包或殺手包(Killer Packet)攻擊。
著名的“死亡之ping”攻擊就屬于基于漏洞的DoS攻擊,其基本原理是攻擊者向目標(biāo)系統(tǒng)發(fā)送超長(zhǎng)的ICMP回送請(qǐng)求報(bào)文,致使將其封裝成IP數(shù)據(jù)報(bào)后,IP數(shù)據(jù)報(bào)的長(zhǎng)度超過了RFC標(biāo)準(zhǔn)中規(guī)定的最大長(zhǎng)度(65535字節(jié)),目標(biāo)系統(tǒng)在接收這種IP數(shù)據(jù)報(bào)時(shí)會(huì)發(fā)生內(nèi)存分配錯(cuò)誤,導(dǎo)致堆棧崩潰,系統(tǒng)死機(jī)。
防范基于漏洞的DoS攻擊的最有效方法就是及時(shí)為操作系統(tǒng)更新安全漏洞補(bǔ)丁。
9.3.1.2 基于資源消耗的DoS攻擊
基于資源消耗的DoS攻擊是DoS攻擊中采用最多的一種攻擊。攻擊者通過向目標(biāo)系統(tǒng)發(fā)送大量的分組,從而耗盡目標(biāo)系統(tǒng)的資源,致使目標(biāo)系統(tǒng)崩潰而無法向正常用戶提供服務(wù)。
“TCP SYN洪泛”攻擊就是一種典型的基于資源消耗的DoS攻擊。攻擊者偽造大量不同的IP地址,并以這些IP地址向目標(biāo)TCP服務(wù)器發(fā)送大量的TCP連接請(qǐng)求報(bào)文(即TCP SYN報(bào)文)。目標(biāo)TCP服務(wù)器不能區(qū)分正常的TCP連接請(qǐng)求報(bào)文和惡意的TCP連接請(qǐng)求報(bào)文,只能為每個(gè)TCP連接請(qǐng)求建立TCP連接,為其分配緩存等相關(guān)資源,并向這些偽造的IP地址發(fā)送TCP連接請(qǐng)求確認(rèn)報(bào)文段(即TCPSYN+ACK報(bào)文段)進(jìn)行響應(yīng)。然而,攻擊者并不會(huì)對(duì)TCP連接請(qǐng)求確認(rèn)報(bào)文段發(fā)送普通的確認(rèn)報(bào)文段(即TCPACK報(bào)文段)進(jìn)行響應(yīng),這樣就無法完成TCP建立連接的“三報(bào)文握手”過程。其結(jié)果就是導(dǎo)致TCP服務(wù)器維護(hù)大量未完成的TCP連接,當(dāng)這些半連接的數(shù)量超過了系統(tǒng)允許的上限時(shí),系統(tǒng)就不會(huì)再接受任何TCP連接請(qǐng)求。這將導(dǎo)致TCP服務(wù)器無法為正??蛻籼峁┓?wù)。
與“TCPSYN洪泛”攻擊思想類似的另一種攻擊方法,就是向目標(biāo)主機(jī)發(fā)送大量的屬于不同IP數(shù)據(jù)報(bào)的分片,但是不會(huì)發(fā)送完構(gòu)成任何一個(gè)IP數(shù)據(jù)報(bào)的所有分片。這將導(dǎo)致目標(biāo)主機(jī)一直緩存已收到的部分分片,并一直等待收齊一個(gè)IP數(shù)據(jù)報(bào)的所有分片。很顯然,這將耗費(fèi)目標(biāo)主機(jī)越來越多的系統(tǒng)緩存,直到系統(tǒng)崩潰。
還有一種被稱為反射攻擊的間接攻擊方法,例如Smurf攻擊。Smurf攻擊是一種病毒攻擊,以最初發(fā)動(dòng)這種攻擊的程序“Smurf”來命名。攻擊主機(jī)向其所在網(wǎng)絡(luò)發(fā)送大量ICMP回送請(qǐng)求報(bào)文,封裝該請(qǐng)求報(bào)文的IP數(shù)據(jù)報(bào)的目的IP地址為該網(wǎng)絡(luò)的廣播地址,而源地址被偽造成被攻擊的目標(biāo)主機(jī)的IP地址,這將導(dǎo)致該網(wǎng)絡(luò)中的所有主機(jī)作為反射節(jié)點(diǎn),將ICMP回送回答報(bào)文作為響應(yīng)都發(fā)往被攻擊的目標(biāo)主機(jī)。這可能會(huì)引起網(wǎng)絡(luò)擁塞或?qū)е履繕?biāo)主機(jī)崩潰而無法對(duì)外提供服務(wù)。很顯然,反射攻擊具有放大攻擊流量的功能,因?yàn)楣粽甙l(fā)送的一個(gè)分組經(jīng)網(wǎng)絡(luò)中所有其他主機(jī)的反射后將變成多個(gè)分組,網(wǎng)絡(luò)中的主機(jī)越多,這種放大效果越好。
9.3.1.3 分布式DoS攻擊
我們知道,基于資源消耗的DoS攻擊需要攻擊者向目標(biāo)主機(jī)發(fā)送大量的分組,然而單靠一個(gè)攻擊源一般很難到達(dá)效果。在分布式DoS(DDoS)攻擊中,攻擊者會(huì)首先通過嗅探口令、漏洞滲透、木馬等非法入侵手段來控制因特網(wǎng)上的大量主機(jī),然后在每個(gè)被控制的主機(jī)中安裝并運(yùn)行一個(gè)惡意從屬程序,該惡意從屬程序靜默等待攻擊者的主控程序的指令。當(dāng)被控主機(jī)達(dá)到一定數(shù)量后,攻擊者就通過主控程序向這些被控主機(jī)中的惡意從屬程序發(fā)出攻擊指令,指示這些惡意從屬程序同時(shí)向目標(biāo)系統(tǒng)發(fā)起DoS攻擊。這種DDoS攻擊往往能產(chǎn)生巨大的流量來耗盡目標(biāo)系統(tǒng)的網(wǎng)絡(luò)帶寬,或?qū)е履繕?biāo)系統(tǒng)資源耗盡而崩潰。
另外,很多DDoS攻擊還會(huì)結(jié)合反射攻擊技術(shù)進(jìn)一步將攻擊流量進(jìn)行放大。
9.3.2 DoS攻擊的防范
到目前為止,還沒有一種能夠完全有效防范DoS攻擊的技術(shù)和方法,尤其是利用大規(guī)模流量進(jìn)行攻擊的DDoS攻擊更難以防范。
目前防范DoS攻擊的主要方法有以下幾種:
1)利用防火墻對(duì)惡意分組進(jìn)行過濾。例如,將防火墻配置為過濾掉所有ICMP回送請(qǐng)求報(bào)文可以防范Smurf攻擊。然而對(duì)于像“TCPSYN洪泛”這類攻擊,一般很難區(qū)分哪些TCP連接請(qǐng)求報(bào)文是惡意的。某些防火墻可以動(dòng)態(tài)檢測(cè)到指定TCP服務(wù)器上半連接的數(shù)量,當(dāng)該數(shù)量超過預(yù)設(shè)的閾值時(shí),防火墻將丟棄向該TCP服務(wù)器發(fā)送的TCP連接請(qǐng)求報(bào)文。
2)使用支持源端過濾的路由器。通常參與DoS攻擊的分組的源IP地址都是偽造的,如果能夠防止IP地址偽造,就能夠防止此類的DoS攻擊。使用支持源端過濾的路由器可以盡量減少IP地址偽造的現(xiàn)象。這種路由器會(huì)檢查來自其直連網(wǎng)絡(luò)的分組的源IP地址,如果源IP地址與該網(wǎng)絡(luò)的網(wǎng)絡(luò)前綴不匹配,則路由器丟棄該分組。然而這種簡(jiǎn)單的源端過濾并不能徹底消除IP地址偽造現(xiàn)象,因?yàn)楣粽呷匀豢梢悦俺湟蛱鼐W(wǎng)服務(wù)提供者的網(wǎng)絡(luò)中的任何一臺(tái)主機(jī)。因此,如果要通過源端過濾來防范DoS攻擊,則必須使因特網(wǎng)上所有的路由器都具有源端過濾的功能。然而目前源端過濾并不是路由器的強(qiáng)制功能,支持源端過濾的路由器還是少數(shù)。
3)追溯DoS攻擊源。路由器對(duì)通過自己的IP數(shù)據(jù)報(bào)的首部進(jìn)行標(biāo)記,通過該標(biāo)記可以追溯到DoS攻擊源。一旦確定了參與攻擊的源主機(jī),就把它隔離起來。然而,這個(gè)過程通常很慢,并且需要人工千預(yù),因此目前主要用于事后追查以及為采取相應(yīng)的法律手段提供依據(jù)。
4)進(jìn)行DoS攻擊檢測(cè)。入侵檢測(cè)系統(tǒng)可以通過分析分組首部特征和流量特征來檢測(cè)正在發(fā)生的DoS攻擊并發(fā)出警報(bào)。及時(shí)檢測(cè)到DoS攻擊可將攻擊所造成的危害降到最低。文章來源:http://www.zghlxwxcb.cn/news/detail-826773.html
上述措施并不能徹底防范DoS攻擊,DoS攻擊是目前最容易實(shí)現(xiàn)卻又最難防范的攻擊手段。文章來源地址http://www.zghlxwxcb.cn/news/detail-826773.html
到了這里,關(guān)于計(jì)算機(jī)網(wǎng)絡(luò)之網(wǎng)絡(luò)安全的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!