防止入侵從Web應(yīng)用安全漏洞做起 |
發(fā)布時(shí)間: 2012/9/13 17:19:46 |
在Internet大眾化及Web應(yīng)用技術(shù)飛速演變的今天,在線(xiàn)安全所面臨的挑戰(zhàn)日益嚴(yán)峻。伴隨著在線(xiàn)信息和服務(wù)的可用性的提升,以及Web的攻擊和破壞的增長(zhǎng),安全風(fēng)險(xiǎn)達(dá)到了前所未有的高度。由于眾多安全工作集中在網(wǎng)絡(luò)本身上面,Web應(yīng)用程序幾乎被遺忘了。也許這是因?yàn)閼?yīng)用程序過(guò)去常常是在一臺(tái)計(jì)算機(jī)上運(yùn)行的獨(dú)立程序,如果這臺(tái)計(jì)算機(jī)安全的話(huà),那么應(yīng)用程序就是安全的。如今,情況大不一樣了,Web應(yīng)用程序在多種不同的機(jī)器上運(yùn)行:客戶(hù)端、Web服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器和應(yīng)用服務(wù)器。而且,因?yàn)樗麄円话憧梢宰屗械娜耸褂,所以這些應(yīng)用程序成為了眾多攻擊活動(dòng)的后臺(tái)旁路。 由于Web服務(wù)器提供了幾種不同的方式將請(qǐng)求轉(zhuǎn)發(fā)給應(yīng)用服務(wù)器,并將修改過(guò)的或新的網(wǎng)頁(yè)發(fā)回給最終用戶(hù),這使得非法闖入網(wǎng)絡(luò)變得更加容易。 而且,許多程序員不知道如何開(kāi)發(fā)安全的應(yīng)用程序。他們的經(jīng)驗(yàn)也許是開(kāi)發(fā)獨(dú)立應(yīng)用程序或Intranet Web應(yīng)用程序,這些應(yīng)用程序沒(méi)有考慮到在安全缺陷被利用時(shí)可能會(huì)出現(xiàn)災(zāi)難性后果。 其次,許多Web應(yīng)用程序容易受到通過(guò)服務(wù)器、應(yīng)用程序和內(nèi)部已開(kāi)發(fā)的代碼進(jìn)行的攻擊。這些攻擊行動(dòng)直接通過(guò)了周邊防火墻安全措施,因?yàn)槎丝?0或443(SSL,安全套接字協(xié)議層)必須開(kāi)放,以便讓?xiě)?yīng)用程序正常運(yùn)行。Web應(yīng)用程序攻擊包括對(duì)應(yīng)用程序本身的DoS(拒絕服務(wù))攻擊、改變網(wǎng)頁(yè)內(nèi)容以及盜走企業(yè)的關(guān)鍵信息或用戶(hù)信息等。 總之,Web應(yīng)用攻擊之所以與其他攻擊不同,是因?yàn)樗鼈兒茈y被發(fā)現(xiàn),而且可能來(lái)自任何在線(xiàn)用戶(hù),甚至是經(jīng)過(guò)驗(yàn)證的用戶(hù)。迄今為止,該方面尚未受到重視,因?yàn)槠髽I(yè)用戶(hù)主要使用防火墻和入侵檢測(cè)解決方案來(lái)保護(hù)其網(wǎng)絡(luò)的安全,而防火墻和入侵檢測(cè)解決方案發(fā)現(xiàn)不了Web攻擊行動(dòng)。 常見(jiàn)的Web應(yīng)用安全漏洞 下面將列出一系列通常會(huì)出現(xiàn)的安全漏洞,并且簡(jiǎn)單解釋一下這些漏洞是如何產(chǎn)生的。 已知弱點(diǎn)和錯(cuò)誤配置 已知弱點(diǎn)包括Web應(yīng)用使用的操作系統(tǒng)和第三方應(yīng)用程序中的所有程序錯(cuò)誤或者可以被利用的漏洞。這個(gè)問(wèn)題也涉及到錯(cuò)誤配置,包含有不安全的默認(rèn)設(shè)置或管理員沒(méi)有進(jìn)行安全配置的應(yīng)用程序。一個(gè)很好的例子就是你的Web服務(wù)器被配置成可以讓任何用戶(hù)從系統(tǒng)上的任何目錄路徑通過(guò),這樣可能會(huì)導(dǎo)致泄露存儲(chǔ)在Web服務(wù)器上的一些敏感信息,如口令、源代碼或客戶(hù)信息等。 隱藏字段 在許多應(yīng)用中,隱藏的HTML格式字段被用來(lái)保存系統(tǒng)口令或商品價(jià)格。盡管其名稱(chēng)如此,但這些字段并不是很隱蔽的,任何在網(wǎng)頁(yè)上執(zhí)行“查看源代碼”的人都能看見(jiàn)。許多Web應(yīng)用允許惡意的用戶(hù)修改HTML源文件中的這些字段,為他們提供了以極小成本或無(wú)需成本購(gòu)買(mǎi)商品的機(jī)會(huì)。這些攻擊行動(dòng)之所以成功,是因?yàn)榇蠖鄶?shù)應(yīng)用沒(méi)有對(duì)返回網(wǎng)頁(yè)進(jìn)行驗(yàn)證;相反,它們認(rèn)為輸入數(shù)據(jù)和輸出數(shù)據(jù)是一樣的。 后門(mén)和調(diào)試漏洞 開(kāi)發(fā)人員常常建立一些后門(mén)并依靠調(diào)試來(lái)排除應(yīng)用程序的故障。在開(kāi)發(fā)過(guò)程中這樣做可以,但這些安全漏洞經(jīng)常被留在一些放在Internet上的最終應(yīng)用中。一些常見(jiàn)的后門(mén)使用戶(hù)不用口令就可以登錄或者訪(fǎng)問(wèn)允許直接進(jìn)行應(yīng)用配置的特殊URL。 跨站點(diǎn)腳本編寫(xiě) 一般來(lái)說(shuō),跨站點(diǎn)編寫(xiě)腳本是將代碼插入由另一個(gè)源發(fā)送的網(wǎng)頁(yè)之中的過(guò)程。利用跨站點(diǎn)編寫(xiě)腳本的一種方式是通過(guò)HTML格式,將信息帖到公告牌上就是跨站點(diǎn)腳本編寫(xiě)的一個(gè)很好范例。惡意的用戶(hù)會(huì)在公告牌上帖上包含有惡意的JavaScript代碼的信息。當(dāng)用戶(hù)查看這個(gè)公告牌時(shí),服務(wù)器就會(huì)發(fā)送HTML與這個(gè)惡意的用戶(hù)代碼一起顯示?蛻(hù)端的瀏覽器會(huì)執(zhí)行該代碼,因?yàn)樗J(rèn)為這是來(lái)自Web服務(wù)器的有效代碼。 參數(shù)篡改 參數(shù)篡改包括操縱URL字符串,以檢索用戶(hù)以其他方式得不到的信息。訪(fǎng)問(wèn)Web應(yīng)用的后端數(shù)據(jù)庫(kù)是通過(guò)常常包含在URL中的SQL調(diào)用來(lái)進(jìn)行的。惡意的用戶(hù)可以操縱SQL代碼,以便將來(lái)有可能檢索一份包含所有用戶(hù)、口令、信用卡號(hào)的清單或者儲(chǔ)存在數(shù)據(jù)庫(kù)中的任何其他數(shù)據(jù)。 更改cookie 更改cookie指的是修改存儲(chǔ)在cookie中的數(shù)據(jù)。網(wǎng)站常常將一些包括用戶(hù)ID、口令、帳號(hào)等的cookie存儲(chǔ)到用戶(hù)系統(tǒng)上。通過(guò)改變這些值,惡意的用戶(hù)就可以訪(fǎng)問(wèn)不屬于他們的帳戶(hù)。攻擊者也可以竊取用戶(hù)的cookie并訪(fǎng)問(wèn)用戶(hù)的帳戶(hù),而不必輸入ID和口令或進(jìn)行其他驗(yàn)證。 輸入信息控制 輸入信息檢查包括能夠通過(guò)控制由CGI腳本處理的HTML格式中的輸入信息來(lái)運(yùn)行系統(tǒng)命令。例如,使用CGI腳本向另一個(gè)用戶(hù)發(fā)送信息的形式可以被攻擊者控制來(lái)將服務(wù)器的口令文件郵寄給惡意的用戶(hù)或者刪除系統(tǒng)上的所有文件。 緩沖區(qū)溢出 緩沖區(qū)溢出是惡意的用戶(hù)向服務(wù)器發(fā)送大量數(shù)據(jù)以使系統(tǒng)癱瘓的典型攻擊手段。該系統(tǒng)包括存儲(chǔ)這些數(shù)據(jù)的預(yù)置緩沖區(qū)。如果所收到的數(shù)據(jù)量大于緩沖區(qū),則部分?jǐn)?shù)據(jù)就會(huì)溢出到堆棧中。如果這些數(shù)據(jù)是代碼,系統(tǒng)隨后就會(huì)執(zhí)行溢出到堆棧上的任何代碼。Web應(yīng)用緩沖區(qū)溢出攻擊的典型例子也涉及到HTML文件。如果HTML文件上的一個(gè)字段中的數(shù)據(jù)足夠的大,它就能創(chuàng)造一個(gè)緩沖器溢出條件。 直接訪(fǎng)問(wèn)瀏覽 直接訪(fǎng)問(wèn)瀏覽指直接訪(fǎng)問(wèn)應(yīng)該需要驗(yàn)證的網(wǎng)頁(yè)。沒(méi)有正確配置的Web應(yīng)用程序可以讓惡意的用戶(hù)直接訪(fǎng)問(wèn)包括有敏感信息的URL或者使提供收費(fèi)網(wǎng)頁(yè)的公司喪失收入。 Web應(yīng)用安全兩步走 Web應(yīng)用攻擊能夠給企業(yè)的財(cái)產(chǎn)、資源和聲譽(yù)造成重大破壞。雖然Web應(yīng)用增加了企業(yè)受攻擊的危險(xiǎn),但有許多方法可以幫助減輕這一危險(xiǎn)。首先,必須教育開(kāi)發(fā)人員了解安全編碼方法。僅此項(xiàng)步驟就會(huì)消除大部分Web應(yīng)用的安全問(wèn)題。其次,堅(jiān)持跟上所有廠商的最新安全補(bǔ)丁程序。如果不對(duì)已知的缺陷進(jìn)行修補(bǔ),和特洛伊木馬一樣,攻擊者就能很容易地利用你的Web應(yīng)用程序穿過(guò)防火墻訪(fǎng)問(wèn)Web服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、應(yīng)用服務(wù)器等等。將這兩項(xiàng)步驟結(jié)合起來(lái),就會(huì)大大減少Web應(yīng)用受到攻擊的風(fēng)險(xiǎn)。同時(shí)管理人員必須采取嚴(yán)格措施,以保證不讓任何東西從這些漏洞中溜過(guò)去。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |