Skip to content

Latest commit

 

History

History
114 lines (95 loc) · 9.78 KB

0xm1-M1-Improper Platform Usage.md

File metadata and controls

114 lines (95 loc) · 9.78 KB

M1:プラットフォームの不適切な利用

                   
脅威エージェント 攻撃経路セキュリティ上の弱点 技術的な影響 ビジネスへの影響
アプリ依存攻撃難易度
容易
蔓延度
検出難易度
普通
影響度
重大
アプリ / ビジネス依存
本カテゴリは、プラットフォーム機能の誤用や、プラットフォームセキュリティコントロールの不具合が対象です。例えば、Androidインテント、プラットフォームのアクセス許可、TouchID、キーチェーン、その他モバイルOSに含まれるセキュリティコントロール等の誤用があげられます。攻撃経路は、これまでOWASP Top Tenで報告されたものと同様です。公開されているあらゆるAPIが攻撃経路となり得ます。本脆弱性が攻撃されるのは、組織がモバイルアプリケーションで使用するWebサービスやAPIを公開していることが前提となります。公開されたサービスやAPIが、OWASP Top Tenで報告されている脆弱性を生み出す危険なコーディング技術で実装されている場合、攻撃者はモバイルインターフェースから脆弱なエンドポイントに悪意のある値を入力、もしくは想定外の順序でイベントを送信することができます。そのため、攻撃者はサーバ上に存在するOWASP Top Tenで報告されている脆弱性を発見する事ができます。 本脆弱性の技術的な影響は、攻撃者がモバイルデバイスを介して悪用する他の脆弱性(OWASP Top Tenで定義済み)のそれに相当します。
例えば、攻撃者はモバイルデバイスを介してクロスサイトスクリプティング(XSS)脆弱性を悪用する可能性があります。これは中程度の技術的な影響を及ぼすOWASP Top Ten A3 - XSSカテゴリの技術的な影響に相当します。
本脆弱性によるビジネスへの影響は、攻撃者がモバイルデバイスを介して悪用する他の脆弱性(OWASP Top Tenで定義済み)のそれに相当します。
例えば、攻撃者はモバイルデバイスを介してクロスサイトスクリプティング(XSS)脆弱性を悪用する可能性があります。これはOWASP Top Ten A3 - XSSカテゴリのビジネスへの影響に相当します。

脆弱性有無の確認

本カテゴリにおけるリスクの特徴は、プラットフォーム(iOS、Android、Windows Phoneなど)がドキュメント化されかつ理解し易い機能を提供しているにもかかわらず、アプリケーションがその機能を利用しない、もしくは正しく利用していないことです。本カテゴリは、当該設計及び実装が厳密にはアプリケーション開発者の問題ではないという点において、他のMobile Top Tenにおけるカテゴリとは異なります。 モバイルアプリケーションにおいてこのリスクが発生する原因としては、以下のようなものが挙げられます。

  1. 公開されているガイドラインへの違反 全てのプラットフォームには、セキュリティのための開発ガイドラインが存在します(Android、iOS、Windows Phoneを参照)。それらのガイドラインが推奨するベストプラクティスにアプリケーションが違反している場合は、本リスクが存在します。例えば、iOSキーチェーンの使用方法やAndroidでエクスポートされたサービスを安全に利用する方法に関するガイドラインが存在するにもかかわらず、当該アプリケーションがこれらのガイドラインに従わない場合、本リスクが存在します。

  2. 慣習や一般的な方法からの逸脱 公式開発ガイドには、全てのベストプラクティスが明文化されているわけではありません。モバイルアプリケーションにおいて、一般的とされる事実上のベストプラクティスが存在する場合もあります。

  3. 故意でない誤用 アプリケーションにおいて、正しい実装をしようしているにも関わらず、実際には間違った実装をしている場合があります。例えば、APIで間違ったフラグを設定するというような単純なバグがある場合や、保護機能の動作に関して誤解ある場合が挙げられます。

プラットフォームのアクセス制御モデルにおける失敗も、本カテゴリに該当します。例えば、アプリケーションが異常な数のアクセス許可を要求したり、間違ったアクセス許可を要求する場合は、本カテゴリにおける典型的な事例に該当します。

対策

モバイルアプリケーションのサーバサイドにおいて、安全なコーディングと設定のプラクティスが実施されるべきです。詳細な脆弱性情報に関しては、「OWASP Web Top Ten」または「Cloud Top 10」のプロジェクトを参照してください。

攻撃シナリオ

数多くのAPIを有するプラットフォームがいくつか存在するため、本セクションの例は、それらのうち可能なものについて表面的に論じているにすぎません。

キーチェーンの代わりにアプリケーションのローカルストレージを利用している場合

iOSキーチェーンは、アプリケーションとシステムデータ双方にとって安全なストレージ機能です。iOSにおいて、アプリケーションはどんなに小さなデータ(セッションキー、パスワード、デバイス登録データなど)であってもセキュリティ上重要であれば、キーチェーンに保存するべきです。よくある間違いは、アプリケーションのローカルストレージに保存することです。アプリケーションのローカルストレージに保存されたデータは、暗号化されていないiTunesバックアップ(例えば、ユーザのコンピュータ上)からアクセス可能です。アプリケーションによっては、そのような仕様は不適切です。 以下に対処すべき多数のリスク及び脆弱性についての一覧を掲載しています。

Cloud Top 10 Risks
R1 - アカウント及びデータに関するリスク
R2 - ユーザID連携
R3 - 法令遵守
R4 - ビジネスの継続性と弾力性
R5 - ユーザプライバシーとデータの二次利用
R6 - サービスとデータの統合
R7 - マルチテナントと物理セキュリティ
R8 - インシデンス分析とフォレンジック
R9 - インフラセキュリティ
R10 - 非本番環境の公開
OWASP Top 10 - 2013
A1 - インジェクション
A2 - 認証とセッション管理の不備
A3 - クロスサイトスクリプティング(XSS)
A4 - 安全でないオブジェクト直接参照
A5 - セキュリティ設定のミス
A6 - 機密データの漏洩
A7 - アクセス制御の欠落
A8 - クロスサイトリクエストフォージェリ(CSRF)
A9 - 既知の脆弱性を持つコンポーネントの使用
A10 - 未検証のリダイレクトとフォワード

最悪の違反者

以下は、OWASPがモバイルアプリケーションにおいて最もよく見かける脆弱性タイプのリストです。

不十分なWebサービスのハードニング

ロジックの欠陥
ビジネスロジックにおける欠陥のテスト
ビジネスロジックセキュリティチートシート

脆弱な認証
OWASP Top Ten 認証の不備のセクション
認証のチートシート
認証の開発者ガイド
認証のテスト

セッション管理の不備または欠如
セッションフィクセーション
GETメソッドを用いた機密データの送信

安全でないWebサーバの設定

デフォルトのコンテンツ
管理者用インターフェース

Webサービスとモバイル用のWebサイト双方に存在するインジェクション(SQL、XSS、コマンド)

認証の欠陥

セッション管理の欠陥

アクセスコントロールの脆弱性

ローカルとリモートファイルインクルージョン

参考資料

OWASP

外部リンク