Pull to refresh

Офис по кибербезопасности Белого дома США призвал разработчиков переходить на безопасные ЯП типа Rust

Reading time2 min
Views14K

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

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

«Данный класс уязвимостей преследует цифровую экосистему уже более 35 лет. Задача устранения целых классов программных уязвимостей является срочной и сложной. В перспективе следует применять новые подходы для снижения этого риска», — говорится в докладе ONCD.

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

«Самый действенный способ уменьшить количество уязвимостей безопасности памяти — это гарантировать надёжность одного из составных элементов кибербезопасности: языка программирования. Использование языков программирования, обеспечивающих безопасность памяти, может исключить большинство ошибок безопасности памяти», — резюмируют авторы доклада. В качестве примера подходящих языков в ONCD приводится Rust.

В январе 2023 года изобретатель языка программирования C++ Бьёрн Страуструп ответил Агентству национальной безопасности (АНБ) США по поводу рекомендации ведомства отказаться от использования языков C и C++, перекладывающих управление памятью на разработчика, в пользу современных языков программирования (C#, Go, Java, Ruby, Rust и Swift), которые обеспечивают автоматическое управление памятью или выполняющие проверки безопасной работы с памятью во время компиляции кода. Страуструп призвал АНБ со своей стороны сначала серьёзно подумать о «безопасности» новых языков и только потом предлагать что-нибудь разумное по этому поводу. Учёный и разработчик считает, что упомянутые в отчёте АНБ «безопасные» языки программирования на самом деле не превосходят C++ в важных с его точки зрения применениях.

В ноябре 2022 года АНБ выпустило отчёт, в котором указало на то, что широко используемые языки программирования C и C++ дают хакерам больше возможностей для использования эксплойтов. В связи с этим АНБ рекомендует организациям переходить на безопасные языки программирования, такие как C#, Go, Java, Ruby, Rust и Swift. По мнению экспертов, это поможет предотвратить возникновение определённых типов уязвимостей, связанных с памятью.

Tags:
Hubs:
Total votes 8: ↑8 and ↓0+8
Comments17

Other news