Google приветствует переход на Rust, значительно сокративший число уязвимостей памяти

Google приветствует переход на Rust, значительно сокративший число уязвимостей памяти Google приветствует переход на Rust, значительно сокративший число уязвимостей памяти

Google выделила язык программирования Rust, обеспечивающий безопасность работы с памятью, как ключевой элемент в снижении уязвимостей в рамках своей инициативы «Safe Coding».

Уязвимости доступа к памяти часто возникают при использовании языков программирования, не обеспечивающих безопасность работы с памятью. В 2019 году проблемы с безопасностью памяти составляли 76% всех уязвимостей Android.

Реклама

В ответ на это многие разработчики и технологические гиганты переходят на использование языков программирования, обеспечивающих безопасность работы с памятью, что помогает создавать безопасное ПО с самого начала.

Уязвимости, медленно исчезающие

В своем блоге Google представила моделирование перехода к языкам, обеспечивающим безопасность работы с памятью, через постепенное использование такого кода в новых проектах и разработках за пятилетний период. В результате выяснилось, что несмотря на постепенное увеличение объема кода, написанного на небезопасных языках, уязвимости в безопасности памяти значительно сократились.

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

В процессе перехода Google на использование безопасных языков программирования, число уязвимостей, связанных с памятью, значительно сократилось. В 2024 году их доля снизилась до 24%, что значительно ниже уровня 2019 года и текущей нормы в отрасли в 70%.

Credit: Google (Image credit: Google)

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

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

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

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

Четвертая тактика Google заключалась в использовании высокоэффективной профилактики и развитии безопасной разработки. Используя языки программирования, такие как Rust, разработчики знают и понимают свойства написанного кода и могут выявлять уязвимости на их основе. Это снижает затраты на разработчиков за счет уменьшения количества уязвимостей с самого начала, включая те, которые не связаны с безопасностью памяти. Этот кумулятивный эффект также повышает производительность разработчиков.

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

Источник: TechRadar

Добавить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Будьте в курсе самых важных событий

Нажимая кнопку "Подписаться", вы подтверждаете, что ознакомились с нашими условиями и соглашаетесь с ними. Политика конфиденциальности и Условия использования
Реклама