Skip to content

Latest commit

 

History

History
50 lines (26 loc) · 7.43 KB

0x04-Assessment_and_Certification.md

File metadata and controls

50 lines (26 loc) · 7.43 KB

評価と認定

MASVS認証と認定マークに対するOWASPの姿勢

OWASPはベンダーニュートラルの非営利団体であり、いかなるベンダー、検証者、ソフトウェアも認定していません。

そのような保証の証明、認定マーク、認証は、OWASPによって正式に検査、登録、認証が実施されてはいるわけではないため、認定マークや認証を頼りにしている組織は、第三者によるASVS認証や認定マークを信頼する際には慎重である必要があります。

OWASP公式の認定であることを主張しない限りにおいては、そのような保証サービスを提供する組織の活動を妨げるものではありません。

モバイルアプリの品質を保証するための手引き

モバイルアプリケーションが基準に即していることを検証するために、MASVSで推奨される方法は「何も隠さない」でレビューを行うことです。つまり、テスターにアプリケーション設計者と開発者情報、プロジェクトのドキュメント、ソースコード、エンドポイントへの認証されたアクセス、といった主要なリソースへのアクセス権限が与えられるということです。

MASVSの対象は、クライアント側のモバイルアプリケーション自体のセキュリティと、リモート端末間との通信におけるユーザー認証とセッション管理の基本的かつ一般的に要求されるセキュリティのみです。WEBサービス等の、アプリケーションに連携するリモートサービス特有の要件は含まれておらず、認証とセッション管理に関する一般的な要件の組み合わせのみ取り扱います。ただし、MASVS V1(訳注:本書)は、リモートサービスについても脅威モデル(訳注:脅威、脆弱性、対策を洗い出す手法)全体でカバーされ、OWASP ASVSなどの適切な基準に照らして検証されなければならないことを前提としています。

認証機関はどのような報告書においても、検証の範囲 (特に重要な要素がスコープ外の場合)、検証結果の概要、合格および不合格のテストレポート、不合格したテストへの明確な解決方法を含めなければなりません。詳細な監査調書、スクリーンショットやムービー、確実に事象を再現できるスクリプト、プロキシログなどのテストの電子記録、完了リスト(Cleanup List)などの作業メモを保持することは、業界で一般的に求められる慣行と考えられます。単にツールを実行して不合格を報告するだけでは不十分です。それでは、すべての要素が認証にあたって妥当なレベルでテストされたということ、徹底的にテストされたということについて十分な証拠を提供できません。紛争の場合には、すべての検証要件が実際にテスト済みであることを十分に裏付ける証拠がなくてはなりません。

OWASPモバイルセキュリティテストガイド(MSTG)の使用

OWASP MSTGは、モバイルアプリケーションのセキュリティをテストするためのマニュアルです。MSTGでは、MASVSに記載されている要件を検証するための技術的なプロセスについて説明しています。MSTGには、テストケースのリストが含まれ、それぞれがMASVSの要件に対応しています。MASVSの要件が高レベルかつ一般的であるのに対して、MSTGはモバイルOSごとに綿密な推奨事項とテスト手順を提供します。

自動セキュリティテストツールの役割

可能な限り効率を高めるために、ソースコードスキャナとブラックボックステストツールの使用が推奨されています。しかしながら、自動ツールだけを用いてMASVS検証を成し遂げることは不可能です。なぜなら、すべてのモバイルアプリは異なるものであり、全体的な構成、ビジネスロジック、特有の技術的落とし穴、使用されているフレームワークを理解していることがアプリケーションのセキュリティを検証するための必須要件だからです。

その他の用途

詳細なセキュリティアーキテクチャの手引きとして

モバイルアプリケーションセキュリティ検証標準(訳注:MASVSのこと)の一般的な用途の1つは、セキュリティ設計者の資料としての用途です。2つの主要なセキュリティ設計フレームワークであるSABSAとTOGAFには、モバイルアプリケーションのセキュリティ設計のレビューを完了するために必要な情報が大きく欠落しています。MASVSでは、モバイルアプリケーションに共通の問題に対してより優れた管理手段をセキュリティ設計者が選択できるようにしており、その欠落を埋めるために使用できます。

既製のセキュアコーディングチェックリストの代わりとして

多くの組織は、2つのレベルのいずれかを選択することか、MASVSを分岐し状況特有の方法で各アプリケーションのリスクレベルに必要なものを変更することにより、MASVSの採用から利益を得ることができます。

追跡性が維持される限り、こういった分岐を推奨します。つまり基準を発展させるような形で、仮にアプリケーションが要件4.1に合格すれば、分岐側の要件を満たしたことと同等である、という意味になります。

セキュリティテスト方法の根拠として

モバイルアプリケーションのセキュリティテスト方法は、MASVSに記載されているすべての要件をカバーするべきです。OWASPモバイルセキュリティテストガイド (MSTG) では、検証要件ごとにブラックボックスとホワイトボックスのテストケースについて説明しています。

単体テストと結合テストの自動化のための手引きとして

MASVS は、設計上の要件を除けば、高度なテストが可能なようにデザインされています。MASVSの要件に基づいて自動化された単体テスト、結合テスト、受け入れテストは継続的な開発ライフサイクルに統合することができます。 これにより開発者のセキュリティ意識が向上するだけでなく、結果としてアプリケーションの全体的な品質も向上し、リリースの前段階でのセキュリティテストにおける検証量が減少します。

セキュア開発トレーニングのために

MASVSを、セキュアなモバイルアプリケーションの特性を定義するのに使うこともできます。多くのセキュアコーディング講座は、コーディングのティップスを浅く示すだけの、単に道徳的なハッキング講座です。これは開発者には役立ちません。代わりに、セキュア開発講座として、例えば「セキュリティ上問題のあるコードTop10」ではなく、MASVSで文書化されているプロアクティブな管理手段に特に焦点を当てMASVSを用いることができます。