Ostorlab Security Testing Benchmarksの紹介:現実の脆弱性、現実の影響
実際のCVEやバグバウンティの検出結果を反映した、93個の現実的な脆弱モバイルアプリを備えた初のオープンソースベンチマークスイートです。理論的な教科書の例ではありません。
一言で言うと:実際のCVEやバグバウンティの検出結果を反映した、93個の現実的な脆弱モバイルアプリを備えた初のオープンソースベンチマークスイートです。理論的な教科書の例ではありません。
私たちが解決しようとしている課題
セキュリティチームは、本番環境には決して現れない非現実的で学術的な脆弱性に対して自動テストツールを検証するのに、数え切れないほどの時間を浪費しています。知るべきなのは、自社のセキュリティスキャナーが、現実のアプリがまず出荷しないであろうログインフォームの100万回目のSQLインジェクションではなく、数百万ドルの損失につながりかねないPINバイパスを捕捉できるかどうかです。
数千件のバグバウンティレポートとCVEを分析した結果、業界には、セキュリティチームが「実際に」懸念していることを反映したベンチマークが切実に必要だと気づきました。従来のベンチマークが無視してきた、ロジックの不具合、認証バイパス、そして複雑な脆弱性チェーンです。
私たちのソリューション:現実に基づいたセキュリティテスト
最も頻繁に報告される実世界の脆弱性をまとめた93個の脆弱なモバイルアプリケーション(Android 72個、iOS 21個)をオープンソース化しました。各アプリは、銀行アプリからイベントトラッカーまで、本番環境で見られる実際の機能を表しており、本物のセキュリティインシデントを反映した脆弱性を備えています。
✨ 何が違うのか
• 実世界のアプリケーション:おもちゃのような例ではなく、現実的な機能を備えた実際の銀行アプリ、送金システム、イベントトラッカーです
• バグバウンティに着想を得た内容:すべての脆弱性は、実際に金銭的価値のあったCVEレポートやバグバウンティの検出結果に基づいています
• 自動化の難しさ:PINバイパスやOAuthアカウント乗っ取りのような、従来「自動化は不可能」とされてきたロジックの不具合を含みます
• 網羅的なカバレッジ:モバイルプラットフォーム全体で70種類以上の脆弱性クラス
🎯 誰が使うべきか
• セキュリティツール開発者:学術的な演習ではなく、現実の脆弱性に対してSAST/DASTツールを検証できます
• セキュリティチーム:現実的なテストケースを用いて、さまざまなスキャンソリューションをベンチマークし比較できます
• 研究者:現実の脆弱性がモバイルアプリケーションでどのように現れるかを研究できます
• ペンテスター:実際の顧客環境を反映したアプリケーションで訓練できます
📱 含まれるサンプルアプリケーション
各アプリケーションは、脆弱性が組み込まれた実世界のユースケースを表しています。
🔍 注目の脆弱性クラス
基本的なOWASP Top 10に焦点を当てた従来のベンチマークとは異なり、複雑で実世界に即した脆弱性パターンを含みます。
認証と認可
- PIN/パスコードのバイパス
- 2FAバイパスの仕組み
- OAuthアカウント乗っ取り(PKCEなし)
- 生体認証のバイパス
- パスワード変更後のセッションの永続化
データの露出
- Firebaseデータベースの乗っ取り
- 平文保存された機微なデータ
- Google広告IDの不正利用
- 位置情報データの露出
- 本番コード内のハードコードされたシークレット
複雑なロジックの不具合
- インテントリダイレクトの脆弱性
- タスクハイジャックのシナリオ
- ブロードキャストインジェクション攻撃
- WebView JavaScriptブリッジの悪用
- ZIP処理におけるパストラバーサル
プラットフォーム固有の問題
Android固有:
- タップジャッキングの脆弱性
- 保護されていない重要なアクティビティ/サービス
- プロバイダーのSQLインジェクション
- Grant URIパーミッションの昇格
iOS固有:
- ディープリンクのCSRF攻撃
- WebKitによる内部ファイルへのアクセス
- URLリンクのなりすまし
- プロモーションコードのブルートフォース
- 暗号化されていないセッション情報の露出
🚦 はじめかた
# Clone the repository
git clone https://github.com/Ostorlab/benchmarks.git
# Navigate to Android or iOS samples
cd benchmarks/mobile/android # or benchmarks/mobile/ios
# Each app includes:
# - Source code
# - Build instructions
# - Vulnerability documentation
# - Exploitation guides
📊 なぜこれが重要なのか
DVWAやGoatDroidのような従来の脆弱アプリ集は学習目的では役割を果たしますが、現代のモバイルセキュリティの課題を表現できていません。私たちのベンチマークは、学術的な演習と実世界のセキュリティテストとの間のギャップを埋めます。
考えてみてください。典型的なセキュリティスキャナーは、テストアプリ内のSQLインジェクションを100%捕捉できるかもしれませんが、実際のバグバウンティの報奨金の60%を占める重要なロジックの不具合を見逃すかもしれません。これらのベンチマークは、本当に重要なことを測定できるようにします。
🤝 ムーブメントに参加する
私たちは、現実的なセキュリティテストを中心としたコミュニティを築いています。貢献の方法は次のとおりです。
開発者向け:
- コントリビューションガイドに従って、新しい脆弱なアプリを追加する
- 既存の脆弱性を新しいプラットフォームに移植する
- ドキュメントや悪用ガイドを改善する
セキュリティチーム向け:
- 実際に見かけた脆弱性パターンを共有する
- ベンチマークの妥当性についてフィードバックを提供する
- 新しい脆弱性の追加の優先順位付けを手伝う
ツールベンダー向け:
- 自社のツールをテストし、検出率を共有する
- 検出ロジックの改善に貢献する
- 特定の脆弱性カテゴリの開発をスポンサーする
📈 現在のステータスとロードマップ
現在利用可能:
- ✅ Androidの脆弱なアプリケーション72個
- ✅ iOSの脆弱なアプリケーション21個
- ✅ 70種類以上の脆弱性クラス
- ✅ 網羅的なドキュメント
近日公開:
- 🔄 Flutter/React Nativeハイブリッドアプリの脆弱性
- 🔄 CI/CD連携の例
- 🔄 自動ベンチマークスコアリングシステム
- 🔄 結果比較のためのWebダッシュボード
💬 参加する
GitHub: github.com/Ostorlab/benchmarks
コントリビューション: ガイドを読む
ディスカッション: 質問や提案はissueを作成してください
Twitter: 最新情報は@OstorlabSecをフォローしてください