成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

如何使Web更安全

如何使Web 更安全?陜西省數(shù)字證書認(rèn)證中心第 1 頁(yè) 共 5 頁(yè) ,如何使Web 更安全在某種程度上我們可以說,沒有Web ,就沒有Internet 。可是在大部分情況下

如何使Web 更安全?

陜西省數(shù)字證書認(rèn)證中心

第 1 頁(yè) 共 5 頁(yè)

,

如何使Web 更安全

在某種程度上我們可以說,沒有Web ,就沒有Internet ??墒窃诖蟛糠智闆r下,Web 應(yīng)用程序及 Web 站點(diǎn)往往易遭受到各種各樣的攻擊,Web 數(shù)據(jù)在網(wǎng)絡(luò)傳輸過程中也很容易被竊取或盜用。因此如何能夠使Web 及數(shù)據(jù)傳輸更加安全,是一個(gè)應(yīng)該引起廣泛注意地問題。

從總體情況來看,保護(hù)Web 站點(diǎn)免受攻擊的最重要的措施就是加強(qiáng)安全意識(shí)和提高安全防范措施。

一般情況下,攻擊者攻擊Web 的主要目的在于:

1、非法偷窺;

2、偽裝成Web 站點(diǎn)的合法訪問者;

3、偽裝成Web 站點(diǎn)管理員;

4、試圖控制Web 站點(diǎn)主機(jī)。

一、 非法偷窺

阻止Web 攻擊者監(jiān)聽行為的最有效方法就是要對(duì)Web 站點(diǎn)和訪問者之間所建立的連接進(jìn)行有效加密。幾乎所有的Web 瀏覽器和服務(wù)器都具備發(fā)送和接收加密通道上的數(shù)據(jù)的能力,這些加密數(shù)據(jù)被SSL 和TLS 這兩個(gè)相關(guān)的協(xié)議管理。其中SSL 由Netscape 產(chǎn)生,TLS 與SSL3.0兼容。

Web 瀏覽器在連接一般的WEB 站點(diǎn)通常使用的是HTTP (超文本傳輸協(xié)議),地址欄中URL 一般形式為 http://www.somewhere.com。而當(dāng)Web 瀏覽器連接到一個(gè)安全站點(diǎn)時(shí),瀏覽器將使用HTTPS (超文本安全傳輸協(xié)議) 來建立一個(gè)加密連接,地址欄中的URL 通常的形式為https://www.somewhere.com

為了建立一個(gè)安全連接,Web 瀏覽器需要首先向Web 服務(wù)器請(qǐng)求數(shù)字證書,數(shù)字證書提供了身份證明。瀏覽器在向Web 服務(wù)器請(qǐng)求它的數(shù)字證書時(shí),也同時(shí)發(fā)送了它所支持的加密算法列表。當(dāng)服務(wù)器回送數(shù)字證書和它所選擇的加密算法后,瀏覽器通過檢查數(shù)字簽名和確認(rèn)URL 是否與數(shù)字證明的公有名字域相匹配來驗(yàn)證數(shù)字證書。如過這些測(cè)試失敗,瀏覽器將顯示警告信息。

瀏覽器和服務(wù)器的通訊使用對(duì)稱加密。這就意味著使用相同的密鑰來進(jìn)行加密和解密。當(dāng)服務(wù)器的證書被證實(shí)后,瀏覽器將產(chǎn)生一個(gè)密鑰,這個(gè)密鑰需要通過一個(gè)安全的途徑傳遞給服務(wù)器。一般使用雙重加密術(shù)來完成密鑰的傳遞。瀏覽器使用服務(wù)器的公鑰來加密密鑰,然后把它傳遞給服務(wù)器。服務(wù)器使用它的私鑰來解密密鑰然后向?yàn)g覽器發(fā)送確認(rèn)。

上面的過程表明的就是一個(gè)加密連接,瀏覽器和服務(wù)器都擁有相同的密鑰,他們使用相同的加密算法。他們后面的通信將使用這個(gè)加密的連接。瀏覽器顯示一個(gè)黃色的鎖的圖標(biāo)表示連接已建立。如圖3所示,站點(diǎn)訪問者可以點(diǎn)擊黃色的圖標(biāo)來檢查服務(wù)器的證書,從

第 2 頁(yè) 共 5 頁(yè)

,

而核實(shí)服務(wù)器的身份。

建立一個(gè)加密連接,僅需要服務(wù)器獲得權(quán)威機(jī)構(gòu)(如VeriSign )頒發(fā)的證書。但是加密僅能阻止攻擊者看到站點(diǎn)發(fā)送

和接收的數(shù)據(jù),它并不能阻止攻擊者偽造身份和對(duì)站點(diǎn)進(jìn)行的惡意攻擊。

二、偽裝成Web 站點(diǎn)的合法訪問者

現(xiàn)在我們已經(jīng)知道如何鑒別一個(gè)Web 站點(diǎn),但是一個(gè)站點(diǎn)如何鑒別它的訪問者呢?下面我們就接著討論這個(gè)問題。

大部分Web 服務(wù)器支持兩個(gè)密碼鑒別方案:基本密碼鑒別和分類密碼鑒別。兩個(gè)方案都通過向?yàn)g覽器發(fā)送鑒別信號(hào)來進(jìn)

行。當(dāng)瀏覽器第一次收到鑒別信號(hào)時(shí),它顯示一個(gè)對(duì)話框詢問用戶的名字和密碼。在基本鑒別模式中,瀏覽器以簡(jiǎn)單的文

本形式來傳遞用戶名和密碼。在分類鑒別模式中,瀏覽器傳送用戶名和密碼的消息類。如果服務(wù)器發(fā)送它的證實(shí),瀏覽器

就把登錄信息存儲(chǔ)起來。

如果你用Web 服務(wù)器上的簡(jiǎn)單設(shè)置來實(shí)現(xiàn)這些鑒定方案,Web 應(yīng)用程序中不需要添加任何代碼。

攻擊者的監(jiān)聽問題:如果訪問者以簡(jiǎn)單的文本形式發(fā)送他的用戶名和密碼,攻擊者很容易就可捕獲到這些信息。傳送

用戶信息使用SSL 可以很容易地解決這個(gè)問題。如下面的例子所示。

User ID: < input type="text" name="user" >

Password: < input type="password" name="password">

如果攻擊者不能監(jiān)聽Web 站點(diǎn)和訪問者之間的通信,他將要采取更加卑劣的手段——偽裝成你的合法訪問者。造成這種

情況出現(xiàn)的原因一般是訪問者自己造成的,因?yàn)榇蟛糠志W(wǎng)絡(luò)用戶在密碼選取上不是很留心,他們的密碼一般都不是很安

全。他們?cè)诘卿浉鱾€(gè)站點(diǎn)時(shí),喜歡使用相同的用戶名和密碼。

解決這個(gè)問題的方法就是訪問者在注冊(cè)帳號(hào)時(shí)要使用安全的密碼。Web 站點(diǎn)最好具有能阻止訪問者設(shè)置英文單詞作為密

碼的功能,它可以建議用戶使用數(shù)字和字母混合而成的密碼。

三、偽裝成Web 站點(diǎn)管理員

當(dāng)訪問者登錄到你的站點(diǎn)時(shí),你將會(huì)保持他們的身份一直有效,直到他們離開該站

第 3 頁(yè) 共 5 頁(yè)

,

點(diǎn)。那么如何實(shí)現(xiàn)這個(gè)功能呢?因

為在瀏覽器和服務(wù)器之間不會(huì)建立一個(gè)永久的連接,所以服務(wù)器會(huì)在收到每個(gè)頁(yè)面請(qǐng)求后只建立一個(gè)單獨(dú)的連接。

用戶登錄成功后服務(wù)器是如何證實(shí)該用戶的身份呢?

答案是瀏覽器保存了用戶的姓名和密碼。當(dāng)瀏覽器和服務(wù)器再次連接時(shí),瀏覽器將傳遞已經(jīng)存儲(chǔ)過的用戶名和密碼。

服務(wù)器利用用戶數(shù)據(jù)庫(kù)來證實(shí)這些信息,并會(huì)在此基礎(chǔ)上作出允許和拒絕訪問的決定。

前面我們提到過,瀏覽器通過比較帶有服務(wù)器的數(shù)字證書的公有名字的URL 來證實(shí)服務(wù)器的身份。這是一個(gè)很好的Web

安全防范措施。但是它不能避免所有的偽裝服務(wù)器的攻擊。

域名服務(wù)系統(tǒng)(DNS )可把易讀的網(wǎng)址(例如www.yourunit.com )解析為IP 地址,在你的安全鏈接中它是一個(gè)易遭受攻

擊的鏈接。如果攻擊者訪問了一個(gè)DNS 服務(wù)器,并且修改了指向他的機(jī)器的記錄,那么這個(gè)機(jī)器就可以把所有來自

www.yourunit.com 站點(diǎn)的請(qǐng)求全部重定向到www.attacker.com. 。在重定向中,訪問者的瀏覽器將顯示默認(rèn)的地址后綴。如

果字符串很長(zhǎng),使www.attacker.com 不在視野之內(nèi),大部分訪問者都不會(huì)注意到。

如果攻擊者得到VeriSign 為www.attacker.com 頒發(fā)的數(shù)字證書,那么訪問者的瀏覽器將和www.attacker.com 建立合法

的連接。如果訪問者不檢查數(shù)字證書,他不會(huì)知道自己在一個(gè)黑客站點(diǎn)上。如果攻擊者把他的站點(diǎn)偽裝成為和

www.attacker.com 的登錄界面一樣的話,他就能捕獲到該客戶的銀行信用卡帳號(hào)。

四、試圖控制Web 站點(diǎn)主機(jī)

一些攻擊利用web 服務(wù)器上運(yùn)行的軟件的漏洞來讓服務(wù)器執(zhí)行攻擊者的代碼。一類臭名昭著的攻擊方法就是向緩存寫入大量的數(shù)據(jù)從而使緩存器崩潰。下面所摘錄的一段C 代碼就很容易受到這樣的攻擊,因?yàn)樗鼪]有邊界檢查。

void ByYourCommand( char* pszData )

{ char szBuffer[ 255];

strcpy( szBuffer, pszData ); ...}

如果執(zhí)行strcpy()過程使堆棧溢出,將會(huì)產(chǎn)生什么結(jié)果呢?圖4向你展示了系統(tǒng)堆棧溢出后的情況。如果攻擊者在緩存中寫入了太多的數(shù)據(jù),它將覆蓋函數(shù)調(diào)用記錄。這是一個(gè)數(shù)據(jù)結(jié)構(gòu),它包含了保存函數(shù)入口代碼的寄存器,還有函數(shù)的返回地址。如果攻擊者的代碼覆蓋了函數(shù)的返回地址,攻擊者就可以在你的計(jì)算機(jī)上執(zhí)行任何代碼。

攻擊者是如何把他的攻擊代碼移植到你的電腦上的呢?他使用的方法就是把代碼

第 4 頁(yè) 共 5 頁(yè)

,

寫進(jìn)數(shù)據(jù)緩存,傳遞這個(gè)例子函數(shù)的字符串很容易感染上“特洛伊木馬”這樣的黑客程序。有許多文章已經(jīng)介紹過這類的攻擊方式。

黑客知道易攻擊的函數(shù)(例如上面所舉的函數(shù)例子)通常易被回應(yīng)用戶輸入的代碼所調(diào)用。攻擊者發(fā)送一個(gè)不可能的長(zhǎng)字符串給服務(wù)器。如果緩存溢出,處理他的請(qǐng)求的線程將崩潰。攻擊者得到HTTP 超時(shí)的消息提示就表明請(qǐng)求線程已被破壞。

如何阻止你Web 站點(diǎn)的應(yīng)用程序被利用呢?首先,給系統(tǒng)軟件添加最新的安全補(bǔ)丁。然后,檢查使用允許直接訪問內(nèi)存的語(yǔ)言(例如:C 、C 和Delphi )編寫的程序代碼,看是否有安全漏洞。

檢查代碼可以給你無盡的信心,因?yàn)槟憧梢园l(fā)現(xiàn)一個(gè)應(yīng)用程序并不是很容易就受到緩存溢出這樣的攻擊的。如果你要完全避免這樣的問題,只能不使用直接訪問內(nèi)存的語(yǔ)言來編寫代碼。你可以使用一些腳本語(yǔ)言(例如:JavaScript 、Perl )或使用解釋性的語(yǔ)言(例如Java )。如果使用安全的語(yǔ)言來編寫代碼,Web 站點(diǎn)的操作員就可以被解放出來,不用天天擔(dān)心緩存溢出這樣的安全攻擊。

另外,你也不要盲目地相信各種安全技術(shù),廠商雖然為了推銷自己的產(chǎn)品而做出了很好的安全質(zhì)量承諾,但是你要知道沒有任何技術(shù)能夠保證你的Web 不遭受攻擊。所以你需要一定的時(shí)間和精力去研究和發(fā)現(xiàn)Web 的缺點(diǎn),然后找出解決問題的方法。

Web 的安全性問題非常復(fù)雜,范圍很廣,在本文中,我們只是從外部的攻擊角度出發(fā),討論了如何避免Web 應(yīng)用程序和Web 數(shù)據(jù)遭到破壞和竊取,來防止非法用戶對(duì)Web 應(yīng)用程序的越權(quán)訪問,提高Web 站點(diǎn)的安全性。

第 5 頁(yè) 共 5 頁(yè)

標(biāo)簽: