SSL的安全漏洞及解決方案_第1頁
SSL的安全漏洞及解決方案_第2頁
SSL的安全漏洞及解決方案_第3頁
SSL的安全漏洞及解決方案_第4頁
SSL的安全漏洞及解決方案_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

SSL的平安漏洞及解決方案·cool007假如你在互聯(lián)網(wǎng)上訪問某些網(wǎng)站時在閱讀器窗口的下方有一個鎖的小圖標,就表示它表示該網(wǎng)頁被SSL愛護著。但用SSL防護的網(wǎng)站真的能夠防范黑客嗎?現(xiàn)在國內(nèi)有許多人對SSL存在這么一個相識誤區(qū):SSL很平安,受到SSL防護網(wǎng)頁服務(wù)器的資料就肯定是萬無一失的,這也導(dǎo)致這樣一個局面,只要有著SSL防護的網(wǎng)站服務(wù)器很少接受審查以及監(jiān)測。其實不然,對于平安要求不甚高的交易或認證,SSL還是一個相當不錯的平安機制,然而若應(yīng)用在特別要求方面,它還存在有這樣那樣的問題。在下面的文中我將為大家簡潔介紹SSL存在的平安漏洞及解決方案,希望本文對你有所幫助。

一、相識SSL

一般人認為SSL是愛護主機或者只是一個應(yīng)用程序,這是一個誤會,SSL不是設(shè)計用來愛護操作系統(tǒng)的。SSL是SecureSocketsLayer通訊協(xié)議的簡稱,它是被設(shè)計用來愛護傳輸中的資料,它的任務(wù)是把在網(wǎng)頁以及服務(wù)器之間的數(shù)據(jù)傳輸加密起來。這個加密(encryption)的措施能夠防止資料竊取者干脆看到傳輸中的資料,像是密碼或者信用卡號碼等等。在這里談到SSL,你就必需了解數(shù)字證書(DigitalCertificates)的概念。

數(shù)字證書是一種能在完全開放系統(tǒng)中精確標識某些主體的機制。一個數(shù)字證書包含的信息必需能鑒定用戶身份,確保用戶就是其所持有證書中聲明的用戶。除了唯一的標識信息外,數(shù)字證書還包含了證書全部者的公共密鑰。數(shù)字證書的運用允許SSL供應(yīng)認證功能--保證用戶所懇求連接的服務(wù)器身份正確無誤。在信用卡號或PIN號碼等機密信息被發(fā)送出去前讓用戶準確知道通訊的另一端的身份是毫無疑問的重要的。很明顯的,SSL技術(shù)供應(yīng)了有效的認證。然而大多數(shù)用戶并未能正確意識到通過SSL進行平安連接的必需性。除非越來越多的用戶了解SSL和平安站點的基本學問,否則SSL仍不足以成為愛護用戶網(wǎng)絡(luò)連接的必需技術(shù)。除非用戶能夠充分意識到訪問站點時應(yīng)當留意平安連接標識,否則現(xiàn)有的平安技術(shù)仍不能稱為真正有效。

目前幾乎全部處理具有敏感度的資料,財務(wù)資料或者要求身分認證的網(wǎng)站都會運用SSL加密技術(shù)(當你看到s在你的網(wǎng)頁閱讀器上的URL出現(xiàn)時,你就是正在運用具有SSL愛護的網(wǎng)頁服務(wù)器。)。在這里我把SSL比方成是一種在閱讀器跟網(wǎng)絡(luò)服務(wù)器之間“受密碼愛護的導(dǎo)管”(cryptographicpipe),也就是我們常說的平安通道。這個平安通道把運用者以及網(wǎng)站之間來回的資料加密起來。但是SSL并不會消退或者減弱網(wǎng)站所將受到的威逼性。在SSL這個平安通道的背后,一般沒有受到SSL防護的網(wǎng)站一樣具備了相同的網(wǎng)頁服務(wù)器程序,同樣的網(wǎng)頁應(yīng)用程序,CGI的script以及后端數(shù)據(jù)庫。目前普遍存在這么一個錯誤的相識:許多系統(tǒng)管理者卻認為,受到SSL防護的網(wǎng)頁服務(wù)器自動就變得平安了。其實不然,事實上,受到SSL防護的網(wǎng)頁服務(wù)器同樣還是會受到與一般其它網(wǎng)站服務(wù)器遭遇攻擊的威逼,受到SSL防護的網(wǎng)頁服務(wù)器不肯定是萬無一失的。二、SSL的平安漏洞

雖然一個網(wǎng)站可能運用了SSL平安技術(shù),但這并不是說在該網(wǎng)站中正在輸入和以后輸入的數(shù)據(jù)也是平安的。全部人都應(yīng)當意識到SSL供應(yīng)的僅僅是電子商務(wù)整體平安中的一小部份解決方案。SSL在網(wǎng)站上的運用可能會造成管理員對其站點平安性的某些錯覺。運用了SSL的網(wǎng)站所可能受到的攻擊和其它服務(wù)器并無任何區(qū)分,同樣應(yīng)當留意各方面的平安性。簡言之,加密和數(shù)字證書,SSL的主要組成,從來都無法愛護服務(wù)器--它們僅僅可以愛護該服務(wù)器所收發(fā)的數(shù)據(jù)。SSL常見平安問題下面三種:

1、攻擊證書

類似Verisign之類的公共CA機構(gòu)并不總是牢靠的,系統(tǒng)管理員常常犯的錯誤是過于信任Verisign等的公共CA機構(gòu)。例如,假如Verisign發(fā)放一個證書說我是“某某某”,系統(tǒng)管理員很可能就會信任“我是某某某”。但是,對于用戶的證書,公共CA機構(gòu)可能不象對網(wǎng)站數(shù)字證書那樣重視和關(guān)切其精確性。例如,Verisign發(fā)放了一個“keyman"組織的證書,而我是其中一員“JACK”。當一個網(wǎng)站要求認證用戶身份時,我們提交了“JACK”的證書。你可能會對其返回的結(jié)果大吃一驚的。更為嚴峻的是,由于微軟公司的IIS服務(wù)器供應(yīng)了“客戶端證書映射”(ClientCertificateMapping)功能,用于將客戶端提交證書中的名字映射到NT系統(tǒng)的用戶帳號,在這種狀況下我們就能夠獲得該主機的系統(tǒng)管理員特權(quán)!

假如黑客不能利用上面的非法的證書突破服務(wù)器,他們可以嘗試暴力攻擊(brute-forceattack)。雖然暴力攻擊證書比暴力攻擊口令更為困難,但仍舊是一種攻擊方法。要暴力攻擊客戶端認證,黑客編輯一個可能的用戶名字列表,然后為每一個名字向CA機構(gòu)申請證書。每一個證書都用于嘗試獲得訪問權(quán)限。用戶名的選擇越好,其中一個證書被認可的可能性就越高。暴力攻擊證書的便利之處在于它僅須要揣測一個有效的用戶名,而不是揣測用戶名和口令。

2、竊取證書

除上面的方法外,黑客還可能竊取有效的證書及相應(yīng)的私有密鑰。最簡潔的方法是利用特洛伊木馬。這種攻擊幾乎可使客戶端證書形同虛設(shè)。它攻擊的是證書的一個根本性弱點:私有密鑰--整個平安系統(tǒng)的核心--常常保存在擔心全的地方。應(yīng)付這些攻擊的唯一有效方法或許是將證書保存到智能卡或令牌之類的設(shè)備中。

3、平安盲點

系統(tǒng)管理員沒方法運用現(xiàn)有的平安漏洞掃描(vulnerabilityscanners)或網(wǎng)絡(luò)入侵偵測系統(tǒng)(intrusiondetectionsystems,IDS),來審查或監(jiān)控網(wǎng)絡(luò)上的SSL交易。網(wǎng)絡(luò)入侵偵測系統(tǒng)是通過監(jiān)測網(wǎng)絡(luò)傳輸來找尋沒有經(jīng)過認證的活動。任何符合已知的攻擊模式或者并未經(jīng)過政策上授權(quán)的網(wǎng)絡(luò)活動都被標起來以供系統(tǒng)管理者檢視。而要讓IDS能夠發(fā)生作用,IDS必需能夠檢視全部的網(wǎng)絡(luò)流量信息,但是SSL的加密技術(shù)卻使得通過傳輸?shù)男畔o法讓IDS分辨。再者,雖然我們可以用最新的平安掃描軟件審查一般的網(wǎng)頁服務(wù)器來找尋已知的平安盲點,這種掃描軟件并不會檢查經(jīng)過SSL愛護的服務(wù)器。受到SSL愛護的網(wǎng)頁服務(wù)器的確擁有與一般服務(wù)器同樣的平安盲點,可是或許是因為建立SSL連結(jié)所須要的時間以及困難度,平安漏洞掃描軟件并不會審查受到SSL愛護的網(wǎng)頁服務(wù)器。沒有網(wǎng)絡(luò)監(jiān)測系統(tǒng)再加上沒有平安漏洞審查,使得最重要的服務(wù)器反而成為受到最少防護的服務(wù)器。三、解決方法

至于如何愛護證書的平安,你可以采納IDS(IntrusionDetectionSystem),它是一種用于監(jiān)測攻擊服務(wù)器企圖的技術(shù)和方法。典型的IDS監(jiān)視網(wǎng)絡(luò)通訊,并將其與保存在數(shù)據(jù)庫中的已知攻擊“特征”或方法比較。假如發(fā)覺攻擊,IDS可以提示系統(tǒng)管理員、截斷連接或甚至實施反攻擊等。問題在于假如網(wǎng)絡(luò)通訊是加密的,IDS將無法監(jiān)視。這反而可能會使攻擊更為輕松。假設(shè)在一個典型的被防火墻和IDS防護的DMZ環(huán)境中,黑客能輕松地探測被SSL愛護的網(wǎng)站,因為SSL對數(shù)據(jù)的加密使得IDS無法正常監(jiān)測攻擊。通常一臺單一的網(wǎng)站服務(wù)器會同時運用SSL和一般的TCP協(xié)議。由于黑客攻擊的服務(wù)器而不是網(wǎng)絡(luò)連接,他們可以選擇隨意一種途徑。通過SSL途徑,黑客知道SSL加密為他們帶來的好處,這樣更簡潔避開IDS系統(tǒng)的監(jiān)測。在這里我主要介紹的是如何解決系統(tǒng)管理員沒方法運用現(xiàn)有的平安漏洞掃描或網(wǎng)絡(luò)入侵偵測系統(tǒng)而存在的網(wǎng)頁服務(wù)器平安盲點的狀況,目前解決這個困擾的常用方法大致有以下三種:

1、通過Proxy代理服務(wù)器的SSL

我們可以在一個SSLProxy代理程序上運用這項資料審查技術(shù)。SSLProxy是一個在連接埠80上接收純文字的通訊懇求的軟件,它會將這些懇求通過經(jīng)由SSL加密過的連結(jié),轉(zhuǎn)寄到目標網(wǎng)站。我們在連接埠80開一個聽取的socket,通過上述的OpenSSL指令,將全部進入這個proxy的數(shù)據(jù)傳送出去。這在Unix上,只是個小技巧:你只須將以下的指令加到你們的/etc/inetd.conf檔案里面,這個inetd.conf包含全部inetd所供應(yīng)的網(wǎng)絡(luò)服務(wù)的設(shè)定:

wwwstreamtcpnowaitroot/usr/sbin/tcpd/usr/local/bin/ssl_proxy.sh

而/usr/local/bin/ssl_proxy.sh的內(nèi)容則如下所述:

#!/bin/sh

/usr/local/ssl/bin/openssls_client-no_tls1-quiet-connect0:4432>/dev/null

0是SSL防護下的網(wǎng)站的地址所在。其中“-no_tls1”以及“-quiet”選項將SSL交談(handshake)的標題顯示關(guān)掉,并且也刪除了SSL對于尚未經(jīng)過授權(quán)的網(wǎng)站認證所發(fā)出的警告。

假如你要想測試你的proxy連結(jié),那么你只要以純文字的方式,在執(zhí)行SSLproxy的系統(tǒng)的連接端口80建立聯(lián)機。這個proxy會運用SSL來轉(zhuǎn)寄接收的懇求到目標網(wǎng)站。

$telnet80GET//1.0

在這里,服務(wù)器正在的地址執(zhí)行SSLproxy機制,而真正受到SSL愛護的地址則是在0。通過這個SSLproxy機制,我們只要將平安掃描軟件指向proxy的IP地址,就可以運用它來審查一個SSL服務(wù)器。

&iface=2)來審查SSL防護的網(wǎng)站服務(wù)器。Whisker是一個由RainForestPuppy寫出來的script,可以用來檢查已知的比較簡潔受到入侵的網(wǎng)站應(yīng)用程序以及CGIscript。

--whisker/v1.3.0a/rainforestpuppy/ADM/wiretrip--

-Loadedscriptdatabaseof1691lines

=-=-=-=-=-=

=Server:Microsoft-IIS/4.0

+404ObjectNotFound:GET/cfdocs/

+404ObjectNotFound:GET/cfide/Administrator/startstop.html

+404ObjectNotFound:GET/cfappman/index.cfm

+404ObjectNotFound:GET/cgi-bin/

+403AccessForbidden:HEAD/scripts/

+403AccessForbidden:HEAD/scripts/cpshost.dll

+404ObjectNotFound:HEAD/samples/search/queryhit.htm

+404ObjectNotFound:HEAD/adsamples/config/site.csc

+403AccessForbidden:HEAD/scripts/counter.exe

+403AccessForbidden:HEAD/scripts/samples/

以上狀況是在上執(zhí)行whisker,然后whisker運用SSL將全部的懇求轉(zhuǎn)寄到0。

SSLproxy的觀念已經(jīng)存在一陣子了。目前有一個名為sslproxy.c的程序可以執(zhí)行以上的功能(://obdev.at/Products/sslproxy.html)。另外還有一個最近才出來,執(zhí)行SSLproxy還有它額外功能的工具程序,叫做stunnel(:///),是由BrianHatch開發(fā)的。然而,因為運用吩咐列模式操作OpenSSL軟件相對來說比較簡潔的,所以我將在下面介紹這種方式。

2、OpenSSL

OpenSSL(相關(guān)資料:///)包含了一套程序以及函式庫,供應(yīng)前端運用者SSL功能,并且允許軟件工程師將SSL模塊與他們的程序結(jié)合。在眾多由SSL供應(yīng)的產(chǎn)品里面,最能夠用來讓我們在這里探討的是吩咐列模式的(command-line)SSL客戶端以及伺服端工具軟件。OpenSSL程序是一個指令列接口的程序,它是用來以手動的方式起始SSL連結(jié)。OpenSSL讓你重新導(dǎo)引與其它程序之間的資料輸入以及輸出。

運用普遍可得的平安掃描軟件來審查SSL服務(wù)器在探討技術(shù)文件時,我們在Apache供應(yīng)應(yīng)OpenSSL的接口模塊mod_ssl(相關(guān)資料:///)讀到了一些好玩的信息。其中有一段常見問題探討到有關(guān)測試在SSL愛護下的網(wǎng)站服務(wù)器。你可以利用Telnet連到網(wǎng)頁服務(wù)器第80號連接埠,然后下達如下的get指令,從網(wǎng)頁服務(wù)器取得網(wǎng)頁:

因為SSL通聯(lián)必須要經(jīng)過一個平安的連接埠,而在這里我們運用的是沒有平安防護的連接埠80,因此,這個技巧在S通訊協(xié)議上是行不通的。然而,假如我們用的是OpenSSL程序,我們就可以在SSL連接上做同樣的一件事情。

下面是OpenSSL連結(jié)的細微環(huán)節(jié)

openssl:s_client-connectramsec:443

CONNECTED(00000003)

depth=0/C=US/ST=Washington/L=NewCastle/O=RampartSecurityGroup

verifyerror:num=20:unabletogetlocalissuercertificate

verifyreturn:1

depth=0/C=US/ST=Washington/L=NewCastle/O=RampartSecurityGroup

LLC/OU=Web/OU=Termsofuseat

verifyerror:num=27:certificatenottrusted

verifyreturn:1

depth=0/C=US/ST=Washington/L=NewCastle/O=RampartSecurityGroup

verifyerror:num=27:certificatenottrusted

verifyreturn:1

depth=0/C=US/ST=Washington/L=NewCastle/O=RampartSecurityGroup

LLC/OU=Web/OU=Termsofuseat

verifyerror:num=21:unabletoverifythefirstcertificate

verifyreturn:1

---

Certificatechain

0s:/C=US/ST=Washington/L=NewCastle/O=RampartSecurityGroup

LLC/OU=Web/OU=Termsofuseat

i:/C=US/O=RSADataSecurity,Inc./OU=SecureServerCertification

Authority

---Servercertificate

-----BEGINCERTIFICATE-----

MIIClTCCAgICEGJTOhcnU+VNQDZ7fqS1K8UwDQYJKoZIhvcNAQEEBQAwXzELMAkG

A1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYD

VQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTAw

MDEyNDAwMDAwMFoXDTAxMDEyMzIzNTk1OVowgbsxCzAJBgNVBAYTAlVTMRMwEQYD

VQQIEwpXYXNoaW5ndG9uMRMwEQYDVQQHFApOZXcgQ2FzdGxlMSMwIQYDVQQKFBpS

YW1wYXJ0IFNlY3VyaXR5IEdyb3VwIExMQzEMMAoGA1UECxQDV2ViMTMwMQYDVQQL

FCpUZXJtcyBvZiB1c2UgYXQgd3d3LnZlcmlzaWduLmNvbS9SUEEgKGMpOTkxGjAY

BgNVBAMUEXNlY3VyZS5yYW1zZWMuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB

iQKBgQD+0K9xpPTh79iWWXc5JmTeJrg5YNdmwP5EwfKSPqOk2E8QSRNk8+Huv7h7

h636cDbmIh+J+VuRO5x5YP8apUCcqRfIMmQevTFzaIyCf3Mwm/OKNTs+4tqA5kjT

SedbBUGaaY2A1VcK0uby1djc+oX8XoCMoRWy+VGBkBrLK51t2QIDAQABMA0GCSqG

SIb3DQEBBAUAA34AhT7v59KwTvldIHJV7U4Doca+/wQ6ivbyd35K9hC/wxwE/jnO

oBXFKaJvV6mHk9hVz37CtLauUGYIZb3x7Cw6GajhhPicLi0l6ndH4VF9C4tbUb4t

2yw/6Jy9i+TfsO/Ldcu4KV0688vfORWm663+6miLYHKGNqFMaR3QaXc=

-----ENDCERTIFICATE-----

subject=/C=US/ST=Washington/L=NewCastle/O=RampartSecurityGroup

issuer=/C=US/O=RSADataSecurity,Inc./OU=SecureServer

Certification

Authority

---

NoclientcertificateCAnamessent

---

SSLhandshakehasread801bytesandwritten312bytes

---

New,TLSv1/SSLv3,CipherisRC4-MD5Serverpublickeyis1024bit

SSL-Session:

Protocol:TLSv1

Cipher:RC4-MD5

Session-ID:

020000001E9F693D9F9D5FF87E6DF24A0BAFC85391992415991DF3AB74522BCB

Session-ID-ctx:

Master-Key:

08FD7A5E6D058A45D0855AD359C0428F3BB5A685E6D74DFB9CDAB6D6A2ED7D53

E97147155DC7B9C61B946BE6

Key-Arg:None

StartTime:963184785

Timeout:300(sec)

Verifyreturncode:0(ok)

---

GET//1.0

/1.1200OK

Server:Microsoft-IIS/4.0

Date:Mon,10Jul200011:41:25GMT

Content-Type:text/html

Accept-Ranges:bytes

Last-Modified:Thu,23Mar200001:41:15GMT

ETag:"305fc7e06894bf1:38441"

Content-Length:886

通過上面OpenSSL這項技術(shù),我們就可以干脆傳送資料到有SSL愛護的網(wǎng)站,然后用我們一般審查任何服務(wù)器平安性的方式來審查這個SSL網(wǎng)頁服務(wù)器。

3、監(jiān)測SSL服務(wù)器

現(xiàn)在的網(wǎng)絡(luò)IDS只能夠監(jiān)視純文字資料內(nèi)容,所以我們只能夠有兩項選擇:監(jiān)視服務(wù)器上的SSL連結(jié)或者將整個連結(jié)資料轉(zhuǎn)為純文字格式。大部分的網(wǎng)頁服務(wù)器都有一些基本的日志紀錄功能。例如:Microsoft的IISWebserver有內(nèi)建的日志制作功能,運用的是W3svc1格式,它可以偵測到許多一般的網(wǎng)絡(luò)攻擊狀況。我通過前述的SSLproxy針對Wi

溫馨提示

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

評論

0/150

提交評論