所謂的滲透測試,就是針對已經上線服務中的系統發動攻擊,找出環境當中可能存在的安全漏洞。一般來說,這項工作多半是交由一群可以信賴的技術團隊(白帽駭客)來執行,由企業資訊人員自行從事的例子並不多見。

本身經常協助企業從事滲透測試的網駭科技技術顧問李柏逸認為,測試工作必須在「可控制」的前提下執行,因此負責測試的工作的技術團隊,與企業之間必須做好良好的溝通,規畫測試的範圍,以及資料備份的工作,在找出安全問題之餘,也能避免可能發生的風險。

問:有鑒於近年來網頁攻擊的大量增加,企業針對網頁伺服器執行滲透測試的比例是否有所提升?

答:早期的滲透測試方式多半是以簡單的掃描為主,針對網頁的檢測是近2年才有逐漸增加的趨勢。

在企業網站的架構中,資料庫處於較為後端的位置,通常駭客必須先行攻陷前端的網頁伺服器,以此做為跳板,才能針對資料庫發動攻擊,因此就滲透測試的比例來說,尚不如網頁伺服器的部份來得普遍。

問:這項工作有現場及遠端兩種測試方式,實際運作時,有何差別之處?

答:現場測試適用於外部網路無法直接連入,或者完全隔離的系統環境,通常這類測試需要搭配該單位的工作時間。除了找出目標系統的弱點之外,有時也能發現內部網路的其他安全問題。

至於遠端測試,則是主要模擬網路駭客的攻擊行為,過去執行測試時,我們曾經從Google找到一些已經下線、沒有提供服務,但仍有連接網路的主機,通常資訊人員不會針對這些主機繼續從事管理,對於駭客來說,可供利用的弱點也相對較多,因此利用這臺主機做為跳板,就能針對上線運作中的系統發動攻擊。

由於角色本質上的差異,因此滲漏測試需要花費比一般入侵更多的時間才能完成整個流程,也許是一個星期,甚至更久。一般來說,駭客只要找到系統當中其中一個可供利用的弱點即可發動攻擊,而滲透測試的目的是幫企業找出環境當中所有可能存在的弱點,有必要的話,甚至需要實地驗證一次,讓企業了解該弱點能夠執行何種程度的攻擊,在這種情況下,就要針對目標系統執行一些實際寫入的動作。

執行滲透測試最快的方式,是利用工具掃描、產生報表,不過由於可能會產生誤判,因此需要根據專業經驗判斷掃描的結果是否正確,完成這段流程也需要花費一些時間。

問:執行滲透測試時,有什麼重要事項?

答:測試之前必須和企業約定好滲透測試的範圍。例如為了保護重要機密資料的隱密性,即使有安全上的疑慮,仍然不會輕易地將該臺主機交由技術團隊執行滲透測試。

另一方面,由於滲透測試是一種真實的攻擊行為,因此仍有可能在測試的過程中,造成目標主機的服務停擺,因此測試之前,需就相關的測試方法,和企業負責這項業務的窗口事先約定。以拒絕服務攻擊(Denial of Service,DoS)為例,通常只有在網站上線之前才會進行,後續若有機會執行滲透測試,通常就不會將DoS列為執行項目之一,以免造成目標主機的停擺。

除了透過各種工具與網路技術測試之外,社交工程也是一種可以執行惡意攻擊的途徑,也許僅是透過一小段不起眼的交談,駭客就能從這些蛛絲馬跡發動攻擊。

整體而言,滲透測試必須在「可控制」的前提下執行,除了需要事先訂定執行的範圍與方式之外,存放於目標主機資料必須事先備份;而在過程之中,也要詳細地予以記錄,讓企業可以充分了解滲透測試的過程,避免事後雙方的爭議產生。


問:就我們所知,除了付費使用的產品之外,免費工具也經常用於執行滲透測試,而你覺得這兩類工具在使用上有什麼差別之處?

答:免費工具的誤判機率較大,不過還是可以幫企業做到一部分的滲透測試,我自己比較常用的免費工具有Paros Proxy,以及Burp Suite。如果目標主機是一臺網頁伺服器,目前比較好用的付費工具有IBM的Rational AppScan(Watchfire),以及HP所推出的WebInspect。

除了依賴現有的應用程式執行測試之外,有時我們也會利用Perl等語言,客製化一些測試工具。

問:目前有那些弱點是滲透測試較難偵測出來的?

答:像是商業邏輯漏洞,這類並非出自程式碼漏洞的弱點,就沒有辦法利用滲透測試的方式偵測出來。常見的SQL Injection、Cross Site Scripting(CSS)攻擊,雖然可以使用工具偵測,不過產生誤判的機率卻很高。

其次,幾個層級較低的弱點相加起來,有可能變成一個極其危險的安全問題。例如,前一陣子被盜取過管理者密碼的某個知名部落格網站,當時駭客先在網頁上頭回應了一些不雅訊息,吸引管理者前往閱覽,利用內嵌在訊息當中的CSS隱碼,突破原本就不甚安全的Cookie驗證機制,藉此取得控制該網站所需的密碼。

大多數的滲透測試皆是以機房當中提供服務的伺服器做為目標主機,而網路設備的漏洞就比較為人所忽視,但是在實際發生過的資安事件中,有相當比例就是利用本身設計有安全漏洞,或者有不當設定的設備做為跳板,使得駭客得以達成目的,舉例來說,為了管理上的彈性考量,部分廠牌的網路設備預設會有一個以上的管理者帳號,但是就大多數企業的使用習慣來說,通常只會用到最為主要的一個,其他的則閒置不用,也不會加以管理,對於熟悉網路設備操作的駭客是再好不過的機會,只要使用預設密碼登入設備,就能自由修改設定,造成企業網路的門戶洞開。整理⊙楊啟倫



常用滲透測試工具一覽表

產品名稱 原廠網址 主要功能 計價方式
Burp Suite portswigger.net/suite 網頁弱點掃描 免費
Nessus www.nessus.org 遠端弱點掃描 免費
Nmap nmap.org 網路掃描 免費
OWASP WebScarab www.owasp.org 網頁弱點掃描 免費
Paros Proxy www.parosproxy.org 網頁弱點掃描 免費
IBM Rational AppScan(Watchfire) www.ibm.com 網頁應用程式弱點掃描 需付費/數聯資安代理
HP WebInspect www1.hp.com 網路應用程式安全測試 需付費/精誠資訊代理
資料來源:iThome整理,2008年12月

熱門新聞

Advertisement