|
滲透測試
(PT, Penetration test)
|
弱點掃描或稱弱點評估
(VA, Vulnerability Assessment)
|
做法 |
人 (自有人力或委外) |
工具
(亦需要人為設定與經驗,否則可能發生問題) |
網路流量
|
不會突然暴增 |
可能會有突然的大批流量出現 |
誤判率 |
低(並且較可找出邏輯上的漏洞,驗證弱點的存在與利用性) |
高(工具僅依丟入的參數值判斷) |
報告 |
1.可以驗證漏洞可以被如何利用的方式,藉以判別該漏洞的風險等級
2.提供修補建議
|
1.工具自動產生報表
2.提供修補建議
|
成本 |
較高 |
較低 |
門檻 |
較高,此類人才不多 |
較低,甚至是使用免費掃描工具 |
測試方式 |
PT是有情境的,按照駭客可能入侵的行為模式攻擊 |
單純對照式的測試 |
別矇著頭做 弄清楚需求
簡單來說,滲透測試就像健康檢查,定威科技專案經理林志遠說,其實有些企業根本連自己是男是女都搞不清楚,就來做所謂的「健康檢查」(滲透測試)。
為什麼會這麼離譜?有可能,基於法規遵循或稽核要求,一定得要做,但資安人員不知為何而作,只要產出的報告通過要求即可。不管是滲透測試還是源碼檢測都有一樣的問題 – 應用程式系統開發與資安、稽核團隊不是同一群人。或許是其他部門或委外開發,因此針對滲透測試的需求或是對程式、系統本身並不是那麼清楚。在之後,這些滲透測試做出來的結果,無論是需要修補或更改,都很可能會引發部門間的歧見與戰爭。對於找出問題而言,可能會踩到某些單位或人員的痛處,反而容易遭受抨擊,亦有專家在測試後發現存在了三、四年的嚴重漏洞,但是之前的滲透測試廠商卻未發現,或者是有發現但因某些因素未列入報告。
而企業在規劃PT案時,使用者多半僅會提出Scope、時程等基本要求,雙方的會議容易流於討論形式,數聯資安技術處滲透鑑識部經理陳宏昌說,如果user可以知道為什麼需要做或覺得哪邊可能需要加強測試,這當然對PT有加分效果。並且,越負責任的企業,應該更能夠掌握自己為何而作?要檢查哪個範圍?陳宏昌說,國外的作法甚至還要針對使用者做問卷調查,一方面更加了解使用者需求,一方面作服務的追蹤,需要使用者提出更加明確的需求。例如明確標明範圍及時間、執行方式、測試項目、人員資格及交付文件等,很多的需求若未明確寫清楚,就會導致在執行初期的評估是有問題的,如執行天數等等。
有時候滲透測試案的開始是來自於該單位出事後的複測。網駭科技技術顧問曾信田說,在已知駭客入侵成功的狀況,可能就會請user提供網路架構,但一般不知駭客進入的手法或是否受駭時,則是請user簡單描述一下,例如有哪些裝置,並且評估哪幾台主機是風險較高的,需列入第一次執行的階段。那麼是不是針對所有網站進行PT就可以一勞永逸了呢?陳宏昌認為,全部範圍都進行測試既不符合成本,也難以在短時間內完成,他建議一開始應該以黑箱測試為主,從外部可能入侵的方式開始,此後可以再模擬駭客從內部入侵的狀況。
安全檢測廠商一大堆 你找的是誰?
有位資安顧問說,檯面上的資安廠商都應該打屁股,如果有用心做滲透測試,就不會常常出現明明滲透測試做過好幾輪但是被外力入侵,且入侵原因在滲透測試範圍中。如果你有認識的朋友剛好有發生一些資安事件,可以問一下前面是那些廠商在負責資安,做的如何?這樣交叉驗證下比較容易找到認真負責的資安廠商。而現在大家都知道網站安全需要被重視,有了作資安健檢的基本概念,但PT服務的技術含量高,技術取決於人,但人才卻很難突然大量增加,於是那些包成一大包的資安服務是不是真的可以包下一切?
以下概略把市場上提供PT服務的廠商分做幾類:
系統整合商、SOC廠商:代理或整合資安產品,並且提供弱點掃描、滲透測試、社交工程演練、系統安全設定等資安服務。由於一個夠品質的資安服務太過耗費人力,對廠商來說,若透過長期的資安產品或服務收益中去平衡成本,便有可能犧牲前段的滲透測試人力成本。較大型的廠商可能有專屬的團隊專門做PT,但全職或身兼數職與否則不一定。可以從每年同時接多少滲透測試案與現有人力來評估其能量是否有辦法提供足夠品質的滲透測試,而非弱點掃描。
主要做滲透測試業務的原廠:未代理、經銷資安產品,主要承接PT業務為主,但公司型態可能仍兼營其他資安研發工作。此類廠商較少,多半是國外廠商。
顧問公司:與上述兩類廠商有時候是既競爭又合作的關係,有些跨國公司總部會要求台灣分公司須通過顧問公司稽核、評估,但有時並不一定有合格人力支援,所以亦會將PT服務轉包。
委外承包商:通常是PT的最下游,規模較小的個人工作室或公司,除了自己接案也會承接上述三類廠商的案子,品質不一。
以下來談談評選滲透測試廠商的幾個重點:
一、透過公正第三方來進行評選:可請熟知資安產業的專家來協助評選,如果企業內部有稍具經驗的資安人員協助更好。因為資訊安全服務不像是醫療服務、健檢等,有醫生執照、醫事規範,而也沒有主管機關來監督,因此可以說是人人可當資安顧問,蒙古大夫橫行。只有靠口碑與第三方公正者來做篩選。
二、過去執行經驗:由於PT是一個相當「因人而異」的服務,建議應該看的是現今成員過去執行專案的經驗,而非公司過去的經驗,否則一旦人員離職,經驗也隨之異動。而像是一個簡單的漏洞是否會隨著該產業特性的運用,而有不同的風險等級,這除了須有足夠的時間可驗證以外,同時也是經驗值豐富與否的問題。很多滲透測試評比會列出廠商的滲透測試專案經驗,老字號一定可以列出一籮筐,但是要注意的是當初執行這些專案的人員是否還健在,這就是客戶對於專案經驗最常見的迷思之一。
甲方經驗分享:選擇滲透測試廠商
某零售業集團約從4年前就開始進行PT,該公司資安人員E君就認為,DemoSite不僅有建置及管理成本,實際上也不太具有客觀性。在早期虛擬化還不盛行的時候,若想準備這樣的環境,等於是要再去重新購買軟硬體來建構,再加上該集團家大業大,內部程式撰寫自然用了不少語言,要把所有語言的環境一一架設好,將會花去過多的時間與人力。即便如今能作虛擬化,仍要費工夫在internet區建立虛擬主機環境,更改應用程式,重新設定防火牆等等。而且要建置一個適當的環境對一般企業來說也有困難度,又有多少人真能對這些資安廠商出「考題」呢?
而許多時候,廠商一開始為了搶標或給客戶好印象,會請人認真做,但最後得標後卻可能基於成本因素而草率執行。因此就現況而言,這類方式的評比並不算相當客觀有效的方式。
而評估PT服務的計價方式,E君也提供了該集團的經驗,PT服務通常是以遠端進行,但大約可從緊急事故處理服務(ERS, Emergency Responder Services)的收費標準,估算出一個專職on site的資安人力全職一個(人/天)。
此外,以他們多年的PT經驗來看,若僅用工具掃描,高誤判率也是一個很明顯的徵兆,不僅不能符合需求,對方找出來的錯誤可能也不是真正的問題點,這點可透過使用者單位去了解。
|
三、證照:通常最基本會以證照數量做標準,一般滲透測試都是看CEH(Certificated Ethical Hacker)證照,早期的CEH較少、較具有評量效果,但現在則是太過普遍,並且,CEH證照是針對駭客技術綜合性的知識證照,僅有一小部分是針對網頁應用程式的應用。數聯資安技術處滲透鑑識部經理陳宏昌認為,CEH證照著重在工具的用法,他認為學習駭客如何思考是更加重要的。(註)
四、技術評比:架設DemoSite來讓廠商進行比賽,或許可以評選出廠商的技術能量,但也有可能在執行時均無法成功,或也不一定是由該廠商執行。林志遠說,實際的狀況是很多DemoSite都是沒有什麼問題的靜態網頁,例如只是某些政府單位內部的公告系統,本來就沒有甚麼複雜度,結果投標廠商通通都找不出什麼特別的漏洞。甚至有些系統架好了,可是連接後台的的SQL卻又錯誤百出,要測試前還得先花時間去設定。曾信田建議在技術評比部份,可以請廠商提出在過往公開發表的研究成果或技術報告,這較能夠直接反應出該廠商的技術能量。
五、確認PT是否為該廠商主要業務還是附加服務:觀察廠商是否有專業的PT環境,可顯示出該廠商對該項業務的專業及重視度。由於PT過程中通常會涉及客戶的機敏資料,因此應有獨立於該廠商內部網路的獨立環境,是否有專屬的PT Room、獨立網路線路等、固定的IP。例如也曾發生過在進行PT時,剛好網站被入侵的狀況,若是發現這種狀況就可以封鎖其他不明IP,適時阻絕威脅。
六、確認賠償責任與風險:如果企業較大、機敏性越高,則可能會需要考量該廠商的背景和可信任度。
七、人力是自有或是委外:在經費不足的狀況下,可能會有再次轉包的狀況出現,企業主應注意該廠商對委外品質的控管,有時外包給個人工作室,可能會有使用免費或有問題的工具掃描,造成誤判率較高等問題。
八、使用工具:PT過程當然也包括使用工具(例如使用Nessus、Saint、Sara、Satan、ISS、eEye、NetRecon等)來進行測試,卻不能「只使用工具」(否則就是弱點掃描了),必須確保該廠商進行的是有條不紊的測試,可以考慮遵循OSSTMM( Open Source Security Testing Methodology Manual)或其他內部管理流程的做法。而檢測項目至少應該包含OWASP Top10以及SANS Top20 中適用於客戶的項目。
九、管理程序:例如也有些企業會要求廠商將測試工作拆解成工作分解結構(WBS, Work Breakdown Structure),確保廠商在一定的時間內完成相對應的測試工作。也有些廠商會使用一套系統來分配、管理工作,確保工作流程可被有效控制。
十、報告和修補建議:廠商可安裝keyLogger或架設Proxy及封包側錄,讓企業可以監控並且提供log供檢驗。有時甚至是每日都需提交報告。
十一、計價方式:市面上目前有不同的計價方式,有些會以多少動態頁面來評估,有些則是以IP數內有多少網業,也有的是看URL。在過去網站較單純的年代,一個IP裡面可能只有10到20個網頁, 所以PT的計價方式是以IP數來算,如今一個IP裡面可能會有100到10,000個網頁,並且也不似過去皆為靜態網頁,網站的複雜性大增。
另外,企業也可考慮分階段由兩家不同廠商測試,一方面可以趁機比較優劣,一方面也可彌補雙方不足,畢竟是白帽駭客的技術,自然各有不同巧思。也可藉由不同情境來規劃檢測目標,甚至可規劃成不同階段完成測試。
採購應關心的事:
當然,我們也了解到,資安人應該要說採購人員的語言,以下簡單羅列幾點採購人員應了解的事:
1. 單純使用掃描工具的安全檢測方式,在資安品質的提升上沒有太大幫助,誤判率也高,無法提供專業的修補建議(可徵詢資安人員與業務使用單位意見),而這正是滲透測試最重要的意義。且使用免費掃描工具誤判率高,僅是學習錯誤的方式,會讓資安人員平白繞遠路。
2. 滲透測試就是使用白帽駭客的技術來發現問題、修補問題,這裡計算的應該是人力成本,工讀生、工程師、資安專業人力,各有不同的價值,可請教人事單位的專業計算方式。
3. 滲透測試就像全身健康檢查,非一次性。應分時間、範圍有系統的進行,若有問題就應該再深入複檢,才能確實掌握企業體質。
4. 判別廠商人力技術高低不易,除了打聽市場狀況以外,可以查詢人員的公開研究發表、是否有證照以外,在資源允許下,可請公正第三方廠商協助評選。
|
低價搶標的慘烈現況 一分錢一分貨
如今,越來越少的PT案是單獨存在,多半含在SOC專案裡,並且以低價標為取決主要原因。但是目前很多SOC專案含PT是為了補足防禦上的漏洞,但在沒有好的規劃下就會無法得到好的成效。陳宏昌認為,在這種類型的專案當中,PT執行的範圍變得超大,反而容易變得無法兼顧深度與廣度,應該要有取捨。此外,SOC案中含PT也有人質疑球員兼裁判的問題,但這都要視乎SOC廠商是否可以將內部執行人員的權責劃分。一些較為嚴謹的銀行,多半會將滲透測試與SOC業務分包給兩家不同的廠商,並不會混在一起。在諸多因素影響下,必須針對個別網站的狀況去訂出所謂的服務價格,這也是相當客製化的部分,目前市場上的行情,以人/天算法,從數千元到數萬元都有,好永遠都可以更好,只是視乎企業願意付出多少、去做到什麼程度。
最近聽到一個比較極端的案例,提供讀者參考。某企業的檢測範圍為2個URL,經過評估,該網址下有48個子系統,得標金額為5萬元新台幣,算下來平均檢測一個系統約一千元,又需在短時間內完成,這是一個較具經驗的小承包商也不願意承接的案例,不僅根本沒有時間去做各項測試,例如假冒sesion或是更改cookie,是否可以完整的做完所有國際檢測標準也是問題,承接下來的個人工作室大概也只是用免費工具掃一掃就交差了事。這種根本無法負擔人力成本的案例,可以說是一個典型PT變VA了事的例子。而這樣很有可能違反合約而具有法律問題。
小規模分階段細作 勿囫圇吞棗
但有些小公司的生意做很大,網站上擁有很多個資,雖然資安威脅並不少,若資料外洩造成的損失也可能很大,所以其實資安服務需求是一樣多,但卻花不起錢作資安。企業有預算上的考量,卻不想只是單純的進行弱點掃描,希望可以進行夠品質的滲透測試,該如何分配預算以及規劃?可以先從重點小範圍仔細的作,再分期分段逐步擴展。
曾信田表示,通常對於第一次執行的客戶,會建議在首次
PT的目標規劃中,朝兩方面進行,一是先選定重要小規模仔細作,例如外網可以直接被人存取的服務,如網站系統或E-mail服務,這是最快找出駭客可能由外部入侵的途徑,之二則是內部機敏系統,如ERP或公文系統,這則是能夠評估內部風險方法,了解不肖員工或駭客從內部發動攻擊時的威脅有多大。此後可按照計劃逐步拉大測試範疇,以找出更多潛在的問題。
而不同產業,自然也有不同的重點。過去做PT的產業多為政府、金融,有法規稽核遵循的要求,後者著重於測試特殊的封閉式應用程式,在製造業,重點放在內控,較多內部滲透測試,如今,有PT需求的企業更多,還包括線上交易產業,主要是針對外部入侵作測試。
結論
近來聽到許多過去從事專業PT服務的廠商,紛紛表示PT這個市場已經崩壞,在劣幣驅逐良幣之下,大家也紛紛轉而從事其他服務,這是相當令人感到遺憾的事。這兩三年來,PT產業服務品質明顯惡化,大家意識到網站安全的重要性但卻不了解其背後所需要的專業價值為何,無論是政府或民間企業,大多以低價標取決,亦有不少非專業PT服務廠商投入市場,宣稱都具有安全檢測服務,然而卻只是利用滲透測試服務之名,行弱點掃描之實,這也混淆了市場價值。事實上,具有一定品質的PT必定耗去不少人力,在低價標的惡性循環之下,有些廠商也只好將就市場現況,將PT服務當作搭配的服務,對有代理資安產品的整合商而言,就可以用低價換取為後續的資安產品與長期維護、強化合約,如果沒有這樣的附加價值,資安廠商甚至也不太願意將人力投入這個投資報酬率低的市場,恐怕最後剩下的也只是些用工具掃描就交報告了事的偽PT廠商,失去最初的安全檢測意義。
在這裡也呼籲大家,不要只做一次性的PT,滲透測試就像健康檢查一樣,應該花時間找最了解你的家醫,他不一定要是名醫(可能沒有時間照顧你),但他必定得要最了解你的體質,對什麼過敏?哪裡最脆弱?有什麼方面的限制?能夠長時間的觀察照顧企業體質,才能有效的維護、強化資安。
註:除了CEH之外,目前針對滲透測試技術的專業技能證照尚有GIAC的網頁應用程式滲透測試證照(GWAPT,GIAC Web Application Penetration Tester)