Современные самолеты напичканы электроникой, часть которой доступна пассажирам. Что, если подключиться к ней и поискать лазейки? Гарантировать можно лишь одно — внимание со стороны властей.
Вообрази ситуацию. Ты занимаешь кресло в самолете, а рядом с тобой сидит мужчина средних лет c длинной седой бородой. Самолет еще не выехал на взлетную полосу, а вы уже разговорились: твой попутчик, выяснив, что ты кое-что понимаешь в компьютерах и ИБ, рассказывает, что умеет взламывать самолеты. Ты, конечно, относишься к этому известию скептически, но задумываешься — возможно ли действительно взломать самолет?
В спинке каждого кресла расположена мультимедийная система — ты в таких уже успел покопаться, но не нашел ничего интересного. Все, что видит пассажир, — это оболочка, которую разработала малоизвестная фирма по заказу авиакомпании. Тут можно смотреть кино, слушать музыку, изучать карту и информацию о полете, делать дорогостоящие звонки по спутниковому телефону, а иногда даже выводить картинку с камеры на носу самолета. Нет никаких сомнений, что эти терминалы подключены к какой-то централизованной системе, но как к ней подобраться?
Единственная идея — использовать порт USB, который расположен рядом с экраном. Через него пассажиры заряжают свои гаджеты, но при желании туда можно воткнуть и флешку, чтобы послушать свою музыку или посмотреть запасенный фильм. Если узнать, на какой системе работает развлекательный центр, то можно попытаться залить на флешку что-нибудь поинтереснее.
В нашем воображаемом случае у тебя есть шанс сэкономить время и обратиться к самопровозглашенному специалисту, что ты и делаешь. Он рассказывает, что заинтересовался этой темой шесть лет назад, когда вместе с коллегой случайно наткнулся на публично доступные руководства пилотов и схемы проводки. Изучая чертежи, они обнаружили, что развлекательные системы в некоторых моделях самолетов подключены к той же сети, что и система спутниковой связи. Через эту сеть в теории можно подобраться и к системе управления электроникой в салоне, а она, в свою очередь, подключена к бортовым компьютерам, которые управляют полетом.
История крайне занимательная, да и бородатый дядька, кажется, отлично знает, про что говорит. Дальше, впрочем, становится еще интереснее. Он оборачивается по сторонам, чтобы убедиться, что бортпроводники заняты тележками с едой и приблизятся нескоро, а затем достает облепленный стикерами MacBook Pro и моток патчкорда. Без всякого предупреждения бородач лезет к себе под сиденье и начинает что-то ковырять. Со стороны это выглядит так, будто он роется в багаже, но, сидя рядом, ты слышишь скрежет железной крышки и характерный щелчок разъема витой пары.
Вернувшись в прежнее положение и снова развалившись в кресле, твой попутчик открывает крышку ноутбука, втыкает в него второй конец патчкорда и принимается с достойной скоростью стучать по кнопкам. «Вот дебилы! Так и не сменили дефолтные пароли!» — восклицает он, неодобрительно качая головой, но явно не без удовольствия. На экране ты видишь не OS X, как можно было бы ожидать, судя по яблоку на крышке, а Kali Linux. В терминале мелькают строчки отчетов Vortex, рядом открыт Metasploit и VirtualBox с еще одним Линуксом. «Смотри, — снова обращается к тебе сосед и указывает на окно терминала, — это трафик системы управления полетом. Можно послать двигателям какую-нибудь команду, в эмуляторе у меня отлично работало».
Как ты уже догадался, весь рассказ об этой встрече — плод воображения, и нам ничего не известно о том, разговаривал ли бородач с попутчиками и показывал ли им экран своего ноутбука. Зато личность его подлинная, а череда его действий взята из отчета ФБР по мотивам допроса. Зовут нашего героя Крис Робертс, а об интересе к нему ФБР широкой аудитории стало известно вместе с публикацией статьи в журнале Wired в середине мая.
Xakep #198. Случайностей не бывает
Вооружен макбуком и особо опасен
Как столь ловкому хакеру удалось попасться? Дело в том, что он и не пытался скрыться. По словам Робертса, к тому моменту, как его таки задержали сотрудники Бюро, он успел провести пентест во время пятнадцати перелетов по Америке. Как минимум тринадцать подобных экспериментов увенчались успешным перехватом трафика бортовых систем.
За шесть лет Робертс успел неоднократно обсудить свои достижения с представителями авиакомпаний и выступал с отчетами на хакерских конференциях. Имели место и разговоры с ФБР, но до событий 15 апреля 2015 года рассказы о самолетных уязвимостях (как потенциальных, так и вполне реальных) никого особенно не волновали.
Похоже, последней каплей стал твит, который Робертс отправил, сидя в самолете, летящем по маршруту Чикаго — Сиракьюс (город в штате Нью-Йорк). В переводе текст твита гласит примерно следующее: «Сижу в 737/800, не изучить ли поближе Box-IFE-ICE-SATCOM? Может, поиграем с сообщениями EICAS? Кому PASS OXYGEN ON?». IFE расшифровывается как Inflight Entertainment System, так называют мультимедийные устройства в спинках кресел. ICE — In Flight Communications Equipment, бортовая коммуникационная система, SATCOM — Satellite Сommunication System, система спутниковой связи. EICAS — Engine Indication Crew Alerting System, система индикации параметров работы двигателя и предупреждения об отказах. PASS OXYGEN ON — предположительно команда, которая выкидывает кислородные маски в салоне.
Кто-то из фолловеров Робертса немедленно ответил: «…И-и-и ты за решеткой :)», что отчасти было пророчеством. Перечисления систем, с которыми предлагал поиграться бородатый пентестер, оказалось достаточно, чтобы привлечь внимание властей. Робертс ответил: «Есть серьезная вероятность того, что из-за описанных действий можно легко оказаться в оранжевом костюме :)» (оранжевый — цвет тюремной формы в США).
Самолет еще был в воздухе, а сотрудник безопасности авиакомпании, следивший за твиттером Робертса, уже позвонил в ФБР. В Сиракьюс болтливого микроблогера ждали люди в форме. Последовала длинная беседа, вернее допрос — отчет о нем был опубликован ФБР. Именно он и лег в основу всех последовавших статей, включая эту. Редакция Х попыталась связаться с Робертсом через его фирму One World Labs, но там ожидаемо сказали, что комментарии прессе он больше давать не может.
Робертс (похоже, не без удовольствия) рассказал ФБР о том, как неоднократно проверял на прочность защиту бортовых систем. Он снова продемонстрировал схему самолетной электропроводки и рассказал об уязвимостях. По его словам, их можно обнаружить в развлекательных системах производства фирм Panasonic и Thales. Такие встречаются в самолетах Boeing 737-800, 737-900, 757-00 и Airbus A320.
INFO
В отчете ФБР приведен полный список хакерского софта Криса Робертса. Kali Linux, Metasploit, Wireshark, fdXplorer, ParaView, VxWorks, Nmap, Vector Canoe и Vortex. Отличная подборка!
Правда, самолет, на котором Робертс летел из Чикаго в Сиракьюс (где планировал совершить пересадку на рейс в Денвер), не был снабжен развлекательной системой уязвимой модели. Зато агенты исследовали другой самолет: тот, на борту которого Робертс провел прошлый полет (из Денвера в Чикаго) несколькими днями ранее. Под креслом, где сидел Робертс, нашелся короб с мультимедийным сервером нужной марки, который пострадал от несанкционированного доступа («следы раскачивания и сдавливания», по словам ФБР). Впрочем, на настоящую улику это не тянет: открыть коробку мог кто угодно до или после полета Робертса. Когда хакеру будут предъявлены обвинения, то наличие улик, подтверждающих попытку взлома, станет важным обстоятельством.
В том, что Робертса хотят наказать по полной программе, нет почти никаких сомнений. Тот, кстати, считает отчет ФБР неаккуратным. В частности, там приведены слова Робертса о том, что ему удалось послать команду двигателю и на какой-то момент повлиять на направление полета (после чего система сама выровняла курс). Робертс протестует: он действительно говорил, что проделывал такое на эмуляторе, но в отчете его слова намеренно вырваны из контекста и представлены так, будто он управлял настоящим самолетом.
Верю — не верю
Главный вопрос, который волнует всех в связи с приключениями Криса Робертса, — это возможность в действительности взломать развлекательную систему и получить через нее доступ к управлению самолетом. Если такое возможно, то перевозчикам стоит приготовиться к проверкам и мощной публичной порке. С такими вещами, мягко говоря, не шутят: если террористическая организация, вооружившись подсказками Робертса, могла в любой момент повторить события 11 сентября 2001 года, то американская пресса, узнав об этом, заживо съест руководство авиакомпаний. Можно не сомневаться, что будут расследования, коллективные иски и судорожные попытки свалить вину на кого угодно.
Эксперты, которых опросил журнал Wired, все как один отвергают возможность настоящего перехвата управления. Действительно, мультимедийные системы имеют связь с бортовыми компьютерами, для этого служит шина ARINC 429. Но коммуникации по ней строго односторонние: IFE, к примеру, получают информацию о полете, чтобы показывать пассажирам карту, но послать ничего не могут.
INFO
В Х номер 168 (январь 2013-го) ты найдешь статью «Спуфинг в воздухе», которая повествует о совсем ином векторе атак на воздушные судна — радиосвязь с землей.
Существует также шина ARINC 629 — она уже двунаправленная (такое решение было принято для упрощения монтажа), но, во-первых, ставится она только на Boeing 777, а во-вторых, там должна быть система фильтрации трафика между IFE и авионикой. Данные, которые поступают от развлекательных центров, должны просто игнорироваться компьютерами, которые отвечают за полет. То же касается и спутниковой связи (SATCOM), про доступ к которой говорил Робертс. Пассажирские данные и данные, связанные с полетом, строго разграничены: они передаются отдельно и на разных частотах.
В общем, даже если Робертс и отправлял команды двигателям во время полета, нет никакого способа проверить, были ли они выполнены или благополучно пропущены. Исследователь и сам мог не знать, приводят ли его действия к каким-то результатам: возможно, он обдурил пассажирские системы и решил, что цель достигнута.
Наверняка пока не знает никто. Крис Робертс своих секретов не раскрывает (или, что не менее вероятно, их не раскрывают в отчете ФБР), авиакомпании от комментариев отказываются, а эксперты хоть и любят порассуждать, но в случае чего первыми скажут: «Что ж, ошибались». В общем, если ты действительно встретишь в самолете подозрительного типа, копающегося в пассажирской электронике, не забудь сообщить ему, что таранить небоскребы ты не подписывался.
Уязвимости в самолете
Александр Багов, Digital Security
Можно ли перехватить управление самолетом, используя уязвимости в системе управления? Мы давно занимаемся исследованиями в этой области, но до последнего времени не решались открыто публиковать подробности своих находок, ведь всегда есть шанс, что появятся желающие использовать результаты на практике. Теперь же о взломе самолетов пишут открыто все кому не лень (кстати, в том числе и много ерунды).
За последние пять лет мы накопили большой опыт исследований в этой сфере. Тесты на проникновение проводились в ходе пятисот рейсов на бортах самолетов тридцати авиакомпаний. Разглашать подробности мы не можем, так что расскажем лишь об общих векторах атак.
Вот список ключевых систем самолета, которые могут заинтересовать злоумышленника:
- Система управления полетом (FMS).
- Роутер или другое устройство, которое предназначено для передачи данных между системами (оно есть не всегда). К примеру — SATCOM, сервер для спутниковой связи.
- Мультимедиасервер.
- Конечные мультимедиаустройства (IFE).
Исходя из этого, мы можем составить общий список векторов атак.
Какую бы систему ни избрал своей целью злоумышленник, первым этапом, скорее всего, станет взлом мультимедийных развлекательных устройств в салоне. Добравшись до ОС такого девайса, можно с его помощью действовать дальше. Для этого есть несколько путей:
- Атака через внешние несетевые порты (обычно USB). Чаще всего это делается при помощи флешки с Teensy — она эмулирует клавиатуру и посылает команды системе. Иногда срабатывает банальное сворачивание окон или переключение терминалов, намного чаще возможен перезапуск. Если в момент перезапуска подключить USB-клавиатуру, есть шанс получить полный контроль над машиной.
- Атака на ПО развлекательного устройства через уязвимости в обработчиках файлов с носителей. Речь снова идет о USB: IFE зачастую позволяет смотреть и воспроизводить файлы с накопителя пассажира. Наиболее уязвимое место — просмотрщик PDF. Чаще всего на развлекательных системах в самолетах установлен Linux (хотя иногда попадается и Windows, а в новых моделях — Android). Для разбора PDF обычно применяется XPDF, а в нем достаточно уязвимостей.
- Атаки через уязвимости в ПО мультимедиаустройства, которые производятся через стандартный пользовательский интерфейс (обычно тачскрин). Теоретических вариантов множество, а наиболее реальные — это SQL-инъекции, поскольку они позволяют ввести вредоносный код с клавиатуры в параметры запроса (к примеру, прочитать определенный файл), в отличие от, например, переполнения буфера, где полезную нагрузку для шелл-кода практически невозможно передать. Пока что такой тип уязвимостей редок, но возможности IFE растут, а значит, появляется все больше уязвимых компонентов.
Следующий вектор более сложен и менее распространен, но в случае успеха дальнейшие шаги оказываются проще. В салонах некоторых самолетов можно обнаружить порты Ethernet — как рядом с USB, так и внизу на ручке кресла. Определить их назначение бывает непросто, к тому же они часто не работают. Но если у атакующего получится подключиться к такому порту, то он сможет обращаться к IFE по локальной сети. Мультимедийный сервер, равно как и устройства в соседних креслах, скорее всего, не будут доступны, зато на развлекательном устройстве найдутся открытые порты: к примеру, SSH с известными уязвимостями или слабым паролем. Такой доступ позволит атакующему дальше работать с комфортом и не вводить команды через тачскрин. Также в связке с предыдущей уязвимостью компьютер, подключенный по сети к IFE, сможет служить источником для загрузки вредоносного кода. К примеру, для эксплуатации уязвимости в SQLite, который нередко используется в IFE для хранения контента, необходимо загрузить дополнительную библиотеку для доступа к файлам. В этом случае очень пригодится сторонний сервер.
Третий вектор распространен еще меньше, зато открывает доступ не к EFI, а к мультимедийному серверу. Иногда мультимедийные устройства крепят в спинках при помощи обычных винтов с головкой-шестигранником, раскрутив которые атакующий получает доступ к кабелю Ethernet — его можно отсоединить от девайса и подключить к своему ПК. Чтобы не привлекать лишнего внимания, лучше использовать не ноутбук, а что-нибудь вроде Pwn-plug производства Pwnie Express.
Четвертый вектор — самый сложный, но успех будет означать наикратчайшую дорогу к цели. В некоторых самолетах можно обнаружить разъемы RJ45 с пометкой Private use only (только для частного использования). Подключившись к ним, можно получить доступ к важным элементам системы.
Все перечисленные векторы реальны, и злоумышленник или пентестер вполне могут использовать их в качестве точек входа. Не факт, что это позволит угнать самолет, но связь между системами на борту есть и может послужить для самых разных целей.