Kees Cook, endine peamine sĂŒsteemiadministraator kernel.org ja Ubuntu Security Team'i juht, kes praegu töötab Google'is Androidi ja ChromeOS-i kaitsmise nimel, vĂ€ljendas muret praeguse veaparandamise protsessi ĂŒle stabiilsetes tuumaversioonides. Iga nĂ€dal lisatakse stabiilsetesse harudesse umbes sada parandust, ja pĂ€rast muudatusakna sulgemist lĂ€heneb jĂ€rgmise vĂ€ljaande jaoks nende arv tuhandeni (toimetajad hoiavad parandusi kinni akna sulgemiseni ja pĂ€rast â-rc1â vĂ€ljalaske loomist avaldavad need korrapĂ€raselt), mis on liiga palju ja nĂ”uab suurte tööjĂ”uressursside kasutamist Linuxi tuumapĂ”histe toodete hooldamiseks.
Kees usub, et tuuma veade lahendamise protsessile ei pöörata piisavat tĂ€helepanu ning tuumast puuduvad vĂ€hemalt 100 tĂ€iendavat arendajat koordineeritud tööks selles valdkonnas. Peamised tuumaarendajad lahendavad pidevalt vigu, kuid pole mingeid garantiisid, et need parandused kantakse ĂŒle kolmandate osapoolte kasutatavatesse tuumaversioonidesse. Erinevate Linuxi tuumapĂ”histe toodete kasutajatel pole ka vĂ”imalik jĂ€lgida, millised vead on parandatud ja millist tuuma nende seadmetes kasutatakse. LĂ”ppkokkuvĂ”ttes vastutavad omad toodete turvalisuse eest tootjad, kuid vĂ€ga intensiivsete veaparanduste avaldamise tingimustes stabiilsetes tuumaversioonides seisavad nad silmitsi valikuga â kas kanda edasi kĂ”ik parandused, valida vĂ€lja kĂ”ige olulisemad vĂ”i ignoreerida kĂ”iki parandusi.

LĂ”puks, ilma eraldi haruta haavatavuste parandustega ja saamata teavet, mis seob konkreetse probleemi turvalisusega, peavad Linuxi tuumapĂ”histe toodete tootjad pidevalt kandma ĂŒle kĂ”ik parendused uusimmatesse stabiilsetesse hargnendesse. Kuid see töö nĂ”uab suurt teadmiste ja tööjĂ”u mahtu ning ettevĂ”tetes tĂ”rjutakse sageli sellistele tegevustele, kartes regressiivsete muudatuste tekkimist, mis vĂ”ivad toote tavapĂ€rast toimimist hĂ€irida.
Tuletame meelde, et Linus Torvalds leiab, et kĂ”ik vead on olulised ja haavatavusi ei tohiks eristada teistest vigade liikidest ega tĂ”sta neid eraldi kĂ”rgema prioriteediga kategooriasse. Sellist nĂ€gemust selgitab see, et tavalisele arendajale, kes ei spetsialiseeru turvalisuse kĂŒsimustele, ei ole parandus ja potentsiaalne haavatavus alati ilmne (paljude paranduste puhul on ainult eraldi auditi teostamine see, mis vĂ”imaldab mĂ”ista, et need on seotud turvalisusega). Linuse arvates peaksid potentsiaalsete haavatavuste eristamisega hĂ”ivatud rĂŒhmad olema turbespetsialistid, kes vastutavad Linuxi jaotustes tuuma paketihalduse eest.
Kees Cook usub, et ainus lahendus tuumiku turvalisuse sĂ€ilitamiseks mĂ”istlike pikaajaliste kuludega on ettevĂ”tete inseneride ĂŒleviimine tuumiku paranduste lokaliseerimise koordineeritud koostöösse, et hallata parandusi ja haavatavusi peamises tuumikus (upstream). Praeguses olukorras kasutavad paljud tootjad oma toodetes mitte kĂ”ige uuemaid tuumiku versioone ja kohandavad parandusi omal kĂ€el, mistĂ”ttu insenerid erinevates ettevĂ”tetes dubleerivad oma tööd, lahendades sama probleemi.
NĂ€iteks kui 10 ettevĂ”tet, kus igas on ĂŒks insener, tegelevad sama paranduse tagasiviimisega, suunata need insenerid upstream viga kĂ”rvaldamisse, siis nad saaksid ĂŒhe paranduse asemel lahendada 10 erinevat viga ĂŒldiseks hĂŒvanguks, vĂ”i liituda ettepanekute ĂŒlevaatamisega ja vĂ€ltida vigase koodi kaasamist tuumikusse. Ressursse saaks suunata ka uute testimis- ja koodi analĂŒĂŒsi tööriistade loomisele, mis vĂ”imaldaksid varases etapis automaatselt tuvastada korduvaid vigu.
Kees Cook soovitab ka aktiivsemalt kasutada automatiseeritud ja fuzzing-testimist tuumiku arendamise protsessis, rakendada pideva integreerimise sĂŒsteeme ja loobuda arhailisest arenduse haldamisest e-posti teel. Praegusel hetkel hĂ€irib efektiivset testimist see, et peamised testimisprotsessid on eraldatud arendamisest ja toimuvad alles pĂ€rast versioonide loomist. Kees soovitas ka vigade arvu vĂ€hendamiseks kasutada arenduses keeli, mis tagavad rohkem kĂ”rge turvalisuse tase, nagu Rust.
Allikas: opennet.ru
