Google теперь платит разработчикам больше денег за работу по защите их ядер Linux в этом году. Этот жест вполне может стать началом попытки компании усилить контроль над открытым исходным кодом.
Действия Google последовали за растущими угрозами для Linux, которые развернулись в прошлом году по мере того, как хакеры обращаются к новым стратегиям, таким как написание вредоносных программ на языке программирования Go.
Скорость распространения вредоносных программ ошеломляет. Количество инцидентов с зараженным кодом за последний год выросло на 500%. По данным Google, это на 2000 процентов больше, чем в 2017 году.
Этот всплеск не вызывает сомнений, потому что Go позволяет хакерам быть универсальными и нацеливаться на Windows, Mac и Linux из одной и той же кодовой базы. Кроме того, только в 2020 году количество семейств вредоносных программ, связанных с Linux, увеличилось на 40%.
Мы можем сколько угодно рассуждать о количестве факторов, способствующих этому сдвигу, таких как ускоренное внедрение облачных технологий. Но нельзя отрицать существование значительного рыночного разрыва.
Capsule8 — это компания, специализирующаяся на защите производственных сред на базе Linux. Главный научный сотрудник, вице-президент по продуктовой стратегии Брэндон Эдвардс, не ожидает, что эта тенденция в отношении уязвимостей Linux прекратится.
«Я знаю, что они были посвящены безопасности ядра Linux на уровне разработчиков. И вы знаете, что это, очевидно, может быть сложной задачей, потому что получение обзора и одобрения кода для включения в ядро, похоже, всегда вызывает борьбу, — сказал Эдвардс LinuxInsider.
Содержание статьи
Все о безопасности ядра
Авторы кода имеют два режима работы, объяснил Эдвардс. Один из них — это режим целостности, в котором вы все еще можете собирать определенные точки данных из ядра, которые могут быть полезны для видимости.
Второй — это режим конфиденциальности, в котором вы не можете даже этого сделать. Идея состоит в том, что в режиме целостности вы не можете изменять какой-либо код ядра. Но вы все еще можете наблюдать за поведением ядра.
Видимость кода — критически важный фактор при рассмотрении кода с открытым исходным кодом. Эдвардс серьезно обеспокоен тем, как Google планирует осуществить вмешательство.
«Я опасаюсь, что когда Google проведет такую черту. Если его программные кодеры удалят видимость, они на самом деле еще больше навредят безопасности », — предупредил Эдвардс.
Это особенно важно, если это делается под предлогом или предположением, что какие бы превентивные меры они не применяли, означает, что им больше не нужна видимость, — рассуждал он.
Снижение безопасности почти всегда можно обойти. Обычно его обходят способом, который можно обобщить. По словам Эдвардса, смягчение последствий никогда не является препятствием, которое противник должен сразу же обойти.
«Но если у вас есть четкая видимость или наблюдаемость, это означает, что атакующий должен учитывать, как каждый артефакт или побочный эффект движения может выявить свое присутствие», — пояснил он.
Таким образом, видимость должна позволять наблюдать те же меры по смягчению последствий аварии, которые предназначены для предотвращения аварии. В то же время, программисты должны помнить о предвзятости, которая возникает при создании мер по смягчению последствий, предостерег он
.
«У вас определенно будут предубеждения, когда вы создадите наблюдаемость. Но эти предубеждения все еще поддаются наблюдению за вещами, о которых вы даже не подозревали. Это можно использовать в целях безопасности », — сказал Эдвардс.
Связь Google с открытым исходным кодом
Google и Linux Foundation недавно объявили, что Google профинансирует двух штатных разработчиков безопасности Linux, чтобы полностью сосредоточиться на защите ядра.
Такой тип поддержки неудивителен для конгломерата Google. По словам официальных лиц Linux, Google объединила усилия, чтобы финансировать разработчиков систем безопасности Linux для проектов с открытым кодом. Например, в начале февраля Google пожертвовал 350 000 долларов Python Software Foundation на поддержку проектов, направленных на повышение безопасности цепочки поставок
.
Эта организация также является одним из основателей Open Source Security Foundation. OSSF — это проект Linux Foundation, посвященный повышению безопасности программного обеспечения с открытым исходным кодом.
По словам Дэна Лоренца, главного инженера группы безопасности открытого исходного кода Google, заинтересованность Google в улучшении безопасности Linux проистекает из его роли производителя программного обеспечения с открытым исходным кодом.
«Наша команда отвечает за то, чтобы Google упростил безопасное использование программного обеспечения с открытым исходным кодом, которое мы используем в качестве своих зависимостей для работы практически всех наших инфраструктур», — сказал он. «Кроме того, чтобы упростить инженерам Google безопасное производство и распространение программного обеспечения с открытым исходным кодом для таких устройств, как Chrome, Android и облако — по всему Google».
Два разработчика безопасности Linux, которых финансирует Google, имеют опыт Сопровождающие ядра Linux. По словам Лоренца, это нормально, потому что подход Google к реализации инициатив по обеспечению безопасности в рамках существующих программных проектов заключается в работе с людьми, которые уже работают в качестве активных сопровождающих.
Что произошло
Официальный сервер PHP Git был взломан опытным злоумышленником, пытавшимся внедрить вредоносное ПО в кодовую базу проекта PHP. Две попытки злонамеренного коммита были предприняты хакером с использованием имен и учетных данных репозитория.
Разработчик и сопровождающий языка PHP Никита Попов сказал, что в репозиторий php-src были добавлены две вредоносные фиксации как на его имя, так и на имя создателя PHP Расмуса Лердорфа. Официальные лица заявили, что пока не знают, как именно это произошло.
Но, по словам Никиты Попова, старшего инженера-программиста JetBrains и члена PHP Group, это скорее компрометация сервера git.php.net, чем компрометация отдельной учетной записи git. В результате официальные лица сервера git.php.net решили, что поддержка собственной инфраструктуры git представляет собой ненужную угрозу безопасности, и прекратили работу сервера git.php.net.
Вместо этого репозитории на GitHub, которые раньше были только зеркалами, станут каноническими. Это означает, что изменения следует отправлять непосредственно на GitHub, а не на git.php.net.
«Бэкдор для взлома исходного кода PHP не является чем-то новым. Но применяемые меры по смягчению последствий подчеркивают, как открытое и открытое сообщество может обнаруживать и предотвращать хаос. Не остановить его, но, возможно, уменьшить его влияние », — сказал Лоренк LinuxInsider.
Пример PHP хорош, учитывая, что PHP работает на 80% Интернета, добавил он, отметив, что Google построен на Linux, а безопасность начинается с ядра.
«Любые улучшения, которые мы здесь делаем, приносят прямую пользу нашим пользователям», — сказал он.
Возможность критических последствий
Подобные компромиссы показывают, что поверхность атаки нашей цепочки поставок программного обеспечения намного шире, чем кажется. Такие компоненты, как системы сборки, инструменты управления исходным кодом и репозитории артефактов, должны рассматриваться как критически важные производственные среды, потому что они таковыми являются, убеждал Лоренц
.
«Реальность такова, что этот инцидент мог иметь далеко идущие последствия, но команда PHP проделала большую работу по обнаружению этого на раннем этапе и предотвращению попадания скомпрометированного кода на конечных пользователей», — отмечает Лоренц.
Он надеется, что этот инцидент напомнит всем, что безопасность наших систем управления версиями и сборки так же важна, как и наша производственная среда. Цифры не лгут.
No Easy Fix
Google и другие крупные технологические компании могут создать или разрушить сообщества разработчиков ПО с открытым исходным кодом с точки зрения их поддержки, иногда финансовой. Цель состоит в том, чтобы сделать среду Linux более безопасной.
«Поддержка разработчиков, которые уже работают над повышением безопасности открытого исходного кода, — отличный первый шаг», — согласился Лоренц. «Но нам нужно перейти в наступление и начать создавать технологию, которая может предотвратить целый класс проблем».
Отличным примером здесь является программирование с использованием безопасных для памяти языков и инструментов, — добавил он. Фаззинг отлично помогает находить ошибки, но программисты не могут исправить их все. «Новые способы разработки могут предотвратить появление этих ошибок», — продолжил он.
Самая большая проблема, с которой сталкиваются большие технологии в достижении этих целей безопасности, — это не проиграть войну безопасности с открытым исходным кодом.
Это по праву привлекло внимание отрасли. Но решения требуют консенсуса в отношении проблем и сотрудничества в их исполнении.
«Проблема сложна, и есть много аспектов, которые нужно охватить: цепочка поставок, управление зависимостями, идентификация и построение конвейеров для начинающих, — добавил Лоренц.
Внимание, теперь к чему это относится
Автоматизация DevOps для компании по управлению открытым исходным кодом Sonatype оценила, что по крайней мере 80 процентов кода в современных системах является открытым исходным кодом. Но с точки зрения безопасности он еще ни разу не приблизился к такому уровню внимания или ресурсов, отмечает Лоренк. Самая большая проблема, с которой мы сталкиваемся как отрасль, — это сделать приоритетом безопасность программного обеспечения с открытым кодом.
«Безопасность программного обеспечения с открытым исходным кодом по праву привлекла внимание отрасли, но решения требуют консенсуса в отношении проблем и сотрудничества в их реализации», — убеждал он.