界: Encapsulation

カプセル化とは、強い境界線を引くことです。Web ブラウザの場合は、自分のモバイル コードが他のモバイル コードに悪用されないようにすることを意味します。サーバー上では、検証されたデータと検証されていないデータ、あるユーザーのデータと別のユーザーのデータ、またはユーザーが見ることを許可されたデータと許可されていないデータの区別などを意味する場合があります。

Insecure Storage: Insufficient Keychain Protection

Abstract
この特定のメソッドは、不十分な可能性がある暗号化設定を持つキーチェーンにデータを格納します。
Explanation
キーチェーンのアクセシビリティ定数は、キーチェーンのアイテムにアクセスできる必要がある場合に、アプリケーションが宣言できるように設計されています。特定のキーチェーン アイテムにいずれかのアクセシビリティ定数を指定することで、開発者は基盤ファイル システムに、デバイスの UID とユーザーのパスコードの両方から導出された鍵を使用するか、デバイスの UID のみに基づく鍵を使用してそのキーチェーン アイテムを暗号化するように (さらに自動で復号化するタイミングも) 指示できます。

キーチェーン アクセシビリティ定数は、キーチェーン属性ディクショナリの kSecAttrAccessible キーの値として割り当てる必要があります。さまざまなキーチェーン アクセシビリティ定数の定義を以下に示します。

-kSecAttrAccessibleAfterFirstUnlock:
ユーザーによってデバイスがロック解除されるまで、再起動後はキーチェーン アイテムのデータにアクセスできません。
最初のロック解除後、次回の再起動までデータはアクセス可能なままです。これは、バックグラウンド アプリケーションでアクセスする必要のあるアイテムに推奨されます。暗号化されたバックアップを使用する場合、この属性を持つアイテムは新しいデバイスに移行されます。
iOS 4.0 以降で使用できます。

-kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly:
ユーザーによってデバイスがロック解除されるまで、再起動後はキーチェーン アイテムのデータにアクセスできません。
最初のロック解除後、次回の再起動までデータはアクセス可能なままです。これは、バックグラウンド アプリケーションでアクセスする必要のあるアイテムに推奨されます。この属性を持つアイテムは新しいデバイスに移行されません。このため、別のデバイスのバックアップからリストアした後、これらのアイテムは表示されません。
iOS 4.0 以降で使用できます。

-kSecAttrAccessibleAlways:
デバイスがロックされているかどうかに関係なく、常にキーチェーン アイテムのデータにアクセスできます。
これは、アプリケーションでの使用には推奨されません。暗号化されたバックアップを使用する場合、この属性を持つアイテムは新しいデバイスに移行されます。
iOS 4.0 以降で使用できます。

-kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly:
デバイスがロック解除されている場合のみ、キーチェーンのデータにアクセスできます。デバイスにパスコードが設定されている場合にのみ使用できます。
これは、アプリケーションがフォアグラウンドにある間にのみアクセスできる必要のあるアイテムに推奨されます。この属性を持つアイテムが新しいデバイスに移行されることはありません。バックアップを新しいデバイスにリストアすると、これらのアイテムは失われます。パスコードなしに、デバイス上でこのクラスにアイテムを格納することはできません。デバイスのパスコードを無効にすると、このクラスのすべてのアイテムが削除されます。
iOS 8.0 以降で使用できます。

-kSecAttrAccessibleAlwaysThisDeviceOnly:
デバイスがロックされているかどうかに関係なく、常にキーチェーン アイテムのデータにアクセスできます。
これは、アプリケーションでの使用には推奨されません。この属性を持つアイテムは新しいデバイスに移行されません。このため、別のデバイスのバックアップからリストアした後、これらのアイテムは表示されません。
iOS 4.0 以降で使用できます。

-kSecAttrAccessibleWhenUnlocked:
デバイスがユーザーによってロック解除されている間のみ、キーチェーン アイテムのデータにアクセスできます。
これは、アプリケーションがフォアグラウンドにある間にのみアクセスできる必要のあるアイテムに推奨されます。暗号化されたバックアップを使用する場合、この属性を持つアイテムは新しいデバイスに移行されます。
これは、アクセシビリティ定数を明示的に設定せずに追加されたキーチェーン アイテムのデフォルト値です。
iOS 4.0 以降で使用できます。

-kSecAttrAccessibleWhenUnlockedThisDeviceOnly:
デバイスがユーザーによってロック解除されている間のみ、キーチェーン アイテムのデータにアクセスできます。
これは、アプリケーションがフォアグラウンドにある間にのみアクセスできる必要のあるアイテムに推奨されます。この属性を持つアイテムは新しいデバイスに移行されません。このため、別のデバイスのバックアップからリストアした後、これらのアイテムは表示されません。
iOS 4.0 以降で使用できます。

このため、キーチェーン アイテムを kSecAttrAccessibleAfterFirstUnlock でマーキングすると、ユーザーのパスコードとデバイスの UID から導出された鍵を使用してファイルを暗号化できる一方、データは特定の状況下でアクセス可能のままになります。このように、kSecAttrAccessibleAfterFirstUnlock の使用方法については慎重に検証し、今後も保護が保証されるかどうかを見極める必要があります。

例 1: 以下の例では、所定のキーチェーン アイテムはユーザーがデバイスの電源をオンにして初回のパスコードを入力するまでに限り保護されます (次の再起動まで)。


...
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
NSData *token = [@"secret" dataUsingEncoding:NSUTF8StringEncoding];

// Configure KeyChain Item
[dict setObject:(__bridge id)kSecClassGenericPassword forKey:(__bridge id) kSecClass];
[dict setObject:token forKey:(__bridge id)kSecValueData];
...
[dict setObject:(__bridge id)kSecAttrAccessibleAfterFirstUnlock forKey:(__bridge id) kSecAttrAccessible];

OSStatus error = SecItemAdd((__bridge CFDictionaryRef)dict, NULL);
...
References
[1] iOS Security Guide Apple: October 2014
[2] Keychain Services Apple
[3] Keychain Item Accessibility Constants Apple
[4] David Thiel iOS Application Security: The Definitive Guide for Hackers and Developers No Starch Press
[5] Standards Mapping - CIS Azure Kubernetes Service Benchmark 2.0
[6] Standards Mapping - CIS Microsoft Azure Foundations Benchmark partial
[7] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 5.0
[8] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 4
[9] Standards Mapping - CIS Google Kubernetes Engine Benchmark confidentiality
[10] Standards Mapping - CIS Kubernetes Benchmark complete
[11] Standards Mapping - Common Weakness Enumeration CWE ID 311, CWE ID 312, CWE ID 313, CWE ID 522
[12] Standards Mapping - Common Weakness Enumeration Top 25 2019 [13] CWE ID 287
[13] Standards Mapping - Common Weakness Enumeration Top 25 2020 [14] CWE ID 287, [18] CWE ID 522
[14] Standards Mapping - Common Weakness Enumeration Top 25 2021 [14] CWE ID 287, [21] CWE ID 522
[15] Standards Mapping - Common Weakness Enumeration Top 25 2022 [14] CWE ID 287
[16] Standards Mapping - Common Weakness Enumeration Top 25 2023 [13] CWE ID 287
[17] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001350, CCI-002475
[18] Standards Mapping - FIPS200 MP
[19] Standards Mapping - General Data Protection Regulation (GDPR) Insufficient Data Protection
[20] Standards Mapping - NIST Special Publication 800-53 Revision 4 SC-28 Protection of Information at Rest (P1)
[21] Standards Mapping - NIST Special Publication 800-53 Revision 5 SC-28 Protection of Information at Rest
[22] Standards Mapping - OWASP Top 10 2004 A8 Insecure Storage
[23] Standards Mapping - OWASP Top 10 2007 A8 Insecure Cryptographic Storage
[24] Standards Mapping - OWASP Top 10 2010 A7 Insecure Cryptographic Storage
[25] Standards Mapping - OWASP Top 10 2013 A6 Sensitive Data Exposure
[26] Standards Mapping - OWASP Top 10 2017 A3 Sensitive Data Exposure
[27] Standards Mapping - OWASP Top 10 2021 A02 Cryptographic Failures
[28] Standards Mapping - OWASP Application Security Verification Standard 4.0 2.6.3 Look-up Secret Verifier Requirements (L2 L3), 2.7.1 Out of Band Verifier Requirements (L1 L2 L3), 2.7.2 Out of Band Verifier Requirements (L1 L2 L3), 2.7.3 Out of Band Verifier Requirements (L1 L2 L3), 2.8.4 Single or Multi Factor One Time Verifier Requirements (L2 L3), 2.8.5 Single or Multi Factor One Time Verifier Requirements (L2 L3), 2.10.2 Service Authentication Requirements (L2 L3), 2.10.3 Service Authentication Requirements (L2 L3), 3.7.1 Defenses Against Session Management Exploits (L1 L2 L3), 6.1.1 Data Classification (L2 L3), 6.1.2 Data Classification (L2 L3), 6.1.3 Data Classification (L2 L3), 6.2.1 Algorithms (L1 L2 L3), 8.1.6 General Data Protection (L3), 8.2.2 Client-side Data Protection (L1 L2 L3), 9.2.3 Server Communications Security Requirements (L2 L3)
[29] Standards Mapping - OWASP Mobile 2014 M2 Insecure Data Storage
[30] Standards Mapping - OWASP Mobile 2023 M9 Insecure Data Storage
[31] Standards Mapping - OWASP Mobile 2024 M9 Insecure Data Storage
[32] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-STORAGE-1
[33] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0 Requirement 6.5.3
[34] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1 Requirement 6.5.3
[35] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2 Requirement 6.5.3
[36] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2.1 Requirement 6.5.3
[37] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 6.2.4
[38] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 7.1 - Use of Cryptography
[39] 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
[40] 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
[41] Standards Mapping - SANS Top 25 2010 Porous Defenses - CWE ID 311
[42] Standards Mapping - SANS Top 25 2011 Porous Defenses - CWE ID 311
[43] Standards Mapping - Security Technical Implementation Guide Version 3.1 APP3210.1 CAT II, APP3310 CAT I, APP3340 CAT I
[44] Standards Mapping - Security Technical Implementation Guide Version 3.4 APP3210.1 CAT II, APP3340 CAT I
[45] Standards Mapping - Security Technical Implementation Guide Version 3.5 APP3210.1 CAT II, APP3340 CAT I
[46] Standards Mapping - Security Technical Implementation Guide Version 3.6 APP3210.1 CAT II, APP3340 CAT I
[47] Standards Mapping - Security Technical Implementation Guide Version 3.7 APP3210.1 CAT II, APP3340 CAT I
[48] Standards Mapping - Security Technical Implementation Guide Version 3.9 APP3210.1 CAT II, APP3340 CAT I
[49] Standards Mapping - Security Technical Implementation Guide Version 3.10 APP3210.1 CAT II, APP3340 CAT I
[50] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[51] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[52] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[53] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[54] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[55] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[56] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[57] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[58] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[59] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[60] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[61] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[62] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[63] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[64] Standards Mapping - Web Application Security Consortium Version 2.00 Information Leakage (WASC-13)
desc.dataflow.objc.insecure_storage_insufficient_keychain_protection
Abstract
この特定のメソッドは、不十分な可能性がある暗号化設定を持つキーチェーンにデータを格納します。
Explanation
キーチェーンのアクセシビリティ定数は、キーチェーンのアイテムにアクセスできる必要がある場合に、アプリケーションが宣言できるように設計されています。特定のキーチェーン アイテムにいずれかのアクセシビリティ定数を指定することで、開発者は基盤ファイル システムに、デバイスの UID とユーザーのパスコードの両方から導出された鍵を使用するか、デバイスの UID のみに基づく鍵を使用してそのキーチェーン アイテムを暗号化するように (さらに自動で復号化するタイミングも) 指示できます。

キーチェーン アクセシビリティ定数は、キーチェーン属性ディクショナリの kSecAttrAccessible キーの値として割り当てる必要があります。さまざまなキーチェーン アクセシビリティ定数の定義を以下に示します。

-kSecAttrAccessibleAfterFirstUnlock:
ユーザーによってデバイスがロック解除されるまで、再起動後はキーチェーン アイテムのデータにアクセスできません。
最初のロック解除後、次回の再起動までデータはアクセス可能なままです。これは、バックグラウンド アプリケーションでアクセスする必要のあるアイテムに推奨されます。暗号化されたバックアップを使用する場合、この属性を持つアイテムは新しいデバイスに移行されます。
iOS 4.0 以降で使用できます。

-kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly:
ユーザーによってデバイスがロック解除されるまで、再起動後はキーチェーン アイテムのデータにアクセスできません。
最初のロック解除後、次回の再起動までデータはアクセス可能なままです。これは、バックグラウンド アプリケーションでアクセスする必要のあるアイテムに推奨されます。この属性を持つアイテムは新しいデバイスに移行されません。このため、別のデバイスのバックアップからリストアした後、これらのアイテムは表示されません。
iOS 4.0 以降で使用できます。

-kSecAttrAccessibleAlways:
デバイスがロックされているかどうかに関係なく、常にキーチェーン アイテムのデータにアクセスできます。
これは、アプリケーションでの使用には推奨されません。暗号化されたバックアップを使用する場合、この属性を持つアイテムは新しいデバイスに移行されます。
iOS 4.0 以降で使用できます。

-kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly:
デバイスがロック解除されている場合のみ、キーチェーンのデータにアクセスできます。デバイスにパスコードが設定されている場合にのみ使用できます。
これは、アプリケーションがフォアグラウンドにある間にのみアクセスできる必要のあるアイテムに推奨されます。この属性を持つアイテムが新しいデバイスに移行されることはありません。バックアップを新しいデバイスにリストアすると、これらのアイテムは失われます。パスコードなしに、デバイス上でこのクラスにアイテムを格納することはできません。デバイスのパスコードを無効にすると、このクラスのすべてのアイテムが削除されます。
iOS 8.0 以降で使用できます。

-kSecAttrAccessibleAlwaysThisDeviceOnly:
デバイスがロックされているかどうかに関係なく、常にキーチェーン アイテムのデータにアクセスできます。
これは、アプリケーションでの使用には推奨されません。この属性を持つアイテムは新しいデバイスに移行されません。このため、別のデバイスのバックアップからリストアした後、これらのアイテムは表示されません。
iOS 4.0 以降で使用できます。

-kSecAttrAccessibleWhenUnlocked:
デバイスがユーザーによってロック解除されている間のみ、キーチェーン アイテムのデータにアクセスできます。
これは、アプリケーションがフォアグラウンドにある間にのみアクセスできる必要のあるアイテムに推奨されます。暗号化されたバックアップを使用する場合、この属性を持つアイテムは新しいデバイスに移行されます。
これは、アクセシビリティ定数を明示的に設定せずに追加されたキーチェーン アイテムのデフォルト値です。
iOS 4.0 以降で使用できます。

-kSecAttrAccessibleWhenUnlockedThisDeviceOnly:
デバイスがユーザーによってロック解除されている間のみ、キーチェーン アイテムのデータにアクセスできます。
これは、アプリケーションがフォアグラウンドにある間にのみアクセスできる必要のあるアイテムに推奨されます。この属性を持つアイテムは新しいデバイスに移行されません。このため、別のデバイスのバックアップからリストアした後、これらのアイテムは表示されません。
iOS 4.0 以降で使用できます。

このため、キーチェーン アイテムを kSecAttrAccessibleAfterFirstUnlock でマーキングすると、ユーザーのパスコードとデバイスの UID から導出された鍵を使用してファイルを暗号化できる一方、データは特定の状況下でアクセス可能のままになります。このように、kSecAttrAccessibleAfterFirstUnlock の使用方法については慎重に検証し、今後も保護が保証されるかどうかを見極める必要があります。

例 1: 以下の例では、所定のキーチェーン アイテムはユーザーがデバイスの電源をオンにして初回のパスコードを入力するまでに限り保護されます (次の再起動まで)。


...
// Configure KeyChain Item
let token = "secret"
var query = [String : AnyObject]()
query[kSecClass as String] = kSecClassGenericPassword
query[kSecValueData as String] = token as AnyObject?
...
query[kSecAttrAccessible as String] = kSecAttrAccessibleAfterFirstUnlock

SecItemAdd(query as CFDictionary, nil)
...
References
[1] iOS Security Guide Apple: October 2014
[2] Keychain Services Apple
[3] Keychain Item Accessibility Constants Apple
[4] David Thiel iOS Application Security: The Definitive Guide for Hackers and Developers No Starch Press
[5] Standards Mapping - CIS Azure Kubernetes Service Benchmark 2.0
[6] Standards Mapping - CIS Microsoft Azure Foundations Benchmark partial
[7] Standards Mapping - CIS Amazon Elastic Kubernetes Service Benchmark 5.0
[8] Standards Mapping - CIS Amazon Web Services Foundations Benchmark 4
[9] Standards Mapping - CIS Google Kubernetes Engine Benchmark confidentiality
[10] Standards Mapping - CIS Kubernetes Benchmark complete
[11] Standards Mapping - Common Weakness Enumeration CWE ID 311, CWE ID 312, CWE ID 313, CWE ID 522
[12] Standards Mapping - Common Weakness Enumeration Top 25 2019 [13] CWE ID 287
[13] Standards Mapping - Common Weakness Enumeration Top 25 2020 [14] CWE ID 287, [18] CWE ID 522
[14] Standards Mapping - Common Weakness Enumeration Top 25 2021 [14] CWE ID 287, [21] CWE ID 522
[15] Standards Mapping - Common Weakness Enumeration Top 25 2022 [14] CWE ID 287
[16] Standards Mapping - Common Weakness Enumeration Top 25 2023 [13] CWE ID 287
[17] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001350, CCI-002475
[18] Standards Mapping - FIPS200 MP
[19] Standards Mapping - General Data Protection Regulation (GDPR) Insufficient Data Protection
[20] Standards Mapping - NIST Special Publication 800-53 Revision 4 SC-28 Protection of Information at Rest (P1)
[21] Standards Mapping - NIST Special Publication 800-53 Revision 5 SC-28 Protection of Information at Rest
[22] Standards Mapping - OWASP Top 10 2004 A8 Insecure Storage
[23] Standards Mapping - OWASP Top 10 2007 A8 Insecure Cryptographic Storage
[24] Standards Mapping - OWASP Top 10 2010 A7 Insecure Cryptographic Storage
[25] Standards Mapping - OWASP Top 10 2013 A6 Sensitive Data Exposure
[26] Standards Mapping - OWASP Top 10 2017 A3 Sensitive Data Exposure
[27] Standards Mapping - OWASP Top 10 2021 A02 Cryptographic Failures
[28] Standards Mapping - OWASP Application Security Verification Standard 4.0 2.6.3 Look-up Secret Verifier Requirements (L2 L3), 2.7.1 Out of Band Verifier Requirements (L1 L2 L3), 2.7.2 Out of Band Verifier Requirements (L1 L2 L3), 2.7.3 Out of Band Verifier Requirements (L1 L2 L3), 2.8.4 Single or Multi Factor One Time Verifier Requirements (L2 L3), 2.8.5 Single or Multi Factor One Time Verifier Requirements (L2 L3), 2.10.2 Service Authentication Requirements (L2 L3), 2.10.3 Service Authentication Requirements (L2 L3), 3.7.1 Defenses Against Session Management Exploits (L1 L2 L3), 6.1.1 Data Classification (L2 L3), 6.1.2 Data Classification (L2 L3), 6.1.3 Data Classification (L2 L3), 6.2.1 Algorithms (L1 L2 L3), 8.1.6 General Data Protection (L3), 8.2.2 Client-side Data Protection (L1 L2 L3), 9.2.3 Server Communications Security Requirements (L2 L3)
[29] Standards Mapping - OWASP Mobile 2014 M2 Insecure Data Storage
[30] Standards Mapping - OWASP Mobile 2023 M9 Insecure Data Storage
[31] Standards Mapping - OWASP Mobile 2024 M9 Insecure Data Storage
[32] Standards Mapping - OWASP Mobile Application Security Verification Standard 2.0 MASVS-STORAGE-1
[33] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0 Requirement 6.5.3
[34] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1 Requirement 6.5.3
[35] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2 Requirement 6.5.3
[36] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2.1 Requirement 6.5.3
[37] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 6.2.4
[38] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 7.1 - Use of Cryptography
[39] 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
[40] 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
[41] Standards Mapping - SANS Top 25 2010 Porous Defenses - CWE ID 311
[42] Standards Mapping - SANS Top 25 2011 Porous Defenses - CWE ID 311
[43] Standards Mapping - Security Technical Implementation Guide Version 3.1 APP3210.1 CAT II, APP3310 CAT I, APP3340 CAT I
[44] Standards Mapping - Security Technical Implementation Guide Version 3.4 APP3210.1 CAT II, APP3340 CAT I
[45] Standards Mapping - Security Technical Implementation Guide Version 3.5 APP3210.1 CAT II, APP3340 CAT I
[46] Standards Mapping - Security Technical Implementation Guide Version 3.6 APP3210.1 CAT II, APP3340 CAT I
[47] Standards Mapping - Security Technical Implementation Guide Version 3.7 APP3210.1 CAT II, APP3340 CAT I
[48] Standards Mapping - Security Technical Implementation Guide Version 3.9 APP3210.1 CAT II, APP3340 CAT I
[49] Standards Mapping - Security Technical Implementation Guide Version 3.10 APP3210.1 CAT II, APP3340 CAT I
[50] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[51] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[52] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[53] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[54] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[55] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[56] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[57] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[58] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[59] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[60] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[61] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[62] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[63] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-001350 CAT II, APSC-DV-002340 CAT II
[64] Standards Mapping - Web Application Security Consortium Version 2.00 Information Leakage (WASC-13)
desc.dataflow.swift.insecure_storage_insufficient_keychain_protection