Patches til begrænsning af root-adgang til kernen er blevet accepteret i Linux-kernen 5.4

Linus Torvalds har vedtaget i den kommende version af Linux-kernen 5.4 sætter patch-sættet «lockdown«, foreslået af David Howells (der arbejder hos Red Hat) og Matthew Garrett (Matthew Garrett, der arbejder hos Google) for at begrænse root-brugerens adgang til kernen. Den relaterede «lockdown»-funktionalitet er flyttet til en valgbar LSM-modul (Linux Security Module), som etablerer en barriere mellem UID 0 og kernen, hvilket begrænser visse lav-niveau-funktioner.

Hvis en angriber ved hjælp af et angreb har fået udført kode med root-rettigheder, kan han køre sin kode også på kernel-niveau, for eksempel ved at erstatte kernen via kexec eller læse/skrive til hukommelsen gennem /dev/kmem. Den mest åbenlyse konsekvens af en sådan aktivitet kan være omgåelse af UEFI Secure Boot eller udtrækning af følsomme data, der opbevares på kernel-niveau.

Oprindeligt blev funktionerne til at begrænse root udviklet som en del af forbedringen af sikkerheden ved verifikationsopstart, og distributioner har længe anvendt tredjeparts patches for at blokere for omgåelse af UEFI Secure Boot. Disse begrænsninger blev dog ikke inkluderet i kernebrugens hovedkomponent på grund af uenigheder i deres implementering og bekymringer om at forstyrre eksisterende systemer. Modulet «lockdown» har indarbejdet de patches, der allerede blev brugt i distributioner, som er blevet omarbejdet til en separat subsystem, der ikke er knyttet til UEFI Secure Boot.

I lockdown-tilstand begrænses adgangen til /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes-fejlfindingsmodus, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), visse ACPI-grænseflader og MSR-registre i CPU'en, kald til kexec_file og kexec_load blokeres, overgangen til dvalemodus er forbudt, brugen af DMA til PCI-enheder begrænses, import af ACPI-kode fra EFI-variabler er forbudt,
manipulationer med input/output-porte er ikke tilladt, herunder ændring af afbrydelsesnummer og input/output-port for den serielle port.

Som standard er lockdown-modulet ikke aktivt, det kan samles ved at angive SECURITY_LOCKDOWN_LSM i kconfig og aktiveres gennem kernel-parameteren «lockdown=», styrende filen «/sys/kernel/security/lockdown» eller samleindstillingerne LOCK_DOWN_KERNEL_FORCE_*, som kan have værdierne «integritet» og «fortrolighed». I det første tilfælde blokeres mulighederne for at foretage ændringer i det aktive kernemiljø fra brugerrummet, og i det andet tilfælde deaktiveres derudover funktionaliteten, som kan bruges til at udtrække fortrolige oplysninger fra kernen.

Det er vigtigt at bemærke, at lockdown blot begrænser de normale adgangsmuligheder til kernen, men ikke beskytter mod ændringer som følge af udnyttelse af sårbarheder. For at blokere ændringer i den aktive kerne ved anvendelse af exploits er projektet Openwall udvikles en separat modul LKRG (Linux Kernel Runtime Guard).

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster