The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +/
Сообщение от opennews (??) on 03-Май-18, 22:48 
Администраторы репозитория NPM предупредили (https://blog.npmjs.org/post/173526807575/reported-malicious-...) пользователей о выявлении бэкдора в популярном JavaScript-пакете mailparser (https://www.npmjs.com/package/mailparser), который используется как зависимость в 213 пакетах и насчитывает около 64 тысяч еженедельных загрузок. Бэкдор был интегрирован в связанный зависимостями  пакет getcookies и был закомуфлирован под видом библиотеки для работы с браузерными Cookie. На деле в пакете getcookies присутствовал код для получения управляющих команд от удалённого атакующего через передачу специально оформленных данных в  HTTP-заголовках.


Бэкдор позволял загрузить и выполнить произвольный код на сервере, на котором выполняются web-приложения, использующие mailparser в качестве зависимости. Примечательно, что пакет mailparser помечен как устаревший и не поддерживаемый автором. Getcookies использовался в mailparser через несколько промежуточных зависимостей - в mailparser использовался пакет http-fetch-cookies, который использовал модуль express-cookies, который, в свою очередь, загружал вредоносный getcookies. На момент выявления бэкдора, вредоносный модуль лишь был указан как зависимость, но непосредственно не вызывался из mailparser, т.е. бэкдор не был активирован и, вероятно, предназначался для проведения атак в будущем.

Проблема была решена мэйнтейнерами NPM в течение 2 часов после поступлении жалоб о возможном бэкдоре в пакете getcookies. После подтверждения проблемы пользователь "dustin87", который  опубликовал бэкдор, был заблокирован, а предложенные им модули getcookies, express-cookies и http-fetch-cookies удалены. Пакет mailparser откатили до версии 2.2.0, в которой отсутствует зависимость http-fetch-cookies (с данной зависимостью вышло три версии 2.2.3, 2.2.2 и 2.2.1). Каким образом злоумышленники получили доступ к учётной записи автора mailparser не ясно, но после инцидента возможность входа по данному аккаунту была заблокирована.

URL: https://blog.npmjs.org/post/173526807575/reported-malicious-...
Новость: https://www.opennet.ru/opennews/art.shtml?num=48544

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +18 +/
Сообщение от Аноним (??) on 03-Май-18, 22:48 
Как тут любят говорить: "Полон опасностей NPM JS мирок".
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  –1 +/
Сообщение от Ydro on 04-Май-18, 07:46 
Такое может сказать только тот кто ни разу не программировал и не устанавливал зависимости в других языках. А в зависимости для других языков запрещено вставлять бэкдоры, например в GoLang у которого нет даже понятия версия для пакета?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

23. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +2 +/
Сообщение от Crazy Alex (ok) on 04-Май-18, 11:49 
Нашёл что в пример приводить. А в нормальных промышленных языках библиотеки не имеют таких адовых графов зависимостей и не обновляются два раза в неделю.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

37. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +/
Сообщение от 0xd34df00d (??) on 07-Май-18, 05:07 
В некоторых других языках код, который может получать что-то там по HTTP/email/ssh, сразу видно по типам функций, а пара воркэраундов легко грепается по словам вроде unsafePerformIO.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

36. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +/
Сообщение от Anonymuos on 06-Май-18, 09:47 
https://habr.com/company/ruvds/blog/346442/ :-)
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +16 +/
Сообщение от АНБ on 03-Май-18, 23:03 
Пользователи, не беспокойтесь, всё под контролем. Агент 87 отправлен на спецкурс переподготовки. Встречайте агента 88.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +/
Сообщение от Аноним (??) on 03-Май-18, 23:06 
> Каким образом злоумышленники получили доступ к учётной записи автора mailparser не ясно, но после инцидента возможность входа по данному аккаунту была заблокирована.

А возможность того, что он добавил зависимость по невнимательности они не рассматривали?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +3 +/
Сообщение от Аноним (??) on 03-Май-18, 23:43 
Тогда там почти всех банить придется, чую…
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

12. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +4 +/
Сообщение от Аноним (??) on 04-Май-18, 07:26 
>в mailparser использовался пакет http-fetch-cookies, который использовал модуль express-cookies, который, в свою очередь, загружал вредоносный getcookies

Ну вы поняли

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +1 +/
Сообщение от Аноним (??) on 04-Май-18, 09:47 
>>в mailparser использовался пакет http-fetch-cookies, который использовал модуль express-cookies, который, в свою очередь, загружал вредоносный getcookies
> Ну вы поняли

Это все что надо знать о NPM. И о тех кто его использует.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

20. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +/
Сообщение от 1 (??) on 04-Май-18, 09:55 
А где там в конце однострочник на Per^W JS ?
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

25. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  –2 +/
Сообщение от YetAnotherOnanym (ok) on 04-Май-18, 14:26 
То, что ПО тянет зависимости, которые, в свою очередь, тянут свои зависимости - это, как раз таки, правильно. Гляньте, например, rebar.config любого мало-мальски серьёзного проекта на Эрланге - там тоже десяток-другой зависимостей, у каждой из которых в rebar.config свои зависимости, и так далее, и которые при сборке тянутся из сети (правда, в rebar автор может гвоздями прибить конкретную версию зависимости, работоспособность и отсутствие багов в которой он проверил, после этого в следующие версии можно что угодно добавить, собираться софт будет только с указанной версией с правильным хэшем).
Если честно, я вполне допускаю аналогичный сценарий ("получили доступ к учётной записи автора") для  любого ${language_name}-мирка, в чём особенность ноды, из-за которой вокруг таких инцидентов так много шума - я хз.
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

27. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +/
Сообщение от Аноним (??) on 04-Май-18, 18:32 
> правда, в rebar автор может гвоздями прибить конкретную версию зависимости, работоспособность и отсутствие багов в которой он проверил, после этого в следующие версии можно что угодно добавить, собираться софт будет только с указанной версией с правильным хэшем

Да-да, и с правильными дырами, давно закрытыми в новых версиях. У всех одно и то же — что у жабистов, что у питонщиков; вот и у эрлангеров, оказывается.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

30. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  –1 +/
Сообщение от YetAnotherOnanym (ok) on 05-Май-18, 00:23 
> дырами, давно закрытыми в новых версиях

Можно ссылочку на CVE по дырам, например, в зависимостях riak? Вот тут списочек, если что: https://github.com/basho/riak/blob/develop/rebar.config.lock

Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

32. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +/
Сообщение от Crazy Alex (ok) on 05-Май-18, 01:17 
Ну, тут уж кому что больше во вкусу - то ли известные проблемы и предсказуемая работа и разработка, то ли гонка за свежаком. По-хорошему - решается разделением на стабильную и нестабильную ветки, а дальше, в зависимости от вменяемости разработчиков конкретного модуля - прибивать гвоздями только мажор либо конкретную версию. Одно время в джаве так модно было, не знаю, как сейчас
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

31. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +1 +/
Сообщение от Crazy Alex (ok) on 05-Май-18, 01:14 
Особенности таковы:
1) очень мелкая разбивка. В результате модулей чёртова гора и БОЛЬШАЯ куча зависимостей
2) частый выход обновлений - ревьюить задолбаешься
3) обычно отсутствие вменяемого менеджмента версий - ломают API только так, поэтому зафиксировать версию - разве что для всего целиком, и тогда - привет известные дыры
4) браузерная гонка, тоже провоцирующая обновления.

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

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

24. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +1 +/
Сообщение от Урри on 04-Май-18, 14:05 
И ведь эта проблема принципиально не решаема.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

33. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +/
Сообщение от Crazy Alex (ok) on 05-Май-18, 01:19 
Запросто решаема - собственно, в тех же плюсах её вообще нет, потому что работа с библиотеками по-другому устроена. И в джаве нет, где тоже всё по-своему. Это именно в JS сложилась совершенно безумная модель - миллион мелких либ, обновляющихся по два раза в день, ломая зависимости
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

34. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +2 +/
Сообщение от anomymous on 05-Май-18, 10:15 
Любители хипстареп должны страдать.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

38. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +/
Сообщение от Аноним (??) on 07-Май-18, 22:41 
Если посмотреть всю хронологию произошедших подобных событий, то сразу становится понятно - где собака зарыта. Исправить все это дело - сущий пустяк. Опять же, получили доступ к учетке владельца с предполагаемым паролем вида "12345". К счастью, сам js ко всему этому отношение имеет мало.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

39. "Выявлена попытка включения бэкдора в популярный NPM-пакет ma..."  +/
Сообщение от Роб Пайк on 07-Май-18, 23:25 
Как то недавно попробовал создание мобильного приложения на популярной JS технологии , дак там зависимостей на 20.000 различных файлов, вот и ищи бэкдоры)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру