cryptsetup の脆弱性により、LUKS2 パーティションの暗号化が無効化される

Linux でディスク パーティションを暗号化するために使用される Cryptsetup パッケージに脆弱性 (CVE-2021-4122) が確認されました。これにより、メタデータを変更することで、LUKS2 (Linux Unified Key Setup) 形式のパーティションで暗号化を無効にすることができます。 この脆弱性を悪用するには、攻撃者は暗号化されたメディアに物理的にアクセスできる必要があります。 この方法は主に、攻撃者がアクセスできるものの、データを復号化するためのパスワードを知らない、フラッシュ ドライブなどの暗号化された外部ストレージ デバイスを攻撃する場合に有効です。

この攻撃は LUKS2 形式にのみ適用され、「オンライン再暗号化」拡張機能のアクティブ化を担うメタデータの操作に関連しています。これにより、アクセス キーの変更が必要な場合に、オンザフライでデータ再暗号化のプロセスを開始できるようになります。パーティションでの作業を停止することなく。 新しい鍵による復号化と暗号化のプロセスには時間がかかるため、「オンライン再暗号化」を使用すると、パーティションの作業を中断せずにバックグラウンドで再暗号化を実行し、ある鍵から別の鍵に段階的にデータを再暗号化することができます。 。 空のターゲットキーを選択して、セクションを復号化された形式に変換することもできます。

攻撃者は、障害の結果としての復号化操作の中止をシミュレートする LUKS2 メタデータを変更し、所有者によるアクティブ化および変更されたドライブの使用後にパーティションの一部の復号化を達成する可能性があります。 この場合、変更されたドライブを接続し、正しいパスワードでロックを解除したユーザーは、中断された再暗号化操作を復元するプロセスに関する警告を受信せず、「luks ダンプ」を使用してこの操作の進行状況を確認することしかできません。指示。 攻撃者が復号できるデータの量は LUKS2 ヘッダーのサイズによって異なりますが、デフォルトのサイズ (16 MiB) では 3 GB を超える可能性があります。

この問題は、再暗号化には新しいキーと古いキーのハッシュを計算して検証する必要があるが、新しい状態が暗号化用の平文キーがないことを意味する場合、復号化を開始するのにハッシュは必要ないという事実によって発生します。 さらに、暗号化アルゴリズムを指定する LUKS2 メタデータは、攻撃者の手に渡った場合、変更から保護されません。 この脆弱性をブロックするために、開発者はメタデータに対する追加の保護を LUKS2 に追加しました。これにより、追加のハッシュがチェックされ、既知のキーとメタデータの内容に基づいて計算されます。 攻撃者は、復号化パスワードを知らなければ、メタデータを密かに変更できなくなります。

一般的な攻撃シナリオでは、攻撃者がドライブを複数回入手できることが必要です。 まず、アクセス パスワードを知らない攻撃者がメタデータ領域に変更を加え、次回ドライブを起動したときにデータの一部の復号化を引き起こします。 その後、ドライブは元の場所に戻され、攻撃者はユーザーがパスワードを入力して接続するまで待機します。 ユーザーがデバイスをアクティブ化すると、バックグラウンドでの再暗号化プロセスが開始され、このプロセス中に暗号化されたデータの一部が復号化されたデータに置き換えられます。 さらに、攻撃者がデバイスを再び手に入れることができた場合、ドライブ上のデータの一部は復号化された形式になります。

この問題は cryptsetup プロジェクトの管理者によって特定され、cryptsetup 2.4.3 および 2.3.7 アップデートで修正されました。 ディストリビューションの問題を修正するために生成されているアップデートのステータスは、Debian、RHEL、SUSE、Fedora、Ubuntu、Arch のページで追跡できます。 この脆弱性は、「オンライン再暗号化」操作のサポートが導入された cryptsetup 2.2.0 のリリース以降にのみ発生します。 保護の回避策として、「--disable-luks2-reencryption」オプションを使用して起動することができます。

出所: オープンネット.ru

コメントを追加します