
Cyber Range環境向けに事前定義された動作を持つAndroidマシンを管理します。
RoboDroid
RoboDroidは、サイバーレンジ環境でAndroidマシンを管理(そしてまもなくデプロイも)するプロセスを簡素化するために設計された最先端のソフトウェアツールです。RoboDroidを使用すると、ユーザーはAndroidマシンに事前定義された動作を簡単に設定およびカスタマイズでき、複雑なサイバー攻撃シナリオを作成し、幅広い脅威に対する防御をテストできます。
モバイルデバイスは今日の世界で遍在するようになりました。人々は銀行取引、買い物、コミュニケーションなど、生活のほぼすべての側面でスマートフォンを使用しています。その結果、モバイルデバイスは今やサイバー犯罪者の主要な標的となっています。
しかし、モバイルデバイスのセキュリティは、サイバーセキュリティのトレーニングやテスト環境でしばしば見過ごされています。これにより、組織はモバイルデバイスの弱点を悪用する攻撃に対して脆弱になる可能性があります。したがって、ますますスマートフォンに依存する現代の世界に適応するために、次世代のサイバーレンジにモバイルコンポーネントを導入することが重要です。
RoboDroidは、人間のようなスマートフォンの動作をシミュレートできるツールセットを提供することで、このギャップを埋めるために設計されています。事前定義された動作はFridaを使用して作成され、RoboDroid Libraryリポジトリで管理されています。
RoboDroidの目標は、サイバーレンジ環境にモバイルコンポーネントを導入する簡単な方法を提供することです。主な目的は、ユーザーがモバイルデバイス上で人間のような動作やアクションをシミュレートできる使いやすいプラットフォームを提供することです。
RoboDroidはFridaテクノロジーを活用してアプリケーション固有の動作を実行し、その他の操作にはADBを使用します。この強力な組み合わせにより、ユーザーはモバイルユーザーのアクションをシミュレートする事前設定された動作のワークフローを作成できます。
サイバーレンジ環境で使用できるワークフローの例として、モバイルユーザーがフィッシングメールを受信し、メールに含まれるリンクをクリックし、その後マルウェアをダウンロードするシナリオのシミュレーションがあります。
次の図はそれをまとめたものです:

ワークフローは以下のステップに分解できます:
このようなワークフローを作成して実行することで、ユーザーは現実的なサイバー攻撃シナリオをシミュレートし、幅広い脅威に対する防御をテストできます。これにより、システムとネットワークが潜在的な脆弱性から十分に保護され、攻撃発生時にユーザーが効果的に対応できるようになります。

RoboDroidは、RoboDroid Libraryが提供するFrida Agentとメッセージを介して通信し、効率的な相互作用を実現します。RoboDroidが特定の動作を開始すると、Frida Agentからのメッセージを待ちます。メッセージはFAILUREまたはCOMPLETEDのいずれかのタイプになります。
メッセージタイプがFAILUREの場合、RoboDroidは現在の動作を再起動して正常な完了を保証します。メッセージタイプがCOMPLETEDの場合、現在のステップは完了としてマークされ、RoboDroidは次のステップに進みます。
さらに、COMPLETEDタイプのメッセージには、後続のステップで使用できる出力が含まれる場合もあります。これにより、ツールは動作を最適化し、モバイルデバイス上での人間のようなアクションを正確にシミュレートできます。
この堅牢な通信プロセスにより、RoboDroidはFrida Agentをツールセットにシームレスに統合し、サイバーレンジ環境でのモバイルデバイスシミュレーションのための複雑なワークフロー作成を容易にします。
次のコマンドで簡単にインストールできます:
pipx install robodroid
pipではなくpipxを使用することをお勧めします。将来のPythonバージョンでは、仮想環境外でのpipによるパッケージインストールが削除されるためです。
RoboDroidは、RoboDroid Libraryリポジトリからの自動動作ダウンロード(そしてまもなく自動更新)を標準でサポートしています。新しいFrida動作を追加したい場合は、特定のリポジトリにアクセスしてプルリクエストを作成することをお勧めします。
robodroid --help
これにより、ツールのヘルプが表示されます:
&&&&&&&&&&&
&&&& &&&&
&&& &&&
(&&&& &&&& &&&& &&&)&
&(&&&& &&&&)&
&&&& &&&&
&&&&&&&&&&&&&
&&& &&&&&&&&&&&&&&& &&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&&&&&&&&&
&&&& &&&&
&&&& &&&&
RoboDroid v0.0.3
Usage: robodroid [OPTIONS] COMMAND [ARGS]...
Manage and deploy Android machines with pre-defined behaviors for Cyber Range environments
╭─ Options ──────────────────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────────────────────────────────────╮
│ run Run RoboDroid. │
| update-library Update the RoboDroid Library to the latest version │
│ version Print the current version and exit. │
╰────────────────────────────────────────────────────────────────────────────────────────────╯
run commandrobodroidは2つのモードで実行できます:
default) &&&&&&&&&&&
&&&& &&&&
&&& &&&
(&&&& &&&& &&&& &&&)&
&(&&&& &&&&)&
&&&& &&&&
&&&&&&&&&&&&&
&&& &&&&&&&&&&&&&&& &&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&&&&&&&&&
&&&& &&&&
&&&& &&&&
RoboDroid v0.0.3
Usage: robodroid run [OPTIONS]
Run RoboDroid.
╭─ Options ───────────────────────────────────────────────────────────────────────────╮
│ --log-mode [silent|normal|debug] Set logging mode [default: normal] │
│ --mode -m [interactive|managed] Set run mode [default: interactive] │
│ --config -c TEXT Name of the managed config file to load │
│ --help -h Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────╯
インタラクティブモードでは、ユーザーがADBホスト、ポート、使用するデバイスを選択できるプロンプトが表示されます。一方、マネージドモードは、$HOME/.RoboDroid/configの下に配置する必要がある yaml形式の設定ファイルを使用します。マネージドモードは、ユーザーの入力や設定を必要とせずにラボ/環境をセットアップするのに最適なモードです。
次の表は、configファイルで使用されるフィールドの説明です:
| Key | Required | Description |
|---|---|---|
| device | はい | 使用するデバイスに関する情報 |
| workflow | はい | 使用するワークフロー(ファイル名) |