Вся эта путаница с рейсом 370 заставляет меня задуматься о том, можно ли взломать самолет и управлять автопилотом или другими бортовыми системами таким образом, чтобы пилоты не могли восстановить контроль.
Я знаю, что некоторые базовые поисковые запросы выдают такие статьи, как эта . Если самолет нельзя взломать, может ли кто-нибудь с соответствующими знаниями взломать или отключить блокировку пилота?
Отказ от ответственности: я знаю 0 об авиации, но я программист. Поэтому я предполагаю, что все, что не имеет физического отключения, будет уязвимо для взлома без возможности переопределить его.
Дополнительный отказ от ответственности: это вопрос о любопытстве / возможности, а не о том, как это сделать.
На данный момент ответа на этот вопрос для коммерческих самолетов в принципе нет , по крайней мере, отдаленно. В этом есть две части:
С точки зрения системы:
Системы самолета, вероятно, могут быть «взломаны» — если предположить, что вы можете, например, испортить бортовой компьютер, заменив микросхемы в брюхе, — но вы не сможете это сделать так, чтобы пилоты не заметили, что курс далеко от компаса. например, чтобы они поняли и отключили его. Многие системы не связаны таким образом, чтобы они могли нанести ущерб другим. Системы также весьма специализированы: если предполагается управлять самолетом, то это то, что они делают, если предполагается навигация, то это то, что они делают.
Системы на самолетах, как правило, имеют ограниченную связь с внешним миром, если вообще имеют ее. Есть несколько систем, которые могут подключаться к земле, и обычно это ограничивается простыми текстовыми сообщениями. Большая часть электроники на Боинге 777 относится к выпуску этого типа в 1994 году. Думаю, достойная аналогия с попыткой удаленно взломать ранний сотовый телефон.
И с практической точки зрения:
Самолеты, как правило, очень жесткие, когда дело доходит до изменений — они часто утверждаются в определенной конфигурации, и она затем закрепляется, поэтому нет необходимости что-то менять, и, следовательно, это невозможно. Это относится к автопилоту и органам управления полетом: если они есть, они там и остаются.
Как отметили несколько человек, эти системы являются проприетарными и имеют закрытый исходный код, что затрудняет их программирование, если вы посторонний, но теоретически это возможно.
Тот факт, что ни один самолет, даже компьютероемкий Airbus, на самом деле не был взломан в какой-либо степени, представление о том, что весь самолет будет захвачен и отправлен куда-то, невозможно.
Что касается исходной ссылки на вопрос :
«ФАУ установило, что метод взлома, описанный на недавней конференции по компьютерной безопасности, не представляет угрозы для безопасности полетов, поскольку не работает на сертифицированном летном оборудовании», — сказал он.
«Описанный метод не может задействовать или контролировать систему автопилота самолета с помощью FMS или предотвратить отмену автопилота пилотом», — сказал Дорр.
«Поэтому хакер не может получить «полный контроль над самолетом», как утверждает технический консультант», — сказал Дорр.
Аналогичным образом, я думаю, я слышал историю о Bombardier Dash 8, который однажды заразился компьютерным вирусом, но я думаю, что он никогда не распространялся дальше навигационной системы, наиболее ресурсоемкой части. К сожалению, я не могу найти источник для этого.
Есть определенные системы связи, которые теоретически можно взломать. CPDLC используется для цифровой связи между пилотами и диспетчерами, поэтому, если его взломают, кто-то может отправить пилоту инструкции, которые будут выглядеть так, как будто они исходят от диспетчера, и пилоты не заметят разницы.
В некоторых случаях планы полета также можно загрузить в систему управления полетами и использовать для программирования другого маршрута.
Однако следует иметь в виду, что пилоты по-прежнему тесно связаны. Они видят и одобряют все изменения. Незначительные изменения могут остаться незамеченными, но если бы им дали указание лететь в совершенно другом направлении или в другой пункт назначения, они, вероятно, начали бы задавать вопросы. Если их направят прямо к горе или другому самолету, они, скорее всего, заметят это или сработают другие системы безопасности, чтобы предупредить их.
Даже в «худшем случае», когда кто-то смог перепрограммировать автопилот (я не верю, что это вообще возможно прямо сейчас), пилот всегда может просто отключить его и летать вручную.
Короче говоря, это не повод для беспокойства.
Все возможно. Например, АНБ могло заставить производителя включить в систему какой-нибудь бэкдор для их использования.
«Взлом» имеет множество определений: от считывания конфиденциальных данных из некритической системы до нарушения режима авионики или введения его в заблуждение, до захвата управления самолетом и блокировки пилотов. Это усложняет обсуждение вероятности «взлома» самолетов.
В целом, недавний консенсус, похоже, заключается в том, что при некоторых определениях «взлома» это, безусловно, возможно , даже без инсайдерских знаний. Есть несколько сообщений об успешных взломах, хотя, поскольку подробности являются конфиденциальными, трудно сказать, чего добились исследователи или их метод атаки. И исследователи, и производители самолетов, похоже, согласны с тем, что управлять самолетом более чем на несколько секунд было бы чрезвычайно сложно, но не невозможно, даже при наличии инсайдерских знаний или длительного доступа к самолету.
Текущие рекомендации FAA по политике можно найти в PS-AIR-21.16-02 . Я слышал, что FAA в конечном итоге признает DO-326 в качестве средства соблюдения.
Я собираюсь предоставить некоторую информацию о мерах безопасности и целостности, которые являются стандартными в отрасли и затрудняют взлом авионики. В частности, взлом авионики — это тип взлома критически важных с точки зрения безопасности встроенных устройств, а не взлом серверов или персональных компьютеров. Критически важные для безопасности встроенные устройства имеют гораздо меньшую поверхность атаки и гораздо больше методов смягчения последствий, как описано ниже.
Угрозы, с которыми вы сталкиваетесь в самолетах, сильно отличаются от угроз для серверов и ноутбуков. Особенно для наиболее важных систем, таких как дисплеи и автопилоты, типы данных являются строгими, обмен сообщениями запланирован, время обработки ограничено, а строки используются редко. Для выполнения большинства традиционных атак вам придется взломать эти протоколы. Это похоже на другие виды встроенного программирования, где программное обеспечение настолько негибкое, что поверхность атаки мала.
Некоторые вещи, которые определенно помогают злоумышленникам, включают физический доступ к процессу обновления программного обеспечения, возможность работать с самолетом в течение нескольких дней, инсайдерские знания, простое радиочастотное оборудование или возможность перехвата спутниковой связи с самолетом. Если у вашего злоумышленника есть некоторые из них, угроза намного серьезнее.
Можно ли заморачиваться с наличием авиационных систем? Да, если вы можете манипулировать правильными сигналами. Вы можете, например, заставить компьютер управления полетом думать, что датчик вышел из строя. Можно было скинуть кучу датчиков с достаточно мощными радиосигналами. Ошибка в программном обеспечении дисплея 787 NG однажды привела к тому, что все дисплеи стали черными. Кроме того, в большинстве бортовых компьютеров используются готовые процессоры с большим количеством странного поведения, и особенно если эксплойт позволяет вам выполнять произвольный ассемблерный код, вы можете использовать некоторые из них, чтобы отключить систему авионики.
Однако доступность не так важна, как целостность авионики. Большинство людей действительно обеспокоены тем, что хакер получает полный контроль над самолетом, не заставляя пилота летать вручную.
Различные функции, особенно на разных уровнях безопасности, по правилам изолированы друг от друга. Хотя исторически самолеты имели специальное оборудование для каждого компонента, в настоящее время большая часть этого программного обеспечения выполняется на общих компьютерах LRU (это называется архитектурой IMA). Но, несмотря на совместное аппаратное обеспечение, программные процессы строго изолированы друг от друга, и в ходе сертификации доказывается, что никакие сбои процессора, состояния ошибок, переполнения и т. д. не могут передаваться из одного процесса в другой, тем более не процесс более высокого уровня. Да, сигналы проходят между разделами, но любые сигналы, проходящие с более низкого уровня безопасности на более высокий уровень, обосновываются индивидуально, чтобы гарантировать, что они не вызовут проблем с безопасностью.
Чтобы эксплойт имел катастрофические последствия, он должен был бы обойти это либо путем 1) работы напрямую с оборудованием и процессами уровня A, либо путем обнаружения неверного предположения о влиянии сигнала более низкого уровня. Эти плохие предположения существуют, но они редки.
См. DO-297 и DO-178C для получения дополнительной информации об этом разделении.
Многие взломы персональных компьютеров происходят из-за неадекватного тестирования, которое допускает исключения и ошибки в системе. Программное обеспечение уровня А тестируется гораздо более тщательно, чем большинство приложений или программного обеспечения для ПК. Каждая строка проверяется на покрытие MC-DC (не исчерпывающее, но каждое решение должно приниматься как True, так и False). Структурное покрытие также оценивается, чтобы исключить непреднамеренные взаимодействия. Если сбои все же возникают, ОСРВ спроектирована таким образом, чтобы предсказуемо и надежно устранять эти сбои.
Хорошо, скажем, вы не можете найти способ выполнить произвольный код, вы можете испортить процесс обновления программного обеспечения? Поначалу это кажется жизнеспособным, особенно с учетом новой тенденции обновлять прошивку авионики по сети. Здесь есть несколько проблем.
Для более подробного анализа мер безопасности по предотвращению загрузки поврежденного программного обеспечения или баз данных я бы посоветовал вам ознакомиться со стандартами для этого процесса: DO-200A, глава 5 приказа FAA 8110.49 и FAA AC 20-153.
Обычно автопилот и другое программное обеспечение управляются другой системой, имеющей логику блокировки и отключения. У них есть стандарты безопасности и тесты, написанные для обеспечения их надежной работы, включая требование к безпрограммному методу отключения автопилота. Из-за этого очень сложно найти здесь эксплойт, не имея, скажем, уже возможности выполнить произвольный код.
Даже если это программное обеспечение отключения не работает, у пилотов есть автоматические выключатели, и они могут отключить всю систему авионики, а затем управлять самолетом вручную. См. ответ BigHomie для обсуждения того, насколько возможно взломать это (ответ: не очень).
Теоретически это должно сработать, но в определенных ситуациях самолет может оказаться в небезопасной ситуации до того, как пилот сможет восстановить управление. Как показали инциденты с 737 Max, внезапное снижение тангажа, когда он находится близко к земле, может быть трудно восстановить, даже если вы можете вручную отключить автопилот или вручную отключить систему дифферента.
Примечание. Я не эксперт в области безопасности авионики или встроенных устройств. Взлом, как правило, предполагает нестандартное мышление, поэтому дайте мне знать, если что-то, что я здесь предполагаю, является неточным или если я что-то упустил.
Любой компьютер можно взломать. Я не говорю, что у меня есть знания, чтобы сделать это, или даже много знаю о самолетах, чтобы рассказать вам, как это сделать. Однако если бы у кого-то с необходимыми знаниями было достаточно времени, мотивации и доступа к самолету, это определенно можно было бы сделать. Если вы спрашиваете, можно ли захватить самолет с земли во время полета без каких-либо предварительных модификаций, я не могу ответить, потому что недостаточно знаю систему.
Теоретически обсуждение того, как взломать самолет в полете, с предварительными модификациями или без них, вероятно, поставит меня в какой-нибудь список, поэтому я отказываюсь вдаваться в подробности.
Однако необходимо подумать о том, какие беспроводные протоколы используются для связи самолета с землей, какие компьютерные подсистемы могут получить доступ к этому физическому каналу, и могут ли эти подсистемы управлять самолетом или получать доступ к другим подсистемам, которые могут управлять самолетом.
«Блокировка пилота», вероятно, включает в себя отключение где-то ручного переключателя, что сложно сделать с помощью компьютера, но можно сделать, если через переключатель было пропущено достаточно силы тока, чтобы он взорвался, или если он был настроен заранее (предыдущая модификация).
Если говорить о том, как это сделать, то это эпизод Numb3rs с похожей темой, однако он не так далек от того, что должно происходить в реальной жизни.
Any computer can be hacked
. Если компьютер не подключен, только если вы можете получить к нему физический доступ. Есть коммерческие системы внутри очень безопасных зданий, без связи с внешним миром. Их невозможно взломать. Критические системы самолета не имеют подключения, кроме как внутри самолета. Поэтому вам потребуется физический доступ к самолету. Теперь мы в царстве Джеймса Бонда.
храповик урод
Питер - Восстановить Монику
храповик урод
Питер - Восстановить Монику
Дэйвид
Дэвид Ричерби
Джефф
Джейсон С