Когда минувшей зимой мне довелось писать про «кибернетическое 11 сентября» (воображаемый крупный террористический акт, организованный посредством эксплуатации уязвимостей в гражданских ИТ-системах), главным контраргументом против возможности такого события была независимость критической коммунальной инфраструктуры от компьютеров. Проще говоря, утопить несколько многоэтажек в кипятке, вломившись на «сервер» насосной станции и открыв задвижки с горячей водой, не получится — не потому даже, что кипяток по команде компьютера на улицы, скорее всего, не польётся, а уже по причине отсутствия самого такого сервера. Однако с тех пор практика подкинула несколько интересных примеров, которые склоняют весы в этом споре в пользу сторонников «киберапокалипсиса». Последний появился буквально на днях. Хоть краем уха, но вы наверняка уже слышали, что испанский спец по кибербезопасности Хьюго Тесо продемонстрировал перехват управления авиалайнером с помощью обычного смартфона. Самое вкусное в этой истории — детали, которыми автор щедро делился на security-конференции HITBSecConf.
Тесо — ещё и профессиональный пилот. Так что дорожка в цифровые недра самолёта для него была предначертана. И три года назад он задался целью доказать, что и маленькая Cessna, и огромный Airbus могут стать игрушкой в руках подготовленного чёрного хакера. Перебрав доступные варианты, Хьюго остановился на трёх ключевых «железках», присутствующих сегодня во многих самолётах гражданской авиации. Первая из них — приёмник-передатчик ADS-B («автоматического зависимого наблюдения-вещания»).
Если в XX веке радар был главным инструментом для мониторинга ситуации в воздушном океане, сегодня его теснят «умные» технологии, позволяющие более точно, гибко, а значит, и безопасно сопровождать авиасуда. ADS-B как раз представляет собой один из примеров такой замены, получивший международное признание благодаря бесплатности и открытости. В основе своей это очень простая штука, опирающаяся на цифровой обмен данными через радиоэфир в диапазоне около тысячи мегагерц. Самолёты, находящиеся в воздухе, непрерывно оповещают окружающих о своём положении и курсе (координаты вычисляются с помощью GPS), а наземные службы, в свою очередь, собирают эту информацию и выдают в ответ общую сводку о состоянии в подконтрольном им участке воздушного пространства. Поскольку сигналы ADS-B не шифруются, слушать их могут все желающие, у которых имеется необходимое оборудование. Интересно? Загляните на Flightradar24.com, где на основе информации, собранной приёмниками энтузиастов, составляется глобальная реалтаймовая карта полётов.
Для Тесо, нащупывающего уязвимые места в авиаинфраструктуре, ADS-B стала идеальным «наводчиком». С её помощью можно в любую секунду точно узнать, где именно в трёхмерном пространстве находится нужный борт, куда он направляется, с какой скоростью и т.д. Формально она же может быть и вектором для атаки, но для этой цели Тесо избрал другую, более древнюю технологию — ACARS. Если ADS-B ещё только внедряется (в Европе она стоит на 70 процентах самолётов, в США — пока только на каждом третьем), то ACARS служит гражданской авиации с 80-х годов прошлого века. Это система медленной (2400 бод: как самые первые модемы) цифровой связи, позволяющая самолётам и наземным службам обмениваться короткими текстовыми сообщениями и, что важнее, пакетами данных для бортового компьютера (FMS — Flight Management System, на который завязаны все ниточки управления на борту). В качестве последнего Тесо избрал популярную модель от Honeywell.
Чтобы не подвергать риску жизни людей, Тесо построил цифровую модель самолёта у себя дома. Honeywell FMC и ящик ACARS он приобрёл по дешёвке на eBay. Для визуализации использовался популярный авиасимулятор X-Plane. Отправка подложных сообщений велась с помощью устройства SDR (Software-Defined Radio — цепляемая к компьютеру радиостанция, параметры которой могут варьироваться в очень широком диапазоне благодаря цифровому управлению на самом глубоком уровне, вплоть до нюансов процесса генерации и приёма). Всё это, включая Android-смартфон, на котором работало написанное Хьюго атакующее приложение, уместилось на рабочем столе.
Задача, поставленная Хьюго: ориентируясь на показания ADS-B выбранного самолёта, сформировать и передать в эфир ACARS-пакеты, приём которых приведёт к опасному поведению FMS и/или неадекватной реакции пилотов. Теоретически для этого нужно лишь заставить бортовой компьютер поверить, что подложные пакеты были отправлены наземной авиаслужбой. И вот здесь нашего героя ждал самый приятный сюрприз: ни ADS-B, ни тем более ACARS, ни общая архитектура FMS не имеют никаких средств защиты от подлога. Описывая положение с защищённостью этих систем, Тесо (большой шутник) использует выражение «facewall»: защищённость нулевая, её попросту нет. Представьте себя — с сегодняшними знаниями — попавшим в 80-е годы: интернет-железо проектируется только с прицелом на работоспособность, о безопасности никто и не задумывается. Вот в такой малине оказался Тесо. ADS-B, ACARS, FMS не предполагают никаких проверок, от кого поступило то или иное сообщение, а потому подвержены всем мыслимым атакам, начиная от банального подслушивания и заканчивая DDoS и спуфингом.
Что можно сделать с самолётом таким образом? Скормив бортовому компьютеру некорректные данные, можно заставить его изменить курс, поменять высоту, направить на столкновение с другим бортом, начать мигать внешними огнями, выбросить воздушные маски — и многое, многое другое. Какие-то действия выполнит автопилот, какие-то — вмешавшийся, но ориентирующийся на ошибочные показания индикаторов капитан, какие-то заставит сделать сам бортовой компьютер, в программном обеспечении которого Тесо отыскал уязвимости. Любое несанкционированное, неожиданное действие, когда на борту сотни человек, становится потенциально катастрофическим. На конференции Тесо продемонстрировал некоторые атаки вживую, на своём настольном комплексе. Но раскрывать самые ценные подробности, в частности относительно обнаруженных им в авиасофте «дыр», не стал: по его словам, после незначительной модификации написанное им приложение может быть применено в реальности, против настоящих самолётов, а потому первыми он поставил в известность производителей авиаоборудования и авиарегуляторов Европы и США.
Надо сказать, эксперты (в том числе Федеральное управление авиации США и Европейское агентство безопасности полётов) поспешили развеять страхи. По словам их представителей, на «настоящем, сертифицированном железе» трюки Хьюго Тесо не пройдут. В отличие от собранного на столе симулятора, где устройства, программное обеспечение и протоколы настоящие, но нет вспомогательной обвески, в самолётах безопасность обеспечивается высоким уровнем функциональной избыточности и защитными надстройками (грубо говоря, выключателями, которые не позволят свалить лайнер в штопор одним только подложным ACARS-пакетом). Тем не менее в частных беседах с самим Тесо они (а равно и производители) проявили крайнюю заинтересованность и даже предложили содействие в дальнейших исследованиях. А коллеги Тесо (он работает на германскую N.Runs AG) подтверждают его слова, что схему атаки нужно лишь немного изменить, чтобы она сработала «в воздухе».
Впрочем, предоставим специалистам судить о реальной опасности обнаруженных Тесо лазеек. Нам важнее два общих вывода, которые можно сделать из этой истории. Во-первых, о слабой либо отсутствующей защищённости «неайтишных» ИТ-систем. В отличие от мира персоналок, где конкуренция жестокая и прогресс стремительный, закрытые от широкой публики цифровые системы эволюционируют по своим неспешным законам. Здесь исходят из предположения, что пользоваться продуктом предстоит только профессионалам, которые, естественно, не станут использовать их во вред. А потому в них есть и «дыры», которые никто не ищет (Хьюго Тесо отыскал несколько таких в конкретной реализации FMS), и отсутствие проверок на входе (ADS-B, ACARS не имеют механизмов проверки происхождения принимаемых пакетов). Естественно предположить, что это правило справедливо для всех — назовём их коммунальными — ИТ-систем, обывателя обслуживающих, но напрямую обывателю недоступных.
А с доступностью как раз связано второе наблюдение: степень вовлечённости коммунальных ИТ-систем в глобальные коммуникации постоянно растёт. ACARS ещё в состоянии работать самостоятельно, но чтобы задействовать весь потенциал ADS-B, уже необходима GPS и полезна координация с другими участниками через Сеть. И точно так же дело обстоит с любыми другими коммунальными системами. Загляните на Shodanhq.com. Это специализированная поисковая система, индексирующая разного рода вспомогательные устройства, подключенные к интернету. Там можно отыскать и обычные веб-камеры, роутеры, принтеры, но и сотни миллионов более экзотических железок вроде светофоров, компонентов умных домов, климатических систем, научного оборудования, аттракционов в парках развлечений, бензозаправок и т.д. и т.п. (кстати, быстрый поиск по слову «ADS-B» выдаёт несколько тысяч результатов). Многие из них — вполне ожидаемо — не требуют пароля или используют дефолтовый: владельцы, очевидно, не предполагали, что доступ может понадобиться кому-то, кроме них самих.
А теперь мысленно объедините всё это и согласитесь, что картина вырисовывается как минимум неприятная. Пока ещё террористы взрывают бомбы. Но уже сегодня они могут использовать против общества обслуживающие нас коммунальные системы. Как именно, я не знаю, в каждом конкретном случае придётся включать фантазию. Вопрос в том, должны ли мы ждать, пока кто-то вроде Хьюго Тесо, но движимый иными соображениями, направит фантазию этим курсом.