Белый дом только что предостерег от использования этих популярных языков программирования.
По данным Белого дома, некоторые из любимых языков программирования разработчиков создают наибольший риск для систем, требующих максимальной безопасности.
Санкционированное правительством Управление национального кибер-директора (ONCD) недавно опубликовало отчет , в котором подробно описано, что оно рекомендует разработчикам использовать различные «языки программирования, безопасные для памяти». В этот список не включены популярные языки, такие как C и C++, которые, как считается, имеют недостатки в безопасности памяти, что делает их угрозой безопасности.
Как отмечает Tom's Hardware , безопасность памяти — это защита, встроенная в доступ к памяти, которая предотвращает ошибки и уязвимости. К таким примерам относятся проверки обнаружения ошибок во время выполнения в Java, который считается языком, безопасным для памяти. Однако C и C++ не имеют проверок безопасности и допускают прямой доступ к памяти.
Несколько компаний, в том числе Microsoft и Google, связали уязвимости безопасности с проблемами безопасности памяти в своих системах. В 2019 году Microsoft обнаружила, что около 70% уязвимостей безопасности были вызваны проблемами безопасности памяти. Google сообщил такую же цифру в 2020 году в отношении ошибок в своем браузере Chromium. Примечательно, что Microsoft только недавно расширила совместимость своего собственного App Store , включив в него использование разработчиками таких языков, как C++.
Поскольку C и C++ входят в число языков программирования, не имеющих встроенных проверок безопасности, ONCD рекомендует не использовать их в крупных организациях, технологических компаниях и государственных учреждениях. Этот совет совпадает со стратегией кибербезопасности президента Джо Байдена, направленной на «защиту строительных блоков киберпространства».
Несмотря на это, ONCD не имеет утвержденного списка языков программирования и просто просит компании использовать проницательность в своем программном обеспечении, а также выбирать аппаратное обеспечение с безопасным использованием памяти, чтобы минимизировать проблемы безопасности. Наиболее близким к санкционному списку из них является список, составленный Агентством национальной безопасности (АНБ) в 2022 году. К безопасным для памяти языкам относятся:
- Ржавчина
- Идти
- С#
- Джава
- Быстрый
- JavaScript
- Рубин
Tom's Hardware отмечает, что, хотя эти языки могут пройти проверку с точки зрения безопасности, многие из них не являются фаворитами разработчиков. В издании добавлено, что языки входят в топ-20, но стабильно популярны у разработчиков только четыре из них — C#, Java, Python и JavaScript.
Этот отчет является рекомендацией, а не правилом. Будет интересно посмотреть, как компании и разработчики будут с ним работать с течением времени.