Enter キーを押し続けると root アクセスが可能になる脆弱性が検出されました。

脆弱性

これらの欠陥が悪用されると、攻撃者は機密情報に不正にアクセスしたり、一般的に問題を引き起こしたりする可能性があります

Pulse Securityの研究者が明らかにした ブログ投稿を通じて、あなたの発見に関する情報 の脆弱性 メカニズムの実装 フルディスク暗号化の自動ロック解除。

研究者らはその脆弱性について言及している それは可能です、 コンピュータに物理的にアクセスできる場合は、 rootとしてコマンドを実行する 起動の初期段階で、暗号化されたディスクのロックを手動で解除し、ディスクに保存されている情報に完全にアクセスできるようにします。

これは、当社のクライアントの 20.04 人と協力しているときに発見し、悪用された実際のセキュリティ脆弱性のスキャンです。 RedHat ソフトウェア Clevis および dracut を使用して LUKS フルディスク暗号化の無人ロック解除を実装している場合、この脆弱性を利用して、TPM で保護された Ubuntu XNUMX Linux コンピュータへのローカル ルート アクセスを取得することができます。

と言われています この脆弱性は、LUKS 暗号化形式を使用する Linux システムに影響します。 TPM ベースのキー保護メカニズムと、起動時の自動ロック解除を構成する Clevis、dracut、systemd コンポーネント。

この設定は、コンピュータにディスク暗号化が必要だが、後で誰かが手動でロックを解除しなくてもリモート再起動を許可する場合に望ましいです。 通常の状況では、暗号化されたコンピュータに現れた攻撃者が目にするのはログイン プロンプトだけであり、システムに直接アクセスすることはできません。

開発者によって共有された情報には、次のように記載されています。 攻撃方法が脆弱性と似ている デスキュビエルタ 2016 年に Cryptsetup でこれにより、暗号化されたパーティションのロックを解除するためのパスワード プロンプトに応じて Enter キーを押したままにすることで、初期ブート環境のコマンド シェルへの root アクセスが可能になりました。

そして言及されているのは、 新しい攻撃亜種が特定されました Enter が手動で生成されなかった場合にシステムがどのように反応するかを確認した後ですが、その代わりに、キーストローク間の遅延を可能な限り短くするキーボード エミュレーターを使用します。

実験のために、15 ミリ秒の遅延で Enter キーを押すことを継続的にシミュレートする USB キーが組み立てられました。これは、従来のキーボードのキーを押し続けるよりも約 10 倍高速です。

攻撃の成功は、Ubuntu 20.04 ベースのセットアップで実証されました。 上記の要件を満たすもので、Pulse Security の顧客の XNUMX つが使用していました。 Clevis フレームワークに基づいており、キー復号化情報を TPM に保存するこれらの構成は、通常、再起動するたびに暗号化されたディスクのロックを解除するためのパスワードを手動で入力する方法がないリモート サーバーでディスク暗号化を行う必要がある場合に使用されます。

同時に、このようなシステムでは自動ロック解除に加えて、パスワードを手動で入力して暗号化パーティションのロックを解除することもできます。これは、自動ロック解除プロセスが失敗した場合に備えて残されます。

この攻撃は、攻撃者がデバイスに接続できるという事実に要約されます。 Enter キーを押し続けることをシミュレートするには、 リバースブートプロセス ロック解除パスワードを手動で入力するには 試行回数の最大制限を使い切るまでの時間がある 自動ロック解除には時間がかかり、Enter キーを非常に速く押すことをシミュレートすることで、並行した自動ロック解除が完了する前に手動ロック解除プロセスを完了できるため、自動ロック解除コントローラの実行が終了する前に短時間でパスワードを入力する必要がなくなります。プロセス。

また、キーを解読するための情報は TPM に保存されているため、攻撃者はルート アクセスを保持しながら、Clevis ツールキットを使用して暗号化されたドライブのロックを自動的に解除する通常のプロセスを開始し、ドライブからルート パーティションをマウントすることができます。

最後に、攻撃に対する可能な防御策として、起動時にパラメータを設定することをお勧めします。これにより、起動が初期に失敗した場合に対話型セッションに切り替えるのではなく、自動的に再起動されます。

kernel rd.shell=0 

y

rd.emergency=reboot

もしあなたが それについてもっと知りたい、詳細を確認できます 次のリンクで。