梭子魚21 Classes of Appln Threats(CN)
Web 應用防火墻:如何阻擋21種應用威脅Wyatt Drive |Santa Clara, CA 95054|408.961.5600tel |408.986.8997fax ?2004NetCon
Web 應用防火墻:
如何阻擋21

種應用威脅
Wyatt Drive |Santa Clara, CA 95054|408.961.5600tel |408.986.8997fax ?2004NetContinuum, Inc. 448-0000027-02
,2
概述
當今的Web 應用已經(jīng)暴露在大量黑客的視線中,這些黑客對內部和商業(yè)軟件進行非法探測。這些潛在的威脅使無法對Web 應用進行安全、高效地部署。
要保護Web 應用免受潛在威脅,需要一個能夠同時對網(wǎng)絡層協(xié)議和應用層內容進行保護的平臺。部署安全系統(tǒng)的重中之重在于能夠對Web 流量進行雙向的深層檢測,其中包括流量加密、內容編碼,執(zhí)行安全策略來對網(wǎng)絡、應用和數(shù)據(jù)流進行深入的分析。
NC-1000Web 安全網(wǎng)關是一款基于ASIC 的應用安全設備,將DMZ 區(qū)功能工鞏固在一個單獨系統(tǒng)中,實現(xiàn)安全Web 應用的高效部署。NC-1000集成了行業(yè)領先的Web 應用防火墻,并通過ICSA 認證,確保對日益增加的Web 應用威脅進行全方位的防護。
本文檔描述了如何通過NC-1000來配置和執(zhí)行應用安全策略的最后方法,并詳細說明NC-1000的工作方式。本文檔將介紹三個簡單的初始配置,并對安全策略進行嚴格化的方式。
基本步驟
在執(zhí)行應用層安全策略前,NC-1000會執(zhí)行以下基本步驟:
●NC 1000首先對數(shù)據(jù)內容進行解密。SSL 卸載用于深層檢測;沒有SSL 快速卸載功能,防火墻無法對加密數(shù)據(jù)進
行有效的檢測。
●NC-1000在對流量進行安全策略匹配前會對其進行標準化處理、編碼。在HTTP 協(xié)議中,這些標準化處理包括了
Unicode, UTF 或Hex 等基本文本格式。否則,非法流量可能通過不同的編碼方式來偽裝自己,以此躲避防火墻的檢測。
d5opx;DóGE]ì?€3óa(chǎn)=[Z?ü3/4?-ùü../partners/e
#?m]??oa5Zò?!0^Y£kê?mtè‘?/~finance/etc/
/homepage/index2/partners/finance/home/index
圖1:對訪問流量進行解密和標準化處理,并對其進行深層分析,執(zhí)行應用層安全策略
?2005NetContinuum, Inc.
,3
在解密和標準化處理后,NC-1000將應用安全策略,阻擋帶有惡意攻擊的HTTP 流量。Web 應用網(wǎng)關對21種Web 應用威脅進行防護。詳情請參考以下鏈接:
圖2:21種Web 應用威脅
攻擊類型描述
跨站腳本攻擊跨站腳本攻擊利用站點漏洞來攻擊訪問該站點的客戶端。最常見的攻擊目的就是為了
竊取用戶的私密信息。
SQL 注入
命令注入
Cookie /會話中毒
參數(shù)/表格篡改SQL 注入是通過讓數(shù)據(jù)庫執(zhí)行SQL 命令,對數(shù)據(jù)進行修改和泄露。OS 命令注入用來讓黑客能夠方位數(shù)據(jù)并且提高自己在后臺服務器的權限。Cookies 通常用來傳輸敏感信息,很容易被篡改,用來提升權限或竊取其他用戶的身份。URL 和HTTP 報頭中的參數(shù)以及表格通常用來控制和驗證訪問敏感信息的用戶的合法
性。
黑客對帶有的安全漏洞的服務器發(fā)起超出正常范圍的請求。如果攻擊成功,黑客可以
直接執(zhí)行命令,對服務器造成危害。緩存溢出
目錄攻擊/強行瀏覽
密碼截取強行瀏覽未對外開放的站點,對信息進行泄露或篡改。黑客通常不會對強加密的SSL 進行破解。然而,他們會試圖攻擊安全性相對較弱的轉換
點,數(shù)據(jù)在這些轉換點被暫時解密。用多臺設備對加密和解密進行管理會使得密碼被
竊取的幾率大大增加。
Cookie 盜取Cookies 被用戶傳輸用戶私密信息,通常以Base64的編碼方式進行簡單編碼。這將導致
登錄信息被泄露。
認證劫持不安全的信息和身份管理會導致帳號被劫持或竊取。
日志篡改黑客通過刪除和篡改交易日志來銷毀他們所進行的非法行為的證據(jù)。
錯誤信息通常包含了大量了站點信息,使得黑客能夠獲得大量的諸如內部站點結構等私
有信息。
?2005NetContinuum, Inc. 錯誤信息截取
,4
攻擊隱藏黑客通常通過將他們的請求進行編碼,以此來偽裝自己的身份。應用平臺非法探測
DMZ 協(xié)議攻擊一些常見的攻擊可以通過相應的補丁來進行防范,但是補丁往往是不及時的。大多Web 應用環(huán)境都包括諸如DNS 、FTP 等關鍵的協(xié)議。這些協(xié)議含有潛在的漏洞,
并經(jīng)常遭到黑客的攻擊。
安全管理非法探測
Web 服務攻擊
“零日”攻擊經(jīng)驗豐富的黑客會對安全管理系統(tǒng)下手,試圖修改或關閉安全策略。由于Web 服務是進程間通信的模式,所以需要特殊的安全策略需求。對未知漏洞進行攻擊具有嚴重破壞性,因為還沒有相應的預防措施。網(wǎng)絡訪問攻擊
TCP 碎片攻擊
應用層服務拒絕攻擊當前有超過2,500種不同的網(wǎng)絡攻擊手段,通過將一個攻擊會話分片成多個TCP 數(shù)據(jù)包可以使得一個攻擊逃脫只掃描數(shù)據(jù)包而不掃描完整會話的檢測。當前有許多手法對應用和服務進行數(shù)據(jù)轟炸,耗盡服務器資源,以至無法響應正常請
求。
?2005NetContinuum, Inc.
,5
步驟一:隱藏應用架構
保護WEB 應用的第一步就是隱藏站點。站點隱藏配置便捷,通過阻斷探測行為來阻止大部分的攻擊。
如同傳統(tǒng)防火墻對內部IP 進行隱藏一樣,NC-1000可以對外完全隱藏WEB 應用資源。站點隱藏功能使得企業(yè)的內部WEB 資源對外不可見。
98的攻擊都以漏洞探測開始,以此來對整個網(wǎng)絡架構進行分析。根據(jù)系統(tǒng)和應用的列表,黑客能夠很容易地對漏洞進行探測。黑客通常對以下內容進行探測:●●●●●
Web 服務器應用軟件操作系統(tǒng)版本和補丁版本目錄結構
DNS 名稱和IP 地址cookies 中的有用信息
例如,紅碼蠕蟲會掃描那些監(jiān)聽80端口的主機的IP 地址,以此來探測IIS 的漏洞。梭子魚應用防火墻可以阻斷這些掃描,蠕蟲病毒不會滲入網(wǎng)絡。
Web 站點隱藏:將攻擊扼殺在搖籃中
大多數(shù)攻擊都會使用目標探測和漏洞自動掃描。常用防護工具(Whisker,Nessus, 和Nikto) 可以自動偵測潛在的漏洞。阻止魔表探測和自動掃描,可以消除潛在的攻擊威脅。
黑客使用各種各樣的工具和技術對網(wǎng)絡進行分析,包括ping 、nmap 、
ipfilter 和DNS 區(qū)域傳送。通過分析結果,黑客利用端口掃描對入口進行掃描,以此來獲取當前運行的服務。
NC-1000使用強大的站點隱藏功能來隱藏WEB 應用資源。通過阻斷黑客和探測和自動掃描,可以阻斷對站點發(fā)起的攻擊。站點隱藏功能可以消除相當大數(shù)量的攻擊。
對外隱藏的內容:
探測站點,搜索漏洞
WEB 服務器應用服務器
黑客
NC-1000
Web 應用
自動掃描帶有漏洞的服務器
操作系統(tǒng)版本和補丁版本目錄結構已知漏洞應用轉換DNS 名稱Cookie 內容
蠕蟲
圖2:WEB 站點隱藏使內部資源對于黑客和蠕蟲不可見
?2005NetContinuum, Inc.
,6
拒絕端口掃描
端口掃描用來為以后的攻擊做準備,探測是否易于攻擊的服務。最簡單的端口掃描就是對65536個端口進行掃描。對于DNS 或其他UDP 端口,黑客通常發(fā)送空的UDP 數(shù)據(jù)包進行探測。如果此端口處于工作狀態(tài),將會發(fā)回一個錯誤消息或忽略請求包。
NC-1000具有狀態(tài)檢測功能,可以阻斷對NAT 和傳統(tǒng)ACL 發(fā)起的探測。
80端口通常都是開啟并極易受到攻擊。許多諸如Whisker, Nessus 和Nikto 之類的可以免費下載的探測軟件都可以用來為攻擊做好前期準備。例如,Nikto 是一款WEB 服務器掃描工具,它執(zhí)行完整的測試方法來查詢多個項目,超過2000種潛在的危險文件/CGI腳本,130種服務器版本和關于200多種服務器的已知安全問題。
阻斷惡意WEB 爬行程序
站點爬行程序(所謂的蜘蛛程序)是一種自動進行站點瀏覽的程序。雖然站點爬行程序十分有用,但是如果用于惡意目的,他們能給網(wǎng)絡帶來巨大的威脅。從根本上說,站點爬行程序是一種自行偷取數(shù)據(jù)的工具。他們能夠輕而易舉地下載全部或部分網(wǎng)站地圖。爬行程序可以發(fā)啟并發(fā)的線程,訪問受保護的站點,通過類型和大小對文件進行過濾,搜索特定的關鍵字。爬行程序可以閱讀和解析多種計算機語言,包括HTML 4.0, CSS 2.0, 和DHTML 。爬行程序還具有正則表達式的功能,輕松搜索數(shù)據(jù)。同時,爬行程序還支持SSL 和cookie 。同時又能將自定義的HTTP 報頭注入HTTP 請求,以此來隱藏自己的罪惡身份。
通過互聯(lián)網(wǎng)中成百上千的開放資源,爬行程序能夠免費獲得,它們已經(jīng)成為黑客的理想工具,黑客通過它們來執(zhí)行自動的站點爬行,或者通過一定的手段來發(fā)現(xiàn)潛在的攻擊途徑,竊取贏利站點的重要保密內容。爬行程序能夠在站點爬行過程中執(zhí)行簡單的命令。這些命令包括腳本命令,SQL 命令,通過這些命令來探測是否可能對這個站點發(fā)起跨站腳本攻擊或SQL 注入的攻擊。站點爬行程序獲取的信息還可以用來對WEB 應用進行反向管理,并快速識別潛在的漏洞入口。爬行程序無疑是黑客的理想伙伴。
NC-1000使用反爬行技術來保護站點,避免站點暴露于惡意爬行程序。反爬行技術通過使用智能安全算法,在惡意爬行程序首次對站點爬行掃描時對其進行合法性鑒別并進行記錄。一經(jīng)鑒別,此爬行程序將會被用來與管理員定義的“白名單”中的合法爬行程序進行對比。如果不在白名單中,此爬行程序將被拒絕訪問站點,并被暫時加入“黑名單”,阻斷持續(xù)時間由管理員設定。開啟反爬行程序功能后,站點可以免受惡意爬行程序的攻擊,避免數(shù)據(jù)竊取、漏洞掃描和自動內容竊取等嚴重后果。同時,此功能還能夠阻止黑客使用惡意爬行程序對站點的探測。
阻斷URL 返回代碼
返回代碼是當你打開一個站點時,發(fā)生錯誤而返回的錯誤信息。錯誤信息以HTML 頁面顯示,用來對所遇到的錯誤進行描述。這些錯誤信息為黑客提供了關于應用構架和站點資源系信息等的相關線索。
?2005NetContinuum, Inc.
,7
掃描設備能夠利用返回代碼來發(fā)現(xiàn)已知的漏洞。例如,當文件不存在時,WEB 服務器會返回404錯誤代碼;當文件存在,但該用戶無權訪問時,服務器會返回401或403錯誤代碼。在NC-1000的站點隱藏功能的保護下,黑客看不到這些錯誤代碼,阻止了黑客對站點進行的進一步探測。
響應數(shù)據(jù)包報頭隱藏
響應數(shù)據(jù)包報頭包含了WEB 站點的相關信息。HTTP 響應數(shù)據(jù)包使用報頭來發(fā)送HTTP 信息。一個報頭由多行信息構成,每行包含一個名字,名字后跟以冒號和空格,隨后加上變量值。這些信息包含了大量關于該站點的線索,其中包括服務器的類型。NC-1000能過對響應數(shù)據(jù)包報頭進行隱藏。
Cookie 加密
Cookie 是黑客喜歡的另一種潛在的信息資源。不同的應用服務器,如BEA 或微軟使用常見格式的cookie 。用于單點登錄的cookie 通常帶有該系統(tǒng)漏洞。通過篡改防護功能和對cookie 進行加密可以保護站點免遭攻擊。
NC-1000對cookie 進行加密處理,黑客無法獲取真正的內容。這將在很大程度上保護那些需要cookie 的應用服務。NC-1000同時對cookie 進行數(shù)字簽名,以此保護cookie 免遭篡改。加密和數(shù)字簽名包括公鑰和密鑰兩種方式。內部DNS 名稱空間隱藏
Web 地址轉換能夠將內部應用外部化,達到隱藏內部DNS 名稱空間的效果。URL 轉換引擎對所有的URL 響應進行深入的檢查,并根據(jù)安全策略對這些響應進行重寫。通過隔離內部應用信息,NC-1000能夠作為用戶請求和內部應用的中轉s 站,向用戶瀏覽器重建安全的應用會話。
例如,ABC 公司在內部DNS 服務器上注冊了兩個名為finance.abc 和hr.abraxas 的域名,并且想把這兩個內部域名對外顯示為www.companyabc.com 。否則,黑客將從這兩個內部域名中得到有用的敏感數(shù)據(jù)。
NC-1000可以幫助ABC 公司將finance.abc.com 和hr.abraxas 映射成www.companyabc.com ,并加上適當?shù)那熬Y加以區(qū)分。在此之后,NC-1000會重寫響應,將這些內部應用轉換為對外的形式,如http://www.companyabc.com/finance和http://www.companyabc.com/hr。
Web 地址轉換幫助企業(yè)將內部應用外部化,使得內部名稱空間和地址對外不可見。
雖然站點隱藏可以保護企業(yè)免遭經(jīng)驗相對不豐富的黑客的攻擊,但是并不能全面保護站點免遭職業(yè)黑客的入侵。下一個防護步驟就是要確保應用程序始終以開發(fā)者的設計思想運行。梭子魚應用防火墻的動態(tài)應用防護功能能夠達到這個目的。動態(tài)應用防護使用主動防護模式,即只允許事先定義為“正?!钡男袨?,阻止其他任何行為。
下一章節(jié)將詳細介紹動態(tài)應用防護的工作原理。
?2005NetContinuum, Inc.
,8
步驟二:執(zhí)行特定應用安全策略
至今為止,網(wǎng)絡和應用安全一直工作于被動模式下。通過上一章節(jié),我們已經(jīng)了解到什么是攻擊簽名,補丁的弱點,并想始終領先于各種攻擊手段。被動模式的弱點就是無法防護未知的攻擊手段。此外,WEB 數(shù)據(jù)中心是一個高動態(tài)的數(shù)據(jù)信息存放中心,含有大量新的應用、軟件重編碼模塊和不斷改變應用結構的補丁程序。安全人員必須將新的工具和方法投入到變化如此迅速的應用環(huán)境中去。
動態(tài)應用防護功能為安全應用提供了一種從根本上來說截然不同保護方法。動態(tài)應用防護允許已知的合法行為,拒絕其他任何行為,并非像傳統(tǒng)的被動模式那樣拒絕已知的攻擊,允許其他任何行為。
NC-1000使用雙向數(shù)據(jù)深層檢測技術對WEB 應用行為進行分析,并執(zhí)行相應的應用安全策略。NC-1000對某個應用的HTTP 響應進行分析,以此來判斷其目的,然后根據(jù)所得的信息建立針對此應用的安全策略。由于應用掃描針對的是請求和響應,而非對已知的攻擊進行掃描,所以能夠避免未知的攻擊滲入網(wǎng)絡。
許多使用表格和其他輸入形式的WEB 應用都依賴客戶端的安全處理機制。將安全防護交給客戶端完成就如同你將家門鑰匙發(fā)給別人,并期盼不會有人來開你家的房門。NC-1000通過動態(tài)應用防護功能,來執(zhí)行由應用本身所定義的安全策略。
管理員只需在NC-1000的管理界面開啟一個安全入口,就能夠開啟動態(tài)應用防護功能。ACL Name Action Mode
Active URL Domain Header Policy DAP *
圖3:通過設置默認的應用ACL 來開啟全局動態(tài)應用防護
一旦此功能開啟,NC-1000就開始分析該應用的響應和關鍵參數(shù),有效地保護那些之前只依賴客戶端進行安全防護的應用,NC-1000通過檢查以下參數(shù)對應用進行安全分析:
1.
2.
3.
4.
5. 多層URL 隱藏區(qū)域表格最大長度只讀區(qū)域諸如單選按鈕、下拉菜單之類的邊界值
?2005NetContinuum, Inc.
,6. 服務器在產(chǎn)生的query string 參數(shù)
接下來的幾部分將詳細描述動態(tài)應用防護如何進行工作。
?2005NetContinuum, Inc.
,動態(tài)應用防護如何工作9
動態(tài)應用防護對數(shù)據(jù)進行雙向檢測。
例如,瀏覽器向應用請求一個頁面。NC-1000部署在WEB 服務器前,終止來自瀏覽器的請求,對其進行安全掃描,通過后對服務器發(fā)起新的請求。
服務器響應該請求。此響應來到NC-1000。
NC-1000分析該來自服務器的頁面,根據(jù)安全策略對此響應進行完整的分析。在此過程中,NC-1000學習所有來自服務器的合法參數(shù),比如多層URL 、隱藏區(qū)域、只讀區(qū)域和最大長度。
如果查看瀏覽器中的“查看源文件”,你可以清楚地看到NC-1000所學習到數(shù)據(jù)參數(shù)(參見圖4)。當瀏覽器再次發(fā)起請求,NC-1000會通過安全策略對請求進行掃描。對于上行數(shù)據(jù)流,NC-1000根據(jù)應用和已學習到的參數(shù)對所有的對象進行定位處理。將這些通過動態(tài)學習得來的參數(shù)以安全策略的方式加以應用。
NC-1000對輸入的頁面請求進行深入分析,確保沒有任何非法流量進入網(wǎng)絡。如果是合法流量,請求被發(fā)送到后端服務器;如果是非法請求,該請求將在本地被阻斷,后端服務器完全不知道發(fā)生了什么。以下是一些實例。
動態(tài)應用防護如何阻擋各種攻擊
由于NC-1000只定義合法的請求,其余請求均被阻斷,動態(tài)應用防護可以以此來阻擋各種攻擊,這些攻擊包括:●
●
●
●
●強制瀏覽隱藏區(qū)域參數(shù)篡改緩沖溢出單選按鈕、下拉菜單值篡改參數(shù)篡改
動態(tài)應用防護通過以下所示部分來阻擋各種形式的攻擊。