軟體品質服務黑箱與白箱測試 === ###### tags: `工作心得` ## 一次弄懂網頁應用系統(Web Application) 5 種資安防護措施 1. PT 滲透測試 2. WAF 網頁應用程式防火牆 3. DAST 黑箱動態弱點掃描 4. SAST 白箱靜態源碼掃描 5. IAST 互動式安全測試 ## 滲透測試 (Penetration Testing, PT) 何謂滲透測試? 透過模擬駭客行為來操作組織的系統及程序,滲透測試包含了橫跨所有層級的手動及自動程序,由企業內部滲透測試小組或是委外顧問服務執行、定期執行。 ### 滲透測試效益分析 * 滲透測試優勢效益:測試範圍廣,人工測試比起照表操課的程序更靈活。 * 滲透測試缺點:只能提供特定範圍、時間點內運行時的安全狀態,無法在合理的時間內針對所有程序、平台、情境進行測試,所需時間長,滲透測試需要特殊的專業知識和時間。 ## 網頁應用系統防火牆 (Web Application Firewall, WAF) 何謂WAF? > 放置在應用系統之前,用來即時檢查來自網路的請求內容,若請求內容有攻擊傾向即將其阻擋,否則正常運作。 ### 網頁應用系統防火牆效益分析 * WAF優勢效益:阻擋模式運作時能夠即時保護組織架構,深入觀察實際的威脅,能夠阻擋商業邏輯攻擊 (Business Logic Attacks, BLAs),例如應用層的阻斷服務攻擊(DDoS),受開發者developer歡迎。 * WAF缺點不能解決問題:需為保護的應用系統客製化,也會阻擋合法的請求,只對網頁應用系統(Web Application)有效。 ## 黑箱動態弱點掃描 (Dynamic Application Security Testing, DAST) 何謂動態應用系統安全測試? > 針對網頁應用系統,輸入不同的輸入值來檢查應用系統,是否有暴露的漏洞,依照一份事先定義的弱點清單,去嘗試破解目標。 > 亦常稱為動態應用系統安全測試/ 網站黑箱掃描/ 動態測試/ 弱點掃描。 ### 黑箱動態弱點掃描效益分析 * 應用系統安全測試優勢效益:揭露一些只有在運行中才會顯露出的漏洞與第三方程式整合應用系統安全測試 。 * 應用系統安全測試缺點:能找到的漏洞有限,無法完整包含整個應用系統,任何程式改動都需要重新掃描。 ### 工具軟體 自立自強縫中求生版:WASP ZAP 有錢人工具:Acunetix , Nessux ## 白箱靜態源碼掃描 (Static Application Security Testing, SAST) 何謂靜態源碼掃描? >屬於「應用系統網站弱點掃描」的一種,亦常稱 為靜態應用系統安全測試、白箱測試、源碼檢測。 >檢查應用系統的原始碼(source code)來找出安全漏洞,能以更多元的角度去檢查程式流中可能被攻擊者所發現的漏洞。 ### 靜態源碼掃描效益分析 * 靜態源碼掃描優勢效益:能在開發階段及早修復問題,比起事後修補容易弱點可從原始碼中直接修正測試範圍包含了各種程式語言合穿插在各種開發環境和模型中(Waterfall、Agile和 DevOps) 。 * 靜態源碼掃描缺點:誤判會回報一些不被外部(攻擊者)發現的問題,結果有分風險等級,但不知道目前哪個弱點受攻擊者鎖定。 ### 工具軟體 自立自強縫中求生版:OWASP SonarQube 有錢人工具:ChechMarx、RIPS ## 互動式應用系統安全測試 (Integrated/Intrinsic/Interactive Application Security Testing, IAST) 何謂IAST? >結合了SAST(源碼檢測)和DAST(黑箱動態測試)的技術。 >亦稱為整合式應用系統安全測試,需要受檢測的應用系統所需的設備或是運行環境,需要原始碼、及各種監控設備。 ### 互動式應用系統安全測試效益分析 * IAST 優勢效益:擁有和DAST相同的效益且能夠回報無聲攻擊,指出產生弱點的程式碼位址。 * IAST 缺點:需要安裝Agent軟體,缺乏自動化精確度及弱點覆蓋率較低,可能產生誤判或漏判。 ## 應用系統安全總結 : 建立階層式的防禦,沒有任何一個解決方案可以100% 完整保護,理想的應用系統安全策略應該從開發階段開始,接著在主要系統上放置WAF、週期性地進行滲透測試, 然後在程式碼變動時檢查程式碼 建議從上述防禦技術中挑選一到兩項,然後從中挑選出 最適合您環境及商業需求的工具。 >完整說明: http://www.gss.com.tw/index.php/focus/security/1418-gss-0117-web-application-5 >資料來源: Checkmarx >翻譯整理: 叡揚資訊 >謝謝聆聽 Q&A www.gss.com.tw www.gsscloud.com
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up