У новому звіті Офіс національного кібердиректора Білого дому (ONCD) закликав розробників використовувати “мови програмування, що не займають багато пам’яті” – категорія, яка виключає популярні мови. Порада є частиною стратегії кібербезпеки президента США Байдена і є кроком до “захисту будівельних блоків кіберпростору”.
Неправильне керування пам’яттю в програмному коді може призвести до серйозних вразливостей, дозволяючи зловмисникам здійснювати кібератаки. Мови програмування, такі як Java, завдяки своїм механізмам виявлення помилок під час виконання, вважаються безпечними щодо управління пам’яттю. На відміну від них, C і C++ дають змогу розробникам виконувати операції з покажчиками і звертатися безпосередньо до адрес у пам’яті комп’ютера. Це включає в себе читання і запис даних у будь-якому місці пам’яті, до якого вони можуть отримати доступ через покажчик.
У 2019 році інженери з безпеки Microsoft повідомили, що близько 70% вразливостей були спричинені проблемами безпеки пам’яті. У 2020 році компанія Google повідомила про таку ж цифру, але вже для багів, знайдених у браузері Chromium.
“Експерти визначили кілька мов програмування, яким не тільки не вистачає рис, пов’язаних з безпекою пам’яті, але й вони широко розповсюджені в критично важливих системах, таких як C і C++”, – йдеться у звіті. “Вибір на користь безпечних для пам’яті мов програмування з самого початку, як це рекомендовано Дорожньою картою безпеки програмного забезпечення з відкритим вихідним кодом Агентства з кібербезпеки та інфраструктурної безпеки (CISA), є одним із прикладів розробки безпечного програмного забезпечення за принципом “від початку до кінця””.
Мета 19-сторінкового звіту – переконатися, що відповідальність за кібербезпеку лежить не лише на приватних особах та малому бізнесі. Натомість відповідальність лежить на великих організаціях, технологічних компаніях і, зрештою, на уряді.
У звіті не тільки вказується на проблеми з C і C++, а й пропонується низка альтернатив – мов програмування, визнаних “безпечними для пам’яті”. Серед рекомендованих Агентством національної безпеки (NSA) мов є: Rust, Go, C#, Java, Swift, JavaScript і Ruby. Ці мови містять механізми, що запобігають поширеним типам атак на пам’ять, у такий спосіб підвищуючи безпеку розроблюваних систем.
ONCD просить компанії та інженерів застосовувати найкращі практики в розробці програмного забезпечення та використовувати безпечне для пам’яті обладнання, щоб зменшити поверхню атаки, через яку зловмисники можуть атакувати. У самому звіті не було деталізовано, що саме вважається безпечними для пам’яті мовами програмування. Однак у листопаді 2022 року Агентство національної безпеки (АНБ) випустило інформаційний бюлетень з кібербезпеки, в якому детально описало мови програмування, які, на його думку, є безпечними для пам’яті.
У звіті також міститься заклик до кращого вимірювання безпеки програмного забезпечення. ONCD вважає, що кращі показники дають змогу постачальникам технологій краще планувати, передбачати та зменшувати вразливості до того, як вони стануть проблемою.
Цей звіт є останнім у низці кроків, зроблених урядом США. У березні 2023 року президент Байден підписав указ про кібербезпеку, який запустив процеси захисту програмного та апаратного забезпечення, а також налагодження зв’язків у технологічній галузі.
Читайте також:
С++ завжди буде в топі через свою можливість оптимізації. А безпека пам’яті це не баг а фіча
Фіча хуїча
“То я з прямим кутом переплутав… (с)” :))
“Серед рекомендованих Агентством національної безпеки (NSA) мов є: Rust, Go, C#, Java, Swift, JavaScript і Ruby.”
Байден топить за джаву, ясно понятно…
Важливими стратегічними питаннями опікуються…
Ще потрібно влаштувати брифінг “Android vs iOS”.
1. а звідки у статі взяли про Java? там же Rust вказаний.
2. не розумію сарказму, зараз справді є проблема у дирявому софті, особливо якщо це якесь легасі, а комбо, якщо було написанно на субпідряді хз ким.
1. У джерелі – ctrl+F “Java”
2. То чисто український сарказм, щоб зрозуміти, треба десь у Харкові програмувати, наприклад, чи у Куп’янську.
1 – не, першоджерело це перша лінка у пості (https://whitehouse.gov/wp-content/uploads/2024/02/Final-ONCD-Technical-Report.pdf)
власне звідти і скріншот.
Виходить що THD нафакапив, а ви взяли і переклали.
2 – не зрозумів.
Спробуємо розібратися. Дякую за уважність.
Білий Дім зміниться, а С++ лишиться