Решето! Или как школьник в официальный репозиторий PyPI вредонос занес
#1
Цитата:Исследователи из компании Sonatype обнаружили шифровальщика в официальном репозитории PyPI. В ходе расследования выяснилось, что вредонос в репозиторий загрузил школьник, а любой пользователей пакетов оказывался жертвой вымогателя.

Специалисты по информационной безопасности обнаружили в репозитории PyPI вредоносные пакеты requesys, requesrs и requesr, которые выдавали себя за популярный пакет requests. Отмечается, что вредоносы шифровали данные пользователей, но при этом не требовали выкупа и перенаправляли жертв на Discord-сервер с ключами для дешифровки.

Отмечается, что пакет requesys при запуске на машинах под управлением операционной системы Windows просматривал содержимое папок Documents, Downloads и Pictures, а после этого начинал шифровать их содержимое. Также исследователи заметили, что скрипт запускался только в том случае, если имя пользователя ПК отличалось от «GIAMI». Исследователи решили, что это никнейм автора вымогателей.

Для шифрования данных разработчик использовал модуль fernet из библиотеки для шифрования с симметричным ключом. Этот же модуль использовался для генерации ключа для расшифровки данных. Отмечается, что первые версии пакета предоставляли ключ в виде обычного текстового файла, а в версии 1.5 разработчик перешёл к обфусцированному исполняемому файлу base64.

При успешном запуске и шифровании данных пользователи видели всплывающее окно, которое предлагало перейти на Discord-сервер пользователя под никнеймом OHR (Only Hope Remains). Исследователи заметили, что сервер был открытым, и на него мог попасть любой желающий. На самом сервере был канал #ransomware-notifications, который содержал имена жертв и ключи для дешифрования.
Специалисты быстро нашли автора вредоносов. Выяснилось, что он использовал никнеймы OHR и b8ff в PyPI, Discord, GitHub и на других сайтах. На GitHub находился и код самого шифровальщика. Также у автора был обнаружен YouTube-канал с роликами про создание простых эксплойтов на Python. Также важно отметить, что автор указал в README-файле проекта, что он не несёт ответственности в случаях неправомерного использования кода. Однако, в пакетах PyPI никаких предупреждений не было и разработчик не пытался предупредить пользователей.

Исследователи попробовали связаться с разработчиком и сразу же получили ответ. Автор отметил, что шифровальщики полностью безобидные, не требуют выкуп и сразу же предлагают получить ключ для расшифровки данных. Сам разработчик представился школьником из Италии, который изучает Python, Lua и HTML. Созданием вымогателей юный разработчик занялся недавно и, как утверждает, был удивлен тем, с какой лёгкостью можно создать вредонос и заставить пользователей установить его.

Разговор с разработчиком помог предотвратить новые жертвы среди пользователей. Школьник согласился переименовать пакет requesys, чтобы пользователи больше не путали его с requests. Пакеты requesrs и requesr удалены из репозитория PyPI, но не до конца ясно, кем. Это могли сделать как модераторы, так и сам разработчик.

Источник.

Вот тоже не особо понимаю, почему сейчас считается нормальным ставить тонны не пойми чего из помоек вроде нпм, мавена или вот этого вот пистона. С ужасом всегда смотрю на сотню пакетов, который тянет мавен при сборке проекта.
#2
Лично я не доверяю подобным репозиториям, да и зависеть от пакетов каких-то пользователей не очень. Использовал значит один пакет для python, а его потом удалили. Копия у меня осталась, но документацию пришлось искать на web.archive.org
#3
(09.08.2022 10:Aug)Zhbert Написал: Вот тоже не особо понимаю, почему сейчас считается нормальным ставить тонны не пойми чего из помоек вроде нпм, мавена или вот этого вот пистона.
А, то есть ставить либы из репозитория твоего дистрибутива это ок, а вот уже из репозиториев пакетников языков уже плохо? Или ты сам сейчас пишешь каждую программу для себя, включая ядро системы?
#4
(09.08.2022 11:Aug)ceheki Написал: либы из репозитория твоего дистрибутива это ок, а вот уже из репозиториев пакетников языков уже плохо?
Ну либа в реп твоего дистрибутива не попадёт просто так. Мэйнтейнеры известны, новые пакеты проходят нормальную такую модерацию, старые пакеты тоже, в общем. Если обнаружится такая бяка в дистрибутиве - будет скандальчик и дистр быстренько превратится в ненужно, если не примет нормальные меры. В случае же с помойками типа PyPi, NPM, Maven - ну... Хомячки продолжают жрать кактус. Вы мне лучше объясните, почему культура разработки не осуждает использование либы вместо двух (!) строчек кода.
#5
(09.08.2022 13:Aug)lonelywoolf Написал:
(09.08.2022 11:Aug)ceheki Написал: либы из репозитория твоего дистрибутива это ок, а вот уже из репозиториев пакетников языков уже плохо?
Ну либа в реп твоего дистрибутива не попадёт просто так. Мэйнтейнеры известны, новые пакеты проходят нормальную такую модерацию, старые пакеты тоже, в общем. Если обнаружится такая бяка в дистрибутиве - будет скандальчик и дистр быстренько превратится в ненужно, если не примет нормальные меры. В случае же с помойками типа PyPi, NPM, Maven - ну... Хомячки продолжают жрать кактус. Вы мне лучше объясните, почему культура разработки не осуждает использование либы вместо двух (!) строчек кода.

Просто среди дистрибутивов есть конкуренция: нужен deb-based — Debian, Ubuntu, Mint; нужен RPM — Fedora, RHEL, openSUSE; нужны самобытные — тоже огромный выбор. И даже взять клоны клонов клонов — мейнтейнеры везде свои, и если вдруг гадость проскачила в условной Ubuntu, не факт что оно окажется и в условном Mint, а если и окажется, то не обязательно в исходном, непотребном, виде.

В то время как централизованные репозитории для целого языка исключают всякую конкуренцию, что заставляет либо жрать что дают, либо не жрать вообще (ну или ручками ставить и/или проверять исходники всего что качаешь).
Правила форума
[Новичкам] Как правильно задавать вопросы, чтобы Вам помогли

«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
#6
(09.08.2022 23:Aug)mord0d Написал: В то время как централизованные репозитории для целого языка исключают всякую конкуренцию, что заставляет либо жрать что дают, либо не жрать вообще (ну или ручками ставить и/или проверять исходники всего что качаешь).

Там, я так понимаю, еще и проверок нет. Захотел условный Васян запилить мегалибу, считающую 2+2, и просто запилил. И потом оно расползлось по проектам. 

Такая же фигня в «пакетном менеджере» Go, например. Оно вообще просто с гитхаба тянет модули. Да, ты можешь посмотреть код, но кто это делает реально? Никто.



(09.08.2022 13:Aug)lonelywoolf Написал: Мэйнтейнеры известны, новые пакеты проходят нормальную такую модерацию, старые пакеты тоже, в общем. Если обнаружится такая бяка в дистрибутиве - будет скандальчик и дистр быстренько превратится в ненужно, если не примет нормальные меры.

Да, как-то так. То есть есть контроль того, что в репах, поэтому более менее можно доверять софту. В помойках такого нет.



Цитата:Хомячки продолжают жрать кактус. Вы мне лучше объясните, почему культура разработки не осуждает использование либы вместо двух (!) строчек кода.

Ну это ладно. В принципе, зачем писать код с нуля, если он уже есть готовый. Ты же пользуешься встроенными в язык библиотеками, а не каждый раз руками пишешь сортировку слиянием или бинарный поиск. Это нормально. Не нормально, что эти библиотеки на таком глобальном уровне никто не проверяет ВООБЩЕ, судя по всему. 

Ну то есть я могу понять, если бы было так: ты запилил либу, ее проверило три человека из представителей помойки, дали добро, у тебя взяли контакты (ЕМНИП контакты любого из мейнтенеров дистра можно найти и ему написать), оставили свои контакты и после этого выложили ее в открытый доступ. 

Сейчас это вся серединка этого процесса пропущена, я так понима — запилил, выложил, все качают. 

И грустно, что это ВЕЗДЕ на ГЛОБАЛЬНОМ уровне. Если так подумать, то весь, наверное, Java-софт, собираемый мавеном в каком-нибудь пайплайне, тянет тонны пакетов из мавена.



Цитата:либо не жрать вообще (ну или ручками ставить и/или проверять исходники всего что качаешь).

Вот проверять как раз должны на входе в помойку :)
#7
Проверяйте, что пишите в консоли! UNIX не исправит ваши глупые ошибки, но из глупых ошибок строятся умные вещи.
#8
(15.08.2022 19:Aug)doesm Написал: Проверяйте, что пишите в консоли! UNIX не исправит ваши глупые ошибки, но из глупых ошибок строятся умные вещи.

Ну проверил ты, что правильно написал название какой-то утилиты. А она тебе потом вместо нормальной функциональности будет гадость писать насчет СВО. Был же случай с тем же NPM ЕМНИП.
#9
(16.08.2022 09:Aug)Zhbert Написал:
(15.08.2022 19:Aug)doesm Написал: Проверяйте, что пишите в консоли! UNIX не исправит ваши глупые ошибки, но из глупых ошибок строятся умные вещи.

Ну проверил ты, что правильно написал название какой-то утилиты. А она тебе потом вместо нормальной функциональности будет гадость писать насчет СВО. Был же случай с тем же NPM ЕМНИП.

Это другое совсем, называется "protestware" или как-то еще.
#10
(16.08.2022 13:Aug)doesm Написал: protestware

Хоспаде... Это типа специальный термин для таких подлянок?
#11
(16.08.2022 14:Aug)Zhbert Написал:
(16.08.2022 13:Aug)doesm Написал: protestware

Хоспаде... Это типа специальный термин для таких подлянок?

Вроде того. Но protestware это больше программа, выводящая лозунги, а вот которая уничтожает данные уже harmware считается (вроде).
Возможно похожие темы ...
Тема
Автор
  /  
Последний пост

Перейти к форуму:

Пользователи, просматривающие эту тему: 1 Гость(ей)