Google har i flere år jobbet med å øke bruken av minnesikre språk som Rust, for å redusere risikoen for minnerelaterte sårbarheter som gjerne forbindes med språk som C og C++.
Men helt kvitt C og C++ blir de ikke. Det går frem av en bloggpost skrevet av fire Google-utviklere, melder The Register.
– Gitt den mengden C++-kode vi bruker, så forventer vi at det i uoverskuelig fremtid vil gjenstå en del moden og stabil kode som ikke er minnesikker, skriver Google.
75 prosent av sårbarheter
Ifølge Googles egne tall, er 75 prosent av sårbarheter ("CVE-er") som brukes i nulldagsangrep relatert til nettopp minnesikkerhet.
Nulldagsangrep er når noen utnytter en såkalt nulldags-sårbarhet ("zero-day vulnerability"), en svakhet i programvare som ikke er kjent fra før.
Rundt 70 prosent av alvorlige feil i store kodebaser har ifølge dem med minnesikkerhet å gjøre.
– I Google har vi vært oppmerksomme på dette i over to tiår, og er i ferd med å øke minnesikkerheten i programvaren vi bruker og lager, skriver Google.
Selskapet skriver at de fra starten av begynte å ta i bruk minnesikre språk som Java og Python, og senere lagde programmeringsspråket Go. I dag er en stor andel av Googles kodebase skrevet i disse språkene.
I den senere tid har imidlertid Google satset stadig mer på Rust som minnesikkert programmeringsspråk, og har til og med skrevet om en del av sin egen Go-kode til Rust.
Google mener det er lett å erstatte C/C++ med Rust
Må lære å leve med koden
Google skriver at deres langsiktige strategi for å håndtere problemer knyttet til minnesikkerhet, er å integrere minnesikre språk i Googles kodebaser samtidig som de faser ut ikke-minnesikker kode i nyutviklet kode.
Men det vil altså fortsatt være en del C- og C++-kode som de kommer til å beholde.
Google sier imidlertid at de er nødt til å sørge for at denne koden blir så sikker som mulig. Dette skal gjøres blant annet gjennom det Google kaller "C++ hardening".
– Vi bygger på sikkerhet i stor skala i vår ikke-minnesikre kode, basert på vår erfaring med å eliminere sårbarheter på web.
– Selv om vi ikke vil gjøre C og C++ minnesikre, eliminerer vi undergrupper av sårbarheten i koden vi eier, samt reduserer risikoen for gjenværende sårbarheter gjennom ulike tiltak.
💡 Få også med deg denne: Under NDC TechTown på Kongsberg tidligere i høst snakket Helge Penne i Thales Norway om hvordan C++ ikke er laget for å håndtere dagens sikkerhetstrusler – og at språket kan forsvinne: