
自動車のUDSインターフェース向け拡張可能なペネトレーションテストフレームワーク。再現可能なスキャン、診断トラブルコードの読み取り、モジュラープラグインアーキテクチャによる後処理を実現します。
Galliaは、自動車ドメインに焦点を当てた拡張可能なペネトレーションテストフレームワークです。 このツールチェーンの適用範囲は、単一のECUから車両全体にわたるペネトレーションテストの実施です。 現在、主な焦点はUDSインターフェースにあります。 汎用インターフェースとして機能し、ログ機能は再現可能なテストを実装し、後処理タスクを可能にします。 ドキュメントはdocs/フォルダで利用可能です。
このプロジェクトは研究および開発目的でのみ使用されることを意図していることに留意してください! 不適切な使用は、テスト対象デバイスに回復不可能な損傷を引き起こす可能性があります。 本ツールの使用により生じた損害について、当社は一切の責任を負いません。
Levent ÇelikらによるComparing Open-Source UDS Implementations Through Fuzz Testingより:
我々が特定した実装の中で、Galliaは最も堅牢で信頼性が高く、他の実装を大きく上回っています。
セットアップ手順を参照してください。
まず、--template で設定テンプレートを作成し、gallia.toml というファイルに保存して、必要に応じて調整します。
gallia はこのファイルを読み取り、コマンドラインフラグのデフォルト値を設定します。
すべてのオプションはコマンドラインフラグに対応しています;スキャンに必要な唯一のオプションは gallia.scanner.target で、例えば isotp://can0?src_addr=0x123&dst_addr=0x312&tx_padding=0xaa&rx_padding=0xaa です。
$ gallia --template > gallia.toml
これで最初のスキャンを開始する準備が整いました。例えば、診断トラブルコードを読み取るには:
$ gallia primitive uds dtc read
ターゲットはコマンドラインの --target オプションで指定することもできます。
--target 引数の形式については、トランスポートのドキュメントを参照してください。
この研究の一部は、ドイツ連邦教育研究省(BMBF)のSecForCARsプロジェクト(助成金番号 16KIS0790)の支援を受けて実施されました。 この研究の一部は、ドイツ連邦経済エネルギー省(BMWE)のATLAS-L4プロジェクト(助成金番号 19A21048D)の支援を受けて実施されました。 短いプレゼンテーションとデモビデオは、このページでご覧いただけます。