Site icon VGolos..ORG

10 правил НАСА для розробки безпечного коду

667d15094b6d9.webp

Лабораторія надійного програмного забезпечення NASA Jet Propulsion Laboratory розробила набір рекомендацій щодо розробки коду., критичного для безпеки. 10 правил NASA призначені для усунення практик кодування C, які ускладнюють перегляд або належний аналіз за допомогою інструментів статичного аналізу.

Що таке сила кодування NASA?

Якщо ви хочете підвищити безпеку своїх вбудованих систем, ви можете почати з кодування, як NASA, чиї критично важливі проекти, запущені в екстремальних умовах космічного простору, вимагають надзвичайного контролю безпеки. Суворі стандарти кодування із суворими правилами та вимогами запобігають помилкам із самого початку та забезпечують безпеку вбудованого програмного забезпечення.

З 2006 року NASA дотримується розроблених ними 10 правил, спрямованих на тестування, читабельність і надійність.

Інструкції з кодування допомагають командам розробників писати чистіший код і застосовувати найкращі методи кодування, щоб якість залишалася високою протягом усього життєвого циклу розробки та використання програмного забезпечення. Подібно до багатьох інструкцій, які мають важливе значення для безпеки, 10 правил кодування NASA націлені насамперед на мову програмування C і допомагають розробникам перевірити надійність важливих програм, написаних мовою C.

10 правил NASA для розробки критично важливого для безпеки коду:

  1. Обмежте весь код дуже простими конструкціями потоку керування — не використовуйте оператори goto, конструкції setjmp або longjmp або пряму чи непряму рекурсію.
  2. Надайте всім циклам фіксовану верхню межу.
  3. Не використовуйте динамічний розподіл пам’яті після ініціалізації.
  4. Жодна функція не повинна бути довшою за те, що можна надрукувати на одному аркуші паперу в стандартному форматі з одним рядком на заяву та одним рядком на декларацію.
  5. Щільність тверджень коду має складати в середньому мінімум два твердження на функцію.
  6. Оголошуйте всі об’єкти даних на найменшому можливому рівні видимості.
  7. Кожна функція, що викликає, повинна перевіряти значення, що повертається непустими функціями, а кожна викликана функція повинна перевіряти дійсність усіх параметрів, наданих викликачем.
  8. Використання препроцесора має бути обмежене включенням файлів заголовків і простих макровизначень.
  9. Обмежте використання покажчика одним розіменуванням і не використовуйте покажчики на функції.
  10. Компіляція з усіма можливими активними попередженнями; перед випуском програмного забезпечення слід усунути всі попередження.

Як запровадити 10 правил NASA

Найкращий спосіб забезпечити важливий для безпеки код — використовувати статичний аналізатор коду .

Статичні аналізатори коду забезпечують виконання правил кодування та позначають порушення стандартів. Klocwork від Perforce поставляється з якісними таксономіями кодування — NASA, MISRA та AUTOSAR — для забезпечення безпечного, надійного та сумісного програмного забезпечення.

Виконання статичного аналізу є важливою частиною процесу розробки критично важливих для безпеки додатків і інструменту, який можна використовувати при дотриманні стандартів функціональної безпеки, таких як IEC 61508 і EN 50128 . Klocwork може перевірити ваш код на відповідність інструкціям NASA з кодування, щоб автоматично позначати порушення та забезпечити дотримання свого стандарту кодування якості.

Що таке Klocwork?

Klocwork від Perforce – це інструмент статичного аналізу коду (SAST), який допомагає розробникам програмного забезпечення виявляти та виправляти помилки, дефекти безпеки та інші проблеми в коді до його компіляції та запуску.

Klocwork використовує декілька методів аналізу коду, включаючи:

Klocwork інтегрується з різними середовищами розробки, включаючи IDE, системи безперервної інтеграції (CI) та системи керування вихідним кодом (SCM). Це дозволяє розробникам вбудовувати статичний аналіз коду в свої робочі процеси та отримувати відгуки про код на ранніх стадіях розробки.

Klocwork пропонує ряд переваг, включаючи:

Klocwork використовується широким колом компаній, включаючи Fortune 500, урядові установи та організації з відкритим кодом.

Ось деякі з ключових характеристик Klocwork:

Подивіться самі, як Klocwork допомагає забезпечити безпеку коду – з сайту Perforce можна безкоштовно завантажити пробну версію Klocwork. Щодо комерційної версії, в Україні постачальником рішень є компанія Ідеалсофт.

Exit mobile version