什麼是安全測試?(包含型別和示例)
安全測試的目的何在?
安全測試是一種軟體測試,用於識別軟體程式中的漏洞、風險和威脅,並防止入侵者攻擊。安全測試的目的是發現軟體系統中任何可能導致資料、收入或聲譽損失的潛在缺陷和漏洞,這些損失可能是由員工或外部人員造成的。
安全測試的好處有哪些?
安全測試的基本目的是查詢和評估系統中可能的漏洞,以便應對攻擊,防止系統停止工作或被利用。它還有助於發現系統中任何潛在的安全漏洞,並幫助開發人員透過程式碼解決問題。
本指南將教你如何:
- 安全測試的目的何在?
- 安全測試型別
- 如何進行安全測試
- 安全測試場景示例
- 安全測試方法、途徑和技術
- 安全測試中的角色
- 安全測試工具
- 安全測試的誤區和事實
安全測試型別
根據開源安全測試方法文件,共有七種基本的安全測試型別。以下是解釋:
**漏洞掃描** - 使用自動化工具根據已知的漏洞特徵掃描系統。
**安全掃描** - 包括髮現網路和系統漏洞,然後提出緩解風險的補救措施。這種掃描可以透過兩種方式進行:手動和自動。
**滲透測試** - 此類測試模擬惡意駭客的攻擊。此測試包括檢查特定系統在外部駭客攻擊事件中的潛在漏洞。
**風險評估** - 此類測試包括分析公司已識別的安全威脅。風險分為三個級別:低、中和高。此測試建議降低風險的控制措施和程式。
**安全審計** - 這是對應用程式和作業系統中安全問題的內部檢查。還可以使用逐行程式碼檢查來進行審計。
入侵組織的軟體系統被稱為道德駭客。與為個人利益竊取資料的犯罪駭客不同,其目標是發現系統安全問題。
姿態評估結合了安全掃描、道德駭客和風險評估,以揭示組織的整體安全態勢。
如何進行安全測試
人們普遍認為,將安全測試推遲到軟體實施過程之後或部署之後會增加成本。因此,必須在 SDLC 生命週期早期就包含安全測試。
讓我們看看 SDLC 的每個步驟都應該使用哪些安全程式。
SDLC 階段 | 安全流程 |
---|---|
需求 | 檢查濫用/誤用事件並進行安全分析。 |
設計 | 對於設計,進行安全風險分析。建立包含安全測試的測試計劃 |
編碼和單元測試 | 安全測試和靜態和動態測試白盒測試 |
整合測試 | 黑盒測試 |
系統測試 | 漏洞掃描和黑盒測試 |
實施 | 漏洞掃描,滲透測試 |
支援 | 分析補丁的影響 |
測試策略應包含以下內容:
與安全相關的場景或測試用例
與安全測試相關的資料
安全測試需要使用測試工具。
分析來自各種安全技術的多個測試結果
安全測試場景示例
示例測試場景,讓您瞭解可用的安全測試型別:
密碼必須以加密方式儲存。
不允許無效使用者訪問應用程式或系統。
對於應用程式,檢查 Cookie 和會話時間。
瀏覽器後退按鈕不應在金融網站上執行。
安全測試方法、途徑和技術
安全測試中使用了不同的方法,如下所示:
**老虎盒** - 此類駭客攻擊通常在裝有各種作業系統和駭客工具的筆記型電腦上進行。此測試幫助滲透測試人員和安全測試人員評估和攻擊漏洞。
**黑盒** - 測試人員被允許測試網路架構和技術的一般情況。
**灰盒** - 白盒和黑盒模型的組合,其中測試人員只獲得關於系統的一些部分資訊。
安全測試中的角色
**駭客** - 未經授權訪問計算機系統或網路
**破解者** - 滲透計算機系統以竊取或破壞資料。
**道德駭客** - 在所有者的許可下執行大部分破解行為。
指令碼小子或資料包猴子是不懂程式設計的經驗不足的駭客。
安全測試工具
1. 不速之客
Intruder 是一款使用者友好的企業級漏洞掃描程式。它對您的 IT 基礎設施進行超過 10,000 次高質量的安全檢查,包括但不限於配置缺陷、應用程式缺陷(例如 SQL 注入和跨站點指令碼)和缺少的補丁。Intruder 透過提供智慧排序的結果以及對最新威脅的主動掃描,節省時間並保護各種規模的組織免受駭客攻擊。
功能
AWS、Azure 和 Google Cloud 聯結器
針對您的周界量身定製的結果,以減少您的外部攻擊面
高質量的報告
與 Slack、Microsoft Teams、Jira 和 Zapier 整合
使用 API 與您的 CI/CD 流程整合
2. OWASP
開放式 Web 應用程式安全專案 (OWASP) 是一家致力於提高軟體安全的非營利組織。作為該專案的一部分,有多種工具可用於對不同的軟體環境和協議進行滲透測試。該專案的旗艦工具包括
Zed Attack Proxy (ZAP - 一種整合的滲透測試工具) 是一款允許您測試網路漏洞的程式。
檢查 OWASP 依賴項(它掃描專案依賴項並根據已知的漏洞進行檢查)
Web 測試環境專案 (OWASP)(安全工具和文件的集合)
3. Acunetix
Invicti 的 Acunetix 是一款簡單易用的工具,可幫助中小型企業保護其線上應用程式免受代價高昂的資料洩露的影響。它透過識別各種線上安全問題並幫助安全和開發專家快速解決這些問題來實現這一點。
功能
掃描超過 7,000 個線上漏洞,包括 OWASP Top 10 漏洞,例如 SQLi 和 XSS。
自動線上資產發現可以幫助您查詢已被遺棄或遺忘的網站。
具有多表單和密碼保護區域的高階 Web 爬蟲,適用於最複雜的線上應用程式。
使用互動式和動態應用程式安全測試的組合來查詢其他技術忽略的缺陷
為各種漏洞提供了漏洞利用證明。
與常見的缺陷跟蹤和 CI/CD 系統整合,實現 DevOps 自動化。
PCI DSS、NIST、HIPAA、ISO 27001 等法規標準需要合規性報告。
4. Wireshark
Wireshark(以前稱為 Ethereal)是一個網路分析工具。它即時捕獲資料包,並以人類易於理解的方式顯示它們。它本質上是一個網路資料包分析器,它為您提供有關網路協議、解密、資料包資訊等的詳細資訊。它是免費且開源的,並且適用於 Linux、Windows、OS X、Solaris、NetBSD、FreeBSD 和各種其他作業系統。可以使用 GUI 或 TTY 模式下的 TShark 實用程式檢查此實用程式獲取的資訊。
5. W3af
W3af是一個用於Web應用程式攻擊和審計的框架。它具有三種類型的外掛:發現、審計和攻擊,它們相互通訊以查詢站點中的任何漏洞。例如,W3af中的發現外掛查詢不同的URL以測試漏洞,並將它們轉發到審計外掛,然後審計外掛使用這些URL搜尋漏洞。
安全測試的誤區和事實
讓我們來看一些有趣的安全測試的迷思與真相:
迷思 #1:因為我們公司很小,所以不需要安全策略。真相:每個個人和公司都需要安全策略。
迷思 #2:安全測試沒有投資回報率。
真相:安全測試可以識別可以改進效率和減少停機時間的領域,從而實現最大吞吐量。
迷思 #3:拔掉電源是唯一保護它的方法。
真相:找到“完美安全”是保護組織的唯一且最佳方法。透過進行態勢評估並將其與商業、法律和行業標準進行比較,可以實現完美安全。
迷思 #4:網際網路是一個危險的地方。我會購買軟體或硬體來保護系統並拯救公司。
真相:購買安全軟體和硬體是最困難的任務之一。相反,公司應該首先了解安全知識,然後再實施。
結論
對應用程式而言,最關鍵的測試是安全測試,它確保秘密資料保持機密。在這種測試中,測試人員扮演攻擊者的角色,並探索系統以尋找安全漏洞。安全測試在軟體工程中至關重要,因為必須不惜一切代價保護資料。
對應用程式或程式進行安全測試至關重要,以確保敏感資料保持機密。安全測試在軟體測試中至關重要,因為它最終使我們能夠保護關鍵資料。在這種情況下,測試工程師將模擬入侵者並測試系統或尋找安全漏洞。