Nova softverska inicijativa: C++ dobiva sigurnosnu nadogradnju putem sigurnih proširenja
C++ zajednica odgovara na sigurnosne probleme sa "Sigurnim C++ ekstenzijama". Nove tehnologije namijenjene su rješavanju sigurnosnih problema memorije i podržavanju postojećih kodova. Saznajte više!
Nova softverska inicijativa: C++ dobiva sigurnosnu nadogradnju putem sigurnih proširenja
U svijetu programiranja uvijek ima novih dostignuća, posebno kada je riječ o sigurnosti softvera. C++ zajednica trenutno je suočena s izazovom sve više i više stručnjaka koji hvale prednosti drugih programskih jezika koji nude veću sigurnost memorije. Kako bi se suprotstavili ovoj kritici, pokrenut je projekt “Sigurna C++ proširenja”.
Ovaj novi pokušaj ima za cilj riješiti postojeće ranjivosti C++-a, posebno u području sigurnosti memorije. Vinnie Falco, predsjednik C++ Alliancea, nazvao je prijedlog revolucionarnim. U izvješću Registra, naglasio je važnost dodavanja modernih sigurnosnih značajki memorije u C++, posebno u vrijeme kada je siguran kod potreban više nego ikada. Posljednjih godina učestali su zahtjevi za razvoj novih softverskih rješenja u programskim jezicima kao što su Rust, Go i Java, koji su poznati po svojoj sigurnosti.
Kritika C++-a i želja za promjenom
Još 2019. stručnjaci poput Alexa Gaynora ukazali su na ozbiljne sigurnosne propuste u velikim bazama koda, koji su prvenstveno uzrokovani sigurnosnim pogreškama u memoriji. O tim se problemima sve više raspravlja na tehničkim konferencijama. Prošle godine bilo je čak i glasova iz tehnološke industrije, poput Marka Russinovicha iz Microsofta, koji je predložio potpuno odbacivanje C i C++ u korist Rusta.
Iako je Bjarne Stroustrup, kreator C++-a, uvjeravao da njegov programski jezik u sadašnjem obliku može biti fundamentalno siguran za memoriju, ove izjave ne odjekuju kod svih. Kritičari vjeruju da C++ nije izvorno dizajniran da bude siguran za memoriju, što znatno otežava stvaranje koda koji je siguran za memoriju u praktičnim primjenama.
Projekt “Sigurna C++ proširenja” sada se bavi upravo ovim izazovom. Cilj mu je ispuniti preporuke agencija kao što su NSA i Agencija za kibernetičku sigurnost SAD-a, koje pozivaju na višu razinu sigurnosti u softverskim sustavima. Unatoč mnogim skepticima koji sumnjaju da C++ ikada može biti siguran kao jezici kao što su Rust ili Swift, programeri Sean Baxter i Christian Mazakas pokazuju povjerenje u svoj plan. Tvrde da potpuni prijelaz na Rust često nije izvediv u praksi jer postoje značajne razlike među programskim jezicima.
Inovacije u programskim jezicima
Baxter ističe da projekt Safe C++ uvodi nove tehnologije za osiguranje sigurnosti memorije. Jedna od središnjih inovacija je “borrow check” koja služi za izbjegavanje grešaka poput “use-after-free”. Također će biti analize inicijalizacije koje imaju za cilj povećati sigurnost tipa. Ključna prednost ovog napora je da postojeći C++ kod može nastaviti raditi, dok programeri mogu postupno uključivati sigurnije značajke bez potrebe za ponovnom obukom za potpuno novi programski jezik.
Sveukupno, stvaranje "sigurnih C++ ekstenzija" pokazuje da je C++ zajednica spremna za razvoj i odgovor na hitne sigurnosne probleme. Ovo utire put za kombiniranje prednosti C++ sa zahtjevima za većom sigurnošću i da krajolik programskog jezika postane zanimljiviji i sigurniji. Pojedinosti o inovativnim pristupima mogu se pronaći u izvješću s winfuture.de.