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

Исходное сообщение
"Применение тайпсквоттинга для распространения вредоносных мо..."

Отправлено opennews , 09-Июн-16 21:46 
Опубликованы (http://incolumitas.com/2016/06/08/typosquatting-package-mana... результаты эксперимента по использованию методов тайпсквоттинга (https://ru.wikipedia.org/wiki/%D0%A2%D0%... для распространения вредоносного ПО в репозиториях модулей для языков программирования Python, Node.JS и Ruby. Метод основан на том, что популярные репозитории модулей для разработчиков позволяют любому желающему разместить свою библиотеку, не проверяя при этом её содержимое и допуская выполнение произвольного кода в момент установки. В том числе репозитории допускают загрузку библиотек, имена которых почти полностью совпадает с названием других популярных библиотек.  Расчёт делается на то, что пользователь допустит опечатку при наборе имени или не заметит различий выбирая модуль из списка.


Для оценки эффективности метода в репозиториях PyPi (Python), Npmjs.com (Node.js) и rubygems.org (Ruby) было размещено 214 подставных пакетов, имена для которых были выбраны в соответствии с тремя основными критериями: опечатки в названии (например, coffee-script вместо coffe-script), незарегистрированные варианты имён из стандартной библиотеки (например, urllib2) и имена, вычисленные алгоритмами оценки схожести имён (например, req7est вместо request). В качестве полезной нагрузки в фиктивные модули был добавлен код, отправляющий запрос на сервер сбора статистики. Модули добавлялись в репозитории постепенно в течение нескольких месяцев, чтобы не вызвать подозрений со стороны администраторов.


Результат превзошёл все ожидания - на сервере было зафиксировано 45334 запросов от 17289 уникальных хостов. Т.е. если бы метод был применён для организации атаки, то удалось бы захватить управление над более чем 17 тысячами компьютеров, чего более чем достаточно для развёртывания ботнета. Более того, в 43.6% случаев (на 8552 хостах) код был выполнен с правами администратора (
!
), позволяющими полностью контролировать операционную систему. 15221 хоста были поражены через пакеты PyPi, 1631 через rubygems и 525 через NPM. 8614 захваченных хостов работают под управлением Linux, 6174 - Windows и 4758 - OS X. Наиболее популярным фиктивным пакетом стал urllib2, который за две недели оказался установленным на 3929 системах.

В качестве мер по противостоянию подобным атакам предлагается:


-  Запретить в пакетных менеджерах выполнение встроенных в пакет обработчиков различных стадий установки, которые позволяют запустить произвольный код на системе пользователя, установившего модуль.
-  Подготовить список типовых опечаток и проверять схожесть названий с использованием метода Дамерау — Левенштейна (https://ru.wikipedia.org/wiki/%D0%A0%D0%... для наиболее популярных пакетов;

-  Анализировать логи на наличие 404-ошибки (файл не найден) и блокировать фигурирующие в них неверные названия пакетов.

URL: http://incolumitas.com/2016/06/08/typosquatting-package-mana.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=44576


Содержание

Сообщения в этом обсуждении
"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено rob pike , 09-Июн-16 21:46 
Теперь в npm встроят искуственный интеллект с десятком нейросетей, который будет проверять опечатки.

С "поколением Javascript" одно плохо - сколько попкорна не бери, все равно не хватает.


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Crazy Alex , 09-Июн-16 22:45 
Ну, жертв джаваскрипта меньше всего... Но суть от этого не меняется.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено rob pike , 09-Июн-16 23:15 
Жертв джаваскрипта меньше всего - что?

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Crazy Alex , 10-Июн-16 01:37 
"15221 хоста были поражены через пакеты PyPi, 1631 через rubygems и 525 через NPM"

Основная масса жертв - питонисты


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Нанобот , 10-Июн-16 09:26 
возможно, это просто значит, что юзеров pypi в семь раз больше, чем юзеров rubygems и npm, вместе взятых

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Crazy Alex , 10-Июн-16 10:06 
Вполне возможно. С другой стороны - серверного JS сейчас на вид не меньше, чем питона.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено омномномнимус , 10-Июн-16 09:55 
новые времена - новые проблемы. С поколеним старперов тоже все плохо - раньше было лучше ;-)

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено rob pike , 10-Июн-16 11:03 
Огласите список "новых" проблем.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено омномномнимус , 10-Июн-16 11:42 
тайпсквоттинг

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено rob pike , 10-Июн-16 17:57 
Раздолбайство - проблема не новая.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Michael Shigorin , 10-Июн-16 18:38 
> Раздолбайство - проблема не новая.

И не всегда проблема: http://img-fotki.yandex.ru/get/3104/yurasikgor.3/0_1af70_405...


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено омномномнимус , 10-Июн-16 20:13 
ну, с таким подходом все можно подвести под "раздолбайство"

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Sabakwaka , 09-Июн-16 22:24 
Проблема в безграмотности владельцев/админов, а не в Javascript?

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 09-Июн-16 22:52 
Это очень даже связанные вещи. Достойные плоды низкого порога вхождения и привычки к "хреняк, хреняк и в продакшен".

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 10-Июн-16 10:36 
Когда злоумышленники регистрируют какой-нибудь vkontalke.ru, надеясь получить пароли от невнимательных пользователей, виноваты злоумышленники. Если тот же подход используется с NPM, виноват JavaScript, лол.

NPM не следит за пакетами и ничего не трогает - это плохо.
NPM следит за пакетами и по своей инициативе восстанавливает left-pad - снова плохо.

Веб-хейтеркам угодить тяжело :)


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 10-Июн-16 11:19 
А вот и вебмакака подтянулась со своей попоболью.

"Репозиторий" в который кто угодно пихает что угодно и концов не найти. Макаки, тянущие оттуда не глядя, не пойми чего, хрен пойми зачем. Все хорошо веб-девелопмент кипит.


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено synweap , 10-Июн-16 12:48 
Может лучше вообще интернет запретим? А то по запросу "скачать винрар" открывается туева хуча сайтов сомнительного происхождения. Про "макак, тянущих оттуда не глядя", ты видимо из одного всем известного места высосал, потому как этот образ не является ничем, кроме как плодом твоей фантазии. Я, например, перепроверяю. (Но тебя-то это не волнует: реальному человеку, внимательно глядящему на вводимые в терминал символы, ты предпочтешь воображаемое чучело, которое критиковать легче всего.)

В любом проекте, использующем npm, 99% пакетов скачиваются по зависимостям, прописанных в package.json, так что ошибиться сложно. Как только администрация npm начнет удалять "фишинговые" пакеты, ты первым побежишь кричать об ущемлении швабодки шлова и "неувожении к розроботчикам", как это уже было в случае с left-pad. Я же говорю - веб-хейтерки найдут повод повозмущаться в любом случае.


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 10-Июн-16 16:15 
Просто объясните как на 17289-х уникальных хостах оказались левые пакеты.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено synweap , 10-Июн-16 17:34 
Я откуда знаю. Мой npm-пакет с очень редким специфичным применением кто-то тоже однажды массово скачал > 10 000 раз, хотя он от силы пригодится одному человеку в год. Возможно какие-нибудь сервисы вроде супер-поиск-по-npm-с-сортировкой-по-звездочкам.io.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 10-Июн-16 17:50 
Угу. Сервисы, сервисы, 17289 одних сервисов.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено synweap , 10-Июн-16 18:27 
> 15221 хоста были поражены через пакеты PyPi, 1631 через rubygems и 525 через NPM.

Новость не читай
@
Камменты оставляй
@
Ненавидь веб всею душою своею


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 11-Июн-16 16:59 
Как я и думал, по делу вам сказать нечего.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Нанобот , 10-Июн-16 09:28 
> Проблема в безграмотности владельцев/админов, а не в Javascript?

та вроде никто и не говорил, что проблема в javascript


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 09-Июн-16 22:36 
Обязательную pgp-подпись пакетов да ручное добавление ключей в доверенные

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 10-Июн-16 00:43 
> Обязательную pgp-подпись пакетов да ручное добавление ключей в доверенные

В чем разница с обязательным подписанием RSA-ключами и ручным добавлением ключей в доверенные в PKI?


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 10-Июн-16 09:59 
Очевидно тем что PGP ключ не обязательно RSA.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Нанобот , 10-Июн-16 09:01 
>Обязательную pgp-подпись пакетов да ручное добавление ключей в доверенные

верный способ отпугнуть 95% пользователей и привести всю систему в негодность

для большей эффективности рекомендую включить двух-, нет, лучше трёхфакторную авторизацию перед установкой каждого модуля!


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Andrey Mitrofanov , 10-Июн-16 09:32 
>>Обязательную pgp-подпись пакетов да ручное добавление ключей в доверенные

Не, велосипеды _должны_ быть разнообразны и неожиданны. "Просто работать" оно должно только в redhat-е (правда, я пока не разобрал -- в yum-е или dnf-е, или у них "плановое устаревание" в разгаре, поэтому я и путаюсь).

> верный способ отпугнуть 95% пользователей и привести всю систему в негодность

Оттуда, где гоняются за %-ами пользователей надо бежат, не оглядываясь. Там же наверху написано.

Вы лично где "службу несёте". Мне надо -- чтоб не вляпатьсся.

> перед установкой каждого модуля!


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 09-Июн-16 22:36 
> код был выполнен с правами администратора (!)

Может, это какие-нибудь докеры и прочие контейнеры, в которых это норма?


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 10-Июн-16 06:29 
Я знаю только за ноду.

В npm лежат не только модули к ноде, но, иногда, попадаются всякие вспомогательные утилиты, вроде генератора заготовки для экспресса или jshint. В всех инструкциях к этим "модулям", авторы считают что их детищем будут пользоваться ежедневно и поэтому пишут чтобы их поделия ставились с флагом -g (npm install -g jshint). После такой установки модули помещаются не в текущую директорию, из которой был вызван npm install, а куда-то в /usr и поэтому требуют права рута для инсталяции. Т.ч. npm install может запускаться с рутовскими правами не только в докере.

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


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Moomintroll , 10-Июн-16 09:38 
> один такой крупный проект может накрутить всю статистику с установкой модулей под рутом

Вы невнимательно читаете:

"... было зафиксировано 45334 запросов от 17289 уникальных хостов"


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Crazy Alex , 10-Июн-16 10:20 
Уикальных IP, скорее всего. Если IPv6 у кого-то поднят - то запросто.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено AS , 09-Июн-16 22:40 
так то это совсем капец.
ведь чтоб гарантировано защититься от этого -
никаких мощностей/человекоресурсов не хватит.
ну почему я в дворники не пошел ?
сидел бы шас бухал - горя не знал ..
но придется похоже разрабов идти пинать завтра -
уже по zabbиксу вижу, похоже цапнули с npm ом эту дрянь !

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 10-Июн-16 00:03 
>так то это совсем капец.
>ведь чтоб гарантировано защититься от этого -
>никаких мощностей/человекоресурсов не хватит.
>ну почему я в дворники не пошел ?
>сидел бы шас бухал - горя не знал ..
>но придется похоже разрабов идти пинать завтра -
>уже по zabbиксу вижу, похоже цапнули с npm ом эту дрянь !

Бухать меньше надо, тогда бред мерещаться по zabbix-у не будет и мания величия пропадёт.


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено IZh. , 09-Июн-16 23:45 
А я сижу и жду, пока это болото не перебодит. Когда есть 100500 модулей, и сотня разных CSS-препроцессоров, фреймворком, менеджеров зависимостей и ещё много чего другого, то это как-то неправильно. Надеюсь, со временем останется не более десятой части от того, что есть.

Это многообразие плохо ещё и тем, что усилия разработчиков размазываются по миллиону проектов, вместо того, чтобы выпустить десяток-сотню, но супер.


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 10-Июн-16 00:43 
> А я сижу и жду, пока это болото не перебодит. Когда есть
> 100500 модулей, и сотня разных CSS-препроцессоров, фреймворком, менеджеров зависимостей
> и ещё много чего другого, то это как-то неправильно. Надеюсь, со
> временем останется не более десятой части от того, что есть.
> Это многообразие плохо ещё и тем, что усилия разработчиков размазываются по миллиону
> проектов, вместо того, чтобы выпустить десяток-сотню, но супер.

Ну? Логическую цепочку продолжай? Зачем нам 2048 дистров пингвина? Лучше десяток, но супер?


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Crazy Alex , 10-Июн-16 01:41 
Разница в том, что у дистров пингвина очень крутая кривая распределения популярности. После первой десятки остаются какие-то жалкие следы. А если о промышленном использовании говорить - так и после пяти, пожалуй.

А там - весь зоопарк более-менее активно используется во вполне заметных масштабах.


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено rob pike , 10-Июн-16 04:50 
Там кривая более пологая, может быть, но в целом похоже на пингвинов. Но с одной важной оговоркой - в произвольно взятый, но конкретный момент времени.

Там мода меняется быстрей, и издержки на смену одного на другого меньше, поэтому среди long tail никем не используемых модулей, у большой части был когда-то период популярности, хотя бы относительной. Звездочки в гитхабах остались, и модуль в репозитории. А внутри уже давно труха и заброшенный термитник.


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Crazy Alex , 10-Июн-16 10:13 
Ну так, считай, при любом сравнении популярности надёте гауссиану - конечно похоже. Я бы различие проводил скорее в том, что линуксовый самопал всё же крайне редко тянут в коммерческую эксплуатацию.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено . , 10-Июн-16 01:42 
> Ну? Логическую цепочку продолжай? Зачем нам десяток дистров пингвина? Лучше один, но чтоб правил всеми? И продать .... 8-)

Хрен вам! ОСС - тем и силён что тут всего овердомного :) И у проприетарщиков шансов с каждым днём убавляется :)



"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Michael Shigorin , 10-Июн-16 07:16 
> И у проприетарщиков шансов с каждым днём убавляется :)

Эк Вы жёстко ихнего добровольного (?) обслуживателя-то (это судя по типовым стираемым комментариям с того же адреса)...


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 10-Июн-16 09:30 
Угу, по десктопу особенно видна смла этого подхода.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено hatersgonnahate , 10-Июн-16 15:56 
зачем столько комментариев - по одному на каждого зарегистрированного
зачем столько новостей - по одной в день
зачем столько сайтов - один, но крутой
один коммент, одна новость, один сайт! хейль!

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Онаним , 10-Июн-16 04:49 
Дожили...

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 10-Июн-16 08:52 
Хипстерские подходы, увы... Почему-то эти ребята считают, что всю безопасность кто-то должен сделать за них.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Нанобот , 10-Июн-16 09:23 
просто разрабы расслабились, т.к. целевые атаки против них - большая редкость (и мне бы хотелось, чтоб так было и дальше)

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено пучапучс , 10-Июн-16 09:53 
Вспоминается старая байка времен DOS.
Клиент vs саппорт.
...
-надо набирать install.exe
-но меня n не нажимается и я её на m заменяю.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 10-Июн-16 10:13 
> 8614 захваченных хостов работают под управлением Linux, 6174 - Windows и 4758 - OS X.
> 45334 запросов от 17289 уникальных хостов.

8614+6174+4758=19546

шутка о ста сорока шести процентах...


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 10-Июн-16 11:22 
Уникальный IP != уникальный хост.

Искренне ваш, К.О.


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Шапкоед , 10-Июн-16 12:57 
Все еще хуже. Это виртуальные машины или virtualenv у питона. %-)

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено анином , 10-Июн-16 17:38 
Будте любезны, поясните - VPS это уникальный хост или просто уникальное IP?


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 11-Июн-16 00:21 
> Будте любезны, поясните - VPS это уникальный хост или просто уникальное IP?

Да.


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено анон , 10-Июн-16 11:46 
что-что? кто-то еще не использует йомена и свои сценарии разворачивания окружения к нему? кто-то не пользуется package.json? есть не осилившие requirements.txt ?

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

ну а если есть дятлы которые ставят все подряд пакеты нода с флагом -g, то тут уже ничего не поможет. даже грант отказывается запускаться если он установлен не локально. по питону также - есть virtualenv, pip и ~.


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Аноним , 10-Июн-16 11:48 
Есть репы с deb-пакетами. Всё остальное от лукавого.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Andrey Mitrofanov , 10-Июн-16 13:12 
> Есть репы с deb-пакетами. Всё остальное

Есть репы с р-п-м-ами, gpgcheck=0 и вперёд!

> от лукавого.


"Применение тайпсквоттинга для распространения..."
Отправлено arisu , 10-Июн-16 14:52 
> В качестве мер по противостоянию подобным атакам предлагается

…душить скрипт‐киддисов пока они ещё маленькие.


"Применение тайпсквоттинга для распространения..."
Отправлено Аноним , 10-Июн-16 16:18 
Похоже что уже поздно. Вон их сколько уже понабежало.

"Применение тайпсквоттинга для распространения..."
Отправлено Нониус , 14-Июн-16 13:14 
Два раза "уже" это пунктик

"Почевидное решение"
Отправлено тОпор , 10-Июн-16 22:29 
Система рейтингов для пакетов + право заверять пакеты тем, кому мы доверяем (10-20 коре разработчиков).


"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено spotify.space , 10-Июн-16 23:18 
Проблема высосана из пальца. Единственное, что надо запретить отъем названия пакета из лицензионных соображений, и то, только с согласия владельца пакета.
Плюс нужно предусмотреть фиксацию версий пакетов, чтобы сохранять обратную совместимость с существующимми приложениями.

"Применение тайпсквоттинга для распространения вредоносных мо..."
Отправлено Никто , 11-Июн-16 15:02 
- На сервере было зафиксировано 45334 запросов от 17289 уникальных хостов. В 43.6% случаев код был выполнен с правами администратора, позволяющими полностью контролировать операционную систему. Что Вы по этому думаете, господин эксперт?
- Проблема высосана из пальца.