Що потрібно знати про кібербезпеку індустрії 4.0 у вбудованих системах
Зараз технології процвітають як ніколи, і кожен день приносить нові продукти та функціональні можливості для будь-яких неймовірних завдань. Це вже не лише мобільні програми та комп’ютери. Натомість це все про вбудовані системи та пристрої Інтернету речей (IoT), які швидко стали настільки звичними як у нашому повсякденному житті, так і в таких галузях, як промислова автоматизація.
Складається враження, що на цих пристроях працює програмне забезпечення майже для всього: радіоняні, колонок, фітнес-трекерів, камер спостереження, термостатів і транспортних засобів, і це лише деякі з них.
Стосовно цього нового світу архітектор, професор Массачусетського технологічного інституту та письменник Ніколас Негропонте заявив: «Як повітря та питна вода, цифровість буде помітна лише за її відсутністю, а не за наявністю». На думку Негропонте, ми оточилися цифровими технологіями, і ми навіть не помічаємо їх, поки вони відсутні або не стануть проблемою безпеки.
Те, що ми знаємо як пристрої Інтернету речей, включаючи вбудовані системи, має процесори, датчики та інші функції, які підключаються через Інтернет. Коли ми говоримо про вбудовані системи, ми маємо на увазі процесори зі спеціальними функціями в рамках більшої цифрової, механічної чи електричної системи. Вбудованими системами можуть бути мікропрограми в пристроях IoT або електронні блоки керування (ECU) в автомобілях, роботах, пристроях для зчитування кредитних карток, мобільних телефонах, гаджетах, мережевому обладнанні, медичних пристроях або майже будь-чому.
Для організацій індустрія 4.0 змінює спосіб виробництва та розповсюдження продуктів. Безпека IoT і кібербезпека індустрії 4.0 стають дедалі складнішими, оскільки до вбудованих систем додається все більше компонентів, які сприяють продуктивності та інноваціям. Додайте такі технології, як хмарні обчислення та аналітика, машинне навчання та штучний інтелект, і індустрія 4.0 раптово стане набагато складнішим середовищем — розповсюдженим не лише на кількох пристроях і системах, але й на багатьох місцях і учасниках.
Управління безпекою (і безпекою) IoT і вбудованих систем не може бути ізольованим процесом. Натомість організації та групи розробників повинні зосередитися на забезпеченні програмного забезпечення, від якого залежить IoT, оскільки програмне забезпечення відповідає за продуктивність кожного пристрою та полегшує зв’язок між пристроями та системами.
Чому C і C++ важливі для безпеки програмного забезпечення вбудованих систем
Через обмеження розміру та вартості програмне забезпечення у вбудованих системах працює з обмеженими ресурсами комп’ютера для обробки, пам’яті та живлення. Через потребу в легкому програмному забезпеченні такі мови програмування, як C і C++, переважають у вбудованих системах, як і в ядрі Linux, на якому зараз працює більшість серверів у хмарі. Хоча C++ вимагає більше обчислювальних ресурсів, ніж C, доступність потужніших мікропроцесорів зробила C++ улюбленою мовою для мільйонів вбудованих систем у всьому світі.
Інші мови програмування, такі як Python, використовуються у вбудованих системах, але C і C++ є переважаючими мовами вибору. Існує також вбудований C++ (EC++), який є підмножиною мови C++, яка забезпечує більший простір і ефективність роботи з основною функціональністю повної мови C++. Сучасні мікропроцесори можуть бути завантажені компіляторами C++, що спрощує початок кодування для вбудованих систем.
Кодування для вбудованих систем не схоже на жодний інший тип програм. По-перше, у вас є обмеження на ресурси, а потім ви повинні створити стійкість до відмов, функціональність у реальному часі, надійність і, здебільшого, відсутність простоїв. Але, що важливіше, код має бути безпечним і надійним. Подумайте про важливість вбудованих систем і пристроїв Інтернету речей у сфері охорони здоров’я та фармацевтичній промисловості, автомобільній та аерокосмічній промисловості. Відсутність цієї технології буде не тільки помітною, але й критичною проблемою, якщо вони не будуть безпечними.
Чому статичний аналіз важливий для безпеки вбудованих систем і програмного забезпечення IoT
Уразливості безпеки програмного забезпечення часто з’являються під час розробки, тому їх виявлення на ранніх стадіях кодування запобігає проблемам безпеки надалі. Одним із найважливіших інструментів для забезпечення відсутності у вихідному коді недоліків, які можуть призвести до вразливостей і експлойтів, є статичний аналіз. Також відомий як статичне тестування безпеки додатків або SAST, статичний аналіз сканує вихідний код додатків, включаючи код для вбудованих систем і Інтернету речей для додатків кібербезпеки індустрії 4.0. Вузкоспеціалізоване сканування коду шукає конкретні недоліки на основі відповідної мови програмування та використовуваної структури. Інструменти статичного аналізу, такі як Perforce Helix QAC і Klocwork , також звітують про відповідність стандартам кодування.
Інструменти статичного аналізу дозволяють командам розробників і безпеки аналізувати тисячі або навіть мільйони рядків коду. Вони шукають недоліки в коді та забезпечують дотримання стандартів кодування на основі правил і політик. Найважливіше те, що вони стали невід’ємною частиною життєвого циклу розробки програмного забезпечення та етапом, який необхідно регулярно виконувати з вихідним кодом — кожного разу, коли код змінюється або перед випуском нового випуску.
Оскільки організації все більше використовують вбудовані системи та IoT, важливість безпеки також зростає, особливо з точки зору критично важливих функцій у різних галузях. Статичний аналіз виявлення недоліків безпеки може запобігти масовому виробництву дефектних пристроїв і зберегти гроші та репутацію компаній.
Безпека вбудованих пристроїв — це зменшення кількості вразливостей. Рівні серйозності різняться, причому дуже серйозні вразливості представляють вищий ризик критичного використання. Існує кілька поширених типів уразливостей у всьому програмному забезпеченні, незалежно від того, де воно розгорнуто. Наприклад, уразливості віддаленого виконання коду та міжсайтового сценарію. У вбудованих системах і пристроях IoT здебільшого вразливості пов’язані з переповненням буфера пам’яті , витоками ресурсів, неправильним контролем доступу, криптографічними проблемами та впровадженням коду. Це деякі з найпоширеніших уразливостей вбудованої безпеки , які виявляються під час сканування статичного аналізу у вбудованих системах.
Чому стандарти кодування важливі для вбудованих систем і безпеки Індустрії 4.0
Як згадувалося раніше, C і C++ переважно використовуються у вбудованих системах. Протягом багатьох років організації, що впроваджують індустрію 4.0 та IoT, визнали важливість безпеки у всьому коді, особливо для C та C++ у вбудованих пристроях, де вартість відмови може бути не лише фінансовою. Стандарти кодування були створені та вдосконалені з часом, щоб допомогти підвищити рівень безпеки, мобільності, надійності та зручності програмного забезпечення. Статичний аналіз, крім пошуку недоліків і вразливостей у вихідному коді, також може застосовувати правила та рекомендації, викладені в стандартах кодування. Це особливо корисно для організацій, яким потрібно перевірити відповідність галузевим стандартам. Загальні приклади стандартів кодування для вбудованих систем включають MISRA , AUTOSAR і CERT.
Галузеві стандарти також відіграють важливу роль у вирішенні кібербезпеки індустрії 4.0: IEC 62443 , наприклад, стосується вимог до кібербезпеки для розробки та експлуатації технологій у системах автоматизації та керування. Стандарт визначає безпечний життєвий цикл розробки програмного забезпечення, який включає проектування, впровадження, перевірку, валідацію, управління дефектами та завершення терміну служби продукту.
Стандарти безпеки, такі як ISO 27001 , стандарт безпеки інформації, який допомагає гарантувати безпеку пристроїв, що використовуються на виробничому підприємстві, часто вимагають використання стандартів кодування для підтримки відповідності. Навіть за межами відповідності вважається доброю практикою (як вимагає вищезгаданий IEC 62443) використовувати вказівки щодо кодування під час розробки програмного забезпечення.
Кодування для вбудованих систем, дотримання стандартів кодування та включення статичного аналізу до життєвого циклу розробки програмного забезпечення зроблять наш цифровий світ безпечнішим. Як зазначалося раніше, «як повітря та питна вода, цифровість буде помічена лише за її відсутністю» та у разі порушення безпеки.
Тож якщо ви хочете на власні очі дізнатися, чому тисячі розробників покладаються на інструменти статичного аналізу Perforce, завантажте та спробуйте безкоштовну пробну версію вже сьогодні. А постачальником повних версій рішень Perforce є компанія Ідеалсофт.