Ohumudel ja haavatavuste hindamise omadused kernelis Linux

Linus Torvalds kiitis heaks kerneli dokumendi, mis kirjeldab turvalisusega seotud vigade kÀsitlemise protsessi, mÀÀratleb ohumudeli, selgitab, milliseid kerneli vigu kÀsitletakse haavatavustena, ja arutab, kuidas kÀsitleda tehisintellekti abil tuvastatud vigu. Dokumendi koostas Willy Tarreau, HAProxy autor ja pikaajaline kerneli arendaja. Linux, mis vastutab mitme stabiilse kerneli haru sÀilitamise eest. Raamistik pÔhines kokkulepetel, mis saavutati hiljuti tuvastatud kriitiliste kerneli haavatavuste (1, 2, 3, 4) arutelude kÀigus, mis avalikustati enne paranduste avaldamist ja millele tÀnu tehisintellektile loodi kohe toimivad Àrakasutamised.

Enamik turvalisusega seotud vigu tuleb avalikult kÀsitleda, et jÔuda vÔimalikult laia publikuni ja leida optimaalne lahendus. Eraldi privaatset meililisti kasutatakse ainult kiireloomuliste teadete saatmiseks haavatavuste kohta, mida on lihtne Àra kasutada, mis kujutavad endast ohtu paljudele kasutajatele ja vÔimaldavad laiendatud privileegide vÔi vÔimaluste saamist.

Tehisintellekti abiliste abil avastatud haavatavusi soovitatakse alati avalikult arutada, kuna selliseid probleeme avastavad sageli samaaegselt mitu uurijat. Siiski ei tohiks aruandes avaldada Àrakasutamist ennast; piisab lihtsalt selle kÀttesaadavuse mainimisest ja hooldaja palvel privaatselt jagamisest.

Tehisintellekti assistentide loodud aruannete esitamise reegleid kirjeldatakse eraldi. Selliseid aruandeid esitatakse suurel hulgal ja need aitavad aeg-ajalt tuvastada vigu halvasti lÀbi vaadatud koodiosades, kuid hooldajad ignoreerivad neid sageli madala kvaliteedi ja ebatÀpsuste tÔttu. Tehisintellekti loodud aruannete peamised nÔuded on jÀrgmised:

  • LĂŒhike, ilma liigse jututa ning pĂ”hiolemus ja olulised detailid kohe alguses vĂ€lja öeldud.
  • Lihtsalt tekst ilma Markdowni siltide vĂ”i kaunistusteta.
  • Ohumudeli mĂ”istmine ja kontrollitavate faktide esitamine (nt "viga vĂ”imaldab igal kasutajal saada CAP_NET_ADMIN"), mitte teoreetiliste spekulatsioonide ja oletuste tegemine haavatavuse tagajĂ€rgede kohta.
  • Enne aruande esitamist testige kindlasti tehisintellekti loodud Ă€rakasutamise funktsionaalsust ja veenduge, et probleemi on vĂ”imalik taasesitada.
  • Tehisintellekti kaasamine tuvastatud probleemi lahenduse vĂ€ljatöötamiseks ja testimiseks.

Hooldajate statistika kohaselt ei ole enamik haavatavuste paranduste varjus esitatud veateateid tegelikult haavatavused ja neid tuleks kÀsitleda tavaliste vigadena. Haavatavuste ja tavaliste vigade eristamiseks on vÀlja töötatud kerneli ohumudel. LinuxVÔimaluste ja garantiide hulgas, mille rikkumist vÔib pidada haavatavuseks:

  • Kasutajatasandi isolatsioon: failidele juurdepÀÀs on piiratud omanikuga, protsessimĂ€lule ei pÀÀse teised kasutajad ligi, ptrace on teiste protsesside jaoks keelatud, IPC ja vĂ”rgusuhtluse isolatsioon.
  • VĂ”imekutel pĂ”hinev kaitse: ilma CAP_SYS_ADMIN-ita ei saa muuta kerneli konfiguratsiooni, mĂ€lu ega sĂŒsteemi olekut; ilma CAP_NET_ADMIN-ita ei saa muuta vĂ”rgusĂ€tteid ega liiklust pealt kuulata; ilma CAP_SYS_PTRACE-ita ei saa jĂ€lgida teiste kasutajate protsesse.
  • Kasutaja ID nimeruum (CONFIG_USER_NS) vĂ”imaldab privilegeerimata kasutajatel luua oma isoleeritud keskkondi, kust nad ei saa globaalset nimeruumi mĂ”jutada, nĂ€iteks aega muuta, mooduleid laadida vĂ”i plokk-seadmeid ĂŒhendada.
  • Silumisliidesed (/proc/kmsg, perf, debugfs), mille kaudu pÀÀseb ligi konfidentsiaalsele teabele, on ligipÀÀsetavad alles pĂ€rast seda, kui administraator on neile selgesĂ”nalise juurdepÀÀsu andnud.

Funktsioonid, mida ei peeta haavatavusteks:

  • Kasutades vananenud kerneli harusid.
  • Loo arendaja valikute vĂ”i turvalisust vĂ€hendavate valikutega (nt CONFIG_NOMMU).
  • Ebaturvaliste sysctl-sĂ€tete, kĂ€surea valikute, failisĂŒsteemi juurdepÀÀsuĂ”iguste vĂ”i -vĂ”imaluste mÀÀramine vĂ”i privilegeerimata kasutajatele privilegeeritud liidestele juurdepÀÀsu lubamine (nĂ€iteks kirjutamisĂ”igus procfs- ja debugfs-failidele).
  • Probleemid funktsioonides, mis on mĂ”eldud ainult kerneli arendamiseks ja silumiseks, nĂ€iteks LOCKDEP, KASAN ja FAULT_INJECTION, mis ei ole mĂ”eldud tootmiskonfiguratsioonides lubamiseks.
  • Probleemid draiverites, moodulites ja alamsĂŒsteemides, mis asuvad STAGING jaotises vĂ”i on mĂ€rgitud eksperimentaalseks, ohtlikuks vĂ”i katkiseks.
  • Kolmandate osapoolte kerneli moodulite vĂ”i mitteametlike kerneli kahvlite kasutamine.
  • Liigsete Ă”iguste nĂ”udmine, nĂ€iteks toimingute sooritamine root'ina vĂ”i kasutaja poolt, kellel on CAP_SYS_ADMIN, CAP_NET_ADMIN, CAP_SYS_RAWIO ja CAP_SYS_MODULE Ă”igused.
  • Teoreetilised rĂŒnnakud, mis nĂ”uavad laboritingimusi, miljardeid katseid, riistvara emuleerimist vĂ”i modifitseerimist, ebaproportsionaalselt suuri kulusid ja ebareaalseid konfiguratsioone (nt sĂŒsteemid kĂŒmnete tuhandete protsessorituumadega).
  • Turvamehhanismide (nt ASLR) möödahiilimine ilma Ă€rakasutamise demonstreerimiseta. Argumentide valideerimise puudumine ja veakoodid, millel pole ilmseid tagajĂ€rgi.
  • Juhuslikud infolekked, mis on rĂŒndaja kontrolli alt vĂ€ljas, nĂ€iteks veateadetes olevad jÀÀkandmed ja kerneli mĂ€luaadressi/-pointeri lekked ilma otsese Ă€rakasutatavuseta.
  • Vead kahjustatud kettakujutiste paigaldamisel, kui draiverit ei ole deklareeritud sobilikuks ebausaldusvÀÀrsete andmekandjatega kasutamiseks. Kettakujutistega seotud probleeme saab tuvastada ja parandada fsck utiliidi kĂ€ivitamisega.
  • RĂŒnnakud, mis nĂ”uavad fĂŒĂŒsilist juurdepÀÀsu riistvarale, riistvara modifitseerimist vĂ”i riistvaraseadmete, nĂ€iteks DMA rĂŒnnakuplaatide ja loogikaanalĂŒsaatorite ĂŒhendamist, vĂ€lja arvatud juhul, kui sĂŒsteem on spetsiaalselt konfigureeritud selliste rĂŒnnakute eest kaitsmiseks (IOMMU).
  • Funktsionaalsuse ja jĂ”udluse regressioonid lahendati Ă”iguste ja piirangute kohandamise teel.

Allikas: opennet.ru

Ostke DDoS-kaitsega saitide jaoks usaldusvÀÀrne hostimine, VPS VDS-serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega, VPS VDS serverid | ProHoster