Linux «небезопасна и хаотично разрабатывается». Потому ее не берут в ОС для Boeing
Ядро Linux, лежащее в основе многих современных ОС, в том числе и мобильных, не может применяться в бортовых системах самолетов и вертолетов. К программным системам авионики предъявляются особые требования, которым Linux в том виде, в котором он существует сейчас, не соответствует. На это указывают крупнейшие компании, связанные с аэрокосмической отраслью, но они же при этом утверждают, что при желании разработчики могут совместными усилиями превратить Linux в оптимальную ОС для самолетов.
Пингвины не умеют летать
Операционные системы на базе ядра Linux оказались совершенно непригодны к использованию в авионике, то есть в электронных бортовых системах самолетов и вертолетов. Об этом эксперты открыто заявили на конференции Linux Foundation Embedded Open-Source Summit, на которой обсуждались вопросы внедрения Linux в различные сферы деятельности человека.
О том, что системы на базе ядра, созданного в конце XX века Линусом Торвальдсом (Linus Torvalds), не могут полноценно использоваться для управления системами летательных средств, на конференции говорили представители крупнейших компаний мировой аэрокосмической отрасли. В частности, на это указали инженеры компании Boeing, одного из известнейших в мире производителей пассажирских самолетов. Эксперты компании Underwriter Laboratorie, занимающейся вопросами сертификации безопасности, высказали полное свое согласие со специалистами Boeing в этом вопросе.
Что не так с Linux
За десятилетия существования экосистема Linux накопила массу недочетов, не пускающих дистрибутивы в авионику, и некоторые из них носят фундаментальный характер. В числе самых основных эксперты привели полный хаос, творящийся в среде разработки как ядра, так и дистрибутивов Linux. Участники конференции подметили, что четкого плана развития Linux нет, как нет и конкретных требований к системе, которые могли бы упорядочить процесс ее разработки.
Вторая проблема – это монолитность архитектуры системы. Эксперты указали на тот факт, что все драйверы, необходимые для работы аппаратной составляющей, обязательно выполняются на уровне ядра и обязательно с повышенными привилегиями. Это является проблемой безопасности.
Наконец, было отмечено и отсутствие сертификации безопасности «культуры разработки». Что именно специалисты имели в виду, они не уточнили, но сам Торвальдс неоднократно жаловался на участников сообщества по разработке Linux, которые тратят дни впустую и лишь за несколько часов до выпуска новой сборки ядра присылают результаты своей работы. В итоге у проверяющих нет времени на всестороннее изучение присланного кода, и он либо не попадает в ядро, либо внедряется туда без проверки.
Последнее может вредить стабильности и безопасности Linux. На эту проблему эксперты, считающие, что авионика и Linux пока несовместимы, тоже не преминули указать.
Подсмотреть и сделать лучше
Участники конференции заявили, что нынешние операционные системы, созданные для воздушных транспортных средств, разрабатываются в первую очередь с оглядкой на безопасность. Все они проходят тщательную проверку на соответствие предъявляемым требованиям, в том числе и к стабильности их работы.
Участники конференции считают, что Linux вполне мог бы заменить эти системы, но при условии устранения названных недостатков. По их мнению, для этого разработчикам стоит проделать реверс-инжиниринг нынешних систем для понимания, что именно делают разработчики нынешних ОС для авионики, чтобы их код соответствовал всем требованиям.
Но, чтобы Linux стал неотъемлемой частью самолетов и вертолетов, это будет недостаточно. Потребуется пересмотреть весь процесс разработки, в частности, создать стандарты качества написания кода и регулярно устраивать ему аудит безопасности. Также нужно решить вопрос с реализацией работы с драйверами, внедрить автоматизированное сканирование кода на предмет выявления брешей и, наконец, организовать отдельный коллектив разработчиков, которые будут заниматься исключительно выявлением уязвимостей и их устранением.
В числе условий также звучало и так называемое «отложенное внедрение» новшеств, чтобы те проблемы, которые эти новшество потенциально могут нести в себе, проявились еще до этапа внедрения в стабильную сборку и были устранены заранее.
Все это вполне можно реализовать, поскольку у Linux ввиду того, как именно развивается эта ОС, есть все возможности для этого. В частности, за счет очень широкого комьюнити разработчиков среди них достаточно просто найти компетентных специалистов для выполнения поставленных задач.