For noen dager siden ble iDet kunngjorde Qualys-forskere gjennom e-postlistene en rapport om oppdagelse av tre metoder for å omgå restriksjoner av tilgang til brukernavneområde i Ubuntu.
Fra og med versjon 23.10 introduserte Ubuntu et ekstra lag med sikkerhet for å hindre uprivilegerte brukere i å opprette brukernavnerom, et tiltak som er ment å redusere sikkerhetsrisikoer.
Selv om tilgang til disse områdene ikke i seg selv er en sårbarhet, kan bruken av dem utsette kjerneundersystemer for potensielle angrep, spesielt i isolerte miljøer som containere eller nettlesersandkasser.
Vi oppdaget tre forskjellige måter å omgå disse uberettigede brukernavneromsbegrensningene; Hver lar en lokal angriper opprette brukernavnerom med fulle administratorfunksjoner og dermed utnytte sårbarheter i kjernekomponenter som krever funksjoner som CAP_SYS_ADMIN eller CAP_NET_ADMIN
Viktigheten av navnerom i Linux
Navneområder tillate ulike prosesser å administrere ressurser uavhengig, isolere miljøer uten å forstyrre andre prosesser. Brukernavneområdet lar uprivilegerte prosesser få tilgang til kjerneundersystemer som normalt krever økte tillatelser.
Problemet ligger i det mange delsystemer kjernen ble designet under forutsetningen om at bare root-brukeren ville ha tilgang. Med introduksjonen av brukernavneområder kan sårbarheter som tidligere var uutnyttelige av vanlige brukere nå utnyttes for å få privilegert tilgang til systemet.
Metoder oppdaget for å unngå restriksjoner
Når det gjelder feilene som ble oppdaget av Qualys-forskere, nevner de at de har identifisert tre måter som en uprivilegert angriper kan opprette et brukernavn med økte tillatelser på Ubuntu, som Den første av disse er bruken av aa-exec-verktøyet.
Det nevnes at aa-exec-verktøyet, inkludert i Ubuntu-basen, Lar deg bruke AppArmor-profiler på vilkårlige prosesser. Dette lar en angriper bruke den til å ta i bruk profiler som gir tilgang til brukernavneområder, for eksempel Chrome, Flatpak og Trinity.
Den andre fiaskoen Det forskerne oppdaget er med bruk av busybox. Og busybox-verktøyet (tilstede som standard i Ubuntu) har en AppArmor-profil som lar deg opprette brukernavneområder. En angriper kan starte et skall fra busybox og deretter bruke unshare for å lage et isolert miljø med økte tillatelser.
Den tredje og siste fiaskoen oppdaget er ved å bruke miljøvariabelen LD_PRELOAD. Dette lar en angriper injisere sitt eget bibliotek i et hvilket som helst program som har en AppArmor-profil med tilgang til brukernavneområder. Et eksempel på dette er Nautilus, et program med slike privilegier.
Avbøtende tiltak
For å forhindre utnyttelse av disse sårbarhetene anbefaler Ubuntu-utviklere følgende handlinger:
aa-exec-begrensningen
Dette forhindrer uprivilegerte brukere fra å vilkårlig endre AppArmor-profiler. Dette kan gjøres ved å kjøre følgende kommando:
sysctl kernel.apparmor_restrict_unprivileged_unconfined=1
Deaktiver problematiske AppArmor-profiler
Hvis du ikke trenger å bruke busybox med navneromtilgang eller generere miniatyrbilder i Nautilus, kan du deaktivere AppArmor-profilene deres.
Sjekk hvilke programmer som har tillatelser til å opprette navneområder
Dette lar deg identifisere andre installerte applikasjoner med lignende tillatelser.
Beskyttelsestiltak
Til slutt er det verdt å nevne at for å redusere denne angrepsoverflaten, har Ubuntu tatt i bruk en hybridmodell som begrenser opprettelsen av brukernavneområder, med bare visse programmer som kan lage dem hvis de oppfyller følgende betingelser:
- De har en AppArmor-profil med eksplisitte regler som tillater det.
- De har CAP_SYS_ADMIN-rettigheter, som gir dem administrative rettigheter.
Dette gir en balanse mellom sikkerhet og funksjonalitet, og tillater bruk av sandkasser i utvalgte applikasjoner uten å utsette hele systemet for unødvendige risikoer.
Lur interessert i å vite mer om det, kan du sjekke detaljene I den følgende lenken.