界: Encapsulation

封装即绘制强边界。在 Web 浏览器中,这可能意味着确保您的移动代码不会被其他移动代码滥用。在服务器上,这可能意味着区分已验证数据和未验证数据、区分一个用户的数据和另一个用户的数据,或者区分允许用户查看的数据和不允许用户查看的数据。

Insecure IPC: URL Scheme Hijacking

Abstract
该应用程序使用自定义 URL 方案进行过程间通信 (IPC),这种做法容易受到“URL Scheme Hijacking”攻击。
Explanation
应用程序可以注册自定义 URL 方案,供第三方应用程序用于与其通信。虽然这是一个简单的 IPC 通道,但它可能会将您的应用程序暴露于“URL Scheme Hijacking”攻击之下。由于任何应用程序均可注册 Apple 未保留的 URL 方案,因而恶意应用程序可能会注册与您的应用程序所用相同的方案,从而导致未定义的行为。根据 Apple 的文档:“如果有多个第三方应用程序注册处理相同的 URL 方案,目前尚无能够确定将该方案交予哪个应用程序处理的流程”。如果恶意应用程序先于您的应用程序安装,它可能会注册该方案,使您的应用程序无法成功安装。或者,如果恶意应用程序晚于您的应用程序安装,并且成功注册了方案,那么它可能会劫持您的应用程序。
References
[1] David Thiel iOS Application Security: The Definitive Guide for Hackers and Developers No Starch Press
[2] Standards Mapping - CIS Azure Kubernetes Service Benchmark 1
[3] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 4
[4] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 3
[5] Standards Mapping - CIS Google Kubernetes Engine Benchmark normal
[6] Standards Mapping - Common Weakness Enumeration CWE ID 939
[7] Standards Mapping - Common Weakness Enumeration Top 25 2020 [25] CWE ID 862
[8] Standards Mapping - Common Weakness Enumeration Top 25 2021 [18] CWE ID 862
[9] Standards Mapping - Common Weakness Enumeration Top 25 2022 [16] CWE ID 862
[10] Standards Mapping - Common Weakness Enumeration Top 25 2023 [11] CWE ID 862
[11] Standards Mapping - General Data Protection Regulation (GDPR) Indirect Access to Sensitive Data
[12] Standards Mapping - OWASP Top 10 2021 A04 Insecure Design
[13] 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)
[14] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-PLATFORM-1
desc.structural.objc.insecure_ipc_url_scheme_hijacking
Abstract
该应用程序使用自定义 URL 方案进行过程间通信 (IPC),这种做法容易受到“URL Scheme Hijacking”攻击。
Explanation
应用程序可以注册自定义 URL 方案,供第三方应用程序用于与其通信。虽然这是一个简单的 IPC 通道,但它可能会将您的应用程序暴露于“URL Scheme Hijacking”攻击之下。由于任何应用程序均可注册 Apple 未保留的 URL 方案,因而恶意应用程序可能会注册与您的应用程序所用相同的方案,从而导致未定义的行为。根据 Apple 的文档:“如果有多个第三方应用程序注册处理相同的 URL 方案,目前尚无能够确定将该方案交予哪个应用程序处理的流程”。如果恶意应用程序先于您的应用程序安装,它可能会注册该方案,使您的应用程序无法成功安装。或者,如果恶意应用程序晚于您的应用程序安装,并且成功注册了方案,那么它可能会劫持您的应用程序。
References
[1] David Thiel iOS Application Security: The Definitive Guide for Hackers and Developers No Starch Press
[2] Standards Mapping - CIS Azure Kubernetes Service Benchmark 1
[3] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 4
[4] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 3
[5] Standards Mapping - CIS Google Kubernetes Engine Benchmark normal
[6] Standards Mapping - Common Weakness Enumeration CWE ID 939
[7] Standards Mapping - Common Weakness Enumeration Top 25 2020 [25] CWE ID 862
[8] Standards Mapping - Common Weakness Enumeration Top 25 2021 [18] CWE ID 862
[9] Standards Mapping - Common Weakness Enumeration Top 25 2022 [16] CWE ID 862
[10] Standards Mapping - Common Weakness Enumeration Top 25 2023 [11] CWE ID 862
[11] Standards Mapping - General Data Protection Regulation (GDPR) Indirect Access to Sensitive Data
[12] Standards Mapping - OWASP Top 10 2021 A04 Insecure Design
[13] 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)
[14] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-PLATFORM-1
desc.structural.swift.insecure_ipc_url_scheme_hijacking