После недавней истории со взломом XZ Utils, мейнтейнеры другого проекта с открытым исходным кодом заявили, что они, возможно, подверглись подобным атакам с использованием социальной инженерии, сообщает портал ComputerWeekly.

Open Source Security Foundation (OpenSSF) и OpenJS Foundation, поддерживающие множество проектов открытого программного обеспечения (OSS) на базе JavaScript, предупредили, что попытка применения методов социальной инженерии, замеченная ранее в апреле 2024 г. в отношении библиотеки сжатия данных XZ Utils, может быть не единичным случаем.

В ходе атаки субъект угрозы, известный как Цзя Тан (JiaTan), в течение нескольких лет проникал в проект XZ Utils, вошел в доверие к мейнтейнерам проекта и вносил легитимные обновления в ПО, а затем попытался внедрить уязвимость бэкдора CVE-2024-3094, которая могла бы привести к катастрофе, если бы не оперативные действия проницательного исследователя.

Теперь OpenSSF и OpenJS призывают всех мейнтейнеров открытого кода быть бдительными к подобным попыткам захвата — после того, как совет проекта OpenJS Cross получил несколько подозрительных писем с просьбой обновить один из своих проектов для устранения критических уязвимостей без указания каких-либо конкретных деталей.

Робин Бендер Гинн, исполнительный директор OpenJS Foundation, и Омхар Арасаратнам, генеральный директор OpenSSF, заявили, что авторы писем, которые носили разные имена, но присылали их с пересекающихся аккаунтов на GitHub, хотели быть назначенными мейнтейнерами проекта, несмотря на то, что ранее не принимали в нем никакого участия (подобно тому, как JiaTan удалось пробраться в проект XZ Utils).

Они добавили, что команде OpenJS также стало известно об аналогичной схеме в двух других широко используемых проектах JavaScript, которые она сама не размещает, и она сообщила о потенциальном риске безопасности соответствующим руководителям OpenJS, а также государственным органам кибербезопасности.

«Ни один из этих людей не получил привилегированного доступа к проекту OpenJS. В проекте действуют политики безопасности, в том числе разработанные рабочей группой Фонда по безопасности», — написали Бендер Гинн и Арасаратнам в совместном посте в блоге, где подробно описали атаку.

«Open Source-проекты всегда приветствуют вклад любого человека, где бы он ни находился, однако предоставление кому-либо административного доступа к исходному коду в качестве мейнтейнера требует более высокого уровня заслуженного доверия, и оно не выдается в качестве „быстрого решения“ любой проблемы, — заявили они. — Вместе с Linux Foundation мы хотим привлечь внимание всех мейнтейнеров к этой постоянной угрозе и предложить практические рекомендации и ресурсы от нашего широкого сообщества экспертов по безопасности и открытому коду».

На что обратить внимание

Помимо прочего, участники OSS-проектов должны быть внимательны к дружелюбному, но агрессивному и настойчивому стремлению новых или относительно неизвестных членов сообщества получить статус мейнтейнера, к новым просьбам о повышении статуса и одобрению со стороны других неизвестных членов сообщества, которые могут быть сокпаппет-аккаунтами.

Члены сообщества также должны быть внимательны к следующему: запросы на внедрение (pull requests, PR), содержащие блобы в качестве артефактов (бэкдор XX представлял собой файл, не читаемый человеком, а не исходный код); намеренно обфусцированный или труднопонимаемый исходный код; проблемы безопасности, которые, кажется, нарастают медленно (атака XZ началась с относительно безобидной тестовой поправки); отклонения от типичных процедур компиляции, сборки и развертывания проекта; и ложное ощущение срочности, особенно если кто-то пытается убедить мейнтейнера обойти контроль или ускорить рассмотрение.

«Эти атаки социальной инженерии используют чувство долга, которое испытывают мейнтейнеры по отношению к своим проектам и сообществу, чтобы манипулировать ими, — пишут Бендер Гинн и Арасаратнам. — Обращайте внимание на то, какие чувства вы испытываете при взаимодействии. Взаимодействие, вызывающее сомнения в себе, чувство неадекватности, недостаточной пользы для проекта и т. д., может быть частью атаки социальной инженерии».

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

Крис Хьюз, директор по безопасности Endor Labs и научный сотрудник по кибернетическим инновациям CISA, говорит, что его не удивляет информация о более широком распространении атак с использованием социальной инженерии на мир Open Source — более того, учитывая, что атака XZ получила широкую огласку, вполне вероятно, что другие злоумышленники будут пытаться применить подобную тактику в будущем.

«Мы можем подозревать, что многие из этих атак уже осуществляются и, возможно, уже увенчались успехом, но пока не раскрыты или не идентифицированы. Большинство Open Source-проектов невероятно плохо финансируются и управляются одним или небольшой группой мейнтейнеров, поэтому использование атак социальной инженерии на них неудивительно, а учитывая уязвимость экосистемы и давление, которое испытывают мейнтейнеры, во многих случаях они, вероятно, будут рады помощи, — отмечает он. — Если злоумышленники действуют хорошо, мейнтейнерам может быть сложно определить, кто из них заинтересован в сотрудничестве и участии в проектах, а кто имеет злой умысел».

В целом, предупреждает Хьюз, это представляет огромный риск для Open Source-сообщества в целом: около четверти всех проектов с открытым исходным кодом имеют всего одного мейнтейнера, а 94% — менее 10. Этот риск затем переносится на организации, использующие компоненты с открытым кодом в своем ПО.

По его словам, это заставляет задуматься о том, насколько непрозрачна экосистема OSS. Компоненты и проекты, обеспечивающие работу всей современной цифровой инфраструктуры, часто поддерживаются неизвестными псевдонимами и лицами, разбросанными по всему миру. Более того, многие проекты OSS поддерживаются одним человеком или небольшой группой людей — часто в свободное время в качестве хобби или увлечения и, как правило, без какого-либо вознаграждения.

«Это делает всю экосистему уязвимой для злоумышленников, которые могут сыграть на этих реалиях и попытаться извлечь выгоду из положения мейнтейнера, перегруженного требованиями сообщества и не получающего никакой реальной компенсации в обмен на свой тяжелый труд и приверженность поддержке кода, от которого зависит весь мир», — считает Хьюз.