Amerykańska Agencja Bezpieczeństwa Narodowego opublikowała raport analizujący ryzyko wystąpienia podatności spowodowanych błędami podczas pracy z pamięcią, takimi jak dostęp do obszaru pamięci po jego zwolnieniu i przekroczenie granic buforów. Organizacje zachęca się do odchodzenia w miarę możliwości od języków programowania takich jak C i C++, które pozostawiają zarządzanie pamięcią programiście, w miarę możliwości, na rzecz języków, które zapewniają automatyczne zarządzanie pamięcią lub przeprowadzają kontrolę bezpieczeństwa pamięci w czasie kompilacji.
Zalecane języki, które zmniejszają ryzyko błędów spowodowanych niebezpieczną obsługą pamięci, to C#, Go, Java, Ruby, Rust i Swift. Jako przykład podaje się statystyki firm Microsoft i Google, według których około 70% luk w zabezpieczeniach ich oprogramowania wynika z niebezpiecznej obsługi pamięci. Jeżeli migracja do bezpieczniejszych języków nie jest możliwa, organizacjom zaleca się wzmocnienie zabezpieczeń poprzez zastosowanie dodatkowych opcji kompilatora, narzędzi do wykrywania błędów i ustawień systemu operacyjnego, które utrudniają wykorzystanie luk.
Źródło: opennet.ru