資源描述:
《企業(yè)web安全滲透檢測測驗之ssl篇》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、企業(yè)級Web安全滲透測試之SSL篇【51CTO.com獨家特稿】如果Web服務(wù)中的SSL和TLS協(xié)議出現(xiàn)安全問題,后果會如何?很明顯,這樣的話攻擊者就可以擁有你所有的安全信息,包括我們的用戶名、密碼、信用卡、銀行信息……所有的一切。本文將向讀者詳細介紹如何針對Web服務(wù)中的SSL和TLS協(xié)議進行安全滲透測試。我們首先對這兩種協(xié)議進行了概述,然后詳細介紹了針對加密信道安全性的黑盒測試和白盒測試。最后列出了一些常用的安全測試工具。?一、簡介目前,許多重要的Web服務(wù)都使用了SSL和TLS協(xié)議對通信進行保護。我們知道,http協(xié)議是使用明文進行傳輸?shù)模窍窬W(wǎng)
2、絡(luò)銀行之類的web應(yīng)用如果使用http協(xié)議的話,那么所有的機密信息都會暴露在網(wǎng)絡(luò)連接中,這就像銀行用一個透明的信封給我們郵寄信用卡帳號和密碼一樣,在從銀行到達用戶之間任何接觸過這封信的人,都能看到我們的帳號和密碼。為了提高其安全性,經(jīng)常需要通過SSL或者TLS隧道傳輸這些明文,這樣就產(chǎn)生了https通信流量。例如網(wǎng)絡(luò)銀行之類的應(yīng)用,在服務(wù)器和客戶端之間傳輸密碼,信用卡號碼等重要信息時,都是通過https協(xié)議進行加密傳送的。矚慫潤厲釤瘞睞櫪廡賴。SSL和TLS是兩種安全協(xié)議,它們通過加密技術(shù)為傳輸?shù)男畔⑻峁┌踩诺馈C密性和身份驗證等安全功能。我們知道由于
3、對高級密碼技術(shù)的出口限制,會造成遺留系統(tǒng)使用的是弱加密技術(shù)。如果系統(tǒng)采用了弱密碼,或者說密碼強度過低的話,攻擊者可以在有效的時間內(nèi)破解密鑰,而攻擊者一旦得到了密鑰,就像小偷得到了我們家的鑰匙一樣,所有的鎖都會形同虛設(shè)。但是,新Web服務(wù)器就不會使用弱加密系統(tǒng)了嗎?答案是否定的,因為許多新Web服務(wù)器也經(jīng)常被配置成處理虛密碼選項。為了實現(xiàn)這些安全特性,協(xié)議必須確保使用的密碼算法有足夠的強度,并且密碼算法得到了正確的實現(xiàn)。即使服務(wù)器安裝使用了高級的加密模塊,但是如果配置不當?shù)脑?,也有可能為安全特性要求較高的通信信道的設(shè)置了較弱的加密技術(shù)。下面,我們將詳細介紹
4、如何對這兩種協(xié)議的配置進行安全審計。聞創(chuàng)溝燴鐺險愛氌譴凈。二、測試SSL/TLS的密碼規(guī)范我們知道,http協(xié)議是使用明文進行傳輸?shù)模瑸榱颂岣咂浒踩?,?jīng)常需要通過SSL或者TLS隧道傳輸這些明文,這樣就產(chǎn)生了https通信流量。除對傳輸?shù)臄?shù)據(jù)進行加密處理之外,https(安全超文本傳輸協(xié)議,HTTPS)還能利用數(shù)字證書為服務(wù)器或客戶端提供身份標識。殘騖樓諍錈瀨濟溆塹籟。過去,美國政府對加密系統(tǒng)的出口有許多限制,如密鑰長度最大為40位,因為密鑰長度越短,它就越容易破解。后來,密碼出口條例已經(jīng)放寬了許多,但是,檢查服務(wù)器的SSL配置仍然十分重要,因為它有可
5、能配置使用了弱加密技術(shù)?;赟SL的服務(wù)不應(yīng)該提供選擇弱密碼的機會。釅錒極額閉鎮(zhèn)檜豬訣錐。注意,我們這里所說的弱密碼,指的是加密強度不夠、容易破解的加密系統(tǒng)。不同的加密算法具有不同的密碼強度,但是在算法一定的情況下,密鑰的長度越長,加密強度越高。彈貿(mào)攝爾霽斃攬磚鹵廡。技術(shù)上,選擇加密技術(shù)的過程如下所示:在建立SSL連接的初期,客戶端向服務(wù)器發(fā)送一個ClientHello消息,以告知服務(wù)器它支持哪些加密技術(shù)等。一般情況下,客戶端通常是一個Web瀏覽器,所以瀏覽器是目前最常見的SSL客戶端;然而,任何支持SSL的應(yīng)用程序都可以作為SSL客戶端使用。比如,有時
6、候SSL客戶端是些SSL代理(如stunnel),它們使得那些不支持SSL的工具也能與SSL服務(wù)通信。同理,SSL服務(wù)器端通常為Web服務(wù)器,但是其他應(yīng)用程序也可以充當SSL服務(wù)器端。加密套件規(guī)定了具體的密碼協(xié)議(DES、RC4、AES)、密鑰長度(諸如40、56或者128位)和用于完整性檢驗的散列算法(SHA、MD5)。收到ClientHello消息后,服務(wù)器以此確定該會話所使用的加密套件。當然,通過配置可以規(guī)定服務(wù)器能夠接受哪些密碼套件,這樣的話,我們就能夠控制是否跟僅支持40位加密的客戶端通話。謀蕎摶篋飆鐸懟類蔣薔。三、黑盒測試為了檢測可能支持的弱
7、密碼,必須找出與SSL/TLS服務(wù)相關(guān)的端口。通常情況下,要檢查端口443,因為它是標準的https端口;不過運行在443端口上的卻未必是https服務(wù),因為通過配置,https服務(wù)可以運行在非標準的端口上,同時,Web應(yīng)用程序也許使用了其它利用SSL/TLS封裝的服務(wù)。一般而言,為了找出這些端口,必須找出使用了哪些服務(wù)。廈礴懇蹣駢時盡繼價騷。利用掃描程序nmap時,加上掃描選項–sV,就能用來識別SSL服務(wù)。實際上,安全漏洞掃描器除了可以顯示使用的服務(wù)之外,還能用來檢查弱密碼,比如,Nessus就能檢查任意端口上的SSL服務(wù),并報告弱密碼。煢楨廣鰳鯡選
8、塊網(wǎng)羈淚。如果攻擊者在您修復(fù)弱密碼之前發(fā)現(xiàn)了它們的話,那么您的處境可就不妙了——