Безопасность сельхозтехники на DEF CON 29

На конференции DEF CON 29 исследователь рассказал, почему сельхозтехнику можно считать критической инфраструктурой, и показал уязвимости основных производителей.

Одна из самых необычных презентаций на прошедшей в начале августа конференции DEF CON 29 была посвящена уязвимостям в сельском хозяйстве, найденных австралийцем, скрывающим свое настоящее имя под ником Sick Codes.

Уязвимости, которые он обнаружил у крупных производителей техники John Deere и Case IH, присутствовали не в тракторах и комбайнах, а в более привычных для исследователей веб-сервисах. Но через них зачастую можно было получить непосредственный контроль над работающей в полях многотонной и очень дорогой техникой, что, безусловно, представляет особую опасность.

Современная сельхозтехника

Для человека, не очень знакомого с современным положением дел в сельском хозяйстве, цены на технику кажутся космическими. Исследователь Sick Codes в своей презентации объясняет, почему тракторы и комбайны стоят так дорого. Лучшие образцы современной сельхозтехники имеют достаточно высокую степень компьютеризации и автоматизации. Это показано на примере фуражного комбайна John Deere 9000 Series, рекламный ролик которого выглядит так:

Шестизначный ценник, двенадцатицилиндровый двигатель объемом 24 литра, но главное даже не это — в ролике перечисляются технические возможности машин, используемые при уборке урожая: система ориентации в пространстве, автоматический захват и удержание ряда, синхронизация с грузовиком, принимающим скошенную ботву. Sick Codes добавляет к этому удаленное управление и возможность автоматического подключения техподдержки напрямую к комбайну для поиска неисправностей. И делает смелое обобщение: современное фермерское хозяйство полностью зависит от Интернета.

Модель угроз для сельхозтехники

Иными словами, в современной технике используется масса современных технологий, начиная с обычных GPS и 3G/4G/LTE для позиционирования и связи и заканчивая достаточно экзотическими методами инерционной навигации для максимально точного определения положения устройства на местности с точностью до сантиметра. Модель угроз Sick Codes строит исходя из «айтишных» представлений, и применительно к реальности это звучит угрожающе.

Что такое, например, DoS-атака на поле? Предположим, мы сможем поменять пару переменных в программе трактора, который вносит в землю удобрение, и увеличим дозу во много раз. Можно легко сделать поле непригодным для выращивания на несколько лет (а то и десятилетий).

Ну или более простой теоретический вариант: перехватим управление комбайном и что-нибудь им повредим (опору электропередач, например). Либо сломаем сам комбайн, сорвем уборку урожая, организуем массовые убытки. В масштабе страны такие эксперименты могут превратиться в нечто большее: угрозу продовольственной безопасности. Подключенная к сети сельхозтехника — настоящая критическая инфраструктура.

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

Подбор юзернеймов, вшитые пароли и так далее

Часть представленных на конференции уязвимостей в инфраструктуре John Deere описана также в статье на сайте исследователя. Работа Sick Codes началась с получения легитимной учетной записи разработчика на сайте компании. Правда, придуманное имя учетки он успешно забыл. В попытках вспомнить он столкнулся с неожиданным: когда вы вводите логин, сайт сверяется с базой при каждом нажатии на клавиатуру. Быстрая проверка показала, что да, перебором можно выяснить, какие логины вообще существуют в системе.

Перебор логинов

Перебор логинов. Источник.

Традиционное в таких системах ограничение на количество обращений с одного IP-адреса не было включено. Всего за пару минут исследователь отправил 1000 обращений, проверяя наличие логинов, совпадающих с названиями компаний из списка Fortune 1000. И получил 192 совпадения.

Следующая уязвимость была обнаружена во внутреннем сервисе, который позволяет клиентам компании вести учет приобретенного оборудования. Как выяснил Sick Codes, если у вас в принципе есть доступ к этому инструменту, то вы можете просматривать информацию о любом имеющемся в базе тракторе или комбайне. Проверки на наличие прав доступа к таким данным отсутствуют. При этом выдается достаточно критическая информация: кому принадлежит машина, где она находится и так далее.

На DEF CON 29 исследователь рассказал чуть больше, чем опубликовано у него на сайте. Например, он также смог получить доступ к сервису, который управляет демонстрационной техникой, со всей историей демонстраций и личными данными сотрудников компании. Наконец, его коллеги нашли уязвимость в корпоративном сервисе Pega Chat Access Group — там был вшитый пароль администратора. Через эту дыру удалось добыть ключи доступа к клиентскому аккаунту John Deere. Правда, Sick Codes не стал рассказывать, к чему именно данный ключ открывает доступ, но судя по всему, речь идет о еще одном наборе внутренних сервисов.

Чтобы никому не было обидно, исследователь показал в своей презентации и уязвимости европейского конкурента John Deere — компании Case IH. Sick Codes смог получить доступ к незащищенному серверу Java Melody, предназначенному для мониторинга каких-то сервисов производителя, с подробной информацией о пользователях и теоретической возможностью угнать любой аккаунт.

Общение с компаниями

Справедливости ради отметим: в своей презентации Sick Codes не связывает напрямую обозначенные в начале угрозы и обнаруженные им уязвимости. Возможно, он делает это, чтобы не подвергать опасности простых фермеров. А может быть, он такой связи и не нашел. Но на основе наличия банальных ошибок он делает вывод, что культура безопасности в компании в целом находится на низком уровне, так что можно предположить, что прямое управление комбайном защищено так же. Но это только предположение.

Все указанные уязвимости в сервисах John Deere были закрыты, но с некоторыми оговорками. У производителя не оказалось никаких специальных контактов для сообщений об уязвимости. Sick Codes какое-то время общался с человеком, отвечающим за соцсети John Deere. Потом ему предложили доложить об уязвимостях через программу bug bounty на сервисе HackerOne, но таковая не была обнаружена. Какая-то программа награждения за уязвимости в итоге была придумана, но от участников требовали подписать соглашение о нераскрытии информации.

Проблемы на сайте компании закрывались молча, без какого-либо ответа на письма исследователей. Точнее, ответ был, но какой-то странный. После того как в апреле этого года об уязвимостях написали СМИ, в официальном Твиттер-канале компании появилось загадочное сообщение: «Ожидаются осадки, от одного до трех дюймов чепухи». Одновременно с этим появляется вакансия инженера по безопасности, где капслоком написано, что к работе нужно приступать ПРЯМО СЕЙЧАС.

Право на ремонт

В 2017 году издание Vice писало о проблемах владельцев сельхозтехники John Deere. Многочисленные программные и аппаратные блокировки не позволяют ремонтировать технику самостоятельно. Условно — каждую подменную деталь нужно «прописывать» в управляющем компьютере комбайна или в базе данных вендора. Обслуживание официальными дилерами медленное и, естественно, дорогое. В результате фермеры добывают какие-то левые прошивки, позволяющие отвязать железо от его создателя.

Выходит, покупатели техники не владеют тем, что купили. Они скорее берут технику в аренду (но за полную цену) и вынуждены пользоваться услугами производителя по обслуживанию, даже если не хотят. Часто такая «забота» вендора аргументируется необходимостью обеспечивать ту самую безопасность — чтобы «левый» блок управления не мог, например, перехватить управление сложной машиной. Но Sick Codes спрашивает: о какой безопасности можно говорить при наличии таких дыр в софте?

В конце выступления Sick Codes показал модуль управления техникой John Deere с чипом сотовой связи от Qualcomm и привел внушительный список критических уязвимостей, обнаруженных в нем за последнее время. Это, конечно, тоже слабый аргумент: уязвимостью еще надо воспользоваться, да и сам факт обнаружения багов мало о чем говорит.

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

Советы

Три «бытовые» атаки на Linux

Даже если вы об этом не знаете, у вас дома наверняка есть устройства с ОС Linux — и им тоже нужна защита! Вот три Linux-угрозы, о которых часто забывают даже профессионалы в IT.