Reino: Encapsulation

Encapsulamento consiste em traçar limites fortes. Em um navegador web, isso pode significar que seu código para dispositivos móveis não pode ser abusado por outros códigos para dispositivos móveis. No servidor, pode significar a diferenciação entre dados validados e não validados, entre os dados de dois usuários ou entre os dados que os usuários podem ou não acessar.

Insecure IPC: URL Scheme Hijacking

Abstract
O aplicativo usa esquemas de URL personalizados para Comunicação Entre Procedimentos (IPC) que estão sujeitos a “Sequestro de Esquema de URL”.
Explanation
Os aplicativos podem registrar esquemas de URL personalizados para aplicativos de terceiros a fim de se comunicar com eles. Embora esse seja um canal IPC simples, ele pode expor seu aplicativo ao “Sequestro de Esquema de URL". Como qualquer aplicativo pode registrar um esquema de URL, desde que não esteja reservado pela Apple, um aplicativo mal-intencionado pode registrar o mesmo esquema usado pelo seu aplicativo, que resulta em um comportamento não definido. De acordo com a documentação da Apple: “Se mais de um aplicativo de terceiros estiver registrado para manipular o mesmo esquema de URL, não haverá atualmente nenhum processo para determinar qual aplicativo receberá esse esquema". Se o aplicativo mal-intencionado estiver instalado antes de seu aplicativo, ele poderá registrar o esquema e impedir que seu aplicativo seja instalado com êxito. Como alternativa, se o aplicativo mal-intencionado for instalado após o aplicativo e for bem-sucedido no registro do esquema, ele poderá sequestrar seu aplicativo.
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
O aplicativo usa esquemas de URL personalizados para Comunicação Entre Procedimentos (IPC) que estão sujeitos a “Sequestro de Esquema de URL”.
Explanation
Os aplicativos podem registrar esquemas de URL personalizados para aplicativos de terceiros a fim de se comunicar com eles. Embora esse seja um canal IPC simples, ele pode expor seu aplicativo ao “Sequestro de Esquema de URL". Como qualquer aplicativo pode registrar um esquema de URL, desde que não esteja reservado pela Apple, um aplicativo mal-intencionado pode registrar o mesmo esquema usado pelo seu aplicativo, que resulta em um comportamento não definido. De acordo com a documentação da Apple: “Se mais de um aplicativo de terceiros estiver registrado para manipular o mesmo esquema de URL, não haverá atualmente nenhum processo para determinar qual aplicativo receberá esse esquema". Se o aplicativo mal-intencionado estiver instalado antes de seu aplicativo, ele poderá registrar o esquema e impedir que seu aplicativo seja instalado com êxito. Como alternativa, se o aplicativo mal-intencionado for instalado após o aplicativo e for bem-sucedido no registro do esquema, ele poderá sequestrar seu aplicativo.
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