เบงเบดเบ—เบตเบเบฒเบ™เบ›เบดเบ”เบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ Lockdown เปƒเบ™ Ubuntu เป€เบžเบทเปˆเบญเบ‚เป‰เบฒเบกเบœเปˆเบฒเบ™ UEFI Secure Boot เบˆเบฒเบเป„เบฅเบเบฐเป„เบ

Andrey Konovalov เบˆเบฒเบ Google เบˆเบฑเบ”เบžเบตเบกเบกเบฒ เบงเบดเบ—เบตเบเบฒเบ™เบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบˆเบฒเบเป„เบฅเบเบฐเป„เบ เบฅเบฑเบญเบเบฅเบปเบ‡เบชเบฐเป€เบซเบ™เบตเบขเบนเปˆเปƒเบ™เบŠเบธเบ” Linux kernel เบ—เบตเปˆเบชเบปเปˆเบ‡เบเบฑเบš Ubuntu (เป€เบ•เบฑเบเบ™เบดเบเปเบ™เบฐเบ™เปเบฒเบ—เบฒเบ‡เบ—เบดเบ”เบชเบฐเบ”เบต เบ„เบงเบ™ เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเปเบเปˆเบ™เบ‚เบญเบ‡ Fedora เปเบฅเบฐเบเบฒเบ™เปเบˆเบเบขเบฒเบเบญเบทเปˆเบ™เป†, เปเบ•เปˆเบžเบงเบเบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ—เบปเบ”เบชเบญเบš).

Lockdown เบˆเปเบฒเบเบฑเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบœเบนเป‰เปƒเบŠเป‰เบฎเบฒเบเบเบฑเบš kernel เปเบฅเบฐเบ•เบฑเบ™ UEFI Secure Boot bypass paths. เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™เป‚เบซเบกเบ”เบเบฒเบ™เบฅเบฑเบญเบ, เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes debugging mode, mmiotrace, tracefs, BPF, PCMCIA CIS (เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เปเป‰เบกเบนเบ™เบšเบฑเบ”), เบšเบฒเบ‡เบญเบฑเบ™. เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเปเบกเปˆเบ™เบ–เบทเบเบˆเปเบฒเบเบฑเบ” ACPI เปเบฅเบฐ MSR เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบ‚เบญเบ‡ CPU, เบเบฒเบ™เป‚เบ—เบซเบฒ kexec_file เปเบฅเบฐ kexec_load เบ–เบทเบเบšเบฅเบฑเบญเบ, เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ™เบญเบ™เปเบกเปˆเบ™เบ–เบทเบเบซเป‰เบฒเบก, เบเบฒเบ™เปƒเบŠเป‰ DMA เบชเปเบฒเบฅเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™ PCI เบ–เบทเบเบˆเปเบฒเบเบฑเบ”, เบเบฒเบ™เบ™เปเบฒเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ” ACPI เบˆเบฒเบเบ•เบปเบงเปเบ› EFI เปเบกเปˆเบ™เบซเป‰เบฒเบก, เบเบฒเบ™เบซเบกเบนเบ™เปƒเบŠเป‰เบเบฑเบšเบžเบญเบ” I/O เปเบกเปˆเบ™เบšเปเปˆ เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹, เบฅเบงเบกโ€‹เบ—เบฑเบ‡โ€‹เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹เบ•เบปเบงโ€‹เป€เบฅเบโ€‹เบ‚เบฑเบ”โ€‹เบ‚เบงเบฒเบ‡โ€‹เปเบฅเบฐ I/O เบžเบญเบ”โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™ serial portโ€‹.

เบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰, เบเบปเบ™เป„เบเบเบฒเบ™ Lockdown เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ Linux kernel เบ•เบปเป‰เบ™เบ•เป 5.4, เปเบ•เปˆเปƒเบ™เปเบเปˆเบ™เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบ™เบเบฒเบ™เปเบˆเบเบขเบฒเบเบกเบฑเบ™เบเบฑเบ‡เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡ patches เบซเบผเบทเป€เบชเบตเบกเบ”เป‰เบงเบ patches. เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡ add-ons เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบขเบนเปˆเปƒเบ™เบŠเบธเบ”เบเบฒเบ™เปเบˆเบเบขเบฒเบเปเบฅเบฐเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™ kernel เปเบกเปˆเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เบดเบ”เบเบฒเบ™เบฅเบฑเบญเบเบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš.

เปƒเบ™ Ubuntu เปเบฅเบฐ Fedora, เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™ Alt + SysRq + X เปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป€เบžเบทเปˆเบญเบ›เบดเบ”เบเบฒเบ™เบฅเบฑเบญเบ. เบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™ Alt + SysRq + X เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เบเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™, เปเบฅเบฐเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบเบฒเบ™ hack เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบเปเบฅเบฐเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบฎเบฒเบ, เบœเบนเป‰เป‚เบˆเบกเบ•เบตเบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เบดเบ”เบเบฒเบ™เบฅเบฑเบญเบเปเบฅเบฐเบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบเบฒเบ™เป‚เบซเบผเบ” a เป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบกเบต rootkit เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เป€เบŠเบฑเบ™เบ”เบดเบˆเบดเบ•เบญเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ kernel.

Andrey Konovalov เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเปƒเบŠเป‰เปเบ›เป‰เบ™เบžเบดเบกเป€เบžเบทเปˆเบญเบขเบทเบ™เบขเบฑเบ™เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เปเบกเปˆเบ™เบšเปเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ•เบดเบœเบปเบ™. เบงเบดเบ—เบตเบ—เบตเปˆเบ‡เปˆเบฒเบเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเบ›เบดเบ”เบเบฒเบ™เบ›เบดเบ”เบเบฒเบ™เบฅเบฑเบญเบเปเบกเปˆเบ™เบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เป‚เบ„เบ‡เบเบฒเบ™ เบเบฒเบ™เบˆเบณเบฅเบญเบ‡ เบเบปเบ” Alt+SysRq+X เบœเปˆเบฒเบ™ /dev/uinput, เปเบ•เปˆเบ•เบปเบงเป€เบฅเบทเบญเบเบ™เบตเป‰เบ–เบทเบเบšเบฅเบฑเบญเบเปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบเปเบฒเบ™เบปเบ”เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบชเบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™ Alt + SysRq + X.

เบงเบดเบ—เบตเบ—เปเบฒเบญเบดเบ”เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เปƒเบŠเป‰ "sysrq-trigger" interface - เป€เบžเบทเปˆเบญเบˆเปเบฒเบฅเบญเบ‡เบกเบฑเบ™, เบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ™เบตเป‰เป‚เบ”เบเบเบฒเบ™เบ‚เบฝเบ™ "1" เบเบฑเบš /proc/sys/kernel/sysrq, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ‚เบฝเบ™ "x" เป€เบ›เบฑเบ™ /proc/sysrq-trigger. เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡ เบฅเบปเบšเบฅเป‰เบฒเบ‡ เปƒเบ™เป€เบ”เบทเบญเบ™เบ—เบฑเบ™เบงเบฒ Ubuntu kernel update เปเบฅเบฐเปƒเบ™ Fedora 31. เบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบšเบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡ /dev/uinput, เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™ เบžเบฐเบเบฒเบเบฒเบก block เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰, เปเบ•เปˆเบเบฒเบ™เบชเบฐเบเบฑเบ”เบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ” เปƒเบ™เบฅเบฐเบซเบฑเบ”.

เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹เบ—เบตโ€‹เบชเบญเบ‡โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™ emulation keyboard เบœเปˆเบฒเบ™โ€‹ USB/IP เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบชเบปเปˆเบ‡เบฅเปเบฒเบ”เบฑเบš Alt+SysRq+X เบˆเบฒเบเปเบ›เป‰เบ™เบžเบดเบกเบชเบฐเป€เปเบทเบญเบ™. USB/IP kernel เบ—เบตเปˆเบชเบปเปˆเบ‡เบเบฑเบš Ubuntu เปเบกเปˆเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบ•เบฒเบกเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (CONFIG_USBIP_VHCI_HCD=m เปเบฅเบฐ CONFIG_USBIP_CORE=m) เปเบฅเบฐเปƒเบซเป‰เป‚เบกเบ”เบนเบ™ usbip_core เปเบฅเบฐ vhci_hcd เบ—เบตเปˆเบกเบตเป€เบŠเบฑเบ™เบ”เบดเบˆเบดเบ•เบญเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™. เบœเบนเป‰เป‚เบˆเบกเบ•เบตเบชเบฒเบกเบฒเบ” เบเบฒเบ™เบชเป‰เบฒเบ‡ เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™ USB virtualโ€‹, เป€เบ›เบตเบ”เบ•เบปเบง เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปƒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเปเบšเบš loopback เปเบฅเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบกเบฑเบ™เป€เบ›เบฑเบ™เบญเบธเบ›เบฐเบเบญเบ™ USB เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบเป‚เบ”เบเปƒเบŠเป‰ USB/IP. เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰ เบฅเบฒเบเบ‡เบฒเบ™ เบเบฑเบšเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ Ubuntu, เปเบ•เปˆเบเบฒเบ™เปเบเป‰เป„เบ‚เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เปˆเบญเบเบญเบญเบเบกเบฒ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™