Linus Torvalds lisas tuuma dokumenti, mis reguleerib turvaprobleemide kĂ€sitlemise protsessi, mÀÀratleb rĂŒndemudeli, selgitab, milliseid vigu tuumas kĂ€sitletakse haavatavustena, ning kĂ€sitleb AI abil tuvastatud vigadega toiminguid. Dokumendi koostas Willy Tarreau, HAProxy autor ja pikaajaline Linuxi tuuma arendaja, kes vastutas mitme stabiilse tuuma haru hoolduse eest. Alusena on kasutatud kokkuleppeid, mis saavutati hiljuti ilmnenud kriitiliste haavatavuste arutelu kĂ€igus tuumas (1, 2, 3, 4), mis avati enne paranduste avaldamist ning millele, AI abil, suudeti kohe luua töötavad eksploidid.
Turvalisusega seotud vigade peamine hulk tuleks kÀsitleda avalikult, et kaasata vÔimalikult lai publikut ja leida optimaalne lahendus. Eraklasside postitusloendisse tuleks saata ainult erakorralised teated kergesti Àra kasutatavate haavatavuste kohta, mis ohustavad paljusid kasutajaid ja vÔimaldavad laiaulatuslikke privileege vÔi vÔimalusi.
AI-assistentide abil tuvastatud haavatavusi on alati soovitatav arutada avalikult, kuna sarnaseid probleeme avastavad sageli mitmed teadlased ĂŒheaegselt. Samas ei tohiks raportis paljastada eksploitatsiooni â piisab mainida, et see on saadaval, ja edastada see eraviisiliselt vastuseks saatjalt saadud nĂ”udmisele.
Ainult AI-assistentide abil koostatud aruanne edastamise reeglid on eraldi kirjeldatud. Selliseid aruandeid saadetakse vÀga palju ning nende kaudu on aeg-ajalt vÔimalik avastada vigu halvasti lÀbi vaadatud koodiosades, kuid saatjad ignoreerivad neid sageli madala kvaliteedi ja ebatÀpsuste tÔttu. AI kaasabil koostatud aruannetele kehtivad peamised nÔuded:
- LĂŒhidus, ilma liigse tekstita, esitledes sisu ja olulisi detaile juba alguses.
- Ainult puhas tekst ilma Markdowni mÀrkide ja kaunistusteta.
- Ohtude mudeli mĂ”istmine ja kontrollitavate faktide esitamine (nt "viga vĂ”imaldab igal kasutajal saada CAP_NET_ADMIN"), mitte teoreetilised arutelud ja oletused haavatavuse tagajĂ€rgede ĂŒle.
- Enne aruande saatmist tuleb kindlasti hoolikalt testida AI kaudu genereeritud eksploitatsiooni toimivust ja veenduda probleemi kordamise vÔimaluses.
- AI kaasamine avastatud probleemi parandamise vÀljatöötamisse ja testimise protsessis.
Statistika kohaselt saadetavate vigade aruannete enamuse puhul, mis esitatakse haavatavuste kÔrvaldamisena, ei ole need tegelikult sellised ning neid tuleks töödelda tavapÀraste vigade nagu tavaliste vigadega. Linuxi tuuma ohumudelis on kirjeldatud vahendeid ja garantiisid, mille rikkumist vÔib kÀsitleda haavatavusena:
- Kasutaja tasemel isoleerimine: juurdepÀÀs failidele ainult omanikule, protsessi mÀlu ei ole teistele kasutajatele kÀttesaadav, ptrace on keelatud teiste protsesside puhul, IPC ja vÔrgu side isoleerimine.
- Capabilities pĂ”hine kaitse: ilma CAP_SYS_ADMINita ei saa muuta tuuma konfiguratsiooni, mĂ€lu, sĂŒsteemi olekut, ilma CAP_NET_ADMINita ei saa muuta vĂ”rgu seadeid ega pĂŒĂŒda liiklust, ilma CAP_SYS_PTRACEita ei saa jĂ€lgida teiste kasutajate protsesse.
- Kasutaja identifikaatorite nimespaci (CONFIG_USER_NS) vÔimaldab mitteprivileegitud kasutajatel luua oma isoleeritud keskkondi, millest ei saa mÔjutada globaalset nimespacet, nÀiteks muuta aega, laadida mooduleid ja mountida plokiseadmeid.
- Debugging interface'd (/proc/kmsg, perf, debugfs), mille kaudu saab ligi pÀÀseda konfidentsiaalsele teabele, on saadaval ainult pÀrast administraatori selget juurdepÀÀsu andmist.
VÔimalused, mida ei kÀsitleta haavatavustena:
- Vanade tuumikute harude kasutamine.
- Koostamine koos arendajatele mÔeldud valikute vÔi turvalisust vÀhendavate seadistustega (nt CONFIG_NOMMU).
- Ohtlike sysctl seadete, kĂ€surea valikute, failisĂŒsteemi Ă”iguste, capabilities vĂ”i privileege avada mitteprivileegitud kasutajatele privileegitud liideste juurde pÀÀsemise (nt kirjutamisĂ”igus procfs ja debugfs).
- Probleemid funktsioonides, mis on ette nĂ€htud ainult tuuma arendamiseks ja silumiseks, nagu LOCKDEP, KASAN ja FAULT_INJECTION, mida ei ole mĂ”eldud tootmis konfiguratsioonidesse sisse lĂŒlitamiseks.
- Probleemid draiverites, moodulites ja allĂŒksustes, mis on STAGING sektsioonis vĂ”i mĂ€rgitud kui eksperimentaalsed, ohtlikud vĂ”i mittetöötavad.
- Kolmandate osapoolte tuumamoodulite vÔi mitteametlike tuumakoodide forkide kasutamine.
- Liigne privileegide nÔudmised, nagu vajadus teostada toiminguid root-kasutaja Ôigustega vÔi kasutajalt, kellel on Ôigused CAP_SYS_ADMIN, CAP_NET_ADMIN, CAP_SYS_RAWIO ja CAP_SYS_MODULE.
- Teoreetilised rĂŒnnakud, mis nĂ”uavad laboritingimusi, miljardeid katsetusi, seadmete emuleerimist vĂ”i modifitseerimist, liiga suuri kulusid ja ebausutavaid konfigureerimisi (nĂ€iteks sĂŒsteemid, millel on kĂŒmneid tuhandeid CPU tuumasid).
- Kaitsemehhanismide (nÀiteks ASLR) rikkumine ilma ekspluateerimise demonstreerimiseta. Argumentide ja tagastatud veakoodide kontrollide puudumine, mis ei too kaasa selgelt mingeid tagajÀrgi.
- Juhuslikud teabe lekked, mis on rĂŒndajatest sĂ”ltumatud, nagu jÀÀkandmed veateadetes ja mĂ€lu adresside/viidete lekked tuumale, ilma otsese ekspluateerimise vĂ”imaluseta.
- TÔrked vigaste kettapiltide mountimisel, kui draiverit ei ole kuulutatud usaldusvÀÀrsete kanduritega kasutamiseks sobivaks. Probleemid kettapiltidega, mis tuvastatakse ja kÔrvaldatakse fsck utiliidi kaudu.
- Ărimeetodid, mis nĂ”uavad fĂŒĂŒsilist juurdepÀÀsu seadmetele, seadmete muutmist vĂ”i riistvaraseadmete ĂŒhendamist, nagu DMA rĂŒnnaku plaadid ja loogilised analĂŒsaatorid, kui sĂŒsteem ei ole spetsiaalselt konfigureeritud selliste rĂŒnnakute tĂ”kestamiseks (IOMMU).
- Funktsionaalsuse ja jÔudluse regressioonid, mida saab lahendada Ôiguste ja piirangute seadistamisega.
Allikas: opennet.ru
