
DroneXtract は、Golang で作られた DJI ドローン向けの包括的なデジタルフォレンジックススイートです。ドローンのセンサー値やテレメトリデータの分析、ドローンの飛行マップの可視化、不正行為の監査、複数のファイル形式からの関連データの抽出に使用できます。
DroneXtract は、ドローンフォレンジックスと監査のための4つのメインスイートを備えています。これらは以下のとおりです。
CSV、KML、GPX などの DJI ファイル形式から情報を可視化して抽出できます。 出力ファイルパスを指定すると、解析された情報を別のファイル形式で保存できます。 以下の画像は、解析されたファイル出力の例と、ファイルから抽出されたデータの種類を示しています。
ステガノグラフィとは、ファイル内に隠された情報を明らかにするプロセスを指します。 DroneXtract のステガノグラフィスイートを使用すると、画像や動画形式からテレメトリや貴重なデータを抽出できます。 さらに、抽出したデータは4つの異なるファイル形式にエクスポートできます。
テレメトリ可視化スイートには、飛行経路マップ生成ツールとテレメトリグラフ可視化ツールが含まれています。 飛行経路マップ生成ツールは、ドローンが経路中に移動した場所と取った経路を示す地図の画像を作成します。 テレメトリグラフ可視化ツールは、監査目的で関連するテレメトリ値またはセンサー値ごとにグラフをプロットします。
飛行解析と整合性解析ツールは、ドローンが飛行中に記録したすべてのテレメトリ値を反復処理します。 値が収集されると、値が想定する最大分散を計算し、不審なデータギャップがないかチェックします。 このツールは、異常なデータや発生した可能性のあるファイル破損をチェックするために使用できます。
ソースからビルドするには、Go がインストールされている必要があります。
$ export GO111MODULE=on
$ go get ./...
$ go run main.go
DJI フライト .TXT ログを解析するには、Airdata のフライトデータ分析ツール を使用してください。
DroneXtract で使用される一連の環境変数があります。値を特定のドローンや調査シナリオに合わせるには、.env ファイルに移動して次の値を調整できます。
TELEMETRY_VIS_DOWNSAMPLE テレメトリ可視化に使用する値のダウンサンプリング数
FLIGHT_MAP_DOWNSAMPLE 飛行経路マッピングに使用する値のダウンサンプリング数
ANALYSIS_DOWNSAMPLE 整合性解析に使用する値のダウンサンプリング数
ANALYSIS_MAX_VARIANCE 分析値の最大値と最小値の間で許容される最大分散
DJI ドローンのデジタルフォレンジックスと DroneXtract の機能について詳しく知るには、こちらの記事 を参照してください。
DroneXtract はあらゆる貢献を受け付けています。リポジトリをフォークし、実装してほしい機能や修正をプルリクエストで送信してください。
DroneXtract には、4つのスイートすべてのテストファイルが含まれています。 ステガノグラフィスイートをテストするためのコマンド例
$ cd steganography
$ go test
テスト用のサンプルファイルは test-data ディレクトリに含まれています。
特定のテストケースがファイルや画像などの出力を生成する場合、output ディレクトリ内に保存されます。
参考用に、output にはすでにいくつかのファイルが含まれています。
DroneXtract を気に入っていただけましたら、将来のプロジェクトに資金を提供するために スポンサーになる ことをご検討ください。
私の他の作品については、GitHub プロフィール をご覧ください。