Одна из самых необычных презентаций на прошедшей в начале августа конференции 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 пытается убедить аудиторию, что сельскохозяйственная техника защищена примерно так же плохо, как медицинское оборудование. Даже если это действительно так, проблему надо решать, а также находить пути диалога с производителем. Которому, в свою очередь, желательно отвечать на сообщения от этичных хакеров, пока уязвимостями всерьез не заинтересовались настоящие злоумышленники без принципов.