• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Гостевая статья Взлом транспорта - часть 1. Поверхность атаки

Я просто хотел поблагодарить вас за то, что вы нашли время прочитать это. Этот пост предназначен только для образовательных целей и если вы решите возиться с вашим собственным транспортным средством, вы должны быть очень осторожны, ни Secjuice, ни я не несем ответственности за любой ущерб. Никогда не используйте эти приемы на чужой машине без разрешения. Когда мы говорим о поверхности атаки, мы имеем в виду, что мы пытаемся понять все возможные способы атаки на цель.

Как мы можем найти поверхность атаки?

Начнем с того, что мы видим в большинстве автомобилей, мы все знаем, что в автомобилях есть CD-порты, у некоторых автомобилей есть USB-порты, у некоторых есть целый интерфейс и экран, у всех автомобилей есть электронная розетка для зарядки, большинство автомобилей имеют брелки, некоторые транспортные средства - электрические, у некоторых есть датчики расстояния, у некоторых также могут быть диагностические порты, у некоторых есть GPS или Bluetooth или Интернет, и, наконец,у большинства автомобилей есть базовый вспомогательный или радиоинтерфейс без экрана. У автомобилей может быть несколько таких вещей, и все это - пути по которым данные могут проникнуть в автомобиль. Если вы предполагаете, что любые данные, которые мы передаем по этим каналам, являются потенциально вредоносными,начнем с базового моделирования угроз, чтобы определить, насколько серьезным может быть потенциальный риск.

Моделирование угроз для автомобилей

Когда мы моделируем угрозу, мы смотрим на нашу целевую инфраструктуру и пытаемся понять, как мы можем внедрить вредоносные данные и как мы можем использовать цель, используя эти данные. Сначала мы должны создать диаграмму данных, а затем использовать эти диаграммы / карты, чтобы идентифицировать входы с более высоким риском и вести контрольный список пунктов для аудита, это поможет нам определить приоритеты точек входа, которые могли бы принести наибольшую отдачу. Наша модель угроз может состоять из разных уровней. Если процесс в вашей модели сложен, вам следует подумать о том, чтобы разбить его дальше, добавив больше уровней в свои диаграммы. В начале, уровень 2 будет подходящим. Мы обсудим различные уровни в следующих разделах, начиная с уровня угрозы 0.

Уровень угрозы 0 - вид с высоты птичьего полета

Итак, давайте начнем с использования того, что мы знаем из раздела Моделирование угроз, для создания базовой диаграммы. На этой диаграмме у нас будет 3 раздела: первый - внешние данные, которые попадают в автомобиль, второй - сам автомобиль,а третий - внутренние данные. Круг транспортного средства во втором разделе представляет собой не ввод, а скорее сложный процесс, то есть серию задач, которые можно разбить дальше. Мы используем цифры, чтобы представить, насколько сложны эти процессы и можно ли их разбить дальше. Не беспокойтесь, если вы не знаете всех аббревиатур, упомянутых в этой диаграмме, я объясню.


qa.png


Уровень угрозы 1: получатели

Теперь мы закончили с рисованием очень краткой и нулевой диаграммы различных методов ввода данных автомобиля. Мы можем перейти к диаграмме уровня1, которая немного более сложна. Но по сути это объяснени епроцесса транспортного средства уровня 0. На диаграмме уровня 1 мы также нарисуем несколько линий, показывающих, как конкретно вход точки ввода данных подключается к приемнику и как эти данные попадают в автомобиль. Однако пока мы не будем подробно рассматривать приемники.

Мы также включили диапазон ввода и номер каждого приемника. Первая цифра представляет метку процесса на диаграмме уровня 0, а вторая цифра - номер получателя. Поскольку информационно-развлекательный модуль является одновременно сложным процессом и входом, мы дали определили его в круг процессов. Теперьу нас есть три других процесса: иммобилайзер, ECU и приемник TPMS. Пунктирная линия обозначает разделение между границами доверия: внешний является наименее доверенным, а внутренний - наиболее надежным источником ввода. Чем больше доверительных границ пересекает канал связи, тем более рискованным становится этот канал.

sd.png




Теперь, когда у нас есть представление о том, как система взаимодействует, теперь мы переходим на уровень 2, который в основном будет состоять из неисправностей приемников. Более конкретно мы смотрим на то, как данные передаются внутри автомобиля. На нашем образце диаграммы представлена информационно-развлекательная консоль на основе Linux, приемник 1.1. Это один из самых сложных приемников, и он часто напрямую подключен к внутренней сети автомобиля. Мы группируем каналы связи в ячейки с пунктирными линиями, чтобы еще раз представить границы доверия. Теперь в информационно-развлекательной консоли появилась новая граница доверия, называемая пространством ядра. Системы,напрямую взаимодействующие с ядром, подвержены более высокому риску, чем системы, взаимодействующие с системными приложениями, поскольку они могут обходить любые механизмы контроля доступа в информационно-развлекательной системе. Поэтому сотовый канал имеет более высокий риск, чем канал Wi-Fi, посколькуон пересекает границу доверия в пространство ядра; канал Wi-Fi, с другой стороны, связывается с процессом WPA supplicant в пространстве пользователя.

jn.png


Эта система представляет собой основанную на Linux информационно-развлекательную систему (IVI) в автомобиле и она использует части, общие для среды Linux. В пространстве ядра вы видите ссылки на модули ядра udev, HSI и Kvaser, которые получают ввод от нашей модели угрозы. Модуль udev загружает USB-устройства, HSI - это последовательный драйвер, который обрабатывает сотовую связь, а Kvaser - сетевой драйвер автомобиля. Это может показаться странным, но я хочу, чтобы вы продолжили со мной эти статьи, потому что все станет яснее. Если вы не понимаете какой-либо аббревиатуры или названий модулей, я настоятельно рекомендую вам найти их, и один поиск в Google должен устранить все ваши сомнения.

Конечные заметки

В следующей статье этой серии мы поговорим о том, какие конкретные атаки мы можем выполнить для каждого приемника и модуля ввода, а также идентификации угроз. Мы также рассмотрим еще несколько направлений атаки и то, как мы можем использовать преимущества этих диаграмм.

 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!