ASVS 應用程式安全驗證標準(八)、 Level 4

ASVS Level 4 內部流程驗證(Internal Verification)
本階段適合用於保護生命安全、重要基礎設施、國防功能、處理敏感資產的應用程式。面對的威脅主要來自病毒、蠕蟲、使用工具或開發特殊工具的惡意攻擊者。檢驗範圍除了應用程式本身、第三方API的能否提供相同的安全功能、還有使用於應用程式中全部的程式碼。Level 4 要求安全控制措施必須正常運作、佈署在應用程式中且滿足特殊政策( Policies )規範、遵守安全程式碼撰寫實例。Level 4不再分為兩個子項目。
ASVS Level 4 MVC高階架構圖 & 攻擊者路徑圖

ASVS Level 4 的要求項目:
檢測範圍:
  • L4.1 應用程式本身的程式碼。
  • L4.2 應用程式引用的的第三方軟體框架(framework)、函式庫(libraries)和服務的安全性功能。
  • L4.3 第三方軟體架構、函式庫、服務的程式碼。
  • L4.4 所有與應用程式有關的程式碼,包括軟體框架、函式庫、執行環境(runtime environments)、開發工具(build tools)、部署工具(deploy tools)。不包括作業系統、應用程式 Server、資料庫 Server、虛擬機器等等的程式碼。
安全控制措施的行為要求:
  • L4.5 確認所有執行安全檢查的安全控制措施都遵照白名單(White List Approach)的模式執行。
  • L5.6 確認所有執行安全檢查的安全制措施遇到安全事件時,這些檢查都不能被繞路通過。
安全控制措施的使用要求:
  • L4.7 確認所有的安全控制措施都佈署在應用程式需要之處,且符合 Level 4 驗證要求細項,且以集中控管的方式實作在伺服器端。
安全控制措施的實作要求:
  • L4.8 確認應用程式不包含任何惡意程式碼 (註1),且符合 Level 4 驗證要求細項
安全控制措施的驗證要求:
  • L4.9 依照 Level 4 的"驗證要求細項(Detail Verification Requirements)",人工驗證應用程式。
  • L4.10 建立應用程式的安全架構文件,並依照文件和執行威脅模擬來確認是否正確使用安全控制措施。
  • L4.11 確認已開發的或已修改的應用程式中沒有惡意程式碼 (註1),並符合 evel 4 的"驗證要求細項(Detail Verification Requirements)"。
檢測報表的要求:
  • L4.12 檢測報表須包含:應用程式安全架構─元件群組化的高階架構(例如 MVC)、模擬威脅的資訊,加上"驗證報表要求(Verification Reporting Requirements)"的檢測結果。
在 Level 4 ,應用程式的元件可用與 Level 3 相同的方式定義:由單一的或一組的原始檔、函式庫、執行檔所組成的高階架構(例如 MVC元件、企業功能元件和資料層元件)。差別是,Level 4 的報表要納入應用程式依賴的軟體框架、函式庫、支援的程式碼(上圖橘色框框),不包括作業系統、應用程式 Server、資料庫 Server、虛擬機器的程式碼。例如:JRE(JAVA Runtime Environment)的程式碼不應在檢測範圍內。

下次將為你介紹 Level 3 和 Level 4 的安全驗證細項。

參考資料
----
註1:惡意程式碼( Malicious Code )─開發階段時,擁有者未發現的情況下被注入到應用程式中的程式碼,作用是避開應用程式的安全政策,與惡意程式( Malware、Virus、Worm )不同。
http://en.wikipedia.org/wiki/Whitelist
https://www.owasp.org/index.php/How_to_meet_verification_reporting_requirements

留言

這個網誌中的熱門文章

資安JAVA(十一):X-XSS-Protection

資安JAVA(十):X-Content-Type-Options

以 SharpPcap 實作可收聽封包的 C# 程式