Вредоносное ПО, поражающее NetBeans для внедрения бэкдоров в собираемые проекты
29 мая 2020 года
GitHub выявил вредоносное ПО, поражающее проекты в интегрированной среде разработки NetBeans и использующее процесс сборки для своего распространения. Расследование показало, что при помощи рассматриваемого вредоносного ПО, которому присвоено имя Octopus Scanner, были скрыто интегрированы бэкдоры в 26 открытых проектов, имеющих репозитории на GitHub. Первые следы проявления Octopus Scanner датированы августом 2018 года.
Вредоносное ПО способно выявлять файлы с проектами NetBeans и добавлять свой код в файлы проекта и собираемые JAR-файлы. Алгоритм работы сводится к нахождении каталога NetBeans с проектами пользователя, перебору всех проектов в данном каталоге, копированию вредоносного сценария в nbproject/cache.dat и внесению изменений в файл nbproject/build-impl.xml для вызова этого сценария при каждой сборке проекта. При сборке копия вредоносного ПО включается в результирующие файлы JAR, которые становятся источником дальнейшего распространения. Например, вредоносные файлы были размещены в репозиториях вышеупомянутых 26 открытых проектов, а также различными другими проектами при публикации сборок новых релизов.
При загрузке и запуске поражённого JAR-файла другим пользователем, на его системе начинался очередной цикл поиска NetBeans и внедрения вредоносного кода, что соответствует модели работы самораспространяющихся компьютерных вирусов. Кроме функциональности для самораспространения, вредоносный код также включает функции бэкдора для предоставления удалённого доступа к системе. На момент разбора инцидента управляющие бэкдором серверы (C&C) не были активны.
Всего при изучении поражённых проектов было выявлено 4 варианта инфицирования. В одном из вариантов для активации бэкдора в Linux создавался файл автозапуска "$HOME/.config/autostart/octo.desktop", а в Windows для запуска применялся запуск заданий через schtasks. Среди других создаваемых файлов: $HOME/.local/share/bbauto $HOME/.config/autostart/none.desktop $HOME/.config/autostart/.desktop $HOME/.local/share/Main.class $HOME/Library/LaunchAgents/AutoUpdater.dat $HOME/Library/LaunchAgents/AutoUpdater.plist $HOME/Library/LaunchAgents/SoftwareSync.plist $HOME/Library/LaunchAgents/Main.class
Бэкдор мог использоваться для добавления закладок в развиваемый разработчиком код, организации утечки кода проприетарных систем, кражи конфиденциальных данных и захвата учётных записей. Исследователи из GitHub не исключают, что вредоносная деятельность не ограничивается NetBeans и могут существовать другие варианты Octopus Scanner, внедряющиеся для своего распространения в процесс сборки на базе Make, MsBuild, Gradle и других систем.
Названия поражённых проектов не упоминается, но их легко можно найти через поиск в GitHub по маске "cache.dat". Среди проектов, в которых найдены следы вредоносной активности: V2Mp3Player, JavaPacman, Kosim-Framework, Punto-de-venta, 2D-Physics-Simulations, PacmanGame, GuessTheAnimal, SnakeCenterBox4, Secuencia-Numerica, CallCenter, ProyectoGerundio, pacman-java_ia, SuperMario-FR-.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.