Chrome: 70% вразливостей виникають через проблеми з пам’яттю

2 хв. читання

Розробники Google проаналізували 912 критичних і небезпечних вразливостей, виправлених у стабільній гілці Chrome з 2015 року. Виявилось, що 70% суттєвих помилок спричинені проблемами із керуванням пам'яттю (помилки із вказівниками у коді C/C++). Половина з них (36,1%) — це порушення use-after-free, які виникають під час звернення до буфера.

piechart

Ця статистика збігається з даними Microsoft — у лютому 2019 року компанія заявляла, що 70% усіх оновлень безпеки за останні 12 років були пов'язані з проблемами пам'яті. В кодових базах обох компаній переважно використовується C і C++.

Архітектура безпеки Chromium передбачає, що в коді можуть виникати помилки, тому розробники використовували «пісочницю», аби обмежити вплив вразливостей. Протягом останніх років цю технологію застосовували для ізолювання вебсайтів, однак зараз вона досягла свого ліміту. Розробники пишуть, що більше немає сенсу відокремлювати процеси, адже на це витрачається забагато ресурсів.

Тож для захисту кодової бази розробники зосередяться на:

  • розвитку бібліотек C++ з функціями для безпечної роботи пам'яті та розширенні функцій збирача сміття Blink;
  • застосовувані апаратних механізмів захисту Memory Tagging Extension (MTE);
  • використанні компонентів з безпечніших мов програмування (Java, Kotlin, JavaScript, Rust, Swift та, можливо, інших).

Розробники розглядають декілька напрямків роботи, серед яких використання бібліотек для безпечної роботи — найменш ефективний, але й найдешевший варіант. Теоретично, переписати весь код мовою Rust було б продуктивніше, однак для цього потрібно найбільше ресурсів.

sat3-CHOc8l-XZb-Gic-Ch-W6w5-Q

Водночас розробники Google не будуть відмовлятися від «правила двох» (Rule Of 2). Воно передбачає, що код може відповідати максимум двом умовам з трьох: робота з неперевіреними вхідними даними, використання небезпечної мови (C/C++) та високі привілеї доступу.

index

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.6K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація