• CopyKat hittar 122 byggstenar som kan förvandla små minnesfel till rootåtkomst

    Ett begränsat minnesfel i Linuxkärnan behöver inte ge en angripare särskilt stor kontroll. Men säkerhetsverktyget CopyKat visar hur till synes oskyldiga kärnobjekt kan användas som förstärkare – och hjälpa angriparen att ta kontroll över hela systemet.

    Forskare vid IBM Research Europe och Vrije Universiteit Amsterdam har utvecklat CopyKat, ett automatiserat system som letar efter användbara byggstenar för avancerade attacker mot Linuxkärnan.

    Under en 32 dagar lång analys hittade systemet 122 verifierade kärnobjekt som forskarna kallar Controllable-Copy Objects, förkortat CCO. Gemensamt för objekten är att de under rätt omständigheter kan förvandla ett begränsat minnesfel till en betydligt kraftfullare skrivoperation.

    Forskarna visade att metoden fungerar i praktiken genom att konstruera åtta fullständiga attacker som gav rootbehörighet. Attackerna utgick från redan kända sårbarheter, bland annat use-after-free-fel, dubbla frigörningar av minne och skrivningar utanför ett tilldelat minnesområde. Resultaten presenterades vid USENIX Security ’26.

    Från ett litet fel till full kontroll

    Ett minnesfel i Linuxkärnan innebär inte automatiskt att en angripare kan skriva vad som helst var som helst. Felet kanske bara gör det möjligt att ändra några få byte, skriva utanför kanten på ett objekt eller använda ett minnesområde som redan har frigjorts.

    För att nå rootåtkomst behöver angriparen därför ofta hitta en metod som förstärker den begränsade möjligheten.

    Det är här de objekt som CopyKat letar efter kommer in i bilden.

    Ett CCO är en datastruktur som har skapats i kärnans dynamiska minne och innehåller en pekare till ett annat minnesområde. Pekaren används senare av exempelvis memcpy eller memmove för att bestämma vart information ska kopieras.

    Om en angripare kan ändra pekaren kan kärnans egen kopieringsfunktion luras att skriva angriparens data till en annan plats.

    Det kan jämföras med att någon bara har möjlighet att ändra adressfältet på en fraktsedel. Personen kan inte själv flytta varorna, men genom att skriva dit en annan adress får den legitima transportören att leverera lasten till fel plats.

    I Linuxkärnan kan den nya destinationen exempelvis vara en struktur som innehåller användarens UID och GID. Om dessa värden ändras till noll kan angriparens process få samma behörigheter som root.

    Angrepp utan att kapa programmets väg

    Traditionella attacker mot operativsystemets kärna försöker ofta ändra programmets kontrollflöde. Angriparen manipulerar exempelvis en funktionspekare eller returadress så att processorn börjar köra kod som angriparen har valt.

    Moderna skydd som Control-Flow Integrity gör sådana angrepp svårare. De kontrollerar att programmet följer tillåtna vägar genom koden.

    Dataorienterade attacker fungerar annorlunda. Kärnan fortsätter att köra sina vanliga funktioner i rätt ordning, men funktionerna arbetar med manipulerade uppgifter. Eftersom kontrollflödet inte behöver kapas kan attacken passera skydd som huvudsakligen övervakar vilka kodvägar som används.

    CopyKat söker därför efter legitima kärnobjekt som kan missbrukas för att flytta data till en plats som angriparen väljer.

    Tre analyssteg sållade fram objekten

    Forskarna byggde CopyKat som en kedja av tre analyser.

    I det första steget användes en modifierad version av fuzzverktyget Syzkaller tillsammans med en instrumenterad Linuxkärna. Systemet följde hur information från användarutrymmet flyttades genom kärnan och letade efter kopieringar där måladressen påverkades av en pekare lagrad i ett kärnobjekt.

    Fuzzningen hittade 434 intressanta operationer. Av dessa var 386 anrop till memcpy, medan resterande huvudsakligen bestod av memmove och enklare skrivoperationer.

    Den snabba analysen kunde även rapportera falska träffar. Kandidaterna granskades därför i ett andra steg med PANDA, en analysplattform som kan spela in och upprepa körningen av ett helt system. Där kontrollerades att data verkligen kom från användaren och att måladressen verkligen hämtades från det misstänkta objektet.

    Slutligen användes plattformen S2E för så kallad concolic exekvering, en kombination av konkret och symbolisk programkörning. CopyKat ändrade objektets pekare och undersökte vilka villkor som måste vara uppfyllda för att kärnan fortfarande skulle nå fram till kopieringsoperationen.

    Efter den stegvisa sållningen återstod 122 verifierade CCO-objekt. Av dessa fanns 52 i nätverkskoden, 31 i filsystemen och 12 bland drivrutinerna. Övriga hittades bland annat i kryptografi-, ljud-, minnes- och säkerhetskod. Analysen genomfördes på Linux 6.4.1, enligt forskarnas fullständiga rapport.

    Åtta attacker slutade med rootåtkomst

    För att visa att objekten inte bara var teoretiskt intressanta byggde forskarna åtta kompletta privilegieattacker utifrån fyra tidigare kända sårbarheter.

    I demonstrationerna användes CCO-objekten för att styra skrivningar mot säkerhetskritiska delar av kärnminnet. Forskarna kunde bland annat ändra användaruppgifter eller manipulera inställningarna modprobe_path och core_pattern, vilka under vissa förutsättningar kan få kärnan att starta ett program med förhöjda rättigheter.

    Sju av attackerna använde separata systemanrop för att skapa objektet och aktivera kopieringen. I det åttonde fallet skedde båda momenten inom samma systemanrop. Angriparen behövde då träffa ett mycket kort tidsfönster, vilket forskarna lyckades göra med flera trådar och en blockeringsmekanism baserad på FUSE.

    Forskarna uppger samtidigt att exploateringen fortfarande krävde flera manuella och tekniskt avancerade moment. CopyKat skapar alltså inte automatiskt ett färdigt rootangrepp, men systemet kan minska det arbete som krävs för att hitta lämpliga objekt och förstå hur de måste manipuleras.

    Inte 122 nya Linuxsårbarheter

    Resultatet betyder inte att forskarna har hittat 122 nya säkerhetshål. CCO-objekten är vanliga delar av kärnan som normalt utför legitima uppgifter.

    För att missbruka ett sådant objekt behöver angriparen redan ha tillgång till ett användbart minnesfel. Angriparen måste dessutom kunna placera ett lämpligt CCO nära det sårbara minnesområdet, ändra rätt pekare, uppfylla objektets övriga villkor och aktivera kopieringen vid rätt tidpunkt.

    Undersökningen gjordes på Linux 6.4.1. Den visar därför inte att samtliga 122 objekt finns kvar eller fungerar på exakt samma sätt i alla nyare kärnversioner och distributioner.

    Linuxanvändare behöver inte installera någon särskild nöduppdatering på grund av CopyKat. Däremot understryker forskningen betydelsen av att installera vanliga säkerhetsuppdateringar, eftersom ett till synes begränsat minnesfel kan vara mer användbart för en angripare än en första bedömning visar.

    Kan påvhttps://www.usenix.org/conference/usenixsecurity26/technical-sessionserka hur kärnfel bedöms

    Den viktigaste följden av CopyKat kan bli hur säkerhetsforskare, distributioner och kärnutvecklare bedömer nya minnessårbarheter.

    Ett fel som tidigare har klassats som svårt att utnyttja kan bli betydligt allvarligare om det går att kombinera med ett lämpligt CCO. Databasen över objekten kan därför användas för att prioritera sårbarheter och utveckla nya skydd mot dataorienterade attacker.

    Forskarna inforhttps://www.usenix.org/conference/usenixsecurity26/technical-sessionsmerade Linuxutvecklaren Greg Kroah-Hartman före publiceringen. Bedömningen var att forskningen kunde publiceras utan embargo eftersom CopyKat beskriver en exploateringsteknik och inte en ny direkt sårbarhet. De åtta färdiga attackerna har inte offentliggjorts i vapenfärdig form.

    CopyKat visar därmed hur säkerhetskapplöpningen förändras. När skydden mot traditionell kapning av kontrollflödet blir bättre söker angripare efter andra vägar. I stället för att få kärnan att köra främmande kod kan det räcka att lura dess befintliga kod att flytta rätt data till fel plats.

    https://www.usenix.org/conference/usenixsecurity26/technical-sessions

    Rapporten är på ca 7000 sidor.

  • Nyheterna i OpenBSD 7.5

    OpenBSD är ett UNIX-liknande operativsystem känd för sin säkerhetsfokus. Det är öppen källkod och utvecklas av ett globalt volontärteam. Operativsystemet inkluderar en rad säkerhetsfunktioner som adresserar minneskorruption och säkerhetsluckor proaktivt. OpenBSD används ofta i servrar och säkerhetskritiska system.

    OpenBSD 7.5 har nu officiellt släppts, och fortsätter att erbjuda ett säkert och fritt UNIX-baserat operativsystem som betonar säkerhet, mångsidighet och korrekthet.

    Från början en avknoppning från NetBSD, har OpenBSD vuxit till att bli ett betydelsefullt operativsystem med fokus på en säker databehandlingsmiljö.

    Här är några av de mest betydelsefulla uppdateringarna i OpenBSD 7.5:
    Den nya versionen introducerar möjligheten att kryptera rotpartitionen under installationsprocessen, vilket förstärker skyddet av känslig data. Pinsyscalls, ett nytt systemanrop, tillåter mer detaljerad kontroll över systemanrop, vilket bidrar till ökad systemintegritet och minskade säkerhetsrisker.

    För att ytterligare säkra systemet har stödet för indirekta systemanrop via funktionen syscall tagits bort. Denna åtgärd, tillsammans med pinsyscalls, förbättrar säkerheten genom att begränsa tillgången till systemanrop och förhindra potentiella attacker.

    På hårdvarusidan, specifikt för ARM64-system, inkluderar nu OpenBSD stöd för pekareautentisering (PAC) och identifiering av målbranch (BTI), vilket skyddar mot attacker som korrumperar minnet. Stödet för IPv6 på ppp-nätverksgränssnitt utökas också, vilket förbättrar anslutningsmöjligheter och kompatibilitet.

    OpenBSD 7.5 har också förbättrat paketfiltreringen i pf-brandväggen, vilket ger bättre prestanda på flerkärniga system och ökad insyn i nätverkstrafiken. Netstat-verktyget har uppdaterats för att visa mer detaljerad statistik om effektiviteten i ruttcache, vilket ger användarna värdefulla insikter för att optimera nätverksprestanda och säkerhetsinställningar.

    Virtualiseringsstacken i VMM-hypervisorn har uppgraderats med flertrådstöd och förbättrad stabilitet på Intel VMX-baserade system, vilket förbättrar både tillförlitligheten och prestandan i virtualiserade miljöer.

    Vidare har OpenBSD 7.5 utökat sitt stöd för hårdvara och introducerat nya drivrutiner, vilket säkerställer bättre kompatibilitet med ett brett urval av enheter, från Apples bildkontroller till Qualcomms trådlösa chips.

    Användarna kan nu njuta av en uppdaterad skrivbordsmiljö med KDE Plasma 5.27, som erbjuder förbättrad användarupplevelse och de senaste funktionerna från KDE:s ekosystem.

    Slutligen har viktiga programvarukomponenter som LibreSSL och OpenSSH fått uppdateringar för att garantera de senaste säkerhetsförbättringarna och prestandaoptimeringarna. Det omfattande biblioteket av tredjepartsapplikationer har också uppdaterats, vilket ger tillgång till de senaste versionerna av populära programvarupaket.

    Här är en kort sammanfattning av några viktiga uppdaterade program och paket i denna version:

    • Asterisk, Audacity, CMake, Chromium, FFmpeg, Firefox
    • GCC, GHC, GNOME, Go, JDK, Krita
    • LLVM/Clang, LibreOffice, Lua, MariaDB, Mono
    • Mutt, NeoMutt, Node.js, OCaml, OpenLDAP
    • PHP, PostgreSQL, Python, Qt, R, Ruby
    • Rust, SQLite, Shotcut, Sudo, Suricata
    • Tcl/Tk, TeX Live, Thunderbird, Vim, Neovim, Xfce

    https://www.openbsd.org/faq/faq4.html#Download

    OpenBSD sidan i vår Wiki

    https://wiki.linux.se/index.php/OpenBSD

    Fakta: OpenBSD 7.5

    Översikt: OpenBSD är ett UNIX-liknande, fritt och öppet operativsystem som utvecklas av ett globalt volontärteam. Fokus ligger på säkerhet, korrekthet och enkelhet. Vanligt i servrar och säkerhetskritiska miljöer.

    Säkerhetsnyheter i 7.5:

    • Krypterad rotpartition direkt i installationen för starkare dataskydd.
    • pinsyscalls: finmaskig kontroll av systemanrop.
    • Borttaget stöd för indirekta systemanrop via syscall() för att minska angreppsytan.

    Arkitektur & nätverk:

    • ARM64: stöd för PAC (Pointer Authentication) och BTI (Branch Target Identification) mot minneskorruptionsattacker.
    • IPv6 på ppp-gränssnitt utökat för bättre uppkoppling.
    • pf-brandväggen: förbättrad paketfiltrering för flerkärniga system.
    • netstat: mer detaljerad statistik för ruttcache/effektivitet.

    Virtualisering:

    • VMM-hypervisorn: flertrådstöd och stabilitetsförbättringar på Intel VMX-baserade system.

    Hårdvarustöd: utökade drivrutiner och bättre kompatibilitet (bl.a. Apple-displaykontroller, Qualcomm-Wi-Fi m.m.).

    Skrivbord & användarmiljö: KDE Plasma 5.27 tillgängligt för uppdaterad arbetsmiljö.

    Kärnkomponenter uppdaterade: LibreSSL, OpenSSH – senaste säkerhetsfixar och prestandaförbättringar.

    Större paketuppdateringar (urval): Firefox, Chromium, FFmpeg, GCC/Clang/LLVM, Go, JDK, Python, PHP, PostgreSQL, MariaDB, SQLite, Rust, Qt, GNOME, KDE, Xfce, Audacity, Krita, LibreOffice, TeX Live, Thunderbird, Vim/Neovim, Suricata, Node.js, OCaml, Mono, Asterisk, CMake, Mutt/NeoMutt, OpenLDAP, Shotcut, Sudo m.fl.

    Tips: Basuppdateringar via syspatch, paket via pkg_add -u.

Etikett: minnessäkerhet

  • CopyKat hittar 122 byggstenar som kan förvandla små minnesfel till rootåtkomst

    Ett begränsat minnesfel i Linuxkärnan behöver inte ge en angripare särskilt stor kontroll. Men säkerhetsverktyget CopyKat visar hur till synes oskyldiga kärnobjekt kan användas som förstärkare – och hjälpa angriparen att ta kontroll över hela systemet. Forskare vid IBM Research Europe och Vrije Universiteit Amsterdam har utvecklat CopyKat, ett automatiserat system som letar efter användbara…

  • Nyheterna i OpenBSD 7.5

    OpenBSD 7.5 har nu officiellt släppts, och fortsätter att erbjuda ett säkert och fritt UNIX-baserat operativsystem som betonar säkerhet, mångsidighet och korrekthet. Från början en avknoppning från NetBSD, har OpenBSD vuxit till att bli ett betydelsefullt operativsystem med fokus på en säker databehandlingsmiljö. Här är några av de mest betydelsefulla uppdateringarna i OpenBSD 7.5:Den nya…