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 Storage: Insufficient Data Protection
Abstract
O método identificado grava dados em um arquivo com configurações de criptografia potencialmente insuficientes.
Explanation
A API de Proteção de dados foi projetada para permitir que os aplicativos declarem quando os itens no conjunto de chaves e os arquivos armazenados no sistema de arquivos deveriam estar acessíveis. Ela está disponível para a maioria dos arquivos de banco de dados e APIs, incluindo NSFileManager, CoreData, NSData e SQLite. Ao especificar uma das quatro classes de proteção a um determinado recurso, um desenvolvedor pode instruir o sistema de arquivos subjacente para criptografá-lo usando uma chave derivada da UID do dispositivo e a senha do usuário ou usando uma chave baseada exclusivamente no UID do dispositivo (bem como quando descriptografá-lo automaticamente).
As classes de Proteção de dados são definidas para o
-
O recurso é armazenado no disco em um formato criptografado e não pode ser lido, ou gravado enquanto o dispositivo estiver bloqueado ou inicializando.
Disponível em iOS 4.0 ou posterior.
-
O recurso é armazenado no disco em um formato criptografado. Os recursos podem ser criados enquanto o dispositivo estiver bloqueado, mas uma vez fechado, não poderá ser aberto novamente até que o dispositivo seja desbloqueado. Se o recurso estiver aberto ao ser desbloqueado, você poderá continuar a acessar o recurso normalmente, mesmo que o usuário bloqueie o dispositivo.
Disponível em iOS 5.0 ou posterior.
-
O recurso é armazenado no disco em um formato criptografado e só poderá ser acessado depois do dispositivo inicializar. Depois que o usuário desbloquear o dispositivo pela primeira vez, o aplicativo poderá acessar o recurso e continuar a acessá-lo mesmo que o usuário bloqueie o dispositivo logo em seguida.
Disponível em iOS 5.0 ou posterior.
-
O recurso não tem proteções especiais associadas a ele. Ele pode ser lido ou gravado a qualquer momento.
Disponível em iOS 4.0 ou posterior.
Então, enquanto marcar um arquivo com
Exemplo 1: Neste exemplo, o arquivo só está protegido até que o usuário ligue o dispositivo e digite a senha pela primeira vez (até a próxima reinicialização):
As classes de Proteção de dados são definidas para o
NSFileManager
como constantes que devem ser atribuídas como o valor da chave NSFileProtectionKey
em um NSDictionary
associado à instância do NSFileManager
, e os arquivos podem ser criados ou a classe de proteção de dados deles pode ser modificada por meio da utilização das funções do NSFileManager
, incluindo setAttributes:ofItemAtPath:error:
, attributesOfItemAtPath:error:
e createFileAtPath:contents:attributes:
. Além disso, as constantes correspondentes de Proteção de dados são definidas para objetos NSData
como NSDataWritingOptions
que podem ser transmitidas como o argumento options
para as funções NSData
writeToURL:options:error:
e writeToFile:options:error:
. As definições para as diversas constantes de classe de Proteção de dados do NSFileManager
e do NSData
são as seguintes:-
NSFileProtectionComplete
, NSDataWritingFileProtectionComplete
:O recurso é armazenado no disco em um formato criptografado e não pode ser lido, ou gravado enquanto o dispositivo estiver bloqueado ou inicializando.
Disponível em iOS 4.0 ou posterior.
-
NSFileProtectionCompleteUnlessOpen
, NSDataWritingFileProtectionCompleteUnlessOpen
:O recurso é armazenado no disco em um formato criptografado. Os recursos podem ser criados enquanto o dispositivo estiver bloqueado, mas uma vez fechado, não poderá ser aberto novamente até que o dispositivo seja desbloqueado. Se o recurso estiver aberto ao ser desbloqueado, você poderá continuar a acessar o recurso normalmente, mesmo que o usuário bloqueie o dispositivo.
Disponível em iOS 5.0 ou posterior.
-
NSFileProtectionCompleteUntilFirstUserAuthentication
, NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication
:O recurso é armazenado no disco em um formato criptografado e só poderá ser acessado depois do dispositivo inicializar. Depois que o usuário desbloquear o dispositivo pela primeira vez, o aplicativo poderá acessar o recurso e continuar a acessá-lo mesmo que o usuário bloqueie o dispositivo logo em seguida.
Disponível em iOS 5.0 ou posterior.
-
NSFileProtectionNone
, NSDataWritingFileProtectionNone
:O recurso não tem proteções especiais associadas a ele. Ele pode ser lido ou gravado a qualquer momento.
Disponível em iOS 4.0 ou posterior.
Então, enquanto marcar um arquivo com
NSFileProtectionCompleteUnlessOpen
ou NSFileProtectionCompleteUntilFirstUserAuthentication
garantirá a encriptação deles por meio de uma chave derivada da senha do usuário e do UID do dispositivo, os dados ainda permanecerão acessíveis sob certas circunstâncias. Como tal, os usos de NSFileProtectionCompleteUnlessOpen
ou NSFileProtectionCompleteUntilFirstUserAuthentication
devem ser estudados cautelosamente para determinar se uma proteção aprofundada com o NSFileProtectionComplete
é garantida.Exemplo 1: Neste exemplo, o arquivo só está protegido até que o usuário ligue o dispositivo e digite a senha pela primeira vez (até a próxima reinicialização):
Exemplo 2: Neste exemplo, os dados só estão protegidos até que o usuário ligue o dispositivo e digite a senha pela primeira vez (até a próxima reinicialização):
...
filepath = [self.GetDocumentDirectory stringByAppendingPathComponent:self.setFilename];
...
NSDictionary *protection = [NSDictionary dictionaryWithObject:NSFileProtectionCompleteUntilFirstUserAuthentication forKey:NSFileProtectionKey];
...
[[NSFileManager defaultManager] setAttributes:protection ofItemAtPath:filepath error:nil];
...
BOOL ok = [testToWrite writeToFile:filepath atomically:YES encoding:NSUnicodeStringEncoding error:&err];
...
...
filepath = [self.GetDocumentDirectory stringByAppendingPathComponent:self.setFilename];
...
NSData *textData = [textToWrite dataUsingEncoding:NSUnicodeStingEncoding];
...
BOOL ok = [textData writeToFile:filepath options:NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication error:&err];
...
References
[1] iOS Security Guide Apple
[2] Standards Mapping - Common Weakness Enumeration CWE ID 311
[3] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001350, CCI-002475
[4] Standards Mapping - FIPS200 MP
[5] Standards Mapping - General Data Protection Regulation (GDPR) Insufficient Data Protection
[6] Standards Mapping - NIST Special Publication 800-53 Revision 4 AU-9 Protection of Audit Information (P1), SC-28 Protection of Information at Rest (P1)
[7] Standards Mapping - NIST Special Publication 800-53 Revision 5 AU-9 Protection of Audit Information, SC-28 Protection of Information at Rest
[8] Standards Mapping - OWASP Application Security Verification Standard 4.0 2.6.3 Look-up Secret Verifier Requirements (L2 L3), 6.2.1 Algorithms (L1 L2 L3), 8.1.6 General Data Protection (L3)
[9] Standards Mapping - OWASP Mobile 2014 M2 Insecure Data Storage
[10] Standards Mapping - OWASP Mobile 2024 M9 Insecure Data Storage
[11] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-STORAGE-1
[12] Standards Mapping - OWASP Top 10 2004 A8 Insecure Storage
[13] Standards Mapping - OWASP Top 10 2007 A8 Insecure Cryptographic Storage
[14] Standards Mapping - OWASP Top 10 2010 A7 Insecure Cryptographic Storage
[15] Standards Mapping - OWASP Top 10 2013 A6 Sensitive Data Exposure
[16] Standards Mapping - OWASP Top 10 2017 A3 Sensitive Data Exposure
[17] Standards Mapping - OWASP Top 10 2021 A02 Cryptographic Failures
[18] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0 Requirement 6.5.3
[19] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1 Requirement 6.5.3
[20] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2 Requirement 6.5.3
[21] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2.1 Requirement 6.5.3
[22] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 6.2.4
[23] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0.1 Requirement 6.2.4
[24] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 7.1 - Use of Cryptography
[25] Standards Mapping - Payment Card Industry Software Security Framework 1.1 Control Objective 7.1 - Use of Cryptography, Control Objective B.2.3 - Terminal Software Design
[26] Standards Mapping - Payment Card Industry Software Security Framework 1.2 Control Objective 7.1 - Use of Cryptography, Control Objective B.2.3 - Terminal Software Design
[27] Standards Mapping - SANS Top 25 2010 Porous Defenses - CWE ID 311
[28] Standards Mapping - SANS Top 25 2011 Porous Defenses - CWE ID 311
[29] Standards Mapping - Security Technical Implementation Guide Version 3.1 APP3210.1 CAT II, APP3310 CAT I, APP3340 CAT I
[30] Standards Mapping - Security Technical Implementation Guide Version 3.4 APP3210.1 CAT II, APP3340 CAT I
[31] Standards Mapping - Security Technical Implementation Guide Version 3.5 APP3210.1 CAT II, APP3340 CAT I
[32] Standards Mapping - Security Technical Implementation Guide Version 3.6 APP3210.1 CAT II, APP3340 CAT I
[33] Standards Mapping - Security Technical Implementation Guide Version 3.7 APP3210.1 CAT II, APP3340 CAT I
[34] Standards Mapping - Security Technical Implementation Guide Version 3.9 APP3210.1 CAT II, APP3340 CAT I
[35] Standards Mapping - Security Technical Implementation Guide Version 3.10 APP3210.1 CAT II, APP3340 CAT I
[36] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[37] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[38] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[39] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[40] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[41] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[42] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[43] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[44] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[45] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[46] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[47] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[48] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[49] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[50] Standards Mapping - Security Technical Implementation Guide Version 6.1 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[51] Standards Mapping - Web Application Security Consortium Version 2.00 Information Leakage (WASC-13)
desc.dataflow.objc.insecure_storage_insufficient_data_protection
Abstract
O método identificado grava dados em um arquivo com configurações de criptografia potencialmente insuficientes.
Explanation
A API de Proteção de dados foi projetada para permitir que os aplicativos declarem quando os itens no conjunto de chaves e os arquivos armazenados no sistema de arquivos deveriam estar acessíveis. Ela está disponível para a maioria dos arquivos de banco de dados e APIs, incluindo NSFileManager, CoreData, NSData e SQLite. Ao especificar uma das quatro classes de proteção a um determinado recurso, um desenvolvedor pode instruir o sistema de arquivos subjacente para criptografá-lo usando uma chave derivada da UID do dispositivo e a senha do usuário ou usando uma chave baseada exclusivamente no UID do dispositivo (bem como quando descriptografá-lo automaticamente).
As classes de Proteção de dados são definidas no
-
O recurso é armazenado no disco em um formato criptografado e não pode ser lido, ou gravado enquanto o dispositivo estiver bloqueado ou inicializando.
Disponível em iOS 4.0 ou posterior.
-
O recurso é armazenado no disco em um formato criptografado. Os recursos podem ser criados enquanto o dispositivo estiver bloqueado, mas uma vez fechado, não poderá ser aberto novamente até que o dispositivo seja desbloqueado. Se o recurso estiver aberto ao ser desbloqueado, você poderá continuar a acessar o recurso normalmente, mesmo que o usuário bloqueie o dispositivo.
Disponível em iOS 5.0 ou posterior.
-
O recurso é armazenado no disco em um formato criptografado e só poderá ser acessado depois do dispositivo inicializar. Depois que o usuário desbloquear o dispositivo pela primeira vez, o aplicativo poderá acessar o recurso e continuar a acessá-lo mesmo que o usuário bloqueie o dispositivo logo em seguida.
Disponível em iOS 5.0 ou posterior.
-
O recurso não tem proteções especiais associadas a ele. Ele pode ser lido ou gravado a qualquer momento.
Disponível em iOS 4.0 ou posterior.
Então, enquanto marcar um arquivo com
Exemplo 1: Neste exemplo, o arquivo só está protegido até que o usuário ligue o dispositivo e digite a senha pela primeira vez (até a próxima reinicialização):
As classes de Proteção de dados são definidas no
NSFileManager
como constantes que devem ser atribuídas como o valor da chave NSFileProtectionKey
em um Dictionary
associado à instância do NSFileManager
, e os arquivos podem ser criados ou a classe de proteção de dados deles pode ser modificada por meio da utilização das funções NSFileManager
, incluindo setAttributes(_:ofItemAtPath:)
, attributesOfItemAtPath(_:)
e createFileAtPath(_:contents:attributes:)
. Além disso, as constantes correspondentes de Proteção de dados são definidas para objetos NSData
na enumeração NSDataWritingOptions
que podem ser transmitidas como o argumento options
para as funções NSData
writeToFile(_:options:)
. As definições para as diversas constantes de classe de Proteção de dados do NSFileManager
e do NSData
são as seguintes:-
NSFileProtectionComplete
, NSDataWritingOptions.DataWritingFileProtectionComplete
:O recurso é armazenado no disco em um formato criptografado e não pode ser lido, ou gravado enquanto o dispositivo estiver bloqueado ou inicializando.
Disponível em iOS 4.0 ou posterior.
-
NSFileProtectionCompleteUnlessOpen
, NSDataWritingOptions.DataWritingFileProtectionCompleteUnlessOpen
:O recurso é armazenado no disco em um formato criptografado. Os recursos podem ser criados enquanto o dispositivo estiver bloqueado, mas uma vez fechado, não poderá ser aberto novamente até que o dispositivo seja desbloqueado. Se o recurso estiver aberto ao ser desbloqueado, você poderá continuar a acessar o recurso normalmente, mesmo que o usuário bloqueie o dispositivo.
Disponível em iOS 5.0 ou posterior.
-
NSFileProtectionCompleteUntilFirstUserAuthentication
, NSDataWritingOptions.DataWritingFileProtectionCompleteUntilFirstUserAuthentication
:O recurso é armazenado no disco em um formato criptografado e só poderá ser acessado depois do dispositivo inicializar. Depois que o usuário desbloquear o dispositivo pela primeira vez, o aplicativo poderá acessar o recurso e continuar a acessá-lo mesmo que o usuário bloqueie o dispositivo logo em seguida.
Disponível em iOS 5.0 ou posterior.
-
NSFileProtectionNone
, NSDataWritingOptions.DataWritingFileProtectionNone
:O recurso não tem proteções especiais associadas a ele. Ele pode ser lido ou gravado a qualquer momento.
Disponível em iOS 4.0 ou posterior.
Então, enquanto marcar um arquivo com
NSFileProtectionCompleteUnlessOpen
ou NSFileProtectionCompleteUntilFirstUserAuthentication
garantirá a encriptação deles por meio de uma chave derivada da senha do usuário e do UID do dispositivo, os dados ainda permanecerão acessíveis sob certas circunstâncias. Como tal, os usos de NSFileProtectionCompleteUnlessOpen
ou NSFileProtectionCompleteUntilFirstUserAuthentication
devem ser estudados cautelosamente para determinar se uma proteção aprofundada com o NSFileProtectionComplete
é garantida.Exemplo 1: Neste exemplo, o arquivo só está protegido até que o usuário ligue o dispositivo e digite a senha pela primeira vez (até a próxima reinicialização):
Exemplo 2: Neste exemplo, os dados só estão protegidos até que o usuário ligue o dispositivo e digite a senha pela primeira vez (até a próxima reinicialização):
...
let documentsPath = NSURL(fileURLWithPath: NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0])
let filename = "\(documentsPath)/tmp_activeTrans.txt"
let protection = [NSFileProtectionKey: NSFileProtectionCompleteUntilFirstUserAuthentication]
do {
try NSFileManager.defaultManager().setAttributes(protection, ofItemAtPath: filename)
} catch let error as NSError {
NSLog("Unable to change attributes: \(error.debugDescription)")
}
...
BOOL ok = textToWrite.writeToFile(filename, atomically:true)
...
...
let documentsPath = NSURL(fileURLWithPath: NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0])
let filename = "\(documentsPath)/tmp_activeTrans.txt"
...
BOOL ok = textData.writeToFile(filepath, options: .DataWritingFileProtectionCompleteUntilFirstUserAuthentication);
...
References
[1] iOS Security Guide Apple
[2] Standards Mapping - Common Weakness Enumeration CWE ID 311
[3] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001350, CCI-002475
[4] Standards Mapping - FIPS200 MP
[5] Standards Mapping - General Data Protection Regulation (GDPR) Insufficient Data Protection
[6] Standards Mapping - NIST Special Publication 800-53 Revision 4 AU-9 Protection of Audit Information (P1), SC-28 Protection of Information at Rest (P1)
[7] Standards Mapping - NIST Special Publication 800-53 Revision 5 AU-9 Protection of Audit Information, SC-28 Protection of Information at Rest
[8] Standards Mapping - OWASP Application Security Verification Standard 4.0 2.6.3 Look-up Secret Verifier Requirements (L2 L3), 6.2.1 Algorithms (L1 L2 L3), 8.1.6 General Data Protection (L3)
[9] Standards Mapping - OWASP Mobile 2014 M2 Insecure Data Storage
[10] Standards Mapping - OWASP Mobile 2024 M9 Insecure Data Storage
[11] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-STORAGE-1
[12] Standards Mapping - OWASP Top 10 2004 A8 Insecure Storage
[13] Standards Mapping - OWASP Top 10 2007 A8 Insecure Cryptographic Storage
[14] Standards Mapping - OWASP Top 10 2010 A7 Insecure Cryptographic Storage
[15] Standards Mapping - OWASP Top 10 2013 A6 Sensitive Data Exposure
[16] Standards Mapping - OWASP Top 10 2017 A3 Sensitive Data Exposure
[17] Standards Mapping - OWASP Top 10 2021 A02 Cryptographic Failures
[18] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0 Requirement 6.5.3
[19] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1 Requirement 6.5.3
[20] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2 Requirement 6.5.3
[21] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2.1 Requirement 6.5.3
[22] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 6.2.4
[23] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0.1 Requirement 6.2.4
[24] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 7.1 - Use of Cryptography
[25] Standards Mapping - Payment Card Industry Software Security Framework 1.1 Control Objective 7.1 - Use of Cryptography, Control Objective B.2.3 - Terminal Software Design
[26] Standards Mapping - Payment Card Industry Software Security Framework 1.2 Control Objective 7.1 - Use of Cryptography, Control Objective B.2.3 - Terminal Software Design
[27] Standards Mapping - SANS Top 25 2010 Porous Defenses - CWE ID 311
[28] Standards Mapping - SANS Top 25 2011 Porous Defenses - CWE ID 311
[29] Standards Mapping - Security Technical Implementation Guide Version 3.1 APP3210.1 CAT II, APP3310 CAT I, APP3340 CAT I
[30] Standards Mapping - Security Technical Implementation Guide Version 3.4 APP3210.1 CAT II, APP3340 CAT I
[31] Standards Mapping - Security Technical Implementation Guide Version 3.5 APP3210.1 CAT II, APP3340 CAT I
[32] Standards Mapping - Security Technical Implementation Guide Version 3.6 APP3210.1 CAT II, APP3340 CAT I
[33] Standards Mapping - Security Technical Implementation Guide Version 3.7 APP3210.1 CAT II, APP3340 CAT I
[34] Standards Mapping - Security Technical Implementation Guide Version 3.9 APP3210.1 CAT II, APP3340 CAT I
[35] Standards Mapping - Security Technical Implementation Guide Version 3.10 APP3210.1 CAT II, APP3340 CAT I
[36] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[37] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[38] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[39] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[40] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[41] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[42] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[43] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[44] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[45] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[46] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[47] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[48] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[49] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[50] Standards Mapping - Security Technical Implementation Guide Version 6.1 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[51] Standards Mapping - Web Application Security Consortium Version 2.00 Information Leakage (WASC-13)
desc.structural.swift.insecure_storage_insufficient_data_protection