應用程式安全
應用程式安全(簡稱AppSec )包括向開發團隊引入安全軟體開發生命週期的所有任務。最終目標是改進安全實踐,並通過它來發現、修復並防止應用程式中的安全問題。它涵蓋了從需求分析、設計、實施、驗證和維護的整個應用程序生命週期。[1]
方法
不同的方法會在軟體生命週期的不同階段裡有效地發現潛伏在應用程式中不同的安全漏洞子集合。它們各自代表在時間、精力、成本和發現的漏洞等因素下的不同權衡。
- 設計審查。在編寫程式碼之前,可以檢查應用程式的架構與設計是否存在安全性問題。此階段常用的技術是創建威脅模型。
- 白盒安全審查,或程式碼審查。這是透過一位安全工程師以手動方式深度查看原始程式碼,以發現安全漏洞。透過對應用程式的理解,可以發現應用程式特有的漏洞。
- 黑盒安全稽核。透過使用工具來測試應用程式的安全漏洞,不需要原始程式碼。
- 自動化工具。許多安全工具可以透過被包含在開發或測試環境中來實現自動化測試。其中的範例是被整合到程式碼編輯器或 CI/CD 平台中的自動化 DAST/SAST (動態應用程式安全測試/靜態應用程式安全測試)工具。
- 協作的漏洞平台。透過由許多網站和軟體開發人員設立的應用程式安全解決方案,個人可以對網站及軟體提出問題回報,並獲得對回報錯誤的認可和補償。
網絡應用安全
Web 應用程式安全是信息安全的一個分支,專門處理網站、 Web 應用程式和Web 服務的安全性。在高層次上,Web 應用程式安全性借鑑了應用程式安全性原則,但專門將它們應用於Internet和Web系統。 [2] [3]
Web 應用程式安全工具是用於處理 HTTP 流量的專用工具,例如Web 應用程式防火牆。
安全威脅
開放 Web 應用程序安全項目 ( OWASP ) 提供免費和開放的資源。它由一個名為 OWASP 基金會的非營利組織領導。 2017 年 OWASP 前 10 名安全問題的結果來自於最近的研究,該研究是從 40 多個合作夥伴組織所收集的綜合數據。該數據揭示了超過 50,000 個應用程序中的大約 230 萬個漏洞。 [4]根據 OWASP Top 10 - 2021,十大最關鍵的 Web 應用程序安全風險包括: [5]
安全測試工具
安全測試技術搜索應用程式中的漏洞或安全漏洞。這些漏洞使應用程式容易被利用。理想情況下,安全測試在整個軟體開發生命周期(SDLC)中實施,以便及時徹底地解決漏洞。
有多種自動化工具可用於識別應用程式中的漏洞。用於識別應用程式漏洞的常用工具類別包括:
- 靜態應用程式安全測試(SAST)在應用程式開發過程中分析安全漏洞的原始碼。與 DAST 相比,SAST 甚至可以在應用程式處於可執行狀態之前使用。由於 SAST 可以訪問完整的原始碼,因此它是一種白盒方法。這可以產生更詳細的結果,但可能會導致許多需要手動驗證的誤報。
- 動態應用程式安全測試(DAST,通常稱為漏洞掃描器)通過抓取和分析網站自動檢測漏洞。這種方法具有高度可擴展性、易於集成和快速。 DAST 工具非常適合處理低級攻擊,例如注入缺陷,但不太適合檢測高級缺陷,例如邏輯或業務邏輯缺陷。 [6] Fuzzing [7]工具通常用於輸入測試。
- 交互式應用程式安全測試(IAST)使用軟體工具從內部評估應用程式。這結合了 SAST 和 DAST 方法的優勢,並提供對代碼、HTTP 流量、庫信息、後端連接和配置信息的訪問。 [8][9]一些 IAST 產品要求應用程式受到攻擊,而其他產品可以在正常的質量保證測試期間使用。 [10][11] ]
運行時應用程式自我保護增強了現有應用程式,以在應用程式運行時內提供入侵檢測和預防。 依賴性掃描器(也稱為軟體組合分析)嘗試檢測具有已知漏洞的軟體組件的使用情況。這些工具既可以按需工作,例如在原始碼構建過程中,也可以定期工作。 抽象是使更複雜的事物變得不那麼複雜的想法。
安全標準和法規
- CERT安全編碼
- ISO/IEC 27034-1:2011信息技術——安全技術——應用安全——第 1 部分:概述和概念
- ISO/IEC TR 24772:2013信息技術——程式語言——通過語言選擇和使用避免程式語言漏洞的指南
- NIST特別出版物800-53
- OWASP ASVS:Web 應用程式安全驗證標準[12]
參見
參考文獻
- ^ Happe, Andreas. What is AppSec anyways?. snikt.net. 3 June 2021 [2022-10-24]. (原始內容存檔於2023-03-16).
- ^ Web Application Security Overview. 2015-10-23 [2022-10-24]. (原始內容存檔於2018-04-11).
- ^ Shuaibu, Bala Musa; Norwawi, Norita Md; Selamat, Mohd Hasan; Al-Alwani, Abdulkareem. Systematic review of web application security development model. Artificial Intelligence Review. 2013-01-17, 43 (2): 259–276. ISSN 0269-2821. S2CID 15221613. doi:10.1007/s10462-012-9375-6.
- ^ Korolov, Maria. Latest OWASP Top 10 looks at APIs, web apps: The new OWASP Top 10 list is out, and while most of it remains the same, there are new additions focusing on web applications and APIs. CSO. Apr 27, 2017. ProQuest 1892694046.
- ^ OWASP Top 10 - 2021: The Ten Most Critical Web Application Security Risks. Open Web Application Security Project. 2021 [January 11, 2022]. (原始內容存檔於2023-04-24).
- ^ Web Application Vulnerability Scanners. NIST. [2022-10-24]. (原始內容存檔於2022-12-07).
- ^ Fuzzing. OWASP. [2022-10-24]. (原始內容存檔於2023-04-26).
- ^ Williams, Jeff. I Understand SAST and DAST But What is an IAST and Why Does it Matter?. Contrast Security. 2 July 2015 [10 April 2018]. (原始內容存檔於2018-04-11).
- ^ Velasco, Roberto. What is IAST? All About Interactive Application Security Testing. Hdiv Security. 7 May 2020 [7 May 2020]. (原始內容存檔於2023-02-10).
- ^ Abezgauz, Irene. Introduction to Interactive Application Security Testing. Quotium. February 17, 2014 [2022-10-24]. (原始內容存檔於2018-04-03).
- ^ Rohr, Matthias. IAST: A New Approach For Agile Security Testing. Secodis. November 26, 2015 [2022-10-24]. (原始內容存檔於2018-06-20).
- ^ OWASP Application Security Verification Standard. [2022-10-24]. (原始內容存檔於2023-04-14).