Як обдурити датчики дорожнього руху, Securelist

Детально про це дослідження було розказано на RSA US 2016, презентацію можна побачити тут.

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

датчики

Так виглядають датчики дорожнього руху у Москві

дорожнього

Щотижня столична влада публікує дані про найшвидші та найповільніші траси міста

По суті, датчики – це нижній рівень інфраструктури «розумного міста», вони віддають далі «сирі» дані про трафік, без яких неможлива жодна аналітика та правильне налаштування систем. Відповідно, інформація від сенсорів має бути точною. Але чи це так насправді? Чи може сторонній впливати на роботу датчиків та інформацію, яку вони збирають? Спробуємо відповісти на ці питання та зрозуміти, що можна покращити у міській ІТ-інфраструктурі.

Як шукати пристрої та дані про них

Будь-яке дослідження, зокрема. та вбудованих систем, до яких належать датчики дорожнього руху, починається зі збору всіх доступних даних. Неможливо знати «в обличчя» всі моделі датчиків навіть у вузькому сегменті, якщо ви не займаєтеся ними професійно і щодня, а це означає, що, найімовірніше, вам не вдасться відразу визначити виробника по зовнішньому.виду. Тим ціннішими є всі його логотипи та додані установниками бирки.

Якщо в результаті вдалося приблизно визначити модель на вигляд, то після цього на сайтах вендорів або дружніх їм інтеграторів можна знайти різну документацію і, якщо пощастить, готове ПЗ для роботи з пристроями. Ви майже напевно станете власником рекламної листівки; з великою часткою вірогідності знайдете і більш розгорнутий документ. Документація по установці також не рідкість, а ось найбільша і рідкісна удача – виявити повноцінний технологічний опис із системою команд пристрою.

Зручно автоматизувати процес з датчиками, тобто. не сидіти з ноутбуком під кожним стовпом, не виглядати пристрої та не зупинятися біля кожного з них. Зараз це цілком можливо – для елементів «розумного міста» вже не рідкість підключення бездротовими протоколами. Але для автоматизації необхідно, по-перше, зрозуміти, яким саме протоколу відповідає датчик, і, по-друге, як можна відокремити необхідні пристрої від решти.

можна

Записи про датчики руху, збережені в базі даних

Що можна зробити з прошивкою

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

руху

ПЗ для налаштування дозволяє змінювати прошивку датчика

Прошивка датчика дорожнього руху

Тут, як не дивно, рятує LinkedIn, корисний не тільки для кар'єристів та відділів кадрів. Іноді архітектура пристроїв не є таємницею, і колишні інженери компанії готові розповісти про неї. Тепер у нас на руках окрім файлу є і розуміння того, для якої архітектури скомпільовано прошивку. Проте щастя це приносить дуже ненадовго.до запуску IDA.

можна

Навіть якщо в документації не вказані типи контролерів, дізнатися про них все-таки можна

Навіть із знанням архітектури прошивка залишається безглуздим набором байт. Однак у того ж інженера можна дізнатися про те, як саме шифрується прошивка, про таблицю ключів та алгоритми. На руках у мене пристрою не було, і на цьому місці я відклав модифікацію прошивки як black box як неперспективну. Визнаємо, що у цьому конкретному випадку мікроелектронники знають, як захистити прошивку. Але чи це кінець дослідження датчиків? Зовсім ні.

І тільки вантажівки ночами їдуть.

Модифікація прошивки «хороша» тим, що до неї можна додати нові функції. Але їх вистачає і в стандартному програмному забезпеченні вендора. Наприклад, на борту пристрою є близько 8 МБ пам'яті, в якій, доки вона не переповниться, зберігається копія даних про трафік. І ця пам'ять доступна. Прошивка дозволяє змінювати класифікацію автомобілів, що проїжджають, за довжиною і число смуг руху. Бажаєте копію зібраної інформації про трафік? Добре. Потрібно навіщо зробити всі машини вантажівками, що їдуть правою смугою? Це можна. В результаті постраждає точність міської статистики з усіма наслідками, що випливають.

дорожнього

Ось що збирають та передають далі датчики руху. Ці ж дані зберігаються на борту

Охоче ​​отримати копію столичної статистики або вплинути на неї, звичайно, доведеться обійти або об'їхати всі датчики, зате йому не обов'язково запускати програму у кожного з тисяч датчиків і редагувати налаштування вручну. В даному випадку описана пропрієтарна система команд цих пристроїв. Не можна сказати, що це часто зустрічається при дослідженні вбудованих систем, але в будь-якому разі після з'єднання з датчиком через програмне забезпечення вендора команди вже не секрет - вонивидно сніффером. Але опис англійською позбавляє аналізу протоколу спілкування з пристроєм на машинному.

обдурити

Документовані команди пристрою позбавляють аналізу трафіку

На датчику насправді не реалізовані сервіси Bluetooth, бездротовий протокол у разі не більше ніж середовище передачі даних. Передачі через стандартний послідовний (serial) порт. Програмна робота з такими портами нічим не відрізняється від читання та запису з файлів, код для відправки команд тривіальний. Для цих цілей немає необхідності реалізовувати нормальну багатопоточну роботу з портом, достатньо відправки байт і отримання відповіді в одному потоці.

Підведемо підсумок. Машина, що нешвидко рухається містом, ноутбук з досить потужним bluetooth-передавачем і запущеною програмою-сканером збирає місцезнаходження датчиків, збирає з них дані про трафік, при бажанні змінює налаштування пристроїв. Я б не назвав інформацію про трафік дуже секретною, але від зміни налаштувань може постраждати її достовірність. А на цих даних взагалі можуть бути засновані «розумні» світлофори та інше дорожнє обладнання.

обдурити

Датчик відповів нам, команда почута. Знаючи систему команд, не складно «перекласти» відповідь

Що робити?

Докладно про це дослідження було розказано на RSA US 2016, з презентацією можна ознайомитись на сайті конференції.