Kees Cook frÄn Google har uppmanat till en modernisering av processen för felhantering i Linux-kÀrnan

Kees Cook, tidigare huvudsystemadministratör för kernel.org och ledare för Ubuntu Security Team, som nu arbetar pÄ Google för att sÀkerstÀlla sÀkerheten för Android och ChromeOS, uttryckte sin oro över den nuvarande processen för att ÄtgÀrda fel i stabila versioner av kÀrnan. Veckovisa ungefÀr hundra korrigeringar inkluderas i de stabila versionerna, och efter stÀngningen av fönstret för Àndringsupptagande nÀrmar sig antalet för nÀsta release tusen (utvecklarna behÄller korrigeringarna fram till fönstrets st stÀngning, och efter att '-rc1' har skapats publicerar de det som har samlats pÄ en gÄng), vilket Àr för mycket och krÀver stora arbetsinsatser för att stödja produkterna baserade pÄ Linux-kÀrnan.

Enligt Kees ges processen för att hantera fel i kĂ€rnan inte tillrĂ€cklig uppmĂ€rksamhet, och kĂ€rnan saknar minst 100 ytterligare utvecklare för ett samordnat arbete inom detta omrĂ„de. KĂ€rnans huvudutvecklare Ă„tgĂ€rdar regelbundet fel, men det finns inga garantier för att dessa korrigeringar kommer att överföras till versioner av kĂ€rnan som anvĂ€nds av tredjepartsproducenter. AnvĂ€ndare av olika produkter baserade pĂ„ Linux-kĂ€rnan har inte heller möjlighet att övervaka vilka fel som har Ă„tgĂ€rdats och vilken kĂ€rna som anvĂ€nds i deras enheter. Slutgiltigt Ă€r det producenterna som ansvarar för sĂ€kerheten hos sina produkter, men under de mycket intensiva publiceringarna av korrigeringar i kĂ€rnans stabila grenar har de stĂ€llts inför valet — att överföra alla korrigeringar, selektivt portera de mest viktiga eller att ignorera alla korrigeringar.

Kees Cook frÄn Google har uppmanat till en modernisering av processen för felhantering i Linux-kÀrnan
En optimal lösning skulle vara att endast överföra de mest kritiska bugfixarna och sÄrbarheterna, men den stora utmaningen ligger i att identifiera sÄdana fel frÄn den övergripande strömmen. Det största antalet plötsliga problem uppstÄr pÄ grund av anvÀndningen av sprÄket C, som krÀver stor noggrannhet nÀr det gÀller minne och pekare. Situationens svÄrighetsgrad ökar av att mÄnga potentiella sÄrbarhetsfixar inte fÄr CVE-ID:n eller fÄr sÄdana identifierare först efter en tid efter att fixen publicerats. Under dessa omstÀndigheter Àr det mycket svÄrt för tillverkare att skilja mellan sekundÀra fixar och viktiga sÀkerhetsproblem. Statistiskt sett ÄtgÀrdas mer Àn 40% av sÄrbarheterna innan de tilldelas en CVE och den genomsnittliga fördröjningen mellan utgivningen av fixen och tilldelningen av CVE Àr tre mÄnader (d.v.s. initialt uppfattas fixen som ett vanligt fel, men efter nÄgra mÄnader blir det klart att det handlade om en ÄtgÀrdad sÄrbarhet).

I slutÀndan, utan en separat gren för att ÄtgÀrda sÄrbarheter och utan att fÄ information om förhÄllandet till sÀkerheten under vissa problem, mÄste tillverkare av produkter baserade pÄ Linux-kÀrnan kontinuerligt överföra alla fixar frÄn de senaste stabila grenarna. Men detta arbete krÀver stora arbetsinsatser och möter motstÄnd i företagen pÄ grund av oro för regressiva förÀndringar som kan pÄverka produktens normala funktion.

LÄt oss pÄminna om att enligt Linus Torvalds Àr alla fel viktiga och sÄrbarheter bör inte separeras frÄn andra typer av fel och ges en sÀrskilt prioriterad kategori. Denna Äsikt förklaras av att det för en vanlig utvecklare, som inte specialiserar sig pÄ sÀkerhetsfrÄgor, inte Àr uppenbart hur en fix lÀnkar till en potentiell sÄrbarhet (för mÄnga fixar krÀver endast en separat granskning för att förstÄ att de rör sÀkerhet). Enligt Linus bör sÀkerhetsspecialister i team som ansvarar för kÀrnpaketstöd i Linux-distributioner arbeta med att identifiera potentiella sÄrbarheter bland den allmÀnna strömmen av fixar.

Kees Cook anserar att den enda lösningen för att bibehÄlla kÀrnsÀkerheten med rimliga lÄngsiktiga kostnader Àr att företag omdirigerar ingenjörer som arbetar med att portera patchar till lokala kÀrnbyggnader till ett samordnat arbete för att underhÄlla patchar och sÄrbarheter i upstream-kÀrnan. I sin nuvarande form anvÀnder mÄnga tillverkare inte de nyaste versionerna av kÀrnan i sina produkter och backportar patchar pÄ egen hand, vilket innebÀr att ingenjörer pÄ olika företag duplicerar sitt arbete för att lösa samma problem.

Till exempel, om 10 företag, dÀr varje företag har en ingenjör som backportar samma patchar, omdirigerar dessa ingenjörer till att ÄtgÀrda fel i upstream, skulle de istÀllet för att portera en patch kunna ÄtgÀrda 10 olika fel till allas fördel eller delta i granskningen av föreslagna förÀndringar för att förhindra att felaktig kod inkluderas i kÀrnan. Resurser skulle ocksÄ kunna riktas mot att skapa nya verktyg för testning och kodanalys som skulle kunna identifiera typiska felformer automatiskt i ett tidigt skede.

Kees Cook föreslÄr ocksÄ att man mer aktivt anvÀnder automatiserad och fuzzing-testning direkt under utvecklingen av kÀrnan, tillÀmpar system för kontinuerlig integration och avstÄr frÄn archaisk e-posthantering vid utveckling. För nÀrvarande hindras effektiv testning av det faktum att de huvudsakliga testprocesserna Àr separerade frÄn utvecklingen och sker först efter att releaserna har skapats. Kees rekommenderade ocksÄ att anvÀnda programmeringssprÄk som ger mer en hög sÀkerhetsnivÄ, sÄsom Rust.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster