本章の目的は、モバイルアプリケーションとリモートサービスエンドポイントの間でやりとりされる情報の機密性と完全性を確認することです。少なくとも、モバイルアプリケーションは、適切な設定のTLSプロトコルを用いた暗号化された通信経路のようセキュリティを考慮した設定をしなければなりません。レベル2では、SSLピンニングなどの追加の多層防御策があります。
# | 説明 | L1 | L2 |
---|---|---|---|
5.1 | データはネットワーク上において、TLSを使用して暗号化されている。アプリケーション全体を通して安全な通信経路が一貫して使用されている | ✓ | ✓ |
5.2 | TLS設定は今日のベストプラクティスに合わせている。モバイルオペレーティングシステムが推奨基準規格をサポートしていない場合、可能な限り近い基準に一致するようにしている | ✓ | ✓ |
5.3 | 安全な通信経路を確立する際、アプリケーションがリモートエンドポイントのX.509証明書を検証している。信頼されたCAによって署名された証明書のみを受け入れている | ✓ | ✓ |
5.4 | アプリケーションが自身の証明書ストアを使用したり、エンドポイントの証明書や公開鍵をピンニングしたりしている。そしてその後、異なる証明書や鍵がエンドポイントより提供された場合は、信頼されたCAによって署名されたとしても、そのエンドポイントとの通信経路を確立しない | ✓ | |
5.5 | アプリケーションが登録やアカウント回復などの重要操作のために、安全とは言い難い単方向通信(たとえば、EメールやSMS)に依存していない | ✓ | |
5.6 | アプリケーションが最新の接続ライブラリとセキュリティライブラリのみを使用している | ✓ |
OWASPモバイルセキュリティテストガイドには、本セクションに記載されている要件を検証するための詳細な手順が記載されています。
- Android - https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05g-Testing-Network-Communication.md
- iOS - https://github.com/OWASP/owasp-mstg/blob/master/Document/0x06g-Testing-Network-Communication.md
詳細は以下を参照してください。
- OWASP Mobile Top 10: M3 - Insecure Communication(安全でない通信): https://www.owasp.org/index.php/Mobile_Top_10_2016-M3-Insecure_Communication
- CWE: https://cwe.mitre.org/data/definitions/319.html
- CWE: https://cwe.mitre.org/data/definitions/295.html