
このツールは、任意のバイナリファイルをQRコードGIFに変換できるコマンドラインユーティリティです。データは視覚的に再構築でき、エアギャップシステムでのデータの外部持ち出し(exfiltration)を可能にします。これは、DLP(データ損失防止)ソフトウェアの脆弱性、すなわちデータが電子メール、USBメモリ、その他のメディアを介してシステム外に流出するという前提を実証するための概念実証として設計されました。
このツールは、バイナリファイルを一連のQRコード画像に変換し、それらの画像をGIFファイルに結合することで動作します。GIFファイルは、標準的なQRコードリーダーを使用して簡単に再構築できます。これにより、ほとんどのDLPシステムから検出されることなくデータを外部に持ち出すことができます。
QRExfiltrateを使用するには、コマンドラインを開き、QRExfiltrateスクリプトが含まれているディレクトリに移動します。
その後、以下のコマンドを実行して、バイナリファイルをQRコードGIFに変換します。
./encode.sh ./draft-taddei-ech4ent-introduction-00.txt output.gif
encode.sh <inputfile>

<inputfile>は変換したいバイナリファイルへのパス、<outputfile>(出力が指定されない場合はoutput.gifが使用されます)は出力先のGIFファイルへのパスです。
コマンドが完了すると、バイナリファイルのデータを含むGIFファイルが作成されます。
その後、このGIFファイルを自由に転送し、任意の標準QRコードリーダーを使用してデータを再構築できます。
QRExfiltrateには以下の前提条件が必要です。
QRExfiltrateはソースデータのサイズに制限されます。結果の画像のサイズと形状を統一するために、フレームあたりのQRエンコードは64バイトに制限されています。さらに、QRコードへの変換によりストレージのオーバーヘッドが大きくなり、平均して結果のGIFは元のデータの50倍のサイズになります。最後に、QRExfiltrateはQRコードリーダーの能力に制限されます。リーダーがGIFからQRコードを検出できない場合、データを再構築できません。
デコーダスクリプトは意図的に省略されています。
QRExfiltrateは、DLPシステムを迂回し、エアギャップネットワーク内でデータを外部に持ち出すために使用できる強力なツールです。ただし、QRExfiltrateは慎重に、かつ検出リスクが低い状況でのみ使用する必要があることに留意することが重要です。