Linus Torvalds elfogadta a mag kernelbe a biztonsággal kapcsolatos hibák kezelésére vonatkozó dokumentumot, amely meghatározza a fenyegetések modelljét, magyarázza, hogy mely kernelhibákat tekintenek sebezhetőségeknek, és bemutatja az AI segítségével felfedezett hibákkal kapcsolatos intézkedéseket. A dokumentumot Willy Tarreau, a HAProxy szerzője és a Linux kernel régóta fejlesztője készítette, aki több stabil kernelverzió karbantartásáért felelt. A dokumentum alapját a nemrég felfedezett kritikus sebezhetőségekkel (1, 2, 3, 4) kapcsolatos megbeszélések keretében elért megállapodások alkotják, amelyeket a javítások közzététele előtt tárták fel, és amelyekhez az AI segítségével gyorsan valódi exploitok készítésére is lehetőség nyílt.
A biztonsággal kapcsolatos hibák többségét nyilvánosan kell kezelni, hogy a lehető legszélesebb közönséget bevonhassák és optimalizált megoldásokat találjanak. Csak a széles körben kihasználható és számos felhasználót fenyegető, fokozott privilégiumokat vagy lehetőségeket biztosító sebezhetőségekről szóló sürgős értesítéseket javasolt egy külön, belső levelezési listára küldeni.
Az AI-asszisztensek által felfedezett sebezhetőségeket mindig nyilvánosan kell megvitatni, mivel ezek a problémák gyakran több kutató által egyszerre kerülnek felfedezésre. Ugyanakkor a jelentésben nem szükséges felfedni az exploitot - elegendő megemlíteni, hogy elérhető, és privát keretek között továbbítani a nyújtó kérésére.
Külön szabályokat írnak le az AI-asszisztensek által készített jelentések átadására. Ilyen jelentésekből sok érkezik, és ezek segítségével időről időre sikerül hibákat felfedezni a rosszul átnézett kódokban, de a nyújtók gyakran figyelmen kívül hagyják őket a gyenge minőségük és pontatlanságuk miatt. Az AI-val támogatott jelentések főbb követelményei a következők:
- Rövidség, felesleges szólamok nélkül, a lényeg és a fontos részletek megadásával már a legelején.
- Csak sima szöveg, Markdown-tagek és díszítés nélkül.
- A fenyegetések modelljének megértése és a vizsgált tények (például: „a hiba lehetővé teszi, hogy bármely felhasználó megszerezze a CAP_NET_ADMIN-t”), nem elméleti találgatások vagy a sebezhetőség következményeivel kapcsolatos spekulációk.
- A jelentés elküldése előtt alaposan tesztelni kell az AI által létrehozott exploit működését, és meg kell győződni arról, hogy reprodukálható a probléma.
- AI bevonása a felfedezett probléma javításának kidolgozásába és tesztelésébe.
Statisztikák szerint a jelentések többsége, amelyet a sebezhetőségek kijavításaként küldenek el, nem az, ezért ezeket a hagyományos hibákhoz hasonlóan kell kezelni. A Linux kernel fenyegetési modellje a sebezhetőségek és a normál hibák elválasztására szolgál. A következő lehetőségek és garanciák megsértése sebezhetőségnek számít:
- Felhasználói szintű izoláció: fájlokhoz való hozzáférés csak a tulajdonos számára, a folyamat memóriája nem elérhető más felhasználók számára, a ptrace más felhasználók folyamataira letiltva, IPC és hálózati kommunikációk izolációja.
- Capabilities-alapú védelem: CAP_SYS_ADMIN nélkül nem lehet megváltoztatni a kernel konfigurációját, a memóriát vagy a rendszer állapotát, CAP_NET_ADMIN nélkül nem lehet megváltoztatni a hálózati beállításokat vagy elkapni a forgalmat, CAP_SYS_PTRACE nélkül pedig nem lehet nyomon követni más felhasználók folyamatait.
- A felhasználói azonosítók névkörének (CONFIG_USER_NS) lehetősége lehetővé teszi az alacsony jogosultságú felhasználók számára, hogy saját elkülönített környezeteket hozzanak létre, amelyek nem befolyásolhatják a globális névkört, például nem változtathatják meg az időt, nem tölthetnek be modulokat és nem szerelhetnek fel blokkező eszközöket.
- A hibakeresési interfészek (proc/kmsg, perf, debugfs), amelyek bizalmas információkhoz való hozzáférést biztosítanak, csak akkor érhetők el, ha az adminisztrátor kifejezetten engedélyezi a hozzáférést.
Olyan lehetőségek, amelyek nem tekinthetők sebezhetőségeknek:
- Elavult kernel ágak használata.
- A fejlesztői módosításokat vagy a biztonságot csökkentő opciókat engedélyező összeállítás (például CONFIG_NOMMU).
- Biztonsági szempontból kockázatos sysctl beállítások, parancssori opciók, fájlrendszeren belüli hozzáférési jogok, capabilities vagy nem privilégizált felhasználóknak a privilégizált interfészekhez való hozzáférés biztosítása (például írási jogosultság a procfs és debugfs alá).
- Olyan problémák, amelyek a kernel kifejlesztésére és hibakeresésére szolgáló funkcióknál tapasztalhatók, mint a LOCKDEP, KASAN és FAULT_INJECTION, amelyeket nem szabad munkakörnyezetekben engedélyezni.
- Problémák a meghajtókban, modulokban és alrendszerekben, amelyek a STAGING szekcióban találhatók, vagy kísérleti, nem biztonságos vagy nem működőként vannak megjelölve.
- Harmadik féltől származó kernel modulok vagy nem hivatalos kernel forkok használata.
- Túlzott jogosultságok követelménye, például a root jogokkal való tevékenységek végrehajtásának szükségessége, vagy olyan felhasználótól, aki rendelkezik a CAP_SYS_ADMIN, CAP_NET_ADMIN, CAP_SYS_RAWIO és CAP_SYS_MODULE jogokkal.
- Elméleti támadások, amelyek laboratóriumi körülményeket, milliárdnyi próbálkozást, hardver emulációt vagy módosítást, aránytalan költségeket és irreális konfigurációkat igényelnek (például rendszerek, amelyek tizede ezer CPU maggal rendelkeznek).
- A védelmi mechanizmusok megkerülése (például ASLR) anélkül, hogy exploit bemutatásra kerüljön. Argumentumellenőrzések és visszatérési kódok hiánya, amelyeknek nincsenek nyilvánvaló következményeik.
- Véletlenszerű információszivárgások, amelyek az támadók által nem ellenőrzöttek, például maradék adatok hibaüzenetekben és a kernel memóriacímek/címek szivárgása közvetlen kihasználási lehetőség nélkül.
- Hibák sérült lemezképek csatlakoztatásakor, ha a meghajtó nem ismert, hogy megbízható médiaforrásokkal használható. Lemezkép problémák, amelyeket az fsck segédeszköz futtatásával lehet észlelni és orvosolni.
- Olyan támadások, amelyek fizikai hozzáférést igényelnek a hardverhez, hardver módosításhoz vagy olyan hardver eszközök csatlakoztatásához, mint a DMA támadásokhoz szükséges kártyák és logikai analizátorok, ha a rendszer nem lett kifejezetten beállítva az ilyen támadások védelmére (IOMMU).
- Regressziók a funkcionalitásban és a teljesítményben, amelyek a jogosultságok és korlátok beállításával kiküszöbölhetők.
Forrás: opennet.ru
