Сегодня 04 апреля 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
Тренды 🔥
Визг шин, рёв двигателей и атмосфера 90-х: гоночная игра #Drive Rally устремилась к выходу из раннего доступа 2 ч.
«Буду плакать слезами счастья»: датамайнеры Apex Legends заявили, что Titanfall 3 жива и выйдет в 2026 году 4 ч.
ИИ впервые стал студентом вуза — Венский университет прикладного искусства зачислил систему Flynn 4 ч.
Бенчмарк MLPerf показал, что ускорители AMD Instinct не уступают NVIDIA H200 4 ч.
Россия заняла четвёртое место по размеру аудитории в Kingdom Come: Deliverance 2, хотя игра в стране даже не продаётся 5 ч.
Трамп заявил, что сделка с TikTok близка к заключению, и тарифы могут пригодиться в переговорах с Китаем 8 ч.
Amazon добавила ИИ-функцию кратких обзоров книг Kindle, но предупредила о спойлерах 10 ч.
Инвесторы потребовали от Ubisoft пересмотреть условия сделки с Tencent и готовы добиваться своего через суд 16 ч.
Microsoft запустила собственный ИИ-поисковик Copilot Search 16 ч.
Спустя почти пять лет после дебюта на консолях The Last of Us Part II наконец вышла на ПК 16 ч.
Российские операторы получат низкие частоты для 5G не раньше 2029 года — сейчас диапазон занят телевещателями 3 мин.
Рост российского рынка IT встал на паузу — заказчики ждут возвращения зарубежных разработчиков 50 мин.
G.Skill представила самые быстрые в мире 64-Гбайт модули памяти для ПК 54 мин.
Учёные разработали техпроцесс для массового производства перовскитных солнечных панелей на Луне 60 мин.
Многие контрактные производители электроники не знают, где им строить фабрики после введения новых тарифов США 2 ч.
Parasail привлекла $10 млн стартового капитала и выступила «агрегатором ускорителей» с парком чипов больше, чем у Oracle 2 ч.
У российских производителей электроники простаивает половина цехов из-за бурного роста дешёвого контрактного производства 3 ч.
Богатейшие люди мира за день потеряли $208 млрд из-за новых пошлин США 3 ч.
Cyclotech начала тесты проворного летающего автомобиля с роторными «бочонками» вместо пропеллеров 3 ч.
NVIDIA может переключиться на выполнение заказов только из Китая в преддверии усиления санкций США 3 ч.