Andrey Konovalov, deelde een methode om lockdown uit te schakelen

Andrew Konovalov Google software engineer, heeft een methode onthuld om de bescherming van op afstand uit te schakelen lockdown aangeboden in de Linux-kernel geleverd in Ubuntu. Met welke laat zien dat beschermingsmethoden niet effectief zijn, plus hij vermeldt ook dat de methoden die hij openbaarde theoretisch zouden moeten werken met de Fedora-kernel en andere distributies (maar niet zijn getest).

Voor degenen die zich niet bewust zijn van Lockdown, ze zouden moeten weten dat het een onderdeel is van de Linux-kernel dat De belangrijkste functie is om de toegang van de rootgebruiker tot de kernel van het systeem te beperken en deze functionaliteit is verplaatst naar de LSM-module optioneel geladen (Linux-beveiligingsmodule), die vestigt een barrière tussen UID 0 en de kernel, waardoor bepaalde functies op laag niveau worden beperkt.

Hierdoor kan de uitsluitingsfunctie beleidsgebaseerd zijn in plaats van een impliciet beleid binnen het mechanisme hard te coderen, dus het slot dat is opgenomen in de Linux-beveiligingsmodule biedt een implementatie met een eenvoudig beleid bedoeld voor algemeen gebruik. Dit beleid biedt een granulariteitsniveau dat bestuurbaar is via de kernelopdrachtregel.

Over lockdown

De vergrendeling beperkt root-toegang tot de kernel en blokkeert UEFI-paden voor beveiligde boot-bypass.

Bijvoorbeeld, in de vergrendelingsmodus, toegang tot / dev / mem, / dev / kmem, / dev / port, / proc / kcore, debugfs, debugmodus kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS, onder andere, sommige interfaces zijn beperkt evenals de ACPI- en MSR-registers van de CPU.

Hoewel de oproepen kexec_file en kexec_load zijn vergrendeld, is de slaapmodus verboden, is het gebruik van DMA voor PCI-apparaten beperkt, is het importeren van ACPI-code van EFI-variabelen verboden en manipulaties met invoer- / uitvoerpoorten, inclusief het wijzigen van het interruptnummer en een I / O-poort voor de seriële poort.

Zoals sommigen wellicht weten, is het mechanisme van lockdown is toegevoegd in Linux-kernel 5.4, maar het wordt nog steeds geïmplementeerd in de vorm van patches of aangevuld met patches op de kernels die bij de distributies worden geleverd.

Hier is een van de verschillen tussen de plug-ins die in de distributies worden geleverd en de ingebedde kernelimplementatie de mogelijkheid om de geboden vergrendeling uit te schakelen wanneer er fysieke toegang tot het systeem is.

Ubuntu en Fedora gebruiken de toetsencombinatie Alt + SysRq + X om het slot uit te schakelen. Het is duidelijk dat de combinatie Alt + SysRq + X het kan alleen worden gebruikt met fysieke toegang tot het apparaat en in het geval van een externe aanval en root-toegang kan de aanvaller de vergrendeling niet uitschakelen.

Lockdown kan op afstand worden uitgeschakeld

Andrei Konovalov bewees dat toetsenbordgerelateerde methoden voor het bevestigen van de fysieke aanwezigheid van een gebruiker is niet effectief.

Hij onthulde dat de eenvoudigste manier om de vergrendeling uit te schakelen, simulatie is druk op Alt + SysRq + X door / dev / uinput, maar deze optie is aanvankelijk geblokkeerd.

Maar nog minstens twee manieren om te vervangen Alt + SysRq + X.

  • De eerste methode omvat het gebruik van de interface sysrq-trigger: om te simuleren, activeert u deze interface door "1" in te typen / proc / sys / kernel / sysrq en typ vervolgens "x" in / proc / sysrq-trigger.
    Deze kloof is verholpen in de Ubuntu-kernelupdate van december en in Fedora 31. Het is opmerkelijk dat ontwikkelaars, zoals in het geval van / dev / uinput, probeerden ze aanvankelijk deze methode te blokkeren, maar het blokkeren werkte niet vanwege een fout in de code.
  • De tweede methode is om het toetsenbord te emuleren via USB / IP en vervolgens de Alt + SysRq + X-reeks vanaf het virtuele toetsenbord te verzenden.
    In de kernel is USB / IP geleverd door Ubuntu standaard ingeschakeld en de modules usbip_kern y vhci_hcd noodzakelijke zijn voorzien van de vereiste digitale handtekening.
    Een aanvaller kan een virtueel USB-apparaat maken door een netwerkcontroller op de loopback-interface uit te voeren en deze via USB / IP als een extern USB-apparaat aan te sluiten.

De opgegeven methode is gerapporteerd aan de Ubuntu-ontwikkelaars, maar er is nog geen oplossing uitgebracht.

bron: https://github.com


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.