Kernel bezbednost: Jedinstveni metod Linux-a za obezbeđivanje koda
Na Open Source Summit Japan, Linux developer Greg Kroah-Hartman rezimira trenutno stanje i buduće izazove bezbednosti kernela, uključujući duh regulative i osnovne muke neprekidnih nadogradnji.
Jedva da prođe dan bez pojave problema sa bezbednošću softvera
Greg Kroah-Hartman iz Linux Foundation održao je sveobuhvatno predavanje o trenutnom stanju i budućim izazovima bezbednosti Linux kernela. Govoreći na Open Source Summit (OSS) Japan 2023, Kroah-Hartman – održavalac stabilnog kernela Linux-a i prominentan član Linux kernel tima za bezbednost – osvetlio je evoluirajući pejzaž bezbednosti otvorenog koda, regulativne izazove i odgovor Linux kernela na ove probleme.
Jedva da prođe dan bez pojave problema sa bezbednošću softvera, a sada vlade pokušavaju da usmere kompanije i organizacije kako treba da ublaže bezbednosne probleme. Postoji samo jedan problem: Vlade jedva da razumeju kako koristiti softver, a kamoli kako otvoreni izvorni programeri kreiraju softver. Na primer, predloženi Zakon o sajber otpornosti (CRA) Evropske unije prepun je dobrih namera, ali nije dobar izbor za bilo koga ko gradi otvoren izvorni softver. Iako je najnovija verzija mnogo bolja, kako je Kroah-Hartman ukazao, to i dalje znači da budući da “ceo svet prodaje svoje uređaje i proizvode u EU, to će definisati njihove zahteve za bezbednost”.
Spremni smo da se nosimo s ovim novim talasom regulative? Nismo.
Što se tiče Linux zajednice, Kroah-Hartman je rekao da je tim za bezbednost Linux kernela suštinski reaktivan, za razliku od drugih timova za bezbednost koji usvajaju proaktivni pristup. Od svog formalnog osnivanja 2005. godine, tim je radio neformalno, bez korporativnih pripadnosti ili ugovora. Ovo omogućava neutralnost i fleksibilnost u rešavanju bezbednosnih problema. Ovaj pristup izgradio je poverenje među kompanijama i efikasno upravljao bezbednosnim problemima. “Postoje i druge grupe, timovi za bezbednost kernela i drugi projekti”, dodao je, “koji su proaktivni. Ali to nije ono što mi radimo. Mi samo reagujemo na probleme.”
I problema ima napretek. Na primer, Kroah-Hartman je naglasio trenutne izazove s bezbednošću hardvera, posebno u svetlu ranjivosti kao što su Spectre i Meltdown. Naime, kako je ukazao, prošlo je više od tri godine otkako su se pojavile ozbiljne greške u CPU-u, i dok “pokušavaju da ih poprave u hardveru, još jedan je upravo objavljen pre nekoliko sati. Dakle, ovome se ne nazire kraj.” To ističe kompleksnosti postupanja s embargom na hardveru i dužim razvojnim ciklusima hardvera u poređenju s softverom. Idealno, Kroah-Hartman želi da se hardverske kompanije “brže pokrenu”, stav koji dele vlade i regulatorna tela.
Kroah-Hartman je takođe primetio da “mnogi ljudi danas ne shvataju da dok model komercijalne distribucije Linux-a nije mrtav, to nije ni većina. 80% servera i sistema u svetu pokreće projekte otvorenog koda zasnovane na Debianu, Fedori ili openSUSE” – ne na Red Hat Enterprise Linux (RHEL) ili SUSE Linux Enterprise Server (SLES). Ta stvarnost komplikuje izazove bezbednosti jer, kako je objasnio Korah-Hartman, “zajednice koje rade s tim projektima otvorenog koda ne mogu potpisati ugovor o nerazglašavanju (NDA – non-disclosure agreement) jer njihovi članovi zajednice žive u drugim zemljama ili rade za različite kompanije.”
Umesto toga, tim za bezbednost razvojnih programera Linux kernela je “ad hoc neformalna grupa” bez ugovora. Kroah-Hartman je dodao: “I to je najbolja stvar koja nam se mogla dogoditi da postavimo pozornicu da to radimo na neutralan način prema kompanijama i vladi. To nas je sačuvalo od mnogo problema.”
Kako to funkcioniše: Ljudi šalju izveštaje o bezbednosti članovima grupe. Nema ni emailing liste. Postoji samo mala grupa, koja ne predstavlja nikakve kompanije. Kroah-Hartman je dodao: “Sve se drži u tajnosti, i od 2005. godine nikada nismo imali nikakve curenje informacija.” Ono što rade, Kroah-Hartman je nastavio, “je trijaža izveštaja, utvrđivanje šta nije u redu i uvođenje odgovarajućih programera, ako već nisu na listi, da naprave popravku što je pre moguće. Ova zakrpa zatim ulazi u stabilnu granu Linux-a. To je to.”
Kada kažu “što pre moguće”, misle na to. “Kada imamo popravku, najviše što ćemo čekati je sedam dana. To je,” Kroah-Hartman je nastavio, “nakon što imamo popravku. Kada dobijemo izveštaj, počinjemo da radimo na njemu što je pre moguće. Imali smo neke popravke koje su trajale više od godinu dana. Imali smo nekih problema s mrežom. Mislim da smo čekali 18 meseci pre nego što smo ga ispravili kako treba. Ali jednom kada ga ispravimo, popravka ide unutra.”
Grupa takođe ne objavljuje bezbednosne popravke. “Mi ništa ne objavljujemo. Ne kažemo ništa posebno. Samo to guramo kako bismo izgledali kao normalna ispravka greške.”
Da, to ljuti ljude. Ali, kako je Kroah-Hartman objasnio, “ljudima na timu za bezbednost, greška je greška. Nema ničeg posebnog u bezbednosnim ispravkama. I ako bezbednosne ispravke nazovemo posebnim, to znači da druge ispravke nisu posebne.”
To je greška jer, prema Kroah-Hartmanu, “svaka greška ima potencijal da bude bezbednosni problem na nivou kernela.” Mala ispravka koju je napravio pre nekoliko godina za TTY, manji podsistem u današnjem Linux-u, ispostavilo se da ima ubilačku bezbednosnu rupu. Omogućavala je bilo kome da dobije root na RHEL sistemima. Nikada ne znate gde ili kada će se pojaviti problem sa bezbednošću.
Kroah-Hartman je takođe primetio da dok “Linux kernel ima oko 30 miliona linija koda, koristite samo oko dva miliona linija na svom serveru, četiri miliona na svom telefonu i milion i po na svom televizoru. Ali ne znamo šta koristite. Linux je svuda, u vašim automobilima, u satelitima, i u aparatima za mužu krava. Ne znamo vaš upotrebni slučaj. Ne znamo kako koristite Linux. Ne znamo koja je bezbednosna struktura.” Zato se mora smatrati sveobuhvatnim i bitnim. Dakle, šta možete učiniti kako biste se zaštitili? Kroah-Hatman naglašava da uvek treba koristiti najnoviji dugoročni stabilni (LTS) kernel.
Nažalost, vrlo malo Linux distribucija to radi. Kritikovao je kompanije koje neredovno ažuriraju svoje kernele. Zastareli sistemi, s njegovog gledišta, inherentno su nesigurni.
To nije samo njegovo mišljenje. Nakon godina proučavanja, Kroah-Hartman je citirao Google Android tim za bezbednost, koji je utvrdio da su stabilni Linux kerneli rešili svaki poznati nedavni bezbednosni problem pre nego što su prijavljeni. Imaju dokumentovane dokaze da uzimanje stabilnih kernela uvek funkcioniše i da će vaši sistemi biti sigurni. Kao inženjer kernela Linuxa u Googleu, Kees Cook kaže: “Dakle, šta je prodavac dužan da radi? Odgovor je jednostavan, iako bolan: stalno ažurirajte na najnoviji izlazak kernela, bilo veliki ili stabilan.”
Izvor: Zdnet