日本語

Page Not Found

ネイティブまたはハイブリッドのiOSアプリをテストするためにAikido Pentestをセットアップします。

Aikido Pentestは、Mobile ApplicationアセスメントでネイティブおよびハイブリッドのiOSアプリを評価します。テストはホワイトボックス方式のため、iOSアプリのソースコードを含むリポジトリを接続してください。

1つのアプリまたは両方をテストする

Scopeステップで、このアセスメントの対象となるモバイルアプリをアップロードし、それらが呼び出すWebアプリまたはAPIを追加します。

含めるものAikidoがテストする対象
IPAとWeb URLiOSアプリと、そのWebアプリまたはAPI
APKとWeb URLAndroidアプリと、そのWebアプリまたはAPI。Androidアプリのペネトレーションテストを参照してください。
APK、IPA、およびWeb URL両方のアプリと、共有のWebアプリまたはAPI

アプリにバックエンドがある場合は、Web URLを追加してください。AndroidとiOSの両方がある場合は両方のアプリをアップロードすると、1つのアセスメントで共有のWebアプリまたはAPIを一度だけテストし、両方のクライアントをカバーできます。アセスメントを分けると、その作業が重複します。

モバイルアプリのないWebサイトまたはAPIは、Web Applicationアセスメントになります。ペネトレーションテストのセットアップ方法を参照してください。

本番環境に近いテスト環境に対してアセスメントを実行してください。本番データや本番アカウントは使用しないでください。

前提条件

  • Manage Pentestsの権限
  • ウォレット内の十分なクレジット
  • Aikidoに接続できるリポジトリ内のiOSアプリのソースコード
  • 証明書ピンニング、脱獄検出、エミュレーターチェックのない署名済みで暗号化されていないIPA(最大500 MB)

IPAを準備する

Aikidoはアップロードされたファイルをインストールします。App StoreおよびTestFlightのビルドはFairPlayで暗号化されているため、Aikidoはインストールできません。XcodeからDevelopment、Ad Hoc、またはEnterpriseのIPAをエクスポートしてください。このファイルは署名済みで、暗号化されていません。

そのテストビルドでは、次の設定を行います。

  • 証明書ピンニングを無効にする。
  • 脱獄検出とエミュレーターチェックを無効にする。
  1. Xcodeで、Product → Archiveを選択します。
  2. Organizerで、Distribute Appをクリックします。
  3. Development、Ad Hoc、またはEnterpriseを選択します。
  4. .ipaをエクスポートします。

ハイブリッドアプリ(例:React NativeやFlutter)も同じ方法でエクスポートします。ファイルは.ipaである必要があり、.appや.xcarchiveは使用できません。

iOSアセスメントを作成する

  1. Mobile Applicationを選択する

    Pentestsに移動し、Projectを開いて、Create Assessmentをクリックします。Select Pentest Targetステップで、Mobile Applicationを選択します。

  2. テスト範囲を定義する

    Scopeステップで、AikidoがそれらのエンドポイントをテストできるようにWebアプリまたはAPIのURL(例:https://api.application.com)を追加します。

    iOS Applicationで、IPA(最大500 MB)をアップロードします。Aikidoはファイルからバンドル IDを読み取ります。IPAは暗号化されていない必要があり、証明書ピンニング、脱獄検出、エミュレーターチェックを使用していてはいけません。

    iOSのみで実行する場合は、IPAのみをアップロードします。アセスメントで両方のアプリをカバーする場合は、このステップでAPKもアップロードしてください。Androidアプリのペネトレーションテストを参照してください。

    Test entire applicationまたはTest specific parts onlyを選択します。

  3. テストユーザーを追加する

    管理者、一般ユーザー、別テナントのユーザーなど、Aikidoにテストさせたいロールごとにテストユーザーを追加します。

    アセスメントに両方のアプリが含まれる場合は、iOSユーザーのPlatformをiOSに設定します。ユーザー名とパスワードによる認証では、AikidoはログインURLの代わりにバンドルIDを使用します。

    起動前にログインのプリフライトチェックを実行できます。テストユーザーのセットアップを参照してください。

  4. アクセス、コンテキスト、安全性を設定する

    ウィザードの残りのステップを設定します。

    • Allowed Domains: テスト中にアプリがアクセスする必要のあるドメインを許可します。
    • Code & Documentation: iOSアプリのソースコードを含むリポジトリを接続します。Aikidoはモバイルアプリに対してホワイトボックステストのみをサポートしているため、アセスメントにはそのリポジトリが必要です。バックエンドのリポジトリをリンクしたり、ドキュメントを追加したりすることもできます。コードとドキュメントの活用を参照してください。
    • Safety Check: リクエストレートと許可するテスト時間帯を設定します。安全対策を参照してください。
    • Pricing: アセスメントプロファイルを選択し、クレジットコストを確認します。ペネトレーションテストの料金を参照してください。
  5. 確認して起動する

    Summaryステップで、iOS AppのバンドルIDとその他の設定を確認し、Run Assessmentをクリックします。

結果を確認する

アセスメントを開いて進捗を追跡し、Issuesタブを確認します。iOSの検出結果には、機密データの取り扱い、ネットワークセキュリティ、URLスキームとユニバーサルリンク、WebViewのセキュリティ、クライアント側の認証、暗号化、プライバシー、リリース設定などが含まれる場合があります。

アセスメントが完了したら、アセスメントからPDFをダウンロードできます。ペネトレーションテストレポートを参照してください。

既存のアセスメントでIPAを差し替える機能は近日提供予定です。ペネトレーションテストの検出結果の再テストを参照してください。

関連情報

AndroidアプリのペンテストネイティブまたはハイブリッドのAndroidアプリをテストするためにAikido Pentestをセットアップします。 テストユーザーの設定 コードとドキュメントの活用