Yhdysvaltain kansallinen turvallisuusvirasto julkaisi raportin, jossa analysoidaan haavoittuvuuksien riskejä, jotka johtuvat virheistä muistin kanssa työskenneltäessä, kuten muistialueen avaamisesta sen vapauttamisen jälkeen ja puskurin rajojen ylittämisestä. Organisaatioita kehotetaan luopumaan ohjelmointikielistä, kuten C ja C++, jotka jättävät muistinhallinnan kehittäjälle mahdollisuuksien mukaan ja suosivat kieliä, jotka tarjoavat automaattisen muistinhallinnan tai suorittavat käännösajan muistin turvallisuustarkastuksia.
Suositeltuja kieliä, jotka vähentävät vaarallisen muistin käsittelyn aiheuttamien virheiden riskiä, ovat C#, Go, Java, Ruby, Rust ja Swift. Esimerkkinä mainitaan Microsoftin ja Googlen tilastot, joiden mukaan noin 70 % heidän ohjelmistotuotteidensa haavoittuvuuksista johtuu muistin vaarallisesta käsittelystä. Jos turvallisempiin kieliin siirtyminen ei ole mahdollista, organisaatioita kehotetaan vahvistamaan suojaustaan käyttämällä lisäkääntäjävaihtoehtoja, virheiden havaitsemistyökaluja ja käyttöjärjestelmän asetuksia, jotka vaikeuttavat haavoittuvuuksien hyödyntämistä.
Lähde: opennet.ru