Index
Insecure App Transport Security (ATS) の設定
説明
App Transport Security (ATS) は、アプリとバックエンド間の安全な接続におけるベストプラクティスを強制します。ATS は偶発的な情報漏えいを防ぎ、安全なデフォルトの動作を提供し、容易に導入できます。また、iOS 9 および OS X v10.11 ではデフォルトで有効になっています。したがって、新しいアプリを作成する場合でも既存のアプリを更新する場合でも、可能な限り早く ATS を導入する必要があります。
NSAllowsArbitraryLoads: YES に設定すると、オプションの NSExceptionDomains 辞書で個別に設定したドメインへの接続を除き、すべてのネットワーク接続に対するすべての ATS 制限が無効になります。デフォルト値は NO です。NSAllowsArbitraryLoadsForMedia: YES に設定すると、アプリが AV Foundation フレームワークを使用してロードするメディアに対するすべての ATS 制限が無効になります。このキーは、FairPlay または安全な HLS によって保護されている、個人情報を含まない暗号化済みメディアをロードする場合にのみ使用してください。デフォルト値は NO です。NSAllowsArbitraryLoadsInWebContent: YES に設定すると、Web ビューからのリクエストに対するすべての ATS 制限が無効になります。これにより、アプリの他の部分の ATS を無効にすることなく、任意のコンテンツを表示できる埋め込みブラウザをアプリで使用できるようになります。デフォルト値は NO です。NSExceptionAllowsInsecureHTTPLoads: YES に設定すると、指定されたドメインに対して安全でない HTTP ロードを許可しますが、Transport Layer Security (TLS) の要件は変更されず、指定されたドメインの HTTPS ロードには影響しません。デフォルト値は NO です。NSExceptionMinimumTLSVersion: 指定されたドメインのネットワーク接続の最小 TLS バージョンを指定し、より古く、安全性の低いバージョンの Transport Layer Security を使用した接続を許可します。
推奨事項
以下は推奨される ATS の設定です:
NSAllowsArbitraryLoads:NOに設定して ATS の制限を強制し、任意のネットワーク接続を制限することでネットワーク全体のセキュリティを強化します。NSAllowsArbitraryLoadsForMedia: 特定の暗号化メディアをロードするために必要な場合を除き、NOに設定し、メディアコンテンツに対して安全な接続のみが許可されるようにします。NSAllowsArbitraryLoadsInWebContent: 特定の機能に必要でない限りNOに設定します。これを有効にすると、Web ビュー内の ATS 保護が損なわれる可能性があります。NSExceptionAllowsInsecureHTTPLoads:NOに設定して HTTPS 接続を強制し、安全な通信基準を維持することで、データの傍受のリスクを最小限に抑えます。NSExceptionMinimumTLSVersion: アプリとサーバーインフラストラクチャがサポートする最新の TLS バージョンに設定し、最適なセキュリティ基準と古い TLS バージョンに関連する脆弱性からの保護を確保します。
リンク
- Preventing Insecure Network Connections
- Announcement of App Transport Security in iOS 9
- Cocoa Keys (Apple Developer)
標準
- OWASP_MASVS_L1:
- MSTG_NETWORK_2
- OWASP_MASVS_L2:
- MSTG_NETWORK_2
- GDPR:
- ART_5
- ART_32
- PCI_STANDARDS:
- REQ_2_2
- REQ_3_6
- REQ_3_7
- REQ_4_2
- REQ_6_2
- OWASP_MASVS_v2_1:
- MASVS_NETWORK_1
- SOC2_CONTROLS:
- CC_2_1
- CC_4_1
- CC_6_7
- CC_7_1
- CC_7_2
- CC_7_4
- CC_7_5
- CNIL_FOR_EDITORS:
- EDITORS_4_1_1
- CNIL_FOR_DEVELOPERS:
- DEVELOPERS_4_1_1
- DEVELOPERS_4_1_4
- HIPAA_CONTROLS:
- SECURITY252
- SECURITY212
- SECURITY213