SAST 與 DAST:靜態和動態應用程式安全測試
什麼是SAST,什麼是 DAST?
SAST(靜態應用程式安全測試)是一種白盒測試方法,它直接檢查應用程式原始碼,可以在編碼階段查詢已知/未知的安全漏洞。DAST(動態應用程式安全測試)是一種黑盒測試方法,從外部對正在執行的應用程式進行測試,模擬駭客攻擊探測執行時漏洞。
簡而言之,DAST檢查執行中的web應用程式,而SAST檢查其靜態程式碼。
什麼是 IAST?
互動式應用程式安全測試 ( IAST ),有時稱為灰盒測試,介於動態分析(白盒測試)和靜態分析(黑盒測試)之間。IAST作為一個安全測試工具,它向SAST新增了一些動態測試能力,或者是一種向動態測試新增原始碼洞察的方法。
SAST與DAST覆蓋
覆蓋率是安全測試的一個基本屬性,無論是在一個特定的應用程式中還是在整個Web應用程式環境中。
SAST 面向應用程式的原始碼,可以覆蓋所有可執行路徑,分析更穩妥而全面。對於DAST,因為它們從外部測試應用程式並檢查它們的行為,可以檢測複雜的記憶體處理錯誤,例如超出陣列範圍的索引編制和記憶體洩漏。但不能保證完整的程式碼覆蓋率。
SAST 與 DAST 的安全測試準確性和效率
誤報始終是應用程式安全測試中的熱門話題,既可以理解為錯誤結果,也可以理解為有效但不可操作的發現。對於SAST 工具來說,除了工具本身特性導致的誤報,一些時候,存在的缺陷可能導致漏洞利用鏈,這種缺陷也經常被認為是無關緊要的問題而被識別為誤報。DAST 所識別出的漏洞誤報相對較低,因為發現的問題通常為實際被利用的漏洞或缺陷。
使用 DAST 和 SAST 查詢漏洞
舉一個具體的例子,假設應用程式根據來自 Web 表單的使用者輸入從 SQL 資料庫中獲取資料。SAST 工具可能會識別執行此操作的原始碼片段,並警告開發人員特定程式碼行中的 SQL 查詢以不安全的方式組裝,並可能導致SQL 注入。DAST 工具將在頁面上找到 Web 表單並執行安全檢查以模擬實際的 SQL 注入攻擊。如果測試攻擊成功,掃描程式將報告應用程式在該特定頁面上存在 SQL 注入漏洞。
將 SAST 和 DAST 構建到 SDLC 中
在軟體開發生命週期 (SDLC) 的早期階段進行安全測試對於在漏洞進入後期階段甚至生產之前發現和修復漏洞至關重要。原始碼分析是在早期開發過程中發現和消除安全缺陷的有效方式。SAST 通常很容易與開發環境和工作流整合,無論是作為 IDE 檢查器還是獨立的分析過程。結合DAST,IAST等安全測試,有助於大大提高應用程式的安全性。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2909025/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 靜態應用程式安全測試 (SAST) 工具AST
- 靜態應用程式安全測試
- 用於安全測試的SAST與DAST有何不同?AST
- 影響靜態應用安全測試工具(SAST)分析速度的3個方面AST
- 選擇靜態應用程式測試工具(SAST)的七點清單AST
- SAST 與 DASTAST
- 靜態程式碼檢測工具(SAST)有哪些作用AST
- 一文洞悉DAST、SAST、IAST ——Web應用安全測試技術對比淺談ASTWeb
- 6大優勢、2種型別,一文吃透動態應用安全測試(DAST)型別AST
- 如何高效實施靜態程式碼檢測工具SAST?AST
- SAST、DAST、IAST和RASPAST
- 靜態應用程式安全測試如何發現網路中看不見的缺陷
- SAST、DAST與IAST各有哪些特點AST
- 思科-Seven【NAT應用篇】!動態與靜態路由的區別和特點~~~路由
- 偽靜態、靜態和動態的區別
- 靜態庫與動態庫
- iOS動態庫和靜態庫的運用iOS
- 靜態代理和動態代理
- 靜態路由和動態路由路由
- Klocwork — 符合功能安全要求的自動化靜態測試工具
- SAST vs DAST:如何選擇AST
- 靜態測試解決方案
- ios靜態庫和動態庫iOS
- java靜態代理和動態代理Java
- 動態圖和靜態圖的程式碼區別
- 選擇靜態程式碼安全檢測工具指南
- 動態測試
- 微服務測試之靜態程式碼掃描微服務
- HelixQAC-軟體程式碼靜態測試工具
- echarts之靜態與動態地圖Echarts地圖
- 動態監聽與靜態監聽
- 機器學習的靜態特徵和動態特徵機器學習特徵
- cmake:生成靜態庫和動態庫
- 動態註冊和靜態註冊
- 靜態註冊和動態註冊
- 動態監聽和靜態監聽
- oracle listener 靜態和動態註冊Oracle
- oracle動態和靜態監聽listenerOracle