Сегодня 17 ноября 2025
18+
MWC 2018 2018 Computex IFA 2018
реклама
Теги → c++

Белый дом рекомендовал отказаться от C и C++ в пользу безопасных языков программирования

Офис национального директора по кибербезопасности (ONCD) Белого дома США призвал разработчиков отказаться от использования языков программирования C и C++ в разработке критически важного ПО. Этот совет основывается на опасениях, связанных с безопасностью управления памятью — аспекте, играющем критическую роль в предотвращении уязвимостей, таких как переполнение буфера и висячие указатели.

 Источник изображения: xusenru / Pixabay

Источник изображения: xusenru / Pixabay

Неправильное управление памятью в программном коде может привести к серьёзным уязвимостям, позволяя злоумышленникам осуществлять кибератаки. Языки программирования, такие как Java, благодаря своим механизмам обнаружения ошибок во время выполнения, считаются безопасными в отношении управления памятью. В отличие от них, C и C++ позволяют разработчикам выполнять операции с указателями и обращаться непосредственно к адресам в памяти компьютера. Это включает в себя чтение и запись данных в любом месте памяти, к которому они могут получить доступ через указатель.

Однако эти языки не проводят автоматической проверки на то, выходят ли эти операции за пределы выделенного для данных или структур пространства в памяти. Такая проверка называется «проверкой границ». Отсутствие такой проверки означает, что программист может случайно или намеренно записать данные за пределы выделенного блока памяти, что может привести к перезаписи других данных, испорченным данным или, в худшем случае, к уязвимостям безопасности, которые злоумышленники могут использовать для выполнения вредоносного кода или получения контроля над системой.

Отчёт ONCD подчёркивает, что около 70 % всех уязвимостей в системе безопасности, выявленных инженерами Microsoft в 2019 году и Google в 2020 году, были связаны именно с нарушениями безопасности памяти. Эта статистика ясно демонстрирует необходимость переосмысления подходов к разработке ПО в контексте нынешней стратегии кибербезопасности США.

В отчёте не только указывается на проблемы с C и C++, но и предлагается ряд альтернатив — языков программирования, признанных «безопасными для памяти». Среди рекомендованных Агентством национальной безопасности (NSA) языков находятся: Rust, Go, C#, Java, Swift, JavaScript и Ruby. Эти языки включают в себя механизмы, предотвращающие распространённые типы атак на память, тем самым повышая безопасность разрабатываемых систем.

 Индекс TIOBE на февраль 2024 года (источник изображения: tiobe.com)

Индекс TIOBE на февраль 2024 года (источник изображения: tiobe.com)

Анализ популярности языков программирования по версии индекса TIOBE показывает, что из предложенных NSA языков C# занимает пятое место по популярности, Java — четвёртое, JavaScript — шестое, а Go — восьмое. Эти данные указывают на то, что часть рекомендуемых языков уже имеет широкое распространение и признание в профессиональном сообществе разработчиков.

Инициатива Белого дома выходит за рамки простого перечисления рекомендаций. Она включает в себя стратегический план по укреплению кибербезопасности на национальном уровне, что отражено в исполнительном приказе президента Джо Байдена (Joe Biden) от марта 2023 года. Этот документ задаёт направление для всестороннего сотрудничества между государственным сектором, технологическими компаниями и общественностью в целях разработки и внедрения безопасного ПО и аппаратных решений.

Заключение отчёта ONCD призывает к сознательному выбору языков программирования с учётом их способности обеспечивать безопасное управление памятью. Это не только техническое руководство для разработчиков, но и стратегическое направление для организаций, занимающихся разработкой критически важного ПО. Переход на использование языков программирования, гарантирующих безопасность памяти, может существенно снизить риск возникновения уязвимостей, повысить надёжность и безопасность цифровой инфраструктуры.


window-new
Soft
Hard
Тренды 🔥
Программный «ускоритель» Huawei обещает практически удвоить производительность дефицитных ИИ-чипов 28 мин.
Разработчики Pioner «с удвоенной силой» взялись за исправление главных проблем открытой «беты» и готовят новое тестирование 4 ч.
Бегун, который так и не вышел на старт: в Techland раскрыли подробности отменённой Dying Light 5 ч.
Глава Microsoft считает, что ИИ не должен обогащать лишь кучку техногигантов 7 ч.
Новая Splinter Cell умерла из-за увлечения Ubisoft играми-сервисами 8 ч.
«Базис» представляет новую версию Basis Dynamix Enterprise с поддержкой программно-определяемых сетей и зон доступности 8 ч.
Игровой движок Unreal Engine 6 выпустят значительно раньше ожидаемого 21 ч.
Apple сократила вдвое комиссию для разработчиков мини-приложений 21 ч.
В Госдуме предлагают штрафовать российские ресурсы за авторизацию пользователей через Gmail 16-11 15:52
Google готовится к запуску Gemini 3 — это может изменить расстановку сил в сфере ИИ 16-11 13:18
Colorful выпустила видеокарты iGame Ultra Z BTF 2.0 с «невидимым» питанием 44 мин.
Перегрузка энергосетей угрожает лидерству Нидерландов в сфере ЦОД — доступный водород продолжают игнорировать 51 мин.
Больше $300 млрд за пятилетку Samsung вложит в производство чипов, аккумуляторов и не только 2 ч.
Huawei представит технологию, позволяющую выжать из дефицитных ИИ-чипов максимум 2 ч.
Veir испытала сверхпроводящие кабели для ЦОД — до 3 МВт на впятеро большее расстояние, чем у обычных 4 ч.
Создатель ИИ-гаджета Rabbit R1 перестал платить зарплаты, но ожидает инвестиций на новое устройство 4 ч.
Стало известно, когда на дорогах России появятся беспилотные грузовики без людей в кабине 5 ч.
Huawei раскрыла дату анонса флагманов Mate 80 и складного Mate X7 5 ч.
Silicon Motion представила контроллер SM8388 для QLC SSD с интерфейсом PCIe 5.0 5 ч.
Nokia представила коммутаторы с пропускной способностью до 102,4 Тбит/с 5 ч.