Nova programska pobuda: C++ prejme varnostno nadgradnjo prek varnih razširitev
Skupnost C++ se na varnostne pomisleke odzove z "varnimi razširitvami C++". Nove tehnologije so namenjene reševanju težav z varnostjo pomnilnika in podpiranju obstoječih kod. Več o tem!
Nova programska pobuda: C++ prejme varnostno nadgradnjo prek varnih razširitev
V svetu programiranja so vedno novi dogodki, zlasti ko gre za varnost programske opreme. Skupnost C++ se trenutno sooča z izzivom vse več strokovnjakov, ki hvalijo prednosti drugih programskih jezikov, ki ponujajo večjo varnost pomnilnika. Da bi preprečili to kritiko, je bil uveden projekt »Varne razširitve C++«.
Namen tega novega prizadevanja je odpraviti obstoječe ranljivosti C++, zlasti na področju varnosti pomnilnika. Vinnie Falco, predsednik C++ Alliance, je predlog označil za revolucionarnega. V poročilu Register je poudaril pomen dodajanja sodobnih varnostnih funkcij pomnilnika v C++, še posebej v času, ko je varna koda potrebna bolj kot kdaj koli prej. V zadnjih letih so bile pogoste zahteve po razvoju novih programskih rešitev v programskih jezikih, kot so Rust, Go in Java, ki so znani po svoji varnosti.
Kritika C++ in želja po spremembah
Strokovnjaki, kot je Alex Gaynor, so že leta 2019 opozorili na resne varnostne vrzeli v velikih kodnih bazah, ki jih povzročajo predvsem varnostne napake v pomnilniku. O teh problemih se vse pogosteje razpravlja na tehničnih konferencah. Lansko leto so se slišali celo glasovi iz tehnološke industrije, kot je Microsoftov Mark Russinovich, ki je predlagal popolno opustitev C in C++ v korist Rusta.
Čeprav je Bjarne Stroustrup, ustvarjalec C++, zagotovil, da je njegov programski jezik v sedanji obliki lahko načeloma varen za pomnilnik, te izjave ne odmevajo z vsemi. Kritiki verjamejo, da C++ prvotno ni bil zasnovan tako, da bi bil varen za pomnilnik, zaradi česar je veliko težje ustvariti kodo, varno za pomnilnik, v praktičnih aplikacijah.
Projekt »Varne razširitve C++« se zdaj spopada s točno tem izzivom. Njegov namen je izpolniti priporočila agencij, kot sta NSA in Agencija ZDA za kibernetsko varnost, ki zahtevajo višjo raven varnosti v programskih sistemih. Kljub številnim skeptikom, ki dvomijo, da je lahko C++ kdaj tako varen kot jezika, kot sta Rust ali Swift, razvijalca Sean Baxter in Christian Mazakas zaupata svojemu načrtu. Trdijo, da popoln prehod na Rust v praksi pogosto ni izvedljiv, ker obstajajo velike razlike med programskimi jeziki.
Novosti v programskih jezikih
Baxter poudarja, da projekt Safe C++ uvaja nove tehnologije za zagotavljanje varnosti pomnilnika. Ena osrednjih novosti je »preverjanje izposoje«, ki služi izogibanju napakam, kot je »use-after-free«. Na voljo bodo tudi analize inicializacije, ki so namenjene povečanju tipske varnosti. Ključna prednost tega prizadevanja je, da lahko obstoječa koda C++ še naprej deluje, medtem ko lahko razvijalci postopoma vključujejo bolj varne funkcije, ne da bi se morali ponovno usposobiti za popolnoma nov programski jezik.
Na splošno ustvarjanje »varnih razširitev C++« kaže, da je skupnost C++ pripravljena na razvoj in odziv na pereče varnostne pomisleke. To utira pot za združevanje prednosti C++ z zahtevami po višji varnosti in za bolj zanimivo in varno krajino programskega jezika. Podrobnosti o inovativnih pristopih lahko najdete v poročilu winfuture.de.