Googleのアンドレイ・コノバロフ
ロックダウンは、root ユーザーのカーネルへのアクセスを制限し、UEFI セキュア ブート バイパス パスをブロックします。 たとえば、ロックダウン モードでは、/dev/mem、/dev/kmem、/dev/port、/proc/kcore、debugfs、kprobes デバッグ モード、mmiotrace、tracefs、BPF、PCMCIA CIS (カード情報構造) などにアクセスします。インターフェイスは制限されています CPU の ACPI および MSR レジスタ、kexec_file および kexec_load への呼び出しはブロックされます、スリープ モードは禁止されています、PCI デバイスの DMA 使用は制限されています、EFI 変数からの ACPI コードのインポートは禁止されています、I/O ポートによる操作は禁止されていますシリアルポートの割り込み番号と I/O ポートの変更を含む、許可されます。
ロックダウン メカニズムが最近メインの Linux カーネルに追加されました
Ubuntu と Fedora では、ロックダウンを無効にするためのキーの組み合わせ Alt+SysRq+X が提供されています。 Alt+SysRq+X の組み合わせは、デバイスへの物理的なアクセスでのみ使用できることが理解されており、リモート ハッキングしてルート アクセスを取得した場合、攻撃者はロックダウンを無効にして、たとえば、カーネルにデジタル署名されていないルートキットを含むモジュール。
アンドレイ・コノバロフは、ユーザーの物理的な存在を確認するためのキーボードベースの方法は効果がないことを示しました。 ロックダウンを無効にする最も簡単な方法は、プログラムで次のことを行うことです。
最初の方法では、「sysrq-trigger」インターフェイスを使用します。これをシミュレートするには、/proc/sys/kernel/sysrq に「1」を書き込んでこのインターフェイスを有効にし、次に /proc/sysrq-trigger に「x」を書き込みます。 その抜け穴
XNUMX 番目の方法では、キーボード エミュレーションを使用します。
出所: オープンネット.ru