Ubuntun blokeatzeko segurtasuna desgaitzeko metodoak UEFI Secure Boot urrunetik saihesteko

Google-ko Andrey Konovalov argitaratu babesa urrunetik desgaitzeko modua BlokeoUbunturekin batera bidalitako Linux kernel paketean eskaintzen da (teorian iradokitako teknikak muztioa Fedora-ren nukleoarekin eta beste banaketa batzuekin lan egin, baina ez dira probatzen).

Blokeoak root erabiltzaileen nukleorako sarbidea mugatzen du eta UEFI Secure Boot saihesteko bideak blokeatzen ditu. Adibidez, blokeo moduan, /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes arazketa modua, mmiotrace, tracefs, BPF, PCMCIA CIS (Txartelaren Informazio Egitura), batzuk interfazeak PUZaren ACPI eta MSR erregistroak mugatuta daude, kexec_file eta kexec_load-erako deiak blokeatuta daude, lo modua debekatuta dago, PCI gailuetarako DMA erabilera mugatua da, ACPI kodea EFI aldagaietatik inportatzea debekatuta dago, I/O atakekin manipulazioak ez daude. baimenduta, eten-zenbakia eta serie-atariaren I/O ataka aldatzea barne.

Lockdown mekanismoa Linux kernel nagusira gehitu da duela gutxi 5.4, baina banaketetan hornitutako nukleoetan oraindik adabaki moduan inplementatzen da edo adabakiz osatuta dago. Banaketa-kitetan emandako gehigarrien eta nukleoan integratutako inplementazioaren arteko desberdintasunetako bat sistemarako sarbide fisikoa baduzu emandako blokeoa desgaitzeko gaitasuna da.

Ubuntun eta Fedoran, Alt+SysRq+X tekla-konbinazioa eskaintzen da Blokeoa desgaitzeko. Ulertzen da Alt+SysRq+X konbinazioa gailurako sarbide fisikoarekin soilik erabil daitekeela, eta urruneko hackea eginez eta root sarbidea lortuz gero, erasotzaileak ezin izango du blokeoa desgaitu eta, adibidez, bat kargatu. nukleoan digitalki sinatuta ez dagoen rootkit batekin modulua.

Andrey Konovalovek erakutsi zuen erabiltzailearen presentzia fisikoa egiaztatzeko teklatuan oinarritutako metodoak ez direla eraginkorrak. Blokeoa desgaitzeko modurik errazena programatikoki egitea litzateke simulazioa Alt+SysRq+X sakatuz /dev/uinput bidez, baina aukera hau blokeatuta dago hasieran. Aldi berean, gutxienez Alt+SysRq+X ordezkatzeko beste bi metodo identifikatu ahal izan ziren.

Lehenengo metodoak "sysrq-trigger" interfazea erabiltzea dakar; hura simulatzeko, gaitu interfaze hau "1" idatziz /proc/sys/kernel/sysrq-en, eta gero "x" idatzi /proc/sysrq-trigger-ra. Esan zuen zirrikitua ezabatuta abenduan Ubuntu kernel eguneratzean eta Fedora 31n. Azpimarratzekoa da garatzaileek, /dev/uinput-en kasuan bezala, hasieran saiatu zen blokeatu metodo hau, baina blokeoak ez zuen funtzionatu Akatsak kodean.

Bigarren metodoak teklatuaren emulazioa dakar USB/IP eta gero Alt+SysRq+X sekuentzia bidaltzea teklatu birtualetik. Ubunturekin batera bidaltzen den USB/IP nukleoa lehenespenez gaituta dago (CONFIG_USBIP_VHCI_HCD=m eta CONFIG_USBIP_CORE=m) eta funtzionatzeko beharrezkoak diren usbip_core eta vhci_hcd sinadura digitaleko moduluak eskaintzen ditu. Erasotzaileak egin dezake sortu USB gailu birtuala, korrika sare-kudeatzailea loopback interfazean eta urruneko USB gailu gisa konektatzea USB/IP erabiliz. Zehaztutako metodoari buruz jakinarazi Ubuntu garatzaileei, baina oraindik ez da konponketarik kaleratu.

Iturria: opennet.ru

Gehitu iruzkin berria