絕大多數企業將大量的投資花費在網絡和服務器的安全上,沒有從真正意義上保證應用本身的安全,給黑客以可乘之機。當今世界, Inte.NET(因特網)已經成為一個非常重的基礎平臺,很多企業都將應用架設在該平臺上,為客戶提供更為方便、快捷的服務支持。這些應用在功能和性能上,都在不斷地完善和提高,然而在非常重要的安全性上,卻沒有到足夠的重視。
由于網絡技術日趨成熟,黑客們也將注意力從以往對網絡服務器的攻擊逐漸轉移到了對Web應用的攻擊上。根據 Gartner的調查,信息安全攻擊有75%都是發生Web應用而非網絡層面上。同時,數據也顯示,三分之二的Web站點都相當脆弱,易受攻擊,然而現實卻是,絕大多數企業將大量的投資花費在網絡和服務器的安全上,沒有從真正意上保證Web應用本身的安全,給黑客以可乘之機。
一、Web安全介紹
1.1 什么是Web應用
Web應用是由動態腳本、編譯過的代碼等組合而成。它通常架設在Web服務器上,用戶在Web瀏覽器上發送請求,這些請求使用HTTP協議,經過因特網和企業的Web應用交互,由Web應用和企業后臺的數據庫及其他動態內容通信。
1.2 Web應用的架構
盡管不同的企業會有不同的Web環境搭建方式,一個典型的Web應用通常是標準的三層架構模型。
在這種最常見的模型中,客戶端是第一層;使用動態Web內容技術的部分屬于中間層;數據庫是第三層。用戶通過Web瀏覽器發送請求( request)給中間層,由中間層將用戶的請求轉換為對后臺數據的查詢或是更新,并將最終的結果在瀏覽器上展示給用戶。
二、Web安全滲透測試分析
2.1 什么是Web滲透測試
滲透測試( Penetration Test)是完全模擬黑客可能使用的攻擊技術和漏洞發現技術,對目標系統的安全做深入的探測,發現系統最脆弱的環節。滲透測試能夠直觀地讓管理人員知道自己網絡所面臨的問題。而Web滲透測試主要是對Web應用程序和相應的軟硬件設備配置的安全性進行測試。
進行Web滲透測試的安全人員必須遵循一定的滲透測試準則,不能對被測系統進行破壞活動Web安全滲透測試一般是經過客戶授權的,采用可控制、非破壞性質的方法和手段發現目標服務器、Web應用程序和網絡配置中存在的弱點。它的適用范圍即可以在Web系統發布之前進行安全測試,也可以在系統發布之后,持續跟蹤滲透測試Web系統,從而在最大限度上保證Web系統的安全。
2.2 web安全滲透測試分類
實際上,滲透測試并沒有嚴格的分類方式。
2.2.1 根據滲透類別分類:
1)黑箱測試
黑箱測試又被稱為所謂的“Zero-Knowledge Testing”,滲透者處于完全對系統一無所知的狀態,通常這類型測試,最初的信息獲取來自于DNS、Web、 Email及各種公開對外的服務器。
2) 白盒測試
白盒測試與黑箱測試恰恰相反,測試者可以通過正常渠道向被測單位取得各種資料,包括網絡拓撲、員工資料甚至網站或其它程序的代碼片斷,也能夠與單位的其它員工(程序員管理者等)進行面對面的溝通。
2.2.2 根據滲透目標分類:
1) 主機操作系統滲透
對 windows、 Solaris、AIX、 linux、SCO、SGl等操作系統本身進行滲透測試。
2) 數據庫系統滲透
對MS-SQL、 Oracle, MySQL、 Informix、 Sybase、DB2等數據庫應用系統進行滲透測試。
3) 應用系統滲透
對滲透目標提供的各種應用程序,如ASP、JSP、PP等組成的WWW應用程序進行滲透測試。
4) 網絡設備滲透
對各種防火墻、入侵檢測系統、網絡設備進行滲透測試。
2.3 Web安全滲透測試標準
由于滲透測試是一個比較復雜的系統工程,目前有許多不同的測試標準,主要有國家標準、安全組織標準等。因為對于攻擊者來說,他們的目的只是為了達到攻克系統,獲得系統控制權的任務。而對于安全測試人員來說,他們的任務是制定一套測試流程,盡可能高效地測試網絡的安全性,所以對于Web安全測試來說,需要在現有的安全標準與測試流程中,總結提煉出一套行之有效的Web安全滲透測試內容和方法。
下面是目前的一些滲透測試標準:
2.3.1 國家級別的標準
1) 美國的信息安全測試和評估技術指南( Technical Guide to InformationSecurity Testing and Assessment)。一個有效的風險管理過程是一個成功的IT安全項目的重要組成部分。這本指南是美國的國家標準,其有一定的權威性。其基本目標是為了保護機構,使其有能力完成們的任務,而不僅僅是保護他們的IT資產。這本指南具有一定方法論方面的指導意義
2) 德國聯邦信息安全辦公室發布的滲透測試模型( A penetration test model)。這份滲透測試型對于從事和將要從事滲透測試服務的機構和人員有一定參考價值,也可以幫助有這方面需求的客戶了解這方面的信息安全組織級別的標準。
2.3.2 安全組織級別標準
1) Web安全組織 OWASP發布的測試指南( OWASP Testing Guide V3.0)。這份指南提供了較為完整的Web安全測試框架和相應測試條目,安全測試人員可以根據不同的測試需求,定制自己的測試項目。
2) 開源安全測試方法指南( (The Open Source Security TestingMethodology Manual)。這本測試手冊是一個完備的用于安全測試的專業標準。作為一個專業標準,它包括了參與規則對于專業測試人員的道德規范、測試所應遵循的法律和一個完整的測試條目集合。這本手冊的目標是希望成為專業測試人員的完備手冊。
總體說來,雖然不同的標準是從理論的角度整體上對不同的安全問題進行了分類總結,但不同的標準對安全問題的分類不盡相同,而且標準對許多漏洞的形成原因沒有進行深入分析,所以對于安全測試人員來說,在實際滲透測試時,往往需要根據對目標系統測試的需求,參照標準,自己設計滲透測試內容和測試方法。
三、Web安全滲透測試方法設計
3.1 Web安全滲透測試基本步驟
因為Web滲透測試是模擬黑客的行為,對Web系統進行安全性測試,所以首先分析下黑客攻擊Web的基本步驟。Web攻擊不是漫無目的地隨意攻擊,往往是有一定既定目標的攻擊,這通常要經歷以下5個步驟:
1) 信息收集
正所謂工欲善其事,必先利其器,Web攻擊發生前,攻擊者必定會對攻擊目標進行細致的偵查工作,從而為后續的攻擊做準備。對目標網絡進行偵查之前,首先要收集匯總各種與目標系統有關的信息,形成對目標網絡必要的輪廓認識,并為實施攻擊做好準備。信息的收集可以通過以下幾種方式進行:DNS域名服務, Finger服務, Whois服務, Nslookup,Ping 與 PathPing, Tracert等信息查詢。
2) 掃描
通過信息收集掌握了目標網絡的外部特征信息之后,可以對目標網絡進行有針對性地掃描,掃描的最終結果決定了能否對目標網絡進行攻擊,任何掃描得到的漏洞信息,都可能成為突破網絡的切入點,當然掃描得到的結果不一定就是可以直接利用的系統漏洞。
從利用方式來說,可以將信息分為兩類:一類是安全敏感信息,這包括第一階段收集到的信息,以及掃描階段得到的關于端口開放以及操作系統類型信息,這些信息雖然不能直接用于對目標網絡的滲透與攻擊,但有助于全面了解目標網絡的信息。另一類就是安全漏洞信息,這類安全漏洞可能是系統配置上的疏忽造成的(例如沒有及時打補丁),也可能是操作系統或應用程序自身的缺陷,結果是都可能導致利用漏洞突破并控制目標網絡。
探測類掃描主要有以下常用手段:
端口掃描、操作系統探測、應用服務探測、路由器探測、防火墻探測等。
漏洞發掘類掃描主要有:Web、CGI安全漏洞掃描, Windows、Unix、 Linux等操作系統漏洞掃描,SNMP漏泂掃描、SQL Server等數據庫服務漏洞掃描,路由器、防火墻漏洞掃描。
掃描過程實際上已經與目標主機或網絡發生物理鏈接,可以看作是程度較輕的攻擊行為。掃描結果決定了攻擊者的下一步行動。
掃描要達到的基本目標:
- 確定目標系統是否真實存在;
- 確定目標系統上都有哪些服務正在運行或監聽;
- 探查操作系統版本。
網絡攻擊往往尋找最薄弱的地方作為突破口,所以黑客攻擊時要盡可能尋找系統存在的漏洞,從而作為攻擊的切入點。
3) 攻擊
通過信息收集和掃描階段得到相關線索以后,經過分析和籌劃,下一步就可以采取各種手段以實現直接的攻擊目的。
從黑客攻擊的目的來看,可以分為兩種,一種是給目標以致命打擊,使目標系統受損,甚至癱瘓,這好比是正面戰場上的交鋒,目的是致敵人于死地:另一種攻擊則更加常見,其目的在于獲取直接的利益,比如下載到目標系統的機密信息,或者是得到目標系統的最高控制權,過程中,攻擊者無意對目標系統的正常能力進行破壞,他可能更希望非常隱蔽地實現自已的目的。
4) 植入后門
在一次成功的攻擊之后,為了以后的再次進入和控制目標主機,一般要放置一些后門程序,由于網絡主機系統經常升級,這些原來被利用突破系統的漏洞在系統升級以后就可能被修補,而后門程序就可以不依賴于原來用于突破的漏洞,保持長期穩定的控制能力。
后門可能是一個隱藏的管理員賬號、一個具有超級權限的服務進程,有時甚至是一個故意置入的系統漏洞。好的后門程序在保證最高的系統權限的同時,必須不易被目標用戶察覺。許多木馬程序、遠程控制程序都可以作為后門程序植入,最新的一些后門采取可卸載內核模塊(LKM)的辦法,動態地修改系統內核,一般情況下無法檢測出來。功能強大的后門程序,可以利用被控主機運行掃描、嗅探等技術突破整個網絡。
5) 消除痕跡
作為一次完整的Web攻擊,黑客在取得需要的戰果以后,就要打掃戰場了,也就是消除痕跡。在信息收集、掃描、攻擊階段,即使采取了許多防護措施,也會留下直接或間接的攻擊痕跡。攻擊痕跡可能會在目標主機的管理員進行例行檢查時暴露出來,進一步的安全檢查則可能導致攻擊行為的完全暴露,甚至發現植入的后門程序;攻擊痕跡也可能被富有經驗的安全調試員利用來反向跟蹤到真正的攻擊源頭,同時,攻擊痕跡是攻擊技術和手段的直接反映。
消除痕跡是一項細心的工作,系統的審計日志、Web的訪問記錄、防火墻的監控攻擊留下的殘余線索都必須認真清理。對于一些必須留下的后門程序,需要采取進程隱藏文件隱藏、核心文件替換、程序加密等多種手段避免被發現。
從黑客攻擊Web的方式可以看出,這其中主要經歷了5個主要步驟:信息收集、掃描、攻擊、植入后門、消除痕跡。
3.2 Web安全滲透測試內容
Web滲透測試流程與黑客攻擊的方法十分類似,主要的區別在于,Web滲透測試不會對系統進行破壞和竊取信息等違法行為。測試Web漏洞的核心思想是尋找Web程序中能夠提交用戶輸入的地方。
因為Web安全滲透測試就是模擬黑客的攻擊行為,對系統的安全性進行測試所以可以從漏洞攻擊的角度對滲透測試的內容進行系統分析。發現最終Web遭受攻擊源頭,保障Web頁面安全。
四、總結
信息技術的迅速發展,加速和深化了社會信息化的進程,使得各級組織和實體與信息系統的關系日趨密切。建立在龐大、集成的網絡基礎上的,多平臺、網絡化、充分集成的Web 應用系統己經成為最流行的處理模式。
Web應用的安全問題己經成為網絡應用的主要問題之一,如何判斷Web應用是否滿足安全需要,如何科學地加強Web應用安全管理,如何科學地測試評估Web應用的安全性是所有Web應用系統所面臨的重要課題,對Web安全滲透測試展開全面的研究具有重要的理論意義和實用價值。
以上就是本文內容,謝謝大家觀看。