Насколько вообще безопасны общедоступные репозитории программного обеспечения?
Исследователи кибербезопасности недавно обнаружили вредоносное ПО для кражи криптовалюты, которое распространялось через платформу для разработчиков NuGet под видом 13 поддельных пакетов.
Изощренная тайпсквоттинг-кампания, подробно описанная специалистами JFrog, заключалась в выдаче злоумышленниками своей вредоносной программы за популярные легитимные пакеты, часто используемые разработчиками. Эффект достигался путём копирования названий этих популярных пакетов, пусть и с небольшими изменениями. А так как даже легитимные пакеты зачастую имеют сложные названия, разработчикам ничего не стоит случайно спутать пакеты и загрузить на компьютер именно вредонос.
Вредоносные пакеты (левая колонка) и оригинальные пакеты (правая колонка)
Двухэтапная атака завершалась развертыванием постоянного бэкдора «Impala Stealer» на основе .NET, способного получать несанкционированный доступ к учётным записям криптовалютных кошельков жертв.
«Полезная нагрузка использовала очень редкую технику обфускации, называемую «.NET AoT Compilation», которая намного более скрытна, чем использование «готовых» обфускаторов, но при этом затрудняет реверс-инжиниринг двоичного кода», — заявили представители JFrog.
.NET AoT Compilation — это метод оптимизации, позволяющий заблаговременно компилировать приложения в машинный код. Нативные AoT-приложения быстрее запускаются и требуют меньше памяти, а также могут работать на компьютере без установленной среды выполнения .NET.
Полезная нагрузка второго этапа поставляется с механизмом автоматического обновления, который позволяет получать новые версии исполняемого файла из удаленного расположения. Кроме того, механизм обеспечивает постоянство вредоноса в системе жертвы путем внедрения JavaScript-кода в приложения Discord или Microsoft Visual Studio Code, тем самым активируя запуск двоичного файла стилера.
Затем двоичный файл приступает к поиску установленного десктопного приложения Exodus Wallet и вставляет JavaScript-код в различные HTML-файлы, чтобы собирать и эксфильтровать конфиденциальные данные в жёстко запрограммированный веб-перехватчик Discord.
«Злоумышленники использовали методы тайпсквоттинга для развертывания пользовательской вредоносной полезной нагрузки, нацеленной на криптокошелек Exodus», — сказал Шачар Менаше, старший директор JFrog Security Research.
Загрузка вредоносных пакетов на платформы, используемые разработчиками, уже стала обыденностью. Например, незадолго до отчёта JFrog исследователи из компании Phylum обнаружили вредоносный пакет с именем mathjs-min в сервисе NPM. Пакет содержал похититель учётных данных, который захватывал пароли из официального приложения Discord, а также веб-браузеров, таких как Google Chrome, Brave и Opera.
«Наше расследование доказывает, что ни один репозиторий программного обеспечения с открытым исходным кодом не заслуживает полного доверия, поэтому необходимо принимать меры безопасности на каждом этапе жизненного цикла разработки программного обеспечения, чтобы обеспечить безопасность цепочки поставок программного обеспечения», подытожили специалисты JFrog.
Одно найти легче, чем другое. Спойлер: это не темная материя