Reino: Security Features

Segurança de software não é o mesmo que software de segurança. Aqui, estamos interessados em tópicos como autenticação, controle de acesso, confidencialidade, criptografia e gestão de privilégios.

Authentication Bad Practice: Missing Check against Protection Space

Abstract
A classe do representante NSURLConnection lida com desafios de autenticação sem primeiro verificar se o aplicativo sabe como lidar com o desafio de autenticação para um espaço de proteção especial.
Explanation
Um objeto NSURLProtectionSpace representa um servidor ou uma área em um servidor, comumente chamada de realm, que requer autenticação.
Ao estabelecer uma conexão de URL que requer autenticação em um espaço de proteção, o método NSURLConnectionDelegate.connection(_:canAuthenticateAgainstProtectionSpace:) será chamado logo antes da chamada para o método NSURLConnectionDelegate.connection(_:didReceive:) que deve realizar a autenticação. Isso permite que NSURLConnectionDelegate inspecione o espaço de proteção antes de tentar se autenticar nele. Ao retornar true, o representante indica que pode lidar com a forma de autenticação, o que acontece na chamada subsequente para connection(_:didReceive:). Se o seu representante não implementar esse método, e o espaço de proteção usar a autenticação de certificado de cliente ou a autenticação por confiança de servidor, o sistema tentará usar a cadeia de chaves do usuário para a autenticação, o que pode não ser o comportamento desejado.
References
[1] connection(_:canAuthenticateAgainstProtectionSpace:) API documentation Apple
[2] URLProtectionSpace API documentation Apple
[3] Standards Mapping - CIS Azure Kubernetes Service Benchmark 3
[4] Standards Mapping - CIS Microsoft Azure Foundations Benchmark partial
[5] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 5
[6] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 1
[7] Standards Mapping - CIS Google Kubernetes Engine Benchmark normal
[8] Standards Mapping - CIS Kubernetes Benchmark partial
[9] Standards Mapping - General Data Protection Regulation (GDPR) Access Violation
[10] Standards Mapping - OWASP API 2023 API2 Broken Authentication
[11] Standards Mapping - OWASP Mobile 2024 M3 Insecure Authentication/Authorization
[12] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-AUTH-1
desc.structural.objc.authentication_bad_practice_missing_check_against_protection_space
Abstract
A classe do representante NSURLConnection lida com desafios de autenticação sem primeiro verificar se o aplicativo sabe como lidar com o desafio de autenticação para um espaço de proteção especial.
Explanation
Um objeto NSURLProtectionSpace representa um servidor ou uma área em um servidor, comumente chamada de realm, que requer autenticação.
Ao estabelecer uma conexão de URL que requer autenticação em um espaço de proteção, o método NSURLConnectionDelegate.connection(_:canAuthenticateAgainstProtectionSpace:) será chamado logo antes da chamada para o método NSURLConnectionDelegate.connection(_:didReceive:) que deve realizar a autenticação. Isso permite que NSURLConnectionDelegate inspecione o espaço de proteção antes de tentar se autenticar nele. Ao retornar true, o representante indica que pode lidar com a forma de autenticação, o que acontece na chamada subsequente para connection(_:didReceive:). Se o seu representante não implementar esse método, e o espaço de proteção usar a autenticação de certificado de cliente ou a autenticação por confiança de servidor, o sistema tentará usar a cadeia de chaves do usuário para a autenticação, o que pode não ser o comportamento desejado.
References
[1] connection(_:canAuthenticateAgainstProtectionSpace:) API documentation Apple
[2] URLProtectionSpace API documentation Apple
[3] Standards Mapping - CIS Azure Kubernetes Service Benchmark 3
[4] Standards Mapping - CIS Microsoft Azure Foundations Benchmark partial
[5] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 5
[6] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 1
[7] Standards Mapping - CIS Google Kubernetes Engine Benchmark normal
[8] Standards Mapping - CIS Kubernetes Benchmark partial
[9] Standards Mapping - General Data Protection Regulation (GDPR) Access Violation
[10] Standards Mapping - OWASP API 2023 API2 Broken Authentication
[11] Standards Mapping - OWASP Mobile 2024 M3 Insecure Authentication/Authorization
[12] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-AUTH-1
desc.structural.swift.authentication_bad_practice_missing_check_against_protection_space