Запрет Университета Миннесоты на Linux вызывает вопросы об открытом исходном коде
Опубликовано: 2022-03-11Обычно существует два типа хакеров: те, кто взламывает компьютерные системы, чтобы найти уязвимости и исправить их, и преступники, которые используют уязвимости для кражи данных и удержания организаций в заложниках.
Затем Канджи Лу, доцент Миннесотского университета, специализирующийся на компьютерной безопасности. Недавно он получил известность благодаря целенаправленному созданию уязвимостей в самой известной в мире системе программного обеспечения с открытым исходным кодом — ядре Linux. После того, как он опубликовал научную статью о своих подвигах, команда ядра Linux запретила университет и отменила предыдущие исправления.
Преднамеренные уязвимости ядра Linux
Разоблачения вызвали вопросы о безопасности открытого исходного кода и ядре ОС, фундаментальном компоненте бесчисленных устройств и серверов. Лу спрятал уязвимости в некоторых незначительных исправлениях, которые он и аспирант отправили в обширный репозиторий программного кода Linux, подорвав метод совместной работы, необходимый для обеспечения безопасности программы.
«Они были удручающе успешными, — говорит Александр Середа, руководитель проекта из Торонто, присоединившийся к сети Toptal в 2020 году. — Их вредоносный код прошел контроль сообщества, который должен отсеивать подобные сообщения».
В то время как Windows и macOS доминируют на настольных компьютерах, операционные системы на базе Linux, безусловно, наиболее популярны для серверов и суперкомпьютеров, а Google использует модифицированную версию ядра для Android. Технологические гиганты, такие как Red Hat, построили свой бизнес по разработке корпоративного программного обеспечения на основе открытого исходного кода, и даже Microsoft, которая в течение многих лет считалась ведущим противником экосистемы с открытым исходным кодом, пришла в себя: в 2018 году она купила GitHub, крупнейшую платформу с открытым исходным кодом. исходные проекты; сегодня дистрибутивы Linux можно найти в Microsoft Store.
Трудно переоценить распространение ядра Linux и программного обеспечения с открытым исходным кодом, превратившегося из вещей любителей и идеалистов в краеугольный камень сегодняшнего рынка программного обеспечения. Существуют буквально миллионы проектов с открытым исходным кодом для разработчиков, и поскольку они бесплатны и по большей части надежны, более 90% коммерческих приложений содержат такие компоненты. Эта цифра продолжает расти, согласно ежегодному исследованию компании Synopsys, специализирующейся на разработке микросхем и обеспечении безопасности программного обеспечения.
Быть надежным так же важно, как и быть бесплатным, и сообщество разработчиков открытого исходного кода гордится тем, что предоставляет программы, которые равны, если не лучше, проприетарному программному обеспечению. Движение возникло в 1990-х годах благодаря центральному постулату, придуманному разработчиком и автором Эриком Рэймондом, который гласит, что «при наличии достаточного количества глазных яблок все ошибки поверхностны». Этот открытый исходный код до сих пор оставался относительно невредимым — даже несмотря на то, что мир борется с беспрецедентной эпидемией хакерских атак и программ-вымогателей — является лишь еще одним подтверждением того, что такое открытое сотрудничество все еще может быть эффективным.
Но, как показал Лу в своем исследовании, нет идеальной защиты, даже в таком важном и тщательно контролируемом объекте, как ядро Linux. Хотя написание безопасного кода может быть простым делом, обнаружение уязвимостей в коде постфактум может быть невероятно трудным — «все равно что удалить молоко из чая после того, как его размешали», — говорит Середа. В то время как открытый исходный код в целом показал себя превосходно, если не считать пары значительных сбоев, таких как ошибка Heartbleed, появившаяся в 2014 году, появляется все больше свидетельств того, что разработчики, со своей стороны, используют слишком много ярлыков при включении свободного программного обеспечения в свои проекты. продукты.
Риски безопасности с открытым исходным кодом
В своем годовом отчете за 2021 год Synopsys сообщает, что каждая компания в сфере маркетинговых технологий, которую она проверяла, имела открытый код в своей кодовой базе, и 95% этих кодовых баз содержали уязвимости. Аналогичные результаты были получены при рассмотрении сектора здравоохранения, сектора финансовых услуг, розничной торговли и электронной коммерции. Плохие результаты объясняются рядом причин, но главная из них заключается в том, что программное обеспечение становится все более сложным, и по мере этого становится все труднее отслеживать и контролировать компоненты.
Открытый исходный код имеет гораздо лучшие показатели безопасности, чем проприетарные продукты, но это не гарантирует, что он всегда будет самого высокого качества, — говорит Сэм Уоткинс, внештатный разработчик полного стека, присоединившийся к сети Toptal в 2021 году. «У нас гораздо больше проблема, которая заключается в чрезмерно сложных программах. Это небезопасно, хотя и не по злому умыслу».
Тогда проблема не обязательно в том, что открытый исходный код слишком открыт. Вместо этого этот разрыв сохраняется, потому что ни один поставщик не выпускает исправления для сообщества, даже несмотря на то, что циклы программного обеспечения продолжают сокращаться, говорит Тимоти Макки, главный специалист по стратегии безопасности в Synopsys. Ограниченный бюджет вынуждает программистов использовать несовершенные способы, такие как упрощенные рейтинговые системы, для выбора компонентов — по популярности, а не по качеству. Есть несколько сервисов, которые предлагают программистам такие ярлыки, в том числе Openbase, Stack Builder и Open Source Index, в котором представлены самые популярные проекты на GitHub.

Управление уязвимостями с открытым исходным кодом
По мнению программистов и ученых, несмотря на то, что эти рейтинговые системы с открытым исходным кодом имеют ценность, необходимо больше проверки и рассмотрения при взвешивании вариантов, а не просто выбор компонентов, которые кажутся наиболее подходящими. Каждая организация должна разработать набор передовых практик, включающий принципы тщательного выбора программного обеспечения с учетом требуемого объема поддержки и возможных рисков. Компании также должны отслеживать и часто обновлять все свои компоненты с открытым исходным кодом.
Некоторые другие передовые практики, которые наши эксперты определили для рассмотрения, включают:
- Использование автоматизации, проверка процессов, документирование всего и использование Git для отслеживания изменений в кодовой базе.
- Создание позитивного сообщества, включая помощь новичкам в открытом исходном коде, которые могли бы стать важными сотрудниками.
- Обеспечение возможности аудита всех цепочек поставок с открытым исходным кодом.
- Использование контейнеров с открытым исходным кодом, которые совместно используют ядро хост-ОС.
- Выявление наиболее важных компонентов с открытым исходным кодом, затем отслеживание их проблем с безопасностью, взаимодействие с их разработчиками и внесение вклада в исходные проекты с помощью как исправлений, так и финансирования.
Энн Баркомб, доцент Инженерной школы им. Шулиха Университета Калгари, добавляет, что в идеале организации должны использовать набор лучших практик для создания библиотек предварительно одобренных продуктов, чтобы программное обеспечение никогда не выбиралось произвольно. Однако она признает, что этот процесс отнимает много времени, дорог и мало практикуется.
«Вам нужно больше безопасности, но за эту безопасность приходится платить огромную цену», — говорит Аюш Поддар, внештатный бэкенд-разработчик, присоединившийся к Toptal в 2021 году.
Такие платформы, как Black Duck, Sonatype, Snyk и WhiteSource, обеспечивают автоматизацию, помогающую находить компоненты с открытым исходным кодом в стеке компьютерных программ и выявлять уязвимости. Тем не менее, эти инструменты ограничены, а исправление кода — еще одна проблема, которая только усугубляется: Агентство США по кибербезопасности и безопасности инфраструктуры часто сообщает о сотнях новых уязвимостей в программном обеспечении в неделю.
«Вы не можете протестировать каждую комбинацию того, как может быть выполнен каждый бит кода», — говорит Эйдан Макманус, бывший технический директор, курировавший ИТ-архитектуру и разработку в CA Technologies. «На это уйдут годы».
Матс Хеймдал, заведующий кафедрой компьютерных наук и инженерии Миннесотского университета, отмечает, что Канцзе и его исследователи также обнаружили многочисленные дефекты в ядре, которые были отделены от тех ошибок, которые они представили. «На мой взгляд, совершенно очевидно, что ручной процесс проверки переутомленными и недооцененными добровольцами (даже чрезвычайно квалифицированными и преданными сопровождающими) неизбежно будет несовершенным», — написал Хеймдал в электронном письме.
Тот факт, что количество уязвимостей растет, поднимает фундаментальные вопросы о том, как будет управляться открытый исходный код. Хотя это ускоряет инновации, это, по сути, общий ресурс, обширная библиотека бесплатного программного обеспечения, которое экономит потребителям 60 миллиардов долларов в год, а также увеличивает прибыль компаний за счет сокращения их затрат на разработку. Может быть просто слишком много безбилетников, а на обслуживание и безопасность выделяется недостаточно ресурсов.
Запрет ядра Linux Университета Миннесоты: изученные ограничения
Хотя ничто не указывает на то, что проверка исправлений изменилась, Linux Foundation устанавливает набор лучших практик для исследователей, работающих с ядром, и рекомендовал Миннесотскому университету назначить рецензента для своих предложений. По словам Баркомба, на самом деле нет альтернативы проверке кода, и существующее сейчас сообщество делает разумную работу по предотвращению проникновения вредоносного кода. По ее словам, учитывая автономию, необходимую для работы с знаниями, «лучшее, что вы можете сделать, — это внедрить процессы для выявления нарушений доверия и реагирования на них, в лучшем случае, до внесения изменений».
Хеймдал отмечает, что в его учреждении создается комитет, который будет консультировать по вопросам внесения исправлений, пока ожидается снятие запрета.
Когда-то Linux был чужой идеей, смелым противовесом традиционному мышлению о несвободном программном обеспечении, но теперь он превратился во что-то, что больше похоже на коммерческий проект. Huawei, Intel и Red Hat возглавляют сотни компаний, регулярно добавляющих код для ядра Linux. Хотя многие из этих компаний также жертвуют деньги Фонду Linux и филиалам Инициативы открытого исходного кода, возможно, настало время для более систематического подхода к поддержке программного обеспечения, чтобы помочь улучшить безопасность в будущем — тот, который лучше ценит преимущества таких важнейшие системы с открытым исходным кодом.
«Люди считают само собой разумеющимся, что открытый исходный код работает», — говорит Кристофер Тоцци, старший преподаватель Политехнического института Ренсселера. «Появилось целое новое поколение людей, которые на самом деле не задумывались об этих проблемах».
