前言 在最近一周內(nèi),我收到了安全圈子里面小伙伴的私信,說他們非常喜歡信息安全,但是看了我之前發(fā)布文章,覺得有點難度,還涉及到C#編程,不好理解,希望我能給些基礎(chǔ)方面的文章,所以有了這篇技術(shù)稿。 以下是我整理了2天,總結(jié)出來的一些算是經(jīng)驗之談,希望能幫到大家。 一、網(wǎng)絡(luò)安全漫談1. 數(shù)據(jù)發(fā)送之前面臨的威脅<惡意程序>
2. 計算機(jī)網(wǎng)絡(luò)通信面臨4種威脅<數(shù)據(jù)傳輸中>3. 威脅分類
被動攻擊與主動攻擊的區(qū)別:
4.計算機(jī)網(wǎng)絡(luò)通信安全的目標(biāo)
5.防范措施5.1 使用加密機(jī)制防止析出報文內(nèi)容。
5.2 保密性:密碼編碼學(xué)+密碼分析學(xué)=密碼學(xué)。 5.3 安全協(xié)議的設(shè)計。 5.4 接入控制:針對主動攻擊的偽造。
6. 兩位類密碼體制<針對被動攻擊中的截獲>6.1 對稱密鑰密碼體制 加密密鑰與解密密鑰是相同的密碼體制(類似加密的開鎖鑰匙與解密的開鎖鑰匙是同一把鑰匙)。 1)DES (Data Encryption Standard) 解密的過程是上述加密的逆過程(同一密鑰)。 過程詳解:
備注:使用的密鑰為64bit(實際密鑰長度為56bit,有8bit用于奇偶校驗)。 2)IDEA (International Data Encryption Algorithm) IDEA使用128位密鑰,目前基本不可能通過暴力破解攻破。 6.2 公鑰密碼體制(非對稱密碼體制) 1) 產(chǎn)生原因:
公鑰密碼體制是一種”由已知加密密鑰推導(dǎo)出解密密鑰在計算上是不可行的”密碼體制:
2)公鑰加密算法 1> 算法概述 加密算法:Dsk(Epk(X))=X。
解密算法:Epk(Dsk(X))=X。
2> 加密密鑰是公開的,但不能用來解密。
3> 在計算機(jī)上可容易地產(chǎn)生成對的PK和SK(不需要雙方進(jìn)行協(xié)商)。 4>從已知的PK實際上不可能推導(dǎo)出SK,即:PK到SK是”計算上不可能的”從概念可得此結(jié)論。 5> 加密和解密算法都是公開的。 6.3 加密過程 這一傳送過程,發(fā)送方和接受方維持了3個密鑰:
6.4 數(shù)字簽名 數(shù)字簽名必須保證以下三點以防止偽裝攻擊(重放攻擊): 6.5 數(shù)字簽名的實現(xiàn) 發(fā)送者A使用自己的私鑰進(jìn)行加密,接受者B使用發(fā)送者A的公鑰進(jìn)行解密(這個數(shù)字簽名數(shù)據(jù)沒有任何保密意義的,因為上文提到過任何使用私鑰sk加密的數(shù)據(jù),任何知道公鑰pk的人都可以解密這條數(shù)據(jù))。數(shù)字簽名的偽造將會在下文講到。這一過程僅僅是實現(xiàn)數(shù)字簽名,并且也滿足數(shù)字簽名的3個特征,這個我就不多說,自己可以驗證一下。 6.6 具有保密性的數(shù)字簽名 存在意義:存在數(shù)字簽名的偽造,用pk解密的簽名在網(wǎng)上廣播出去,容易被截獲,獲取其他信息。 使用了2重非對稱加密算法:一次簽名+一次加密。 6.7 報文鑒別(針對主動攻擊中的篡改和偽造) 存在意義:檢測篡改攻擊,如果篡改,丟棄。
此處我想多說點,這種策略還不是最安全,比如游戲防止盜取裝備也是采取類似這種對裝備關(guān)鍵信息的加密(二進(jìn)制加密),不可能對整個裝備從頭到腳進(jìn)行加密,如果這樣數(shù)據(jù)包會非常大,造成網(wǎng)絡(luò)堵塞。我覺得最好的防范措施是:不能只用一種加密算法去加密,要把所有的加密算法要平衡運(yùn)用到所有的裝備身上,必要要在你網(wǎng)絡(luò)傳輸流暢度和數(shù)據(jù)加密找到一個平衡點! 6.8 實體鑒別 是對每一個收到的報文都要鑒別報文的發(fā)送者,而實體鑒別是在系統(tǒng)接入的全部持續(xù)時間內(nèi)對和自己通信的對方實體只需驗證一次。 存在的威脅: 1)重放攻擊問題 未被攻擊,上面流程默認(rèn)進(jìn)行了KAB會話的協(xié)商操作,以后就A->B進(jìn)行通信。 攻擊時,攻擊者C偽裝A(截獲A給B的數(shù)據(jù)包)然后用自己的sk或者pk加密后與B進(jìn)行會話協(xié)商成功以后C和B進(jìn)行會話通信,如下圖所示: 產(chǎn)生重放攻擊的原因:KAB 會話密鑰是由A B 隨機(jī)產(chǎn)生的,不隨外人的干涉,那任何人跟B會話,都可以形成KAB會話密鑰。 2)中間人攻擊 分析:中間人C截獲A的信息,重發(fā)”我是A”給B,B返回給A RB被C截獲,C再給A發(fā)了一份RB;然后A用自己的私鑰SKA對RB進(jìn)行加密本來要返回給B,在中間又被C截獲并丟掉,然后C用自己的私鑰SKc對RB進(jìn)行加密,發(fā)送給B,B把公鑰請求返回給C,再重發(fā)一份給A,A本返回給B公鑰PKa,C截獲并丟掉,C將自己的PKc偽裝成PKa發(fā)給B,B成功解密出來被SKc加密的RB,返回給C,C用自己的SKC解密出來DATA,再用剛才截獲來的PKa對DATA進(jìn)行加密返回給A。 產(chǎn)生重放攻擊和中間人攻擊的原因:密鑰的管理不當(dāng)引起 7. 密鑰分配<對稱密鑰分配>密鑰管理包括:密鑰的產(chǎn)生、分配、注入、驗證和使用,比加密算法更為復(fù)雜!本技術(shù)稿只討論密鑰的分配。 為了防止以上攻擊上演,引入一個可信第三方,由它對密鑰進(jìn)行管理和維護(hù)。 1)對稱密鑰分配 ![]() 如果A要與B進(jìn)行通信 必須去線下的密鑰分配中心KDC注冊,然后分配中心分別給A和B分配密鑰KA kB生成注冊表。類似去銀行開銀行卡,系統(tǒng)會記錄你設(shè)置的賬號和密碼,同時生成一對映射表;KAB是通信雙方共享會話的KAB。Kerberos 既是鑒別協(xié)議,同時也是KDC。 優(yōu)點:對密鑰分配制度進(jìn)行了一個擴(kuò)充,將到場注冊的線下改為線上。 ![]() 2)公鑰的分配<非對稱密鑰分配> 公鑰需要有一個值得信賴的機(jī)構(gòu)來將公鑰與其對應(yīng)的實體(人或機(jī)器)進(jìn)行綁定(binding)<防止中間人的攻擊手法>這樣的機(jī)構(gòu)就叫做認(rèn)證中心( CA fCertification Authority) 8. 英特網(wǎng)使用的安全協(xié)議<網(wǎng)絡(luò)層+運(yùn)輸層+應(yīng)用層>8.1 網(wǎng)絡(luò)層的安全協(xié)議 1)IPsec協(xié)議:網(wǎng)絡(luò)層保密是指所有在IP數(shù)據(jù)報中的數(shù)據(jù)都是加密的。此外,網(wǎng)絡(luò)層還應(yīng)提供源站鑒別,即當(dāng)目的站收到IP數(shù)據(jù)包時,能確信這是從該數(shù)據(jù)包的源IP地址的主機(jī)發(fā)來的。 總結(jié):
2)主要包括2個部分:
安全關(guān)聯(lián)是一個單向連接。它由1個三元組唯一地確定,包括:
3)IPsec數(shù)據(jù)報格式 ![]() 4)IPsec數(shù)據(jù)報的工作方式
5)IPsec 數(shù)據(jù)包封裝過程
![]() 8.3 運(yùn)輸層安全協(xié)議 SSL:安全套接層(Secure Socket Layer):可對萬維網(wǎng)客戶端與服務(wù)器之間傳送的數(shù)據(jù)進(jìn)行加密和鑒別(在用第三方網(wǎng)上交易時用到的協(xié)議,比如支付寶)。 功能: 類似在淘寶購買東西的過程: ![]() 8.4 應(yīng)用層安全協(xié)議 PGP是一個完整的數(shù)字郵件安全軟件包,包括加密、鑒別、電子簽名和壓縮等技術(shù)。 它只是將現(xiàn)有的一些加密算法如MD5、RSA、以及IDEA等綜合在一起而已,類似我上文說的游戲防外掛的策略。 下圖為一個典型的郵件加密過程: ![]() 9. 系統(tǒng)安全:防火墻與入侵檢測<針對物理層+數(shù)據(jù)鏈路層>9.1 防火墻 由軟件、硬件、構(gòu)成的系統(tǒng),用來在2個網(wǎng)絡(luò)之間實施接入控制策略。 ![]() 9.2 功能
9.3 防火墻技術(shù)
9.4 入侵檢測系統(tǒng)(IDS) 分類:基于特征的入侵檢測(缺點:未知的特征無法檢測)+基于異常的入侵檢測(DDOS攻擊)。 二、彩蛋(滲透測試)下面就以一個最基本的ARP斷網(wǎng)/欺騙攻擊來做個簡單的關(guān)于網(wǎng)絡(luò)攻擊的實驗吧,理論+實踐。 至于ARP協(xié)議以及ARP斷網(wǎng)/欺騙攻擊的原理眾所周知,我就不廢話了,開始滲透測試: 1. ARP斷網(wǎng)攻擊1.1 環(huán)境搭建
1.2 過程 1)用nmap對存在于WLAN中的主機(jī)進(jìn)行IP地址的嗅探: ![]() 攻擊目標(biāo)的IP為192.168.0.104(有時嗅探不完全,多嗅探幾次,才可以將WLAN中的所有主機(jī)嗅探到)。 2)測試被攻擊者的網(wǎng)絡(luò)是否正常: ![]() 被攻擊者網(wǎng)絡(luò)顯示正常。 3)ARP斷網(wǎng)
4)再次測試被攻擊者的網(wǎng)絡(luò)是否正常: 瞬間斷網(wǎng)! 1.2 ARP欺騙攻擊 由于LAN通信是根據(jù)MAC地址進(jìn)行傳輸,假如MAC地址被偽造成攻擊者的MAC地址,就形成的所謂的ARP欺騙。 示意圖:目標(biāo)IP-→我的網(wǎng)卡-→查看自己網(wǎng)卡上的圖片信息-→網(wǎng)關(guān) 1)用nmap對存在在WLAN中的主機(jī)進(jìn)行IP地址的嗅探: ![]() 和斷網(wǎng)攻擊同一個姿勢,被攻擊者的IP地址為192.168.0.104。 2)對被攻擊者進(jìn)行ARP流量轉(zhuǎn)發(fā),使其流量轉(zhuǎn)發(fā)到攻擊端: 此指令是沒有回顯的。 3)進(jìn)行ARP欺騙 ![]() 假如被攻擊者在瀏覽周董的照片: ![]() 4)使用driftnet進(jìn)行抓取圖片: ![]() 以上就是攻擊者的電腦呈現(xiàn)效果! 3)如何防御?
方法都是根據(jù)攻擊原理進(jìn)行相應(yīng)防御! ![]() 或使用電腦管家防御等: ![]() 手機(jī)版的360管家似乎沒有防御ARP攻擊的工具! 記得TK教主曾在微博上說過:ICMP重定向基本可以理解為能在互聯(lián)網(wǎng)范圍內(nèi)發(fā)起ARP欺騙。有點可怕!希望更多的人能夠像TK一樣將電腦技術(shù)運(yùn)用在造福社會上! 三、總結(jié)萬變不離其宗,再高明的攻擊手段,都是基于以上內(nèi)容,希望一些新手朋友或者剛?cè)腴T的朋友仔細(xì)閱讀,推敲,基礎(chǔ)是最重要的,也不枉費(fèi)我熬夜總結(jié)的資料。 *本文作者:星空111,轉(zhuǎn)載請注明來自FreeBuf.COM |
|