Xがパーティションの復号化に失敗したときに、header.imgファイルのシュレッダーを自動的に開始し、暗号化されたパーティション自体をシュレッダーにかけるブートローダーを設定することは可能ですか?
これがまだ存在しない場合-大規模な作業なしでそのようなソフトウェアを作成することは可能ですか?
乾杯、
はい(独自のブートローダー/ 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
}
良いバックアップがあればいいのですが。
私のDebian「wheezy」システムをざっと見てみると、_do_luks
_から呼び出されるシェルスクリプトライブラリ_/lib/cryptsetup/cryptdisks.functions
_にある関数_/etc/init.d/cryptdisks-early
_にそのようなブービートラップを挿入することは完全に可能であることがわかります。 )__。
コードを変更した後、_update-initramfs
_を実行して、最初のブートディスクイメージも更新されていることを確認する必要があります。
私のDebian「jessie」システムにもこれらのファイルがありますが、これらがsystemd
のこの勇敢な新しい世界で実際に使用されているかどうかは確認していません。