Rêbazên neçalakkirina parastina Lockdown-ê li Ubuntu ku ji dûr ve UEFI Secure Boot derbas bike

Andrey Konovalov ji Google weşandin awayê neçalakkirina parastinê ji dûr ve Lockdowndi pakêta kernel Linux de ku bi Ubuntu re hatî şandin (teknîkên ku bi teorîk têne pêşniyar kirin divê bi kernelê Fedora û belavkirinên din re bixebitin, lê ew nayên ceribandin).

Lockdown gihandina bikarhênerê root ji kernelê re sînordar dike û rêyên dorpêçkirina UEFI Secure Boot asteng dike. Mînakî, di moda qefilandinê de, gihîştina /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, moda verastkirina kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Struktura Agahdariya Qertê), hin navbeynkaran Tomarên ACPI û MSR yên CPU sînorkirî ne, bangên kexec_file û kexec_load têne asteng kirin, moda xewê qedexe ye, karanîna DMA ji bo cîhazên PCI sînorkirî ye, anîna koda ACPI ji guhêrbarên EFI qedexe ye, manîpulasyonên bi portên I/O ne destûr, di nav de guheztina jimareya qutbûnê û porta I/O ya ji bo porta serial.

Mekanîzmaya Lockdown herî dawî li kernel Linux-ê ya sereke hate zêdekirin 5.4, lê di kernelên ku di belavokan de têne peyda kirin ew hîn jî di şiklê paçeyan de tê bicîh kirin an jî bi paçeyan tê dagirtin. Yek ji cûdahiyên di navbera pêvekên ku di kîtên belavkirinê de têne peyda kirin û bicîhkirina ku di kernelê de hatî çêkirin ev e ku heke hûn gihîştina fizîkî ya pergalê hebe kapasîteya betalkirina girtina peydakirî ye.

Di Ubuntu û Fedora de, kombînasyona kilîtê Alt+SysRq+X tê peyda kirin da ku Lockdown neçalak bike. Tê fêhm kirin ku tevliheviya Alt+SysRq+X tenê bi gihîştina laşî ya cîhazê dikare were bikar anîn, û di rewşa hakkirina ji dûr ve û bidestxistina gihandina root de, êrîşkar dê nikaribe Lockdown-ê neçalak bike û, mînakî, bar bike. module bi rootkit ku bi dîjîtal di nav kernelê de nehatiye îmze kirin.

Andrey Konovalov destnîşan kir ku rêbazên li ser klavyeyê ji bo piştrastkirina hebûna fîzîkî ya bikarhêner bêbandor in. Rêya herî hêsan a neçalakkirina Lockdown dê bi bernameyî be simulation tikandina Alt+SysRq+X bi rêya /dev/uinput, lê ev vebijark di destpêkê de tê asteng kirin. Di heman demê de, gengaz bû ku bi kêmî ve du awayên din ên veguheztinê Alt + SysRq + X nas bikin.

Rêbaza yekem bi karanîna navbeynkariya "sysrq-trigger" pêk tîne - ji bo simulasyona wê, tenê vê navberê bi nivîsandina "1" li /proc/sys/kernel/sysrq ve çalak bike, û dûv re "x" li /proc/sysrq-trigger binivîse. Got qulikê tasfiye kirin di nûvekirina kernelê Kanûnê ya Ubuntu de û di Fedora 31 de. Hêjayî balkişandinê ye ku pêşdebiran, wekî di doza /dev/uinput de, di destpêkê de hewl da vê rêbazê asteng bike, lê ji ber astengkirinê nexebitî xelet di kodê de.

Rêbaza duyemîn bi riya emûlasyona klavyeyê pêk tîne USB/IP û dûv re rêzika Alt + SysRq + X ji klavyeya virtual dişîne. Kernel USB/IP-a ku bi Ubuntu re hatî şandin ji hêla xwerû ve hatî çalak kirin (CONFIG_USBIP_VHCI_HCD=m û CONFIG_USBIP_CORE=m) û modulên usbip_core û vhci_hcd yên bi dîjîtalî yên ku ji bo xebatê hewce ne peyda dike. Êrîşkar dikare çêbikin cîhaza USB ya virtual, bi destpêkirinê Rêvebirê torê li ser navbeynkariya loopback û girêdana wê wekî amûrek USB-ya dûr bi karanîna USB / IP-yê. Li ser rêbazê diyarkirî ragihandin ji pêşdebirên Ubuntu re, lê çareseriyek hîn nehatiye berdan.

Source: opennet.ru

Add a comment