web-dev-qa-db-ja.com

X回の復号化の試行に失敗したときにLUKSパーティションを自動的に細断処理しますか?

Xがパーティションの復号化に失敗したときに、header.imgファイルのシュレッダーを自動的に開始し、暗号化されたパーティション自体をシュレッダーにかけるブートローダーを設定することは可能ですか?

これがまだ存在しない場合-大規模な作業なしでそのようなソフトウェアを作成することは可能ですか?

乾杯、

1
cxou

はい(独自のブートローダー/ initramfsの場合)およびいいえ(Live CDから復号化を試みてトラップを回避しようとする泥棒の場合)。だから問題は、ここでどのような状況をカバーしようとしているのかということです...

セキュリティの観点からは、機能せず、パスワードをブルートフォースすることは不可能であるため、お勧めできません。また、自分自身を罠にかけるトリガーのリスクが高くなります。

パスフレーズを入力するときに間違いを犯す可能性は完全にあります。私のお気に入りは、Caps Lockキーです。誤って押しても、気付かないで(パスワードがエコーされないため)、...あなたの場合はブームになります。

それを実装するには、ディストリビューションのinitramfsのフレーバーにフックシステムなどがあるかどうかを確認する必要があります。通常のcryptsetup呼び出しは、次のようになります。

cryptsetup -T 5 luksOpen /dev/sda1 luksroot

それをブービートラップするには、次のようなことを行うだけです。

cryptsetup -T 5 luksOpen /dev/sda1 luksroot || boobytrap

そして、ブービートラップは、泥棒を占領したまま、あなたのものを削除する機能です。それに加えて、cryptsetupのエラーコードを絶対にチェックする必要があります。したがって、間違ったパラメータなどで削除しないでください。マンページのRETURN CODESセクションを確認してください。

擬似コード:(テストされておらず、推奨されません)

boobytrap() {
    if [ $? -eq 2 ]
    then
        # kill the disk silently in the background...
        dd bs=1M if=/dev/zero of=/dev/sda1 seek=2 2> /dev/null &
        # ...while keeping the thief busy entering more passwords
        cryptsetup -T 9999 luksOpen /dev/sda1 luksroot \
        && echo Congrats, but I already deleted your data...
    fi
}

良いバックアップがあればいいのですが。

3
frostschutz

私のDebian「wheezy」システムをざっと見てみると、_do_luks_から呼び出されるシェルスクリプトライブラリ_/lib/cryptsetup/cryptdisks.functions_にある関数_/etc/init.d/cryptdisks-early_にそのようなブービートラップを挿入することは完全に可能であることがわかります。 )__。

コードを変更した後、_update-initramfs_を実行して、最初のブートディスクイメージも更新されていることを確認する必要があります。

私のDebian「jessie」システムにもこれらのファイルがありますが、これらがsystemdのこの勇敢な新しい世界で実際に使用されているかどうかは確認していません。

2
roaima