Інформаційна безпека

Основи безпеки IoT

У цій вступній статті ми розглянемо основні аспекти безпеки однією з найпопулярніших тем у останній час — інтернету речей.


Якщо ви, так чи інакше, в курсі новин у сфері кібербезпеки, то могли помітити, що почастішали випадки створення ботнетів з ip-камер, фахівці з безпеки частіше знаходять уразливості в контролерах розумних будинків, зламують бездротові замки та багато іншого!

Перш, ніж перейти до теми безпеки, на початку розберемося, що ж входить у поняття інтернету речей.

На даний момент є кілька визначень, але вважаю, що наявність визначення заганяє технологію IoT в певні рамки, не дозволяючи розвиватися ширше, тому не раджу заучувати їх напам’ять. Розберемо на прикладі одне з найбільш часто зустрічаються визначень: Інтернет речей — це мережа пристроїв, які підключені до інтернету, управляються через нього й можуть обмінюватися даними один з одним. На думку автора, якщо пристрій може працювати тільки в локальній мережі, то воно не буде IoT’ом? Звичайно, буде. Навіть без підключення до інтернету пристрій може бути в групі інтернету речей, як, наприклад, портативна bluetooth колонка з можливістю збереження музики в пам’ять пристрою. І таких помилкових визначень в інтернеті повно. Мисліть ширше 🙂

Але мислити глобально досить важко для старту нудною статті, тому встановимо обмеження. Домовимося під розумними речами сприймати оточуючі нас речі з високотехнологічної начинкою (наявність невеликої плати з мікроконтролером), мають додатковий функціонал, який може бути використаний рядовими користувачами для вирішення повсякденних проблем (вдома, на роботі, на вулиці).

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

Правильна відповідь: а його немає 🙁 Ви витратите місяць на докладне вивчення однієї технології, як виробники починають використовувати щось новеньке. Єдиним вірним рішенням буде вивчити таємницю розумних пристроїв:

  1. Стек мережевих протоколів, який береться за основу у більшості використовуються в IoT протоколів
  2. Основи роботи з мікроконтролерами
  3. Основи роботи з радиопротоколами
  4. Реверс-інженіринг прошивок/скомпільованих програм
  5. Пошук web вразливостей
  6. Експлуатація бінарних вразливостей

Знання про дані технології (де то може і поверхневі) дадуть вам відмінний старт у безпеці IoT, але як часто буває — одними знаннями не обійтися. На жаль, для проведення аналізу захищеності, потрібне додаткове обладнання, серед якого можна виділити:

  1. SDR — програмоване радіо, що працює на великому діапазоні частот і дозволяє працювати, мабуть, з будь-яким відомим протоколом, або вивчити роботу пропрієтарних радиопротоколов. Детальніше це питання буде розглянуто в наступних статтях (якщо тематика зайде аудиторії).

  2. Arduino Uno c — замінює відразу декілька пристроїв, наприклад, як перехідник USB-UART.
  3. Набір викруток з перехідниками — виробники намагаються хоч якось захистити свої пристрої, у зв’язку з чим випускають гвинти, для яких потрібні спеціальні викрутки.

  4. Карти пам’яті MicroSD до USB Flash
  5. Паяльна станція

Більше інформації про обладнанні можна отримати, подивившись виступ Elvis Collado на DEF CON 25 з темою Reversing and Exploiting Embedded Devices.

Тепер, коли у нас є необхідне обладнання, розглянемо основні етапи тестування.

Перший етап полягає в пошуку інформації про пристрої без взаємодії з ним. У більшості випадків інформація лежить на загальнодоступних джерелах. Так само часто на пристрої є FCC ID (Federal Communications Commission), по якому можливо знайти документацію і список використовуваних частот.

Для практики спробуйте пошукати інформацію про якому-небудь розумному пристрої, якими ви часто користуєтеся.

Далі вам потрібно скласти загальну схему, що може взаємодіяти з пристроєм і по яких каналах зв’язку. Це може бути мобільний додаток, общающееся локальної бездротової мережі, пульт управління з іч-портом, зовнішнє хмара, доступне в інтернеті, датчики, що працюють по радіоканалу(наприклад, ZigBee) і так далі.

Після чого для кожного з пристроїв, каналів зв’язку потрібно скласти список загроз на які потрібно перевірити. Наприклад, спілкування в локальній мережі можна перевірити на захищеність від атак людини-по-середині, а веб-інтерфейс управління на пароль, встановлений за замовчуванням і ін.

Але так само не варто забувати, що пристрій нам доведеться розглядати окремим пунктом, здебільшого з-за hardware security, а саме для отримання можливості безпосередньо взаємодіяти з платою аж до вилучення прошивки мікроконтролера і доступу до консолі.

Якщо спростити схему, то для IoT вона зводиться до трьох пунктів:

  1. Hardware security
  2. Software security
  3. Radio security

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

Розглянемо на прикладі побудова “карти” пристрою.

На Московському Свалявському ринку була придбана китайська камера:

Для початку розглянемо докладніше коробку:

Виробники обіцяли наступне:

  • Можливість управління з пристрою IOS/Android
  • Можливість управління по Web-інтерфейсу
  • Збереження відеопотоку на MicroSD
  • Можливість керування через комп’ютерне ЗА

Вивчивши детальніше документацію, дізнаємося, що камера працює суто в локальній мережі, але, найімовірніше, має можливість оновлювати прошивку по інтернету.

Так буде виглядати схема:

Підключення до локальних і зовнішніх мереж слід перевірити на можливість атаки людини-по-середині. У мобільних і стаціонарних пристроїв слід проаналізувати протокол спілкування і вже після доповнювати схему. Вебсайт потрібно перевірити на наявність примусового шифрування (https) і прочекати на поширені веб-уразливості (OWASP top-10). Саму камеру, як вже згадував раніше, будемо розглядати окремим пунктом. Здебільшого завдання буде зводитися до отримання прошивки, після чого ми зможемо доповнити схему оновленими даними і продовжити тестування вже “білим ящиком”.

Окремо під кінець статті думаю варто написати, що тестування пристроїв без домовленостей з виробником не завжди заохочується. Але так само варто згадати те, що в США це стало цілком легальним після прийняття Digital Millennium Copyright Act (DMCA).

У наступній статті розглянемо процес вилучення прошивки з розумних девайсів.

Всім зацікавленим раджу прочитати:

  1. IoT Hackers Handbook, Aditya Gupta — у книзі докладно розглядають кожен з етапів тестування розумною речі, буде корисний новачкам (тик)
  2. IoT Penetration Testing Cookbook, Aaron Guzman & Aditya Gupta — дуже багато інформації перетинається з першою книгою, але є розділи, які присвячені безпечної розробки і тривалого тестування продукту (тик)

Related Articles

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Close