資安專欄

為什麼 Fortify DAST 動態應用程式安全檢測很重要?

從資訊系統安全性檢測方面來看,基本的安全測試包括 SAST(註一)、DAST(註二)及弱點掃描,而高階的安全測試則包含滲透測試、紅隊演練、藍隊演練、紫隊演練等等,這些都是為了找出應用程式中可能的漏洞進行修補,進而減少被駭客入侵的機會。

註一、SAST:靜態應用程式安全測試,又稱白箱測試、源碼掃描
註二、DAST:動態應用程式安全測試,又稱黑箱測試

DAST 為何重要?

目前新開發的應用程式雖然普遍都會進行 SAST,但是對於 DAST 的執行率卻仍算少數,甚至因為可能已安排定期執行滲透測試,所以選擇忽略 DAST。然而因為滲透測試的成本極高,所以執行的頻率通常較低,依資通安全管理法施行細則規定,資通安全責任等級 A 級的公務機關及特定非公務機關必須一年辦理一次,B 級與 C 級必須二年辦理一次。倘若依照這樣的檢測頻率,實在難以因應日新月異的攻擊手段,可能會造成 SAST 無法發現的漏洞或新型漏洞,要等到滲透測試時,才有機會被發現,更甚者,還來不及進行滲透測試,應用程式已被駭客入侵,因此 DAST 的重要性是不容忽視的。

DAST 的特性

DAST 具有以下三種特性:

  • 模擬針對 Web 應用程式的攻擊(模擬駭客行為),並分析應用程式的回應或行為。
  • 在應用程式運行時,由外部進行動態測試。
  • 通常由滲透測試人員或安全專業人員針對測試環境甚至正式環境執行。

DAST 執行方式

DAST 通常可分為手動(或半自動)執行與自動執行二種方式。

手動(或半自動)方式通常是利用 Proxy-based 安全測試工具(例如:Burp Suite),由測試人員模擬駭客的攻擊方式,透過工具輔助,手動(或半自動)送出請求,接著分析應用程式的回應,確認攻擊是否成功或擬定下一步的攻擊策略。手動測試依賴具備網路安全專業知識技能的測試人員,必須熟悉駭客技術與思維,才能模擬駭客進行攻擊測試,但是一般組織中難有這樣的人才,這也是為何滲透測試通常是委託專業團隊來進行的原因。此外手動方式耗力耗時,而且可能會有所遺漏。

另一種自動執行方式,像是 Fortify WebInspect(以下簡稱 WI)就是自動執行 DAST 的工具,它會自動爬行(Crawl)網站內容,並自動測試所有爬行到的網頁;針對沒有網頁的 Web API,WI 也可以透過解析 API 文件,或者解析 Postman 的測試集(Collection),以實施自動化測試。WI 會模擬駭客發出各種攻擊請求,並分析回應內容來判斷攻擊是否成功,攻擊成功意謂找到漏洞,而 WI 則會針對漏洞提供完整的說明與修復對策。WI 優點有二:

  • 測試人員不須具備專業駭客攻擊技術,由 WI 進行攻擊測試。
  • 自動化執行,節省人力與時間,並且可隨時進行測試,通常建議在 Web 應用程式變更後上線前進行測試,以及定期(例如每季)測試。

資通電腦 Fortify 顧問團隊提供專業的 WebInspect 網站弱點掃描服務,透過完整的服務流程,由外而內檢測正在運行的網站漏洞,協助開發團隊順利進行相對應的修補工作,有效提升應用程式安全性,並防止駭客入侵!

延伸閱讀:

閱讀更多