OWASP MASで学ぶモバイルセキュリティ基礎 概要編
はじめに
皆さん、モバイアルアプリケーションを開発する際に気を付けなければならないセキュリティについて、どのようなところから情報を得ているでしょうか。
Webアプリケーション等と異なり、近年は書籍などもなく、情報を公開しているサイトも少ないのが現状です。
そのような中、体系的な情報を得られるソースとして、OWASPのプロジェクトの一つである、OWASP Mobile Application Security(MAS)があります。しかしながら、現在リファクタリングと新バージョンの開発を行っている最中でもあり、MASにあるコンテンツの関係性を把握するのが難しくなっています。本記事では、OWASP MASの概要について説明します。
OWASPとは
Open Worldwide Application Security Project の略で、Webをはじめとするソフトウェアのセキュリティ向上に取り組んでいる非営利団体です。
セキュアなソフトウェア開発のために、複数のプロジェクトで、コードやドキュメント、標準等を提供しています。
システム開発を行う中で、耳にしたことがあるのは、OWASP TOP TenやOWASP Application Security Verification Standard(ASVS)辺りでしょうか。
OWASP TOP 10は、Webアプリケーションセキュリティについて、発表されたタイミングで、最も重要な10のリスクをまとめたものになります。OWASPとしては、Top 10は意識向上を目的としたもので、標準としては、ASVSの利用が推奨されています。
現在の正式版は2021年にリリースされたものですが、2025年の上半期に最新版がリリースされる予定です。リリースされたら、本ブログの中でも取り上げようかと思います。
ASVSは、Webアプリケーションのセキュリティを検証するためのセキュリティ標準です。ASVSを用いることで、アプリケーション開発において、組織が必要とするレベルのセキュリティ対策を実施する際の手助けとなります。
こちらも、現在の最新版は2018年にリリースされた4.0.3版が最新版ですが、現在5.0版がRC1の段階になっています。こちらも正式リリースされましたら解説したいですね。
OWASP MASとは
少し前置きが長くなりましたが、本題に入りましょう
OWASP MASもTop TenやASVSと同じく、数あるプロジェクトの一つです。
名前にMobileとついている通り、モバイルアプリのセキュリティのためのプロジェクトです。
少し変わっているのは、Webアプリケーションであれば個別のプロジェクトであるコンテンツが、MASの中に複数内包されているところです。成果物間では関連性が重視され、統一されたカテゴリで相互に確認出来る作りになっています。
主要なコンテンツとして、以下のものが挙げられます。
- Mobile Application Security Verification Standard(MASVS)
- モバイルアプリケーションのセキュリティを検証するためのセキュリティ標準です。構成や言及範囲などは異なりますが、ASVSのモバイルアプリケーション版と考えてください
- Mobile Application Security Testing Guide(MASTG)
- モバイルアプリのセキュリティテストとリバースエンジニアリングに関するマニュアルです。v1ではMASVSに定義された要求、ベータ段階にあるv2ではMASWEに定義された脆弱性に対応してテスト可能となっています。
- Mobile Application Security Weakness Enumeration (MASWE)
- 2024年に追加されたコンテンツで、MASVSとMASTGをつなぐ役割を担っています。ただし、現在はベータ版で、途上の段階にあります。
OWASP MASの構成
先ほどご紹介したMASを構成するコンテンツについて、以下の図のような関係の状態を目指してリファクタリングと新バージョンの開発が進められています。なお、図の番号は説明のための仮のものです。
図1. MASにおけるコンテンツ間の関係のToBe像
MASVSは、Controlという、プラットフォームに依存しない高レベルの要件で構成されており、それらをまとめたControl Groupsというグループにカテゴライズされています。
Control Groupsは、その他のコンテンツでもカテゴライズする際に使われる共通のものになっています。
MASWEには、基本的にプラットフォームによらないWeakness(弱点)が掲載されており、Control Groupsに関連する形で整理されています。また、この弱点ごとに、アプリの特徴に応じて対応するべきか判断するための、プロファイルという基準も設けられています。
MASTGには、MASWEに掲載されたWeaknessに対して、評価を行うためのテスト項目がまとめられています。テスト手法は、プラットフォーム固有の要件によって異なるため、AndroidやiOSといったプラットフォーム毎の区分も存在します。
なお、MASTGには、テスト項目だけでなく、テストのための手法、プラットフォームごとのセキュリティや検査ツールの解説、Weaknessを緩和するためのベストプラクティス、さらに実際にWeaknessを体験するためのでもアプリが用意されています。
ただし、この状態は現在ベータ版のコンテンツが完成した際の内容です。
現在安定版としてリリースされているドキュメントの関係は以下のようになります。
図2. 2025年5月現在における安定版でのMASにおけるコンテンツ間の関係
範囲の広いControl Groupsに、詳細なテストが関連づいている状態になっています。また、MASWEに設定されているプロファイルの前身となる、検証レベルが設定されています。検証レベルは、MASTG本編ではなく、MAS Checklistというコンテンツ内で確認することができます。
(余談ですが、この検証レベルは、MASVSが1.x系の時代には、MASVSに設定されていました。)
そのため、開発者にとっては、セキュリティの要件を検討する段階で、確認のための手段を含めたドキュメントを参照する構造となっていたわけで、そのギャップは大きいものでした。そのため、MASWEがMASVSとMASTGの間をつなぐ役割として導入されたことは納得感があります。
まとめ
今回は、モバイルアプリケーション開発におけるセキュリティの情報源として、OWASPのMASの概要を紹介させていただきました。
次回以降、Control Groupsや、プロファイル等、具体的なコンテンツについて説明していきたいと思います。

NTT DATA公式アカウントです。 技術を愛するNTT DATAの技術者が、気軽に楽しく発信していきます。 当社のサービスなどについてのお問い合わせは、 お問い合わせフォーム nttdata.com/jp/ja/contact-us/ へお願いします。