URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 118205
[ Назад ]

Исходное сообщение
"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"

Отправлено opennews , 20-Авг-19 23:13 
В популярном gem-пакете rest-client (https://rubygems.org/gems/rest-client), насчитывающем в сумме 113 миллиона загрузок, выявлена (https://github.com/rest-client/rest-client/issues/713) подстановка вредоносного кода (CVE-2019-15224), который загружает исполняемые команды и отправляет информацию на внешний хост. Атака была произведена через компрометацию (https://github.com/rest-client/rest-client/issues/713#issuec...) учётной записи разработчика rest-client в репозитории rubygems.org, после чего злоумышленники 13 и 14 августа опубликовали выпуски 1.6.10-1.6.13, включающие вредоносные изменения. До блокировки вредоносных версий их успели загрузить около тысячи пользователей (атакующие чтобы не привлекать внимание выпустили обновления старых версий).

Вредоносное изменение переопределяет метод "#authenticate" в классе
Identity, после чего каждый вызов метода приводит к отправке переданного при попытке аутентификации email и пароля на хост злоумышленников. Таким образом осуществляется  перехват параметров входа пользователей сервисов, использующих класс Identity и установивших уязвимую версию библиотеки rest-client, которая фигурирует (https://rubygems.org/gems/rest-client/reverse_dependencies) в качестве зависимости во многих популярных Ruby-пакетах, включая ast (64 млн загрузок), oauth (32 млн), fastlane (18 млн) и kubeclient (3.7 млн).


Кроме того, в код добавлен бэкдор, позволяющий выполнить произвольный Ruby-код через функцию eval. Код передаётся через Cookie, заверенную ключом атакующего. Для информирования злоумышленников об установке вредоносного пакета на внешний хост отправляется URL системы  жертвы и подборка сведений об окружении, таких как сохранённые пароли к СУБД и облачным службам. C использованием  вышеотмеченного вредоносного кода зафиксированы попытки загрузки скриптов для майтинга криптовалюты.

После изучения вредоносного кода было выявлено (https://github.com/rubygems/rubygems.org/issues/2097), что аналогичные изменения присутствуют ещё в 10 пакетах (https://github.com/rubygems/rubygems.org/wiki/Gems-yanked-an...) в Ruby Gems, которые не были захвачены, а специально подготовлены злоумышленниками на базе других популярных библиотек с похожими именами, в которых тире было заменено на подчёркивание или наоборот (например, на базе cron-parser (https://rubygems.org/gems/cron-parser) создан вредоносный пакет cron_parser, а на базе doge_coin (https://rubygems.org/gems/doge_coin) вредоносный пакет doge-coin). Проблемные пакеты:

-  coin_base (https://rubygems.org/gems/coin_base): 4.2.2, 4.2.1
-  blockchain_wallet (https://rubygems.org/gems/blockchain_wallet): 0.0.6, 0.0.7
-  awesome-bot (https://rubygems.org/gems/awesome-bot): 1.18.0
-  doge-coin (https://rubygems.org/gems/doge-coin): 1.0.2
-  capistrano-colors (https://rubygems.org/gems/capistrano-colors): 0.5.5
-  bitcoin_vanity (https://rubygems.org/gems/bitcoin_vanity): 4.3.3
-  lita_coin (https://rubygems.org/gems/lita_coin): 0.0.3
-  coming-soon (https://rubygems.org/gems/coming-soon): 0.2.8
-  omniauth_amazon (https://rubygems.org/gems/omniauth_amazon): 1.0.1
-  cron_parser (https://rubygems.org/gems/cron_parser): 1.0.12, 1.0.13, 0.1.4


Первый вредоносный  пакет из данного списка был размещён 12 мая, но большая часть появилась в июле. В сумме указанные пакеты успели загрузить около 2500 раз.


URL: https://news.ycombinator.com/item?id=20745768
Новость: https://www.opennet.me/opennews/art.shtml?num=51321


Содержание

Сообщения в этом обсуждении
"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено ещеразпривет , 20-Авг-19 23:13 
привет девопсам с докерами
неслышавшим про иптаблесы (из соседней ветки) ;)

"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено kai3341 , 20-Авг-19 23:35 
Осталось всего 2 недели, и интернет наконец освободится от передающих приветы в соседние ветки

"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено Клыкастый , 20-Авг-19 23:37 
Это если они учиться будут.

"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено Аноним , 21-Авг-19 10:05 
> привет девопсам с докерами
> Разработчик rest-client уточнил, что злоумышленники смогли захватить управление его учётной записью из-за использования ненадёжного пароля, который был в обиходе более 10 лет

Казалось бы, причём здесь докер.


"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено привет , 21-Авг-19 10:17 
докер ни при чем, конечно.
он указан чисто как показатель уровня
развития товарищей неспособных заранее
предусмотреть подобную ситуацию и, тем более,
попытаться ее смультигейтить.

одно время я вел проект на руби, кстати,
и заставлял прогов использовать фильтрующий
прокси, сильно сомневаюсь, что сейчас
там это есть.

и да, дело опять же не в Ruby :)



"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено Аноним , 21-Авг-19 15:50 
Каким образом докер может показать какой-то уровень?

"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено Водитель маршрутки , 21-Авг-19 19:47 
Спасибо, мы поняли, что деле было не в бобине...   в ведущем проекта. Мало смузи было, и тупые прогеры не подворачивали, мы тебе сочувствуем всей маршруткой.

"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено n1rdeks , 20-Авг-19 23:14 
Как славно. Ситуация принимает массовый оборот.
Похоже, взрослым дядям придётся дать детям алгоритм защиты (или его придумать) от подобных ситуаций.

"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено kai3341 , 20-Авг-19 23:31 
Чисто человеческий фактор. Хотя на pypi заменять релиз нельзя

"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено Аноним , 21-Авг-19 21:25 
На pypi нет цифровых подписей и можно выпустить новый релиз. А блокировка версий лишь конфликты плодит. Тут всю систему менять надо.

"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено kai3341 , 22-Авг-19 00:32 
Какие конфликты плодит блокировка версии?
Как нужно менять систему? Может, у вас есть удачные примеры?

"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено Аноним , 21-Авг-19 02:48 
ну это нормально...

"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено б.б. , 21-Авг-19 04:37 
> Атака была произведена через компрометацию учётной записи разработчика rest-client в репозитории rubygems.org, после чего злоумышленники 13 и 14 августа опубликовали выпуски 1.6.10-1.6.13,

а цЫфровая подпись?


"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено Аноним , 21-Авг-19 06:07 
Привет сердитым коллегам из соседней ветки. Сабж ведь не на sourceforge, так?

"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено лютый жабист__ , 21-Авг-19 06:28 
И за много лет ни одной новости про компрометацию библиотек java. Сразу видно, кто хипсторы, а кто папка.

"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено жаба фу , 21-Авг-19 09:23 
Ну да, согласен, видно, кто хипарь вонючий, а кто папка жиром заплывший.

"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено анон , 21-Авг-19 10:02 
видимо потому, что твоя жаба никому на_фиг не вс_ралась (кроме ынтырпрайза)

"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено 1 , 21-Авг-19 12:36 
нда ... прям классический пример двоемыслия

"В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код"
Отправлено Аноним , 21-Авг-19 14:43 
>И за много лет ни одной новости про компрометацию библиотек java

Как и библиотек COBOL'a и прочих окаменелостей.