UEFI аюулгүй ачааллыг алсаас тойрч гарахын тулд Ubuntu дахь түгжээний хамгаалалтыг идэвхгүй болгох аргууд

Google-ээс Андрей Коновалов Нийтлэгдсэн хамгаалалтыг алсаас идэвхгүй болгох арга ТүгжихUbuntu-тай нийлүүлсэн Линуксийн цөмийн багцад санал болгож байна (онолын хувьд санал болгосон техник байх ёстой Fedora болон бусад түгээлтийн цөмтэй ажиллах боловч тэдгээрийг туршиж үзээгүй).

Түгжих нь үндсэн хэрэглэгчийн цөмд хандах хандалтыг хязгаарлаж, UEFI Secure Boot-ийн тойрч гарах замыг блоклодог. Жишээлбэл, түгжих горимд /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 портоор ажиллахыг хориглосон. тасалдлын дугаар болон цуваа портын оролт гаралтын портыг өөрчлөх зэрэг зөвшөөрөгдсөн.

Түгжих механизмыг Линуксийн үндсэн цөмд саяхан нэмсэн 5.4, гэхдээ түгээлтэд нийлүүлсэн цөмд энэ нь нөхөөс хэлбэрээр хэрэгжсэн эсвэл нөхөөсөөр нэмэгдсээр байна. Түгээлтийн иж бүрдэлд өгөгдсөн нэмэлтүүд болон цөмд суурилуулсан хэрэгжүүлэлтийн хоорондох ялгааны нэг нь системд биечлэн нэвтрэх боломжтой бол өгөгдсөн түгжээг идэвхгүй болгох чадвар юм.

Ubuntu болон Fedora дээр Lockdown-ыг идэвхгүй болгохын тулд Alt+SysRq+X товчлуурын хослолыг өгсөн. Alt+SysRq+X хослолыг зөвхөн төхөөрөмжид физик хандалт хийх үед ашиглах боломжтой бөгөөд алсаас хакердаж, root хандалт авсан тохиолдолд халдагчид Lockdown-г идэвхгүй болгож, жишээ нь ачаалах боломжгүй болно. цөмд дижитал гарын үсэг зураагүй rootkit бүхий модуль.

Андрей Коновалов гар дээр суурилсан хэрэглэгчийн биет байгаа эсэхийг баталгаажуулах аргууд үр дүнгүй болохыг харуулсан. Түгжихийг идэвхгүй болгох хамгийн энгийн арга бол программчлах явдал юм симуляци /dev/uinput-ээр Alt+SysRq+X товчлуурыг дарах боловч энэ сонголтыг анх хаасан байна. Үүний зэрэгцээ Alt+SysRq+X-ийг орлуулах дор хаяж хоёр аргыг тодорхойлох боломжтой байв.

Эхний арга нь "sysrq-trigger" интерфэйсийг ашиглах явдал юм - үүнийг дуурайхын тулд "1" гэж /proc/sys/kernel/sysrq руу бичээд дараа нь /proc/sysrq-trigger руу "x" гэж бичээд энэ интерфейсийг идэвхжүүлнэ үү. Цоорхой гэж хэлэв хасагдсан 31-р сард Ubuntu цөмийн шинэчлэлт болон Fedora XNUMX-д. Анхаарах зүйл бол хөгжүүлэгчид нь /dev/uinput-ийн нэгэн адил оролдсон энэ аргыг блоклосон боловч үүнээс болж блоклосонгүй алдаа кодоор.

Хоёрдахь арга нь гарын эмуляцийг ашиглана USB/IP дараа нь виртуал гарнаас Alt+SysRq+X дарааллыг илгээнэ. Ubuntu-тай нийлүүлсэн USB/IP цөм нь анхдагчаар идэвхжсэн (CONFIG_USBIP_VHCI_HCD=m ба CONFIG_USBIP_CORE=m) бөгөөд үйл ажиллагаанд шаардлагатай тоон гарын үсэг бүхий usbip_core болон vhci_hcd модулиудыг хангадаг. Халдагч чадна бий болгох виртуал USB төхөөрөмж, эхлүүлсэн сүлжээний зохицуулагчийг буцаах интерфэйс дээр суулгаж, USB/IP ашиглан алсын USB төхөөрөмж болгон холбоно. Тодорхойлсон аргын тухай мэдээлэв Ubuntu-ийн хөгжүүлэгчдэд зориулагдсан боловч засвар хараахан гараагүй байна.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх