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
Ao estabelecer uma conexão de URL que requer autenticação em um espaço de proteção, o método
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 - General Data Protection Regulation (GDPR) Access Violation
[4] Standards Mapping - OWASP API 2023 API2 Broken Authentication
[5] Standards Mapping - OWASP Mobile 2024 M3 Insecure Authentication/Authorization
[6] 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
Ao estabelecer uma conexão de URL que requer autenticação em um espaço de proteção, o método
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 - General Data Protection Regulation (GDPR) Access Violation
[4] Standards Mapping - OWASP API 2023 API2 Broken Authentication
[5] Standards Mapping - OWASP Mobile 2024 M3 Insecure Authentication/Authorization
[6] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-AUTH-1
desc.structural.swift.authentication_bad_practice_missing_check_against_protection_space