界: Encapsulation

封裝是要劃定清楚的界限。在網頁瀏覽器中,這可能意味著確保您的行動程式碼不會被其他行動程式碼濫用。在伺服器上,這可能意味著區分經過驗證的資料與未經驗證的資料、區分一個使用者的資料與另一個使用者的資料,或區分允許使用者查看的資料與不允許查看的資料。

Insecure IPC: URL Scheme Hijacking

Abstract
應用程式針對容易遭受「URL 架構劫持」的程序間通訊 (IPC) 使用自訂 URL 架構。
Explanation
應用程式可能會為第三方應用程式註冊自訂 URL 架構,以與其進行通訊。雖然這是一個簡單的 IPC 通道,但可能會使您的應用程式暴露於「URL 架構劫持」。由於任何應用程式皆可註冊 URL 架構 (只要不是 Apple 所保留的),因此惡意應用程式可能會註冊您的應用程式所使用的相同架構,從而導致未定義的行為。根據 Apple 說明文件:「如果多個第三方應用程式同時註冊以處理同一 URL 架構,目前沒有程序可以判定將為哪個應用程式提供該架構」。如果惡意應用程式安裝於您的應用程式之前,它可能會註冊該架構並阻止您的應用程式成功安裝。或者,如果惡意應用程式安裝於您的應用程式之後並成功完成架構註冊,則可能會從您的應用程式劫持該架構。
References
[1] David Thiel iOS Application Security: The Definitive Guide for Hackers and Developers No Starch Press
[2] Standards Mapping - Common Weakness Enumeration CWE ID 939
[3] Standards Mapping - Common Weakness Enumeration Top 25 2020 [25] CWE ID 862
[4] Standards Mapping - Common Weakness Enumeration Top 25 2021 [18] CWE ID 862
[5] Standards Mapping - Common Weakness Enumeration Top 25 2022 [16] CWE ID 862
[6] Standards Mapping - Common Weakness Enumeration Top 25 2023 [11] CWE ID 862
[7] Standards Mapping - Common Weakness Enumeration Top 25 2024 [9] CWE ID 862
[8] Standards Mapping - General Data Protection Regulation (GDPR) Indirect Access to Sensitive Data
[9] Standards Mapping - OWASP Application Security Verification Standard 4.0 4.1.3 General Access Control Design (L1 L2 L3), 4.1.5 General Access Control Design (L1 L2 L3), 4.2.1 Operation Level Access Control (L1 L2 L3), 13.1.4 Generic Web Service Security Verification Requirements (L2 L3)
[10] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-PLATFORM-1
[11] Standards Mapping - OWASP Top 10 2021 A04 Insecure Design
desc.structural.objc.insecure_ipc_url_scheme_hijacking
Abstract
應用程式針對容易遭受「URL 架構劫持」的程序間通訊 (IPC) 使用自訂 URL 架構。
Explanation
應用程式可能會為第三方應用程式註冊自訂 URL 架構,以與其進行通訊。雖然這是一個簡單的 IPC 通道,但可能會使您的應用程式暴露於「URL 架構劫持」。由於任何應用程式皆可註冊 URL 架構 (只要不是 Apple 所保留的),因此惡意應用程式可能會註冊您的應用程式所使用的相同架構,從而導致未定義的行為。根據 Apple 說明文件:「如果多個第三方應用程式同時註冊以處理同一 URL 架構,目前沒有程序可以判定將為哪個應用程式提供該架構」。如果惡意應用程式安裝於您的應用程式之前,它可能會註冊該架構並阻止您的應用程式成功安裝。或者,如果惡意應用程式安裝於您的應用程式之後並成功完成架構註冊,則可能會從您的應用程式劫持該架構。
References
[1] David Thiel iOS Application Security: The Definitive Guide for Hackers and Developers No Starch Press
[2] Standards Mapping - Common Weakness Enumeration CWE ID 939
[3] Standards Mapping - Common Weakness Enumeration Top 25 2020 [25] CWE ID 862
[4] Standards Mapping - Common Weakness Enumeration Top 25 2021 [18] CWE ID 862
[5] Standards Mapping - Common Weakness Enumeration Top 25 2022 [16] CWE ID 862
[6] Standards Mapping - Common Weakness Enumeration Top 25 2023 [11] CWE ID 862
[7] Standards Mapping - Common Weakness Enumeration Top 25 2024 [9] CWE ID 862
[8] Standards Mapping - General Data Protection Regulation (GDPR) Indirect Access to Sensitive Data
[9] Standards Mapping - OWASP Application Security Verification Standard 4.0 4.1.3 General Access Control Design (L1 L2 L3), 4.1.5 General Access Control Design (L1 L2 L3), 4.2.1 Operation Level Access Control (L1 L2 L3), 13.1.4 Generic Web Service Security Verification Requirements (L2 L3)
[10] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-PLATFORM-1
[11] Standards Mapping - OWASP Top 10 2021 A04 Insecure Design
desc.structural.swift.insecure_ipc_url_scheme_hijacking