Можно ли взломать Boeing 777?

Вся эта путаница с рейсом 370 заставляет меня задуматься о том, можно ли взломать самолет и управлять автопилотом или другими бортовыми системами таким образом, чтобы пилоты не могли восстановить контроль.

Я знаю, что некоторые базовые поисковые запросы выдают такие статьи, как эта . Если самолет нельзя взломать, может ли кто-нибудь с соответствующими знаниями взломать или отключить блокировку пилота?

Отказ от ответственности: я знаю 0 об авиации, но я программист. Поэтому я предполагаю, что все, что не имеет физического отключения, будет уязвимо для взлома без возможности переопределить его.

Дополнительный отказ от ответственности: это вопрос о любопытстве / возможности, а не о том, как это сделать.

большинство систем на самолете имеют физическое отключение, а проводная связь позволяет пилоту полностью контролировать, если ему это нужно.
@физическое отключение с храповым механизмом? Как я могу представить себе это — как Скотти, проползающий сквозь дымящиеся валы двигателей? — Моя любимая шутка из немецкого журнала c’t… Пассажир самолета открывает свой блокнот и сходит с ума, когда видит всплывающее диалоговое окно: Обнаружено устройство: Airbus A380. Сбросить [да] [нет]?"
@PeterSchneider Я имел в виду, что прямо за пилотом есть блок предохранителей, где он может отключить питание практически всех систем.
@ratchet хорошо, но ему бы это не понравилось во время взлета или посадки. Или полет как таковой.
Как насчет того, чтобы поместить дрессированную обезьяну в колесную нишу. Это может не считаться взломом, но вы можете достичь той же цели. Дрессированная обезьяна может быть очень плохой новостью, особенно если она очаровательна, имеет шикарный наряд и имеет злые намерения.
@PeterSchneider «Ему бы это не понравилось». Дело в том, что любая электрическая система может выйти из строя во время полета и может выйти из строя так, что это нанесет вред самолету, либо вызвав проблемы с другим оборудованием, либо, возможно, даже просто заставив пилота ложными сигналами тревоги. Основное оборудование на самолетах имеет встроенную избыточность; несущественное оборудование, ну, несущественно. Таким образом, в некоторых обстоятельствах самым безопасным является выключение какого-либо оборудования, и экипаж должен иметь возможность это сделать. Конечно, им это не нравится, но альтернативы им нравятся меньше.
Ничего нельзя взломать. Поэтому да.
@geoff Конечно, если вы живете в Максимальном Овердрайве.

Ответы (5)

На данный момент ответа на этот вопрос для коммерческих самолетов в принципе нет , по крайней мере, отдаленно. В этом есть две части:

С точки зрения системы:

  • Системы самолета, вероятно, могут быть «взломаны» — если предположить, что вы можете, например, испортить бортовой компьютер, заменив микросхемы в брюхе, — но вы не сможете это сделать так, чтобы пилоты не заметили, что курс далеко от компаса. например, чтобы они поняли и отключили его. Многие системы не связаны таким образом, чтобы они могли нанести ущерб другим. Системы также весьма специализированы: если предполагается управлять самолетом, то это то, что они делают, если предполагается навигация, то это то, что они делают.

  • Системы на самолетах, как правило, имеют ограниченную связь с внешним миром, если вообще имеют ее. Есть несколько систем, которые могут подключаться к земле, и обычно это ограничивается простыми текстовыми сообщениями. Большая часть электроники на Боинге 777 относится к выпуску этого типа в 1994 году. Думаю, достойная аналогия с попыткой удаленно взломать ранний сотовый телефон.

И с практической точки зрения:

  • Самолеты, как правило, очень жесткие, когда дело доходит до изменений — они часто утверждаются в определенной конфигурации, и она затем закрепляется, поэтому нет необходимости что-то менять, и, следовательно, это невозможно. Это относится к автопилоту и органам управления полетом: если они есть, они там и остаются.

  • Как отметили несколько человек, эти системы являются проприетарными и имеют закрытый исходный код, что затрудняет их программирование, если вы посторонний, но теоретически это возможно.

Тот факт, что ни один самолет, даже компьютероемкий Airbus, на самом деле не был взломан в какой-либо степени, представление о том, что весь самолет будет захвачен и отправлен куда-то, невозможно.

Что касается исходной ссылки на вопрос :

«ФАУ установило, что метод взлома, описанный на недавней конференции по компьютерной безопасности, не представляет угрозы для безопасности полетов, поскольку не работает на сертифицированном летном оборудовании», — сказал он.

«Описанный метод не может задействовать или контролировать систему автопилота самолета с помощью FMS или предотвратить отмену автопилота пилотом», — сказал Дорр.

«Поэтому хакер не может получить «полный контроль над самолетом», как утверждает технический консультант», — сказал Дорр.

Аналогичным образом, я думаю, я слышал историю о Bombardier Dash 8, который однажды заразился компьютерным вирусом, но я думаю, что он никогда не распространялся дальше навигационной системы, наиболее ресурсоемкой части. К сожалению, я не могу найти источник для этого.

Кроме того, с точки зрения разработки программного обеспечения, взлом комплекта авионики потребовал бы огромного объема работы и специальных знаний. Домашние и бизнес-компьютеры (серверы и т. д.) работают на распространенных операционных системах, таких как Linux, Windows, Unix, OSX и т. д. Авионика не так уж и много, она является частной собственностью, и получить схемы будет сложно, если не незаконно. . Вы должны обладать невероятно специализированными системными знаниями, чтобы взломать эту систему в первую очередь, и это еще до того, как вы столкнетесь со всеми проблемами, которые вы упомянули. Дело в том, что взлом маловероятен.
Так как я работал в автопроме: Любой современный автомобиль полностью прошит, если только для диагностики. Если вы доберетесь до диагностического порта, вы, скорее всего, сможете взломать автомобиль. @JayCarr: Да, вам потребуются огромные специальные знания. Часто было трудно, например, прошить автомобильные устройства, хотя мы были легальными и имели ключи шифрования, аппаратное обеспечение и документацию. Но иногда бывает сложно войти в компьютер с Windows — это не значит, что его нельзя взломать. Если вы просверлите в правильном месте, вы можете добраться до провода, если порт находится снаружи или в пространстве для ног пилота ;-).
@PeterSchneider Более того, я имел в виду, что вы, скорее всего, увидите хакера Windows, потому что есть буквально миллиарды пользователей и миллиарды ящиков для практики. Программное обеспечение для авионики... не так уж и много. Но да, все еще можно взломать, если вы захотите это сделать ;).
+1. Кроме того, люди, кажется, часто смотрят на хакерство как на фильм, когда любой кусок меди или антенны можно подключить и волшебным образом использовать для управления устройством. Это не совсем так; представьте себе, например, попытку взломать компьютер через разъем для микрофона или VGA-порт, или попытку прошить автомобильный ЭБУ через FM-антенну радио, или попытку украсть изображения с сотового телефона через приемопередатчик GPS (ну, если предположить, что это разумно). расширения поставщика на последнем).
Я согласен с @JayCarr, что системы в высшей степени проприетарные, поэтому потребуются действительно хорошие внутренние знания, а затем, как говорится в этом ответе, сделать это удаленно, вероятно, практически невозможно. И если вы собираетесь физически разбирать системы, зачем портить навигацию, почему бы просто не поставить бомбу или что-то в этом роде? Я имею в виду, что я понимаю, что пиратство - это одна из теорий, но был Lear Jet, который разбился в 3 милях от аэропорта в Нью-Гемпшире (США) еще в 1996 году, и его поиски заняли 3 ГОДА. Океаны намного больше.
Что касается исследователя безопасности: я видел его выступление на конференции. Это явно был хуйня. «Я не эксперт и не имею доступа к реальному самолету, но посмотрите, что я могу сделать с авиасимулятором на своем компьютере! Это значит, что я должен уметь взломать самолет! Самолеты используют радар, поэтому я должен в состоянии сделать что-то злое с радаром, чтобы взломать самолет!' и прочая подобная хрень
@Jason C: Но ванильные телефоны были взломаны через Bluetooth; и отдельные ПК, по-видимому, были взломаны АНБ по радио. Последнее, похоже, связано с установленным радиооборудованием, то есть доступом к устройству в какой-то момент. А вот посадить (зачистить? погрузить?) в какой-нибудь (удаленный?) аэропорт персонал, умеющий установить радиоустройство, кажется не немыслимым.
@peter Конечно, телефоны были взломаны через Bluetooth, но это не моя аналогия ...
@Jason C: Тогда давайте использовать ... GPS? Он криптографически подписан, так что только владелец ключа может подделать... подождите, это будет Министерство обороны... хорошо, Министерство обороны вводит вредоносный сигнал GPS в самолет со Сноуденом на нем, переполнение буфера, внедрение кода. GPS и, следовательно, автопилот думают, что самолет находится где-то еще. Пилот дремлет над Тихим океаном. Это считается? - Можно использовать даже обычную перезагрузку: в одной из наших машин пользователь намеренно разбил головное устройство, сильно увеличивая и уменьшая масштаб навигационной карты. Головное устройство перезагружается во время движения -> пользователь может смотреть DVD на переднем мониторе :-).
@PeterSchneider Моей аналогией была кража изображений через GPS, так что нет, ваш пример не имеет отношения к делу и не считается. У меня проблемы с пониманием вашей точки зрения? Если вы пытаетесь донести свою точку зрения, вы могли бы, по крайней мере, быть последовательным и не забыть упомянуть, что компьютеры и автомобильные ECU также были взломаны с помощью средств, отличных от тех, что приведены в моей аналогии. Будьте более четкими и менее запутанными и укажите, что вы имеете в виду. Все ваши примеры случаев на 110% реальны, но ваше направление не очевидно. Вы поняли мою аналогию, верно? Извините, если было непонятно. Удалите из него пример мобильного телефона, если хотите.
wired.com/2015/05/feds-say-banned-researcher-commandeered-plane Я только что увидел это в своей ленте новостей. Это что-то меняет в вашем ответе?
@ Том, детали все еще кажутся очень расплывчатыми, и некоторые представители отрасли не верят в историю без дополнительных подробностей. Сначала я позволю буре утихнуть, прежде чем приступить к переписыванию по мере необходимости :)
@JasonC « пытается взломать компьютер через разъем для микрофона или порт VGA или пытается прошить ЭБУ автомобиля через FM-антенну радио», «Является ли взлом через порт VGA или через FM-антенну по своей сути абсурдным и невозможным?

Есть определенные системы связи, которые теоретически можно взломать. CPDLC используется для цифровой связи между пилотами и диспетчерами, поэтому, если его взломают, кто-то может отправить пилоту инструкции, которые будут выглядеть так, как будто они исходят от диспетчера, и пилоты не заметят разницы.

В некоторых случаях планы полета также можно загрузить в систему управления полетами и использовать для программирования другого маршрута.

Однако следует иметь в виду, что пилоты по-прежнему тесно связаны. Они видят и одобряют все изменения. Незначительные изменения могут остаться незамеченными, но если бы им дали указание лететь в совершенно другом направлении или в другой пункт назначения, они, вероятно, начали бы задавать вопросы. Если их направят прямо к горе или другому самолету, они, скорее всего, заметят это или сработают другие системы безопасности, чтобы предупредить их.

Даже в «худшем случае», когда кто-то смог перепрограммировать автопилот (я не верю, что это вообще возможно прямо сейчас), пилот всегда может просто отключить его и летать вручную.

Короче говоря, это не повод для беспокойства.

Все возможно. Например, АНБ могло заставить производителя включить в систему какой-нибудь бэкдор для их использования.

Ха-ха, мне нравится, как они появляются повсюду ;)
Как человек, который на самом деле написал программное обеспечение для автоматизированного тестирования какого-то контроллера, загружаемого в самолет, и изучил процедуры, которые выполняются, чтобы гарантировать, что эта часть входит в самолет в 100% задокументированном и известном состоянии, я думаю, что это крайне маловероятно. Во всяком случае, им пришлось бы взломать производителя и добавить дополнительные (что, я думаю, проще, но очень преступно, поскольку вы одновременно нарушаете законы десятков стран).
@Sascha Тем не менее, этот A400M разбился из-за плохого программного обеспечения (нам сказали).

«Взлом» имеет множество определений: от считывания конфиденциальных данных из некритической системы до нарушения режима авионики или введения его в заблуждение, до захвата управления самолетом и блокировки пилотов. Это усложняет обсуждение вероятности «взлома» самолетов.

В целом, недавний консенсус, похоже, заключается в том, что при некоторых определениях «взлома» это, безусловно, возможно , даже без инсайдерских знаний. Есть несколько сообщений об успешных взломах, хотя, поскольку подробности являются конфиденциальными, трудно сказать, чего добились исследователи или их метод атаки. И исследователи, и производители самолетов, похоже, согласны с тем, что управлять самолетом более чем на несколько секунд было бы чрезвычайно сложно, но не невозможно, даже при наличии инсайдерских знаний или длительного доступа к самолету.

Текущие рекомендации FAA по политике можно найти в PS-AIR-21.16-02 . Я слышал, что FAA в конечном итоге признает DO-326 в качестве средства соблюдения.

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

Модель угроз и отличия от компьютеров

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

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

Доступность

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

Однако доступность не так важна, как целостность авионики. Большинство людей действительно обеспокоены тем, что хакер получает полный контроль над самолетом, не заставляя пилота летать вручную.

Разделение

Различные функции, особенно на разных уровнях безопасности, по правилам изолированы друг от друга. Хотя исторически самолеты имели специальное оборудование для каждого компонента, в настоящее время большая часть этого программного обеспечения выполняется на общих компьютерах LRU (это называется архитектурой IMA). Но, несмотря на совместное аппаратное обеспечение, программные процессы строго изолированы друг от друга, и в ходе сертификации доказывается, что никакие сбои процессора, состояния ошибок, переполнения и т. д. не могут передаваться из одного процесса в другой, тем более не процесс более высокого уровня. Да, сигналы проходят между разделами, но любые сигналы, проходящие с более низкого уровня безопасности на более высокий уровень, обосновываются индивидуально, чтобы гарантировать, что они не вызовут проблем с безопасностью.

Чтобы эксплойт имел катастрофические последствия, он должен был бы обойти это либо путем 1) работы напрямую с оборудованием и процессами уровня A, либо путем обнаружения неверного предположения о влиянии сигнала более низкого уровня. Эти плохие предположения существуют, но они редки.

См. DO-297 и DO-178C для получения дополнительной информации об этом разделении.

Тестирование

Многие взломы персональных компьютеров происходят из-за неадекватного тестирования, которое допускает исключения и ошибки в системе. Программное обеспечение уровня А тестируется гораздо более тщательно, чем большинство приложений или программного обеспечения для ПК. Каждая строка проверяется на покрытие MC-DC (не исчерпывающее, но каждое решение должно приниматься как True, так и False). Структурное покрытие также оценивается, чтобы исключить непреднамеренные взаимодействия. Если сбои все же возникают, ОСРВ спроектирована таким образом, чтобы предсказуемо и надежно устранять эти сбои.

Обновления программного обеспечения

Хорошо, скажем, вы не можете найти способ выполнить произвольный код, вы можете испортить процесс обновления программного обеспечения? Поначалу это кажется жизнеспособным, особенно с учетом новой тенденции обновлять прошивку авионики по сети. Здесь есть несколько проблем.

  • Большинство самолетов не подключены напрямую к Интернету для получения обновлений авионики. Таким образом, вам придется получить доступ к локальной сети для получения обновлений, а затем также получить доступ к самолетам, использующим эту сеть.
  • Большинство обновлений программного обеспечения используют высокоточную проверку целостности, для которой вам потребуется невероятно сложная коллизия хэшей. Некоторые процессы обновления не имеют высокоточных проверок, но в этом случае они должны удостовериться властям, что их процесс обновления стабилен и защищен от ошибок. Есть недостатки, которые можно использовать, как показала проблема, обнаруженная во время крушения A400M в Севилье. Таким образом, единственным вариантом будет подделать CRC для обновления и/или найти эксплойт в квалифицированном процессе загрузки.
  • Сетевые обновления также отслеживают номера версий и могут отслеживать проверки целостности программного обеспечения. Таким образом, вы не можете принудительно обновить версию 13 до взломанной версии 13.1, чтобы никто не заметил.
  • В настоящее время атаки на цепочки поставок становятся все более частыми. Хотя я уверен, что атака на цепочку поставок возможна, такие правила, как квалификация инструментов DO-330 и контроль конфигурации DO-178, уже много лет защищают от непреднамеренных изменений во время сборки программного обеспечения. Протестированные и проверенные версии кода находятся под тщательным контролем и сравниваются с окончательными версиями, среды сборки программного обеспечения заблокированы и квалифицированы, а списки включенных библиотек документированы и утверждены. Вам придется найти слепое пятно в этих процессах, чтобы атаковать цепочку поставок программного обеспечения.
  • Обновления программного обеспечения (не обновления навигационной базы данных) выполняются нечасто, может быть, раз в три года, если это так, что значительно снижает возможность взлома загрузки программного обеспечения. Существуют блокировки для предотвращения перезагрузки программного обеспечения, когда это нежелательно. Эта редкость также приводит к более тщательному изучению всего процесса.

Для более подробного анализа мер безопасности по предотвращению загрузки поврежденного программного обеспечения или баз данных я бы посоветовал вам ознакомиться со стандартами для этого процесса: DO-200A, глава 5 приказа FAA 8110.49 и FAA AC 20-153.

Ручное и автоматическое отключение

Обычно автопилот и другое программное обеспечение управляются другой системой, имеющей логику блокировки и отключения. У них есть стандарты безопасности и тесты, написанные для обеспечения их надежной работы, включая требование к безпрограммному методу отключения автопилота. Из-за этого очень сложно найти здесь эксплойт, не имея, скажем, уже возможности выполнить произвольный код.

Даже если это программное обеспечение отключения не работает, у пилотов есть автоматические выключатели, и они могут отключить всю систему авионики, а затем управлять самолетом вручную. См. ответ BigHomie для обсуждения того, насколько возможно взломать это (ответ: не очень).

Теоретически это должно сработать, но в определенных ситуациях самолет может оказаться в небезопасной ситуации до того, как пилот сможет восстановить управление. Как показали инциденты с 737 Max, внезапное снижение тангажа, когда он находится близко к земле, может быть трудно восстановить, даже если вы можете вручную отключить автопилот или вручную отключить систему дифферента.

Примечание. Я не эксперт в области безопасности авионики или встроенных устройств. Взлом, как правило, предполагает нестандартное мышление, поэтому дайте мне знать, если что-то, что я здесь предполагаю, является неточным или если я что-то упустил.

" Обновления программного обеспечения используют высокоточную проверку целостности " Нам сказали, что A400M разбился в Севилье из-за повреждения программного обеспечения управления подачей топлива...
@curiousguy В этом сбое параметры крутящего момента были стерты во время загрузки программного обеспечения, хотя я не могу понять, что именно это означает. Похоже, они не следовали директивам, чтобы убедиться, что их «процесс обновления стабилен и защищен от ошибок», и хотя сама программа была настроена правильно (соответствие CRC и т. д.), отсутствует.
Большинство самолетов вообще не получают свои обновления из сети, им требуется жесткая ссылка на носитель данных, содержащий данные/обновления. Подумайте о USB-накопителе в современных самолетах или каком-либо другом картридже с данными в старых (на ум приходят компактные флэш-карты или даже магнитная лента). Конечно, в них могут быть загружены поврежденные данные, но это добавляет еще один уровень безопасности.

Любой компьютер можно взломать. Я не говорю, что у меня есть знания, чтобы сделать это, или даже много знаю о самолетах, чтобы рассказать вам, как это сделать. Однако если бы у кого-то с необходимыми знаниями было достаточно времени, мотивации и доступа к самолету, это определенно можно было бы сделать. Если вы спрашиваете, можно ли захватить самолет с земли во время полета без каких-либо предварительных модификаций, я не могу ответить, потому что недостаточно знаю систему.

Теоретически обсуждение того, как взломать самолет в полете, с предварительными модификациями или без них, вероятно, поставит меня в какой-нибудь список, поэтому я отказываюсь вдаваться в подробности.

Однако необходимо подумать о том, какие беспроводные протоколы используются для связи самолета с землей, какие компьютерные подсистемы могут получить доступ к этому физическому каналу, и могут ли эти подсистемы управлять самолетом или получать доступ к другим подсистемам, которые могут управлять самолетом.

«Блокировка пилота», вероятно, включает в себя отключение где-то ручного переключателя, что сложно сделать с помощью компьютера, но можно сделать, если через переключатель было пропущено достаточно силы тока, чтобы он взорвался, или если он был настроен заранее (предыдущая модификация).

Если говорить о том, как это сделать, то это эпизод Numb3rs с похожей темой, однако он не так далек от того, что должно происходить в реальной жизни.

Взять его с земли без предварительного доступа к кораблю было бы практически невозможно. Даже если бы вы получили доступ к кораблю и скомпрометировали автопилот, пилот мог бы просто его отключить. Даже если вам удастся сжечь выключатель, он может выдернуть предохранитель или отключить выключатель. И, за исключением этого, он мог просто отключить силовую шину, которую он использовал. Вероятность того, что кто-то успешно возьмет под контроль автопилот 777, не будучи ранее инженером, участвовавшим в разработке этой системы, чрезвычайно низка.
Пропускание силы тока через переключатель, чтобы он взорвался, сработает только в невероятно плохом романе/фильме. С точки зрения авионики это нереально. -источник: техник по авионике в течение десяти лет...
@davewasthere почему? Я не сомневаюсь в вас, просто любопытно, потому что с инженерной точки зрения переключатель имеет ограничение по току, которое, надеюсь, как минимум вдвое превышает его номинальный номинал. Можете ли вы обсудить, какие меры предосторожности используются для предотвращения ущерба?
Any computer can be hacked. Если компьютер не подключен, только если вы можете получить к нему физический доступ. Есть коммерческие системы внутри очень безопасных зданий, без связи с внешним миром. Их невозможно взломать. Критические системы самолета не имеют подключения, кроме как внутри самолета. Поэтому вам потребуется физический доступ к самолету. Теперь мы в царстве Джеймса Бонда.
@Simon, его все еще можно взломать, вам просто нужен физический доступ, чтобы взломать его. Самолетам по определению нужна удаленная связь
@BigHomie Э-э, я думаю, это именно то, что я сказал;)
Удаленная связь — поэтому вам нужно будет перехватить сигнал GPS с дюжины спутников или взять на себя оборудование для определения местоположения на Земле (VOR или ILS в аэропорту). или взять на себя связь от УВД в нескольких местах - Центр, Подход, Башня, чтобы убедить пилота отклониться от курса или что-то в этом роде.
@CrossRoads: Чтобы сбить самолет с курса, играя с ILS аэропорта, вам нужно физически переместить по крайней мере антенну локализатора (и, возможно, также переместить антенну глиссады или, по крайней мере, отключить ее). ILS не несет никакой закодированной информации; вы просто следуете за лучом вниз к взлетно-посадочной полосе.