Офис национального директора по кибербезопасности (ONCD) Белого дома США опубликовал отчет, в котором рекомендует разработчикам отказаться от использования языков программирования C и C++ в разработке критически важного ПО. Это связано с опасениями, связанными с безопасностью управления памятью в этих языках, сообщает 3DNews со ссылкой на tomshardware.com.
Неправильное управление памятью может привести к серьезным уязвимостям, позволяя злоумышленникам осуществлять кибератаки. В качестве альтернативы Агентство национальной безопасности (NSA) предлагает использовать языки программирования, которые обеспечивают безопасное управление памятью, такие как Rust, Go, C#, Java, Swift, JavaScript и Ruby.
В отчете подчеркивается, что около 70% всех уязвимостей в системе безопасности, выявленных Microsoft в 2019 году и Google в 2020 году, были связаны именно с нарушениями безопасности памяти.
Инициатива Белого дома выходит за рамки простого перечисления рекомендаций. Она включает в себя стратегический план по укреплению кибербезопасности на национальном уровне, что отражено в исполнительном приказе президента Джо Байдена от марта 2023 года.
Переход на использование языков программирования, гарантирующих безопасность памяти, может существенно снизить риск возникновения уязвимостей, повысить надежность и безопасность цифровой инфраструктуры, считают в ONCD.
Анализ популярности языков программирования по версии индекса TIOBE показывает, что из предложенных NSA языков C# занимает пятое место по популярности, Java — четвёртое, JavaScript — шестое, а Go — восьмое. Эти данные указывают на то, что часть рекомендуемых языков уже имеет широкое распространение и признание в профессиональном сообществе разработчиков.