Ohumudel ja haavatavuste hindamise omadused Linuxi tuumas

Linus Torvalds has incorporated into the kernel a document that regulates the process of handling security-related issues, outlines the threat model, clarifies which errors in the kernel are classified as vulnerabilities, and discusses actions regarding errors identified with the help of AI. The document was prepared by Willy Tarreau, the author of HAProxy and a long-time Linux kernel developer responsible for maintaining several stable branches of the kernel. It is based on agreements reached during discussions of recently uncovered critical vulnerabilities in the kernel (1, 2, 3, 4), which were disclosed before the release of patches and for which working exploits were created immediately using AI.

The majority of security-related errors are prescribed to be handled publicly to attract the widest possible audience and find the optimal solution. A separate private mailing list is recommended for sending only urgent notifications about easily exploitable vulnerabilities that pose a threat to many users and allow for privilege escalation or extended capabilities.

Vulnerabilities identified with the help of AI assistants are always recommended to be discussed publicly, as such issues are often discovered simultaneously by multiple researchers. It is important not to disclose the exploit in the report — simply mention that it is available and provide it privately in response to a request from the maintainer.

The rules for submitting reports created with the assistance of AI assistants are described separately. Many such reports are sent, and they occasionally help identify errors in poorly reviewed areas of the code, but maintainers often ignore them due to low quality and inaccuracies. The main requirements for reports created with AI involvement are:

  • Conciseness, without fluff, stating the essence and important details at the very beginning.
  • Only plain text without Markdown tags or decoration.
  • Understanding the threat model and indicating the verified facts (for example, 'the error allows any user to gain CAP_NET_ADMIN'), rather than theoretical musings and conjectures about the consequences of the vulnerability.
  • Enne aruande saatmist tuleb kindlasti hoolikalt testida AI abil loodud eksploitit ning veenduda, et probleem on vĂ”imalik kordude.
  • AI kaasamine avastatud probleemi parandamise vĂ€ljatöötamiseks ja testimiseks.

Saadud statistika kohaselt ei ole enamiku veateadete, mis saadetakse turvaauku kÔrvaldamise vormis, sellised ning neid tuleb kÀsitleda tavapÀraste vigadena. Turvaohtude mudel on kirjeldatud Linuxi tuumas, et eristada haavatavusi ja tavapÀraseid vigu. VÔimalused ja tagatised, mille rikkumist vÔib lugeda haavatavuseks:

  • Kasutajate tasandil isoleerimine: omaniku failidele on juurdepÀÀs vaid omanikul, protsessi mĂ€lu ei ole teistele kasutajatele kĂ€ttesaadav, ptrace on keelatud teiste protsesside jaoks, IPC ja vĂ”rgusĂ”numite isoleerimine.
  • Capabilities-pĂ”hine kaitse: ilma CAP_SYS_ADMINita ei saa tuuma konfiguratsiooni, mĂ€lu ega sĂŒsteemi olekut muuta; ilma CAP_NET_ADMINita ei saa vĂ”rgunĂ€itajaid muuta ega liiklust jĂ€lgida; ilma CAP_SYS_PTRACEta ei saa jĂ€lgida teiste kasutajate protsesse.
  • Kasutaja ID-de nimede ruum (CONFIG_USER_NS) vĂ”imaldab mitteprivileegitud kasutajatel luua isoleeritud keskkondi, millest ei saa mĂ”jutada globaalses nimede ruumis, nĂ€iteks muuta aega, laadida mooduleid ja mountida plokkseadmeid.
  • Silumisliidesed (/proc/kmsg, perf, debugfs), mille kaudu saab ligi konfidentsiaalsele teabele, on kĂ€ttesaadavad ainult pĂ€rast administreerija selge ligipÀÀsu andmist.

VÔimalused, mida ei peeta haavatavusteks:

  • Ajalooliste tuumade harude kasutamine.
  • Koostamine, kus on sisse lĂŒlitatud arendajate vĂ”i turvakaalu vĂ€hendavad valikud (nt CONFIG_NOMMU).
  • Ohtlike sysctl-e seadete, kĂ€surea valikute, failisĂŒsteemi Ă”iguste, capabilities-e mÀÀramine vĂ”i privileegitud liideste ligipÀÀsu avamine mitteprivileegitud kasutajatele (nt kirjaliku juurdepÀÀsu vĂ”imaldamine procfs ja debugfs).
  • Probleemid funktsioonides, mis on mĂ”eldud ainult tuuma arendamiseks ja silumiseks, nagu LOCKDEP, KASAN ja FAULT_INJECTION, mis ei ole ette nĂ€htud töökonfiguratsioonidesse sisse lĂŒlitamiseks.
  • Probleemid draiverites, moodulites ja alamsĂŒsteemides, mis on STAGING jaotises vĂ”i mĂ€rgistatud kui katsetavad, ebaturvalised vĂ”i mittetöötavad.
  • Kolmandate osapoolte kernelimoodulite kasutamine vĂ”i mitteametlike kerneliformaatide kasutamine.
  • ÜlejĂ”uliste privileegide nĂ”udmine, nĂ€iteks vajadus teha tegevusi root-Ă”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 laboratoorseid tingimusi, miljardeid katsetusi, emuleerimist vĂ”i seadmete modifitseerimist, ebaproportsionaalseid kulutusi ja ebatavalisi konfiguratsioone (nt sĂŒsteemid kĂŒmnete tuhandete CPU-keradega).
  • Kaitsemehhanismide (nt ASLR) ĂŒmbersuunamine ilma eksploaadi demonstreerimata. Argumentide ja tagastatud veakoodide kontrollide puudumine, millel ei ole ilmseid tagajĂ€rgi.
  • Juhuslikud teabe leket, mis pole rĂŒndajate kontrolli all, nagu jÀÀkandmed veateadetes ja tuumamĂ€lu aadresside/viidete leke ilma otsese Ă€rakasutamise vĂ”imaluseta.
  • Vigade pĂ”hjustamine kahjustatud ketta kujutiste monteerimisel, kui draiverit ei ole kuulutatud usaldusvÀÀrsete meediumite jaoks sobivaks. Ketaste kujutiste probleemid, mis tuvastatakse ja kĂ”rvaldatakse lĂ€bi fsck utiliidi kĂ€ivitamise.
  • RĂŒnnakud, mis nĂ”uavad fĂŒĂŒsilist juurdepÀÀsu seadmetele, seadmete modifitseerimist vĂ”i riistvaraseadmete ĂŒhendamist, nagu DMA rĂŒndepinkide ja loogiliste analĂŒsaatorite plaatide kasutamine, kui sĂŒsteem ei ole spetsiaalselt seadistatud selliste rĂŒnnakute kaitseks (IOMMU).
  • Funktsionaalsuse ja jĂ”udluse regressioonid, mis on kĂ”rvaldatavad Ă”iguste ja piirangute seadistamisega.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster