Andrey Konovalov, ha condiviso un metodo per disabilitare il blocco

Andrej Konovalov Ingegnere del software di Google, ha presentato un metodo per disabilitare in remoto la protezione da lockdown offerto nel kernel Linux fornito in Ubuntu. Con quale mostra che i metodi di protezione sono inefficaci, inoltre afferma anche che i metodi che ha divulgato teoricamente dovrebbero funzionare con il kernel Fedora e anche altre distribuzioni (ma non sono stati testati).

Per chi non è a conoscenza di Lockdown, dovrebbero sapere che è un componente del kernel Linux La sua funzione principale è limitare l'accesso dell'utente root al kernel del sistema e questa funzionalità è stato spostato nel modulo LSM facoltativamente caricato (Linux Security Module), che stabilisce una barriera tra l'UID 0 e il kernel, limitando alcune funzioni di basso livello.

Ciò consente alla funzione di blocco di essere basata su criteri piuttosto che di codificare a livello di codice una politica implicita all'interno del meccanismo, quindi il lucchetto incluso nel Linux Security Module fornisce un'implementazione con una semplice policy inteso per uso generale. Questa politica fornisce un livello di granularità controllabile tramite la riga di comando del kernel.

Informazioni sul blocco

Il blocco limita l'accesso root al kernel e blocca i percorsi di bypass di avvio sicuro UEFI.

Ad esempio, in modalità blocco, accesso a / dev / mem, / dev / kmem, / dev / port, / proc / kcore, debugfs, modalità debug kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS, tra gli altri, alcune interfacce sono limitato così come i registri ACPI e MSR della CPU.

Mentre le chiamate kexec_file e kexec_load sono bloccate, la modalità sleep è proibita, l'uso di DMA per dispositivi PCI è limitato, l'importazione di codice ACPI dalle variabili EFI è proibita e le manipolazioni con le porte di input / output, inclusa la modifica del numero di interrupt e una porta I / O per la porta seriale.

Come alcuni sapranno, il meccanismo di il blocco è stato aggiunto nel kernel 5.4 di Linux, ma è ancora implementato sotto forma di patch o integrato da patch sui kernel forniti con le distribuzioni.

Qui, una delle differenze tra i plugin forniti nelle distribuzioni e l'implementazione del kernel integrato è la possibilità di disabilitare il blocco fornito quando c'è accesso fisico al sistema.

Ubuntu e Fedora usano la combinazione di tasti Alt + SysRq + X per disabilitare il blocco. Resta inteso che la combinazione Alt + SysRq + X può essere utilizzato solo con accesso fisico al dispositivo e in caso di attacco remoto e accesso root, l'aggressore non sarà in grado di disabilitare il blocco.

Il blocco può essere disabilitato da remoto

Andrei Konovalov lo ha dimostrato metodi relativi alla tastiera per confermare la presenza fisica di un utente sono inefficaci.

Egli ha rivelato che il modo più semplice per disabilitare il blocco sarebbe simulare stampa Alt + SysRq + X tramite / dev / uinput, ma questa opzione è inizialmente bloccata.

ma, almeno altri due modi per sostituire Alt + SysRq + X.

  • Il primo metodo prevede l'utilizzo dell'interfaccia sysrq-trigger: per simulare, abilita questa interfaccia digitando "1" in / proc / sys / kernel / sysrq e poi digitando "x" / proc / sysrq-trigger.
    Questo divario è stato risolto nell'aggiornamento del kernel di Ubuntu di dicembre e in Fedora 31. È interessante notare che gli sviluppatori, come nel caso di / dev / uinput, inizialmente hanno provato a bloccare questo metodo, ma il blocco non ha funzionato a causa di un bug nel codice.
  • Il secondo metodo consiste nell'emulare la tastiera tramite USB / IP e quindi inviare la sequenza Alt + SysRq + X dalla tastiera virtuale.
    Nel kernel, USB / IP fornito da Ubuntu è abilitato per impostazione predefinita e i moduli usip_core y vhci_hcd necessari sono provvisti della firma digitale richiesta.
    Un utente malintenzionato può creare un dispositivo USB virtuale eseguendo un controller di rete sull'interfaccia di loopback e collegandolo come dispositivo USB remoto tramite USB / IP.

Il metodo specificato è stato segnalato agli sviluppatori di Ubuntu, ma non è stata ancora rilasciata una soluzione.

fonte: https://github.com


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.