我的員工沒有安全專家。依靠安全測試服務(wù)是否有意義?
在員工中缺少安全專家的情況下,你很有可能會從外部的安全測試服務(wù)中選擇一家廠商。在內(nèi)部培養(yǎng)安全技能過于昂貴,也過于費時,并不是一個理想的選擇。這一技能還要隨著時間的推移不斷提升。
因為依賴外部合作伙伴可能是唯一可行的選擇,在第三方安全測試服務(wù)時主要考慮要素有:
了解組織的應(yīng)用攻擊面
解決預(yù)算問題
了解深入的測試分析
決定分析的頻率
應(yīng)用攻擊表面
首先,了解需要測試的范圍很重要。有一些問題需要安全測試人員回答,如有多少應(yīng)用需要測試,他們托管在哪里以及誰開發(fā)的他們?項目經(jīng)理也應(yīng)該做好準(zhǔn)備回答關(guān)于風(fēng)險等級的問題。這些問題包括:哪些應(yīng)用程序管理著最敏感的數(shù)據(jù),哪些負(fù)責(zé)最有價值的操作,以及哪些代表著最大的風(fēng)險?這些等級將有助于優(yōu)化測試活動。沒有回答這些問題,那么深入的決策很有可能會濫用資源。
原始預(yù)算可能會嚴(yán)格控制在測試項目上。尤其是在沒有內(nèi)部開發(fā)預(yù)測的小企業(yè)中,預(yù)算可能是一個最重要的問題。以預(yù)算內(nèi)對外部廠商進行評估可以用幫助快速縮小領(lǐng)域,尤其是在決定采用深度測試分析時。
所有的評估和測試活動并都不是一樣的。當(dāng)評估第三方法測試服務(wù)時,了解具體將要哪類測試很重要。這決定了評估將提供的安全級別的洞察力。
靜態(tài)測試在空閑時查看應(yīng)用代碼或二進制檔。動態(tài)測試檢查正在運行的系統(tǒng),并執(zhí)行測試來決定的,或試圖決定應(yīng)用現(xiàn)在的漏洞顯示的行為。如靜態(tài)和動態(tài)測試這樣的自動分析只依靠工具來努力把代碼模式或請求與響應(yīng)配對匹配。
自動分析相對較便宜,但也存在一定的局限。例如,自動化測試只能識別出一些特定類型的漏洞,而對于確定依賴于應(yīng)用的業(yè)務(wù)上下文環(huán)境的漏洞有哪些,它卻是無能為力了。除了因為自動分析的局限性而引入的漏報率外,自動化安全測試嘗嘗可以識別出誤報,這時分析會強調(diào)出可能是漏洞,而實際還沒有被利用的。
手動分析比較昂貴,因為它依賴于安全分析師來執(zhí)行測試。這提高了漏洞類型可識別的概率,所以期望手動測試過濾出誤報是很可行的。然而,復(fù)雜的手動測試成本可能會成為阻礙,即使對于有著大量資源的組織來說也是一項負(fù)擔(dān)。
安全前景一直在變化著,而且最重要的應(yīng)用程序通常屬于主動開發(fā)類型。安全測試并不是一次性行為。
使用外部的測試機構(gòu)或服務(wù)對于不大型組織和小企業(yè)都是最常見的策略,只要他們需要引入安全測試功能和技能。但是,確保這些機構(gòu)能完全理解什么樣的測試將會按預(yù)期執(zhí)行很重要。另外,了解組織的攻擊層面和應(yīng)用風(fēng)險級別有助于確保測試預(yù)測的分配最優(yōu)化。