web-dev-qa-db-ja.com

Luks + Sleep:ログイン画面のセキュリティ?

状況:LUKSで暗号化されたパーティションを備えたデスクトップLinux(Debian、Xfceデスクトップ、Lightdmログインなど)(可能な限り、Efiファイルはもちろん暗号化されていません)。
コンピュータはスリープモードです(休止状態ではありません。つまり、ロックが解除され、RAMにキーが挿入されます)。

泥棒がコンピ​​ューターを盗み、侵入方法を見つけようとしています。

  • ディスクの暗号化のため、これをオフにすることはもちろん役に立ちません。
  • ハードウェアキーロガーをインストールし、ブートローダー/ Efiを何か悪意のあるものに置き換えるなど、所有者が盗まれて信頼できないことを知っているので、役に立ちません。
  • 手の込んだ攻撃など。 RAM=から何らかの方法でキーを直接読み取ります。これは、泥棒の能力や、所有者がシャットダウンではなくスリープを使用できるとするリスクの範囲外です。
  • これにより、(LightDMの)ログイン画面が、背後で既に実行されているデスクトップを考慮して、何らかの方法でバイパスされるリスクが残ります。

私の質問は、これを防ぐために知っておくべきことは何ですか?

私がすでに知っている次の点:

  • 端末の切り替え(CtrlAltFn)。
    • GUIがstartxで開始されると、ユーザーがすでにログインしているTTYを取得できます。ただし、LightDMを使用する場合、そのようなTTYはありません。
    • 「このセッションはロックされています。数秒でログインに切り替わります」(または同様のメッセージ)と表示するだけのGUI画面もあります。しかし、そこから抜け出す簡単な方法はないようです。
  • Xサーバーには、ショートカットCtrlAltBackspaceでXを強制終了できるDontZap設定オプションがあります。これは「ロックされた」画面やLightmでも役立つ可能性がありますが、デフォルトでは無効になっているため問題ありません。
  • 「ロック」を保持するすべてのプロセスを強制終了する別のXショートカットCtrlAlt *(スター)(構成AllowClosedownGrabs)があります(これはロックを意味します)。これもデフォルトでは無効になっています。
  • OOMキラーのカーネルSysRQショートカットF。無効にすることができ、2つのGUIがそれに対して保護されているプロセスの中にある可能性があります(私は約50回試行してLightDMを強制終了できませんでした。正確な理由はわかりません)。

2018年には他にどのようなリスクがあるのでしょうか?

6
DoeDoe

ロック画面がアクティブなとき、関連するすべての SysRq機能 が無効であると想定します( [〜#〜] sak [〜#〜] 、SIGTERMまたはSIGKILLをすべてのプロセスに送信し、あなたが言ったようにOOMキラーなど)、そしてDMA攻撃、コールドブート攻撃、およびネットワークの悪用などの高度な攻撃ベクトルが範囲外であると想定すると、ロック画面を回避する方法はありません。現在不明なコードのバグを悪用するのではありません(ただし、それらは あまり一般的ではありません ですが)。

  • 言及していない他のSysRq機能を使用すると、バイパスが可能になる場合があります。
  • バイパスは、ロックソフトウェアの未知のバグを悪用することで可能になる場合があります。
  • 大きなモニターを接続してサイズ変更をトリガーすると、Infoleaksが発生する可能性があります。*
  • ローカルプロセスが(意図的または非意図的に)ロックを妨害する可能性があります。

他にも、もっと安全なロックプログラムがあります。例は vlock です。これは、制御する新しいTTYを開き、TTYスイッチングを無効にすることで機能します。また、アクティブな間はSysRqを無効にします。ただし、ターミナルから実行した場合、何らかの理由でターミナルがクラッシュすると終了します(これは簡単に修正できるバグです)。 vlockが特に安全である理由は、Xサーバーのセキュリティに依存していないためです。Xサーバー自体には、基本的にロック画面の概念がありません。代わりに、セキュリティを念頭に置いて設計されたTTY分離を利用するように設計されています。もう1つの代替案は xsecurelock です。これは、クラッシュに対するセキュリティを強調する、Googleが作成したシンプルなグラフィカルロック画面です。ただし、ほとんどの画面ロックソフトウェアと同様に、SysRq機能自体が無効になるわけではないため、有効になっている場合は自分で行う必要があります。

*ロックされたコンピューターに大型モニターが接続されている場合、ルートウィンドウのサイズが自動的に変更されることがあります。ロック画面がこれを検出せず、再び最大化すると、ロックの向こう側を見ることができる場合があります。 Xサーバーが別のTTYにあるため、vlockなどの仮想端末ベースのロックソフトウェアではこれは問題になりません。

5
forest

ロックされている間、ネットワーク機能は引き続きアクティブです。そのため、デバイスは脆弱性を悪用される可能性があります。ネットワーク攻撃ベクトルには、USBネットワークアダプター、イーサネット、Wi-Fiが含​​まれます。ただし、Wi-Fiでは、送信されるプローブを確認し、同じSSIDとネットワークセキュリティ(保護されている場合はパスフレーズ)でAPを作成する必要があります。

別のアイデアは RAMから暗号化キーを抽出する です。ただし、そのドキュメントで説明されているほとんどのアイデアは、ほとんどの人の能力を超えていると感じています。

ロック画面のバイパスは多少制限されています。 Linuxベースのディストリビューションは、多くの場合、さまざまな異なるグラフィカルユーザーインターフェイスを使用します。これはこの考えを疑う余地はありませんが、AndroidまたはiOSのロック画面のバイパスを見つけるよりも価値はありません。

1
safesploit