Исследователь нашел в сети исходный код Boeing 787 и выявил в нем ряд проблем

Специалист компании IOActive Рубен Сантамарта (Ruben Santamarta) представил на конференции Black Hat крайне интересный доклад.  Исследователь рассказал, что в сентябре прошлого года ему случайно удалось обнаружить в сети исходные коды Boeing 787 Dreamliner. Впоследствии было подтверждено, что эти work-in-progress коды были случайно оставлены на общедоступном сервере Boeing, принадлежавшем RnD-подразделению компании.

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

Сантамарта объясняет, что на борту Boeing 787, по сути, присутствуют три электронные сети: первая, в которой работают разные некритичные системы, такие как бортовая развлекательная система; вторая, более изолированная, где базируются более важные приложения, зарезервированная для экипажа и технического обслуживания; и третья, самая защищенная, отведенная для работы авионики (совокупность всех систем, разработанных для использования в авиации в качестве бортовых приборов).

На общедоступном сервере Boeing эксперту удалось обнаружить исходники, относящиеся ко второй сети: прошивки Crew Information System/Maintenance System (CIS/MS), а также Onboard Networking System (ONS) для Boeing 787 и 737.

Проведя анализ исходников, а также изучив найденные в открытых источниках документы, Сантамарта выявил в коде ряд проблем. К примеру, в своем докладе исследователь предлагает использовать баги в бортовой развлекательной системе в первой сети, чтобы проникнуть во вторую сеть и там эксплуатировать уязвимости в CIS/MS, в итоге попав в третью сеть, где будет возможно подключится к авионике, повлиять на показания приборов и даже угнать воздушное судно.

В изученном коде сотрудникам IOActive удалось выявить сотни ссылок на небезопасные вызовы функций в кастомных частях имплементации ядра VxWorks CIS. Также были обнаружены проблемы, связанные с целочисленными переполнениями, переполнением буфера, отказом в обслуживании, out-of-bound чтением и записью, нарушением целостности информации в памяти и так далее.

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

Представители IOActive связались с инженерами компаний Boeing и Honeywell (разработчик CIS/MS), и те подтвердили наличие проблем в коде Boeing 787. Однако вместе с этим разработчики сообщили, что им не удалось воспроизвести описанные исследователям атаки на практике и захватить контроль над авионикой, а значит, системы воздушных судов нельзя считать уязвимыми. Кроме того, в Boeing уверяют, что компания уже предприняла защитные меры, которые дополнительно мешают эксплуатации багов. Подтвердить или опровергнуть это заявление в IOActive не смогли.

Представители Boeing  рассказали изданию The Register, что они «разочарованы безответственной и вводящей в заблуждение презентацией IOActive». По словам представителей компании, исследователи IOActive изучили лишь одну часть сети Boeing 787, используя для этого «рудиментарные инструменты», не имея доступа к другим системами и фактической рабочей среде. Но исследователи решили проигнорировать эти ограничения и подтвержденные результаты тестов, проведенные специалистами самой Boeing, и теперь выступают с «провокационными заявлениями, будто у них был доступ, и они анализировали работающую систему».

"Мария Нефёдова : Блондинка, гик, книжный червь, синефил. Редактор ленты новостей; иногда автор Сцены.."

Комментарии (1)

  • Лоол.Помнится, толи где-то на Хабре или тут была похожая статья об иследовании каких-то европейских ученых про уязвимости в электронных системах автомобилей (BMW или какой-то другой марки-хз, не помню уже).И что там, что тут всегда смешило то, как кампании пытаются обвинить исследователей в паникерстве/не профессионализме.Ну почему в случае, если не хочется признавать, что ты обосрался, нужно обязательно говнить исследователей, которые задорма прошерстили твой код и сообщили тебе об ошибках и багах? Почему бы просто не промолчать, так сказать «no comments»?