Сегодня на конференции Hack In The Box в Амстердаме состоялся доклад Хьюго Тесо, консультанта по безопасности из n.runs AG, о полностью достоверном сценарии угона самолета при помощи простого Android-приложения.
Тесо работает в ИТ-индустрии последние 11 лет, но даже больше времени он является коммерческим пилотом, что позволило ему совместить две своих профессии и изучить состояние дел с безопасностью авиационных компьютерных систем и коммуникационных протоколов.
![](https://habrastorage.org/r/w780q1/storage2/267/10e/f0e/26710ef0ea5a2ffc13411422f81dbbd6.jpg)
Воспользовавшись преимуществом двух новых авиационных систем для обнаружения уязвимости, сбора информации и эксплуатации, создав фреймворк (SIMON) и приложение для Android (PlaneSploit), которые доставляют атакующее сообщение системе управления полетом самолета (Flight Management Systems), он продемонстрировал возможность получить полный контроль над самолетом, заставив виртуальный самолет «танцевать под свою дудку».
Одна из двух технологий, которыми он злоупотребил, является Automatic Dependent Surveillance-Broadcast (ADS-B). Она посылает информацию о каждом самолете (идентификатор, текущую позицию, высоту и т.д.) через бортовой передатчик диспетчеру воздушного движения, позволяя самолетам, оснащенным этой системой, получать полетную и погодную информацию о всех других судах, находящихся сейчас в воздухе в текущем районе.
Вторая это Aircraft Communications Addressing and Reporting System (ACARS), которая используется для обмена сообщениями между самолетом и диспетчером по радио или через спутник, а также для того, чтобы автоматически доставлять в центр информацию о каждой фазе полета.
![](https://habrastorage.org/r/w780q1/storage2/27b/9c1/a36/27b9c1a3614f071a2e69df8c92075a36.jpg)
Обе эти технологии чрезвычайно небезопасны и восприимчивы к ряду пассивных и активных атак. Тесо использовал ADS-B для выбора цели, а ACARS для сбора информации о бортовом компьютере, а также для взлома его уязвимостей при помощи передачи поддельного вредоносного сообщения.
![](https://habrastorage.org/r/w780q1/storage2/2b7/0a5/5b5/2b70a55b5983b1a6ae4f1a83147b2187.jpg)
Основываясь на своих собственных исследования, Тесо разработал фреймворк SIMON, который намеренно сделал работающим только в виртуальнйо среде, так что его невозможно применить на реальных самолетах. Его тестовая лаборатория состоит из набора программных и аппаратных средств, но средства соединения и связи, также как и способы взлома, абсолютно те же самые, что можно было бы использовать в реальной жизни.
Так как практически невозможно обнаружить фреймворк в Flight Management System, нет нужды маскировать его как руткит. Используя SIMON, атакующий может загрузить определенный вредоносный код на удаленный FSM, загрузить полетные планы, подробные команды или даже собственные плагины, которые можно разрабатывать для фреймворка.
Чтобы сделать все еще более интересным – или простым – Теско показал приложение под Android, которое использует SIMON для удаленного управления самолетом в движении. Приложение, затейливо названное PlaneSploit, обладая простым интерфейсом набито разными возможностями. И это достойный пример технологической эволюции – десять лет назад у нас не было телефонов с цветными экранами, а сегодня мы со смартфонов взламываем самолеты.
PlaneSploit использует трекер Flightradar24 и ты можешь тапнуть на любом самолете в округе. В виртуальной среде дистанция самолета значения не имеет, но в реальном мире все будет зависеть от используемой антенны (если речь идет непосредственно о самолете) или системы (если использовать ACARS, такие как SITA или ARINC).
Пользовательский интерфейс приложения разделен по функциям: обнаружение, сбор информации, эксплуатация и пост-эксплуатация. Атакующий может кликнуть на любом активном самолете и получить его идентификатор, текущую позицию и конечную точку полета. В случае если система самолета взламываема (исследователь указал ряд векторов атаки, но особо не распространялся о методах), приложение предупреждает пользователя при помощи сообщения или пуш-уведомления. Пейлоад может быть загружен простым тапом, и с этого момента система управления полетом удаленно контролируется хакером. Возможен и взлом других систем, связанных с FMS.
Тесо на конференции показал некоторый функционал своего приложения:
Тесо по понятным причинам не разгласил много подробностей об инструментах, которые он использовал для атаки, и уязвимостях, которые еще предстоит пофиксить. Однако он отмечает, что был приятно удивлен реакцией отрасли на свои исследования, которая не стала отрицать их наличие, а обещала помочь ему в его исследованиях.
![](https://habrastorage.org/r/w780q1/storage2/7bb/cde/f9e/7bbcdef9e4a0e1c1fba119b761432afc.jpg)
Он отмечает, что старые системы, которые берут свое начало в 70-ых годах, будет трудно, если вообще возможно, исправить, но новые просто пропатчить новыми прошивками и изменениями в программах.
Решение для пилотов по возвращению контроля над самолетом пока простое – атака такого рода работает только при включенном автопилоте, так что его просто надо выключить, проведя потом посадку на «аналоговых инструментах».
Плохая новость в том, что новых самолетов не так много, а пилоты должны понять, что компьютер взломан для того, что бы осуществить маневры.
Тесо работает в ИТ-индустрии последние 11 лет, но даже больше времени он является коммерческим пилотом, что позволило ему совместить две своих профессии и изучить состояние дел с безопасностью авиационных компьютерных систем и коммуникационных протоколов.
![](https://habrastorage.org/storage2/267/10e/f0e/26710ef0ea5a2ffc13411422f81dbbd6.jpg)
Воспользовавшись преимуществом двух новых авиационных систем для обнаружения уязвимости, сбора информации и эксплуатации, создав фреймворк (SIMON) и приложение для Android (PlaneSploit), которые доставляют атакующее сообщение системе управления полетом самолета (Flight Management Systems), он продемонстрировал возможность получить полный контроль над самолетом, заставив виртуальный самолет «танцевать под свою дудку».
Одна из двух технологий, которыми он злоупотребил, является Automatic Dependent Surveillance-Broadcast (ADS-B). Она посылает информацию о каждом самолете (идентификатор, текущую позицию, высоту и т.д.) через бортовой передатчик диспетчеру воздушного движения, позволяя самолетам, оснащенным этой системой, получать полетную и погодную информацию о всех других судах, находящихся сейчас в воздухе в текущем районе.
Вторая это Aircraft Communications Addressing and Reporting System (ACARS), которая используется для обмена сообщениями между самолетом и диспетчером по радио или через спутник, а также для того, чтобы автоматически доставлять в центр информацию о каждой фазе полета.
![](https://habrastorage.org/storage2/27b/9c1/a36/27b9c1a3614f071a2e69df8c92075a36.jpg)
Обе эти технологии чрезвычайно небезопасны и восприимчивы к ряду пассивных и активных атак. Тесо использовал ADS-B для выбора цели, а ACARS для сбора информации о бортовом компьютере, а также для взлома его уязвимостей при помощи передачи поддельного вредоносного сообщения.
![](https://habrastorage.org/storage2/2b7/0a5/5b5/2b70a55b5983b1a6ae4f1a83147b2187.jpg)
Основываясь на своих собственных исследования, Тесо разработал фреймворк SIMON, который намеренно сделал работающим только в виртуальнйо среде, так что его невозможно применить на реальных самолетах. Его тестовая лаборатория состоит из набора программных и аппаратных средств, но средства соединения и связи, также как и способы взлома, абсолютно те же самые, что можно было бы использовать в реальной жизни.
Так как практически невозможно обнаружить фреймворк в Flight Management System, нет нужды маскировать его как руткит. Используя SIMON, атакующий может загрузить определенный вредоносный код на удаленный FSM, загрузить полетные планы, подробные команды или даже собственные плагины, которые можно разрабатывать для фреймворка.
Чтобы сделать все еще более интересным – или простым – Теско показал приложение под Android, которое использует SIMON для удаленного управления самолетом в движении. Приложение, затейливо названное PlaneSploit, обладая простым интерфейсом набито разными возможностями. И это достойный пример технологической эволюции – десять лет назад у нас не было телефонов с цветными экранами, а сегодня мы со смартфонов взламываем самолеты.
PlaneSploit использует трекер Flightradar24 и ты можешь тапнуть на любом самолете в округе. В виртуальной среде дистанция самолета значения не имеет, но в реальном мире все будет зависеть от используемой антенны (если речь идет непосредственно о самолете) или системы (если использовать ACARS, такие как SITA или ARINC).
Пользовательский интерфейс приложения разделен по функциям: обнаружение, сбор информации, эксплуатация и пост-эксплуатация. Атакующий может кликнуть на любом активном самолете и получить его идентификатор, текущую позицию и конечную точку полета. В случае если система самолета взламываема (исследователь указал ряд векторов атаки, но особо не распространялся о методах), приложение предупреждает пользователя при помощи сообщения или пуш-уведомления. Пейлоад может быть загружен простым тапом, и с этого момента система управления полетом удаленно контролируется хакером. Возможен и взлом других систем, связанных с FMS.
Тесо на конференции показал некоторый функционал своего приложения:
- полет к заданной хакером точке;
- задание фильтров – точек в пространстве, при приближении к которым самолет будет делать что-либо;
- встреча с землей;
- оповещение пилотов о неполадках.
Тесо по понятным причинам не разгласил много подробностей об инструментах, которые он использовал для атаки, и уязвимостях, которые еще предстоит пофиксить. Однако он отмечает, что был приятно удивлен реакцией отрасли на свои исследования, которая не стала отрицать их наличие, а обещала помочь ему в его исследованиях.
![](https://habrastorage.org/storage2/7bb/cde/f9e/7bbcdef9e4a0e1c1fba119b761432afc.jpg)
Он отмечает, что старые системы, которые берут свое начало в 70-ых годах, будет трудно, если вообще возможно, исправить, но новые просто пропатчить новыми прошивками и изменениями в программах.
Решение для пилотов по возвращению контроля над самолетом пока простое – атака такого рода работает только при включенном автопилоте, так что его просто надо выключить, проведя потом посадку на «аналоговых инструментах».
Плохая новость в том, что новых самолетов не так много, а пилоты должны понять, что компьютер взломан для того, что бы осуществить маневры.