
LUKSを使用してルートパーティションを暗号化し、ecryptfsを使用してプライマリパーティションを暗号化したため、そのパーティションのデータのみが破損します。問題は、Windowsでboot / efiパーティションの内容を簡単に変更できることです。これが起こらないようにするにはどうすればよいですか?
答え1
機密データは絶対に入れないでください/boot/efi
。暗号化できません。その理由は、システムを起動するためにシステムファームウェアがEFIを読み取る必要があるためです。暗号化されている場合、ファームウェアはブートローダにアクセスできません。
システムにTPMがある場合は、TPMの「測定」(PCRレジスタ)を使用して起動コンポーネントが/boot/efi
変調されていないことを確認できます。
TPMは暗号化キーを保存し、PCRレジスタに基づいてそれを「封印」(ロック)することもできます。これにより、TPMが「ブロック解除」され、これらの暗号化キーを読み取ることができます。ただ起動プロセスが改ざんされていない場合。
どのPCRで何を測定するかを決定することが重要です。重要なPCRを含むようにTPMを設定しないと、変調にもかかわらずブロックが解除される可能性があります。
TPMは100%防弾ではありません。理論的には、ボードから取り外し、マザーボードとマザーボードの間にハードウェアを配置することで、物理的な中間者攻撃の形で改ざんできます。これはしばしば非常に困難ですが、不可能ではありません。
grub設定を含むPCRのすべてを測定する代わりに、grubにオプションがありますcheck_signatures
。独自のPGP公開鍵とgrubがロードした他のすべてのファイルに、公開鍵と一致するデジタル署名が必要な基本設定を含むEFIバイナリを構築します。
これにより、カーネル、initrd、およびgrub構成にデジタル署名し、TPM PCRを介してgrub EFIが変調されていないことを確認できます。起動のために設定を少し変更するたびにTPMを操作する必要がないため、使いやすくなります。
他の人が提案したので、「セキュアブート」についてコメントし、なぜそれをしないのかを説明します。
セキュアブートは、他の目的に使用される保護タイプです。 EFIパーティションの改ざん防止よりもサプライチェーンの検証に関するものです。
これは、ブートの初期段階で信頼できるベンダーから提供されていない製品をインストールすることに対するいくつかの保護(完全な保護ではない)を提供します。例:ブートローダをだましてハッカーをインストールしないように保護します。
信頼できるCAを介してバイナリに署名する方法で動作します。ほとんどのハードウェアにはデフォルトでMicrosoft CAがインストールされており、さまざまなLinuxベンダーにはMicrosoft署名証明書があります。
ノートブックのインストール、設定、または構成中に生成されたコンテンツは保護されません。実際には、バイナリが評判の良いベンダーから提供されていることを確認するだけです。誰かがあなたのブートローダーを他の有名なベンダーの他のブートローダーと交換したり、あなたのブートローダーを再構成して何かをするのを防ぐことはできません。したがって、実際には、EFI変調に対する保護機能はほとんど提供されない。
答え2
問題は、Windowsでboot / efiパーティションの内容を簡単に変更できることです。これが起こらないようにするにはどうすればよいですか?
セキュアブートが有効になっている場合はそうではありません。
編集者:Philip Kulin氏の主張「ハッカー」は、カーネルブートパラメータを変更し、init=/bin/bash
違反を引き起こすコンテンツを追加できます。ただし、OPがデータを暗号化したため、この攻撃は明らかに機能しません。乱交はありません。ハッカーが外部の場所でそれを使用しても、/bin/bash
ユーザーデータは暗号化されているため、まだ何もできません。簡単に言えば、この「攻撃」は価値がなく、まったく機能しません。
第二に、Philip Coulingが強く提案したように、ハッカーがあなたのコンピュータに物理的にアクセスできるならば、これははるかに危険な影響を与え、あなた自身を保護するために何ができるのかわかりません。ハッカーは、ハードウェアキーボードスニファーまたは他のデバイスをインストールすることで、ユーザーが何も知らない状態でシステムにアクセスできます。
最後に、Windows自体はLinuxよりはるかに安全です。 Linuxのセキュリティは、ほとんどのセキュリティではなく、あいまいさに基づいているので、面白いです。たとえば、Linuxではカーネルとモジュールのみがデジタル署名されていますが、Windowsでは実行中のすべてのMicrosoftバイナリが署名され、システムが改ざんされていないことを保証します。 Bitlocker、ハイパーバイザーベースのプロセス分離、グループポリシーの実施などの他の機能は言うまでもありません。