Web應(yīng)用常見的安全威脅
這些趨勢帶來的問題就是:Web應(yīng)用程序和服務(wù)的增長已超越了程序開發(fā)人員所接受的安全培訓和安全意識的范圍。Web應(yīng)用系統(tǒng)的安全風險達到了前所未有的高度。本文詳細剖析了Web應(yīng)用中的常見漏洞及攻擊方式,全面分析Web應(yīng)用系統(tǒng)的安全風險。
Web應(yīng)用系統(tǒng)是由操作系統(tǒng)和Web應(yīng)用程序組成的。許多程序員不知道如何開發(fā)安全的應(yīng)用程序,他們沒有經(jīng)過安全編碼的培訓。他們的經(jīng)驗也許是開發(fā)獨立應(yīng)用程序或企業(yè) Web應(yīng)用程序,這些應(yīng)用程序沒有考慮到在安全缺陷被利用時可能會出現(xiàn)災(zāi)難性后果。
Web應(yīng)用的大多數(shù)安全問題都屬于下面三種類型之一:
◆服務(wù)器向公眾提供了不應(yīng)該提供的服務(wù),導致存在安全隱患。
◆服務(wù)器把本應(yīng)私有的數(shù)據(jù)放到了公開訪問的區(qū)域,導致敏感信息泄露。
◆服務(wù)器信賴了來自不可信賴數(shù)據(jù)源的數(shù)據(jù),導致受到攻擊。
許多Web服務(wù)器管理員從來沒有從另一個角度來看看他們的服務(wù)器,沒有對服務(wù)器的安全風險進行檢查,例如使用端口掃描程序進行系統(tǒng)風險分析等。如果他們曾經(jīng)這樣做了,就不會在自己的系統(tǒng)上運行那么多的服務(wù),而這些服務(wù)原本無需在正式提供Web服務(wù)的機器上運行,或者這些服務(wù)原本無需面向公眾開放。另外他們沒有修改對外提供服務(wù)的應(yīng)用程序的banner信息,使攻擊者容易獲取到Web服務(wù)器對外提供應(yīng)用程序的相關(guān)版本信息,并根據(jù)信息找到相對應(yīng)的攻擊方法和攻擊程序。
許多Web應(yīng)用程序容易受到通過服務(wù)器、應(yīng)用程序和內(nèi)部已開發(fā)的代碼進行的攻擊。這些攻擊行動直接繞過了周邊防火墻安全措施,因為端口80或 443(SSL,安全套接字協(xié)議層)必須開放,以便讓應(yīng)用程序正常運行。Web應(yīng)用安全存在非法輸入、失效的訪問控制、失效的賬戶和線程管理、跨站腳本攻擊、緩沖區(qū)溢出、注射攻擊、異常錯誤處理、不安全的存儲、拒絕服務(wù)攻擊、不安全的配置管理等問題。Web應(yīng)用程序攻擊包括對應(yīng)用程序本身的DoS(拒絕服務(wù))攻擊、改變網(wǎng)頁內(nèi)容、SQL注入、上傳Webshell以及獲取對Web服務(wù)的控制權(quán)限等。
總之,Web應(yīng)用攻擊之所以與其他攻擊不同,是因為它們很難被發(fā)現(xiàn),而且可能來自任何在線用戶,甚至是經(jīng)過驗證的用戶。Web應(yīng)用攻擊能繞過防火墻和入侵檢測產(chǎn)品的防護,企業(yè)用戶無法發(fā)現(xiàn)存在的Web安全問題。