LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック
ラックピープル | 

モバイルアプリのセキュリティ検証標準であるOWASP MASVSについて

OWASP Mobile Securityプロジェクトが「OWASP Mobile Application Security Verification Standard」(以下、MASVS)を更新したため、MASVSやそれに関連するドキュメントについてご紹介したいと思います。
OWASP Mobile Securityプロジェクトは、以前ご紹介した「OWASP Top10 Mobile Risks 2016」で公開しているプロジェクトと同じプロジェクトです。
MASVSはこちらから無料で閲覧・ダウンロードすることができます。

MASVS

MASVSとは

MASVSは、iOSとAndroidのモバイルアプリケーションを設計、開発、テストするときに必要とされるセキュリティ要件のフレームワークを定めるための取り組みで、以下のような目標を考慮して作成されました。

  • 評価基準としての使用:開発者とアプリケーション所有者によって、既存のモバイルアプリを比較するためのセキュリティ標準を提供
  • 助言としての使用:モバイルアプリの開発とテストのすべての段階でガイダンスを提供
  • 調達時の使用:モバイルアプリセキュリティ検証要件のためのベースラインを提供

MASVSには、検証レベル(標準的なMASVS-L1、多重防御のMASVS-L2、リバースエンジニアリング耐性要件であるMASVS-R)への マッピングに加え、一般的なセキュリティ要件が含まれています。

セキュリティ検証レベル(MASVS P8より)
セキュリティ検証レベル(MASVS P8より)

なお、関連ドキュメントとして、OWASPは「Mobile Security Testing Guide(MSTG)」と「Mobile App Security Checklists(チェックリスト)」を作成しています。この3つのドキュメント(セキュリティ要件(MASVS)、テストガイド(MSTG)、チェックリスト)は密接に関連しており、同じ基本的な要件セットに対応しています。

OWASP Mobile Security Testing Guide(OWASPより)
OWASP Mobile Security Testing Guide(OWASPより)

OWASP Mobile Security Testing Guide(MSTG)

MSTGは、モバイルアプリのセキュリティをテストするためのマニュアルで、MASVSに記載されている要件を検証するための技術プロセスに関する説明が記載されています。MASVSには、一般的な内容について記載されていますが、MSTGには、モバイルOS(現在はAndroidとiOS)ごとに詳細な推奨事項とテスト手順が記載されています。また、モバイルアプリケーションセキュリティテスターのためのスタンドアロンの学習リソースやリファレンスガイドとしても利用可能です。

OWASP MSTG

MSTGは現在作成中となっていますが、以下の内容が含まれています。

  1. モバイルプラットフォームの内部
  2. セキュアな開発ライフサイクルにおけるテスト
  3. 基本的なホワイトボックスとブラックボックスのセキュリティテスト
  4. モバイルリバースエンジニアリングと改ざん
  5. ソフトウェア保護の評価
  6. MASVSの要件にマップするホワイトボックスとブラックボックスの詳細なテストケース

Mobile App Security Checklists(チェックリスト)

チェックリストもv0.92が公開されています。
チェックリストは、実際の評価でMASVS要件を適用するために使用することが可能です。また、各要件のMSTGテストケースにリンクしているため、モバイルペネトレーションテストを簡単に行うこともできます。

MASVSにおけるセキュリティ検証レベル

MASVS-L1:標準的セキュリティ

本レベルを満たすことで、モバイルアプリケーションセキュリティのベストプラクティスに準拠していることになります。これにより、コード品質や機密データ処理、モバイル環境との相互作用において、基本的な要件を満たし、一般的な脆弱性の被害を受けないセキュアなアプリケーションであるということになります。本レベルは、全てのモバイルアプリケーションに適しています。

MASVS-L2 :多重防御

本レベルを満たすことで、標準要件を超える高度なセキュリティ制御(SSLピンニングなど)を取り入れていることになります。これにより、モバイルOSのセキュリティ制御が損なわれておらず、またエンドユーザが潜在的な攻撃者と見なされていない前提において、より洗練された攻撃への耐性があるということになります。本レベルは、モバイルバンキングなどの機密データを扱うアプリケーションに適しています。

MASVS-R:リバースエンジニアリングと改ざんに対する耐性

本レベルを満たすことで、最先端のセキュリティを持っており、また機密コードやデータを抜き出すための改ざん、改造、リバースエンジニアリングなどのクライアント側の攻撃への耐性があることになります。これにより、エンドユーザに悪意があり、なおかつモバイルOSが不正アクセスされた場合においても、特定のクライアント側の脅威を妨げることが可能です。本レベルは、高機密データを扱うアプリケーションに適しており、また知的財産の保護やアプリの改ざん防止の手段として利用可能です。

以上、MASVSやそれに関連するドキュメントについてのご紹介でした。これらのドキュメントを参考にしてよりセキュアなモバイルアプリケーションの開発に役立てていただければ幸いです。

この記事は役に立ちましたか?

はい いいえ