Зловреды по «официальным» ссылкам на GitHub и GitLab

BOOX

Стаж на ФС с 2012 года
Команда форума
Служба безопасности
Private Club
Регистрация
23/1/18
Сообщения
28.781
Репутация
11.595
Реакции
61.695
RUB
50
Можно ли подцепить вредоносное ПО, скачивая файлы из репозиториев Microsoft на GitHub? Оказывается, можно. Удваиваем осторожность!

Один из самых старых советов по безопасности звучит так: «скачивайте программы только из официальных источников». Часто официальные источники — это основные магазины приложений на каждой платформе, но для миллионов полезных и бесплатных приложений с открытым исходным кодом самым что ни на есть официальным источником являются репозитории разработчиков на профильных сайтах, GitHub и GitLab.

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

Именно поэтому для многих (включая самих разработчиков и специалистов по ИБ) стало неприятным открытием то, что файл, доступный по ссылке вида github.com/ИмяРазработчика/НазваниеПроекта/files/номер/имя_файла, может быть опубликован совсем даже не разработчиком и содержать… что угодно.

Конечно, этим немедленно воспользовались киберпреступники.

Как защититься от фишинга и вредоносного ПО в GitHub и GitLab

Анатомия проблемы

GitHub и его близкий родственник GitLab построены вокруг совместной работы над проектами по разработке ПО. Одни разработчики могут выкладывать свой код, а другие — предлагать к нему дополнения, исправления или даже делать форки — свою альтернативную версию приложения или библиотеки. Когда в приложении обнаруживается ошибка, любой пользователь может сообщить об этом разработчику, заведя отчет о проблеме, issue.

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

Но у GitHub есть одна особенность: если пользователь подготовил комментарий, загрузил сопроводительные файлы, но не нажал кнопку «опубликовать», информация как бы «зависает» в черновике — она не видна ни владельцу приложения, ни другим пользователям GitHub. Но прямая ссылка на загруженный в комментарий файл при этом уже создана и вполне работоспособна — файл исправно выдается из CDN GitHub любому желающему, перешедшему по этой ссылке.


Ссылка для скачивания вредоносного файла сгенерирована после добавления файла в неопубликованный комментарий на GitHub

При этом владельцы репозитория, в комментариях в котором размещен этот файл, не могут его ни удалить, ни заблокировать. Более того — они о нем даже не знают! Да и настроек, позволяющих ограничить загрузку подобных файлов для репозитория в целом, также нет. Единственное решение — полностью отключить комментарии (на GitHub это можно сделать на срок до шести месяцев), но это лишит разработчиков обратной связи.

В GitLab механика работы с комментариями аналогична, и там тоже можно публиковать файлы с помощью так и не отправленных комментариев. Здесь файлы оказываются доступны по ссылке gitlab.com/ИмяРазработчика/НазваниеПроекта/uploads/номер/имя_файла.

Правда, тут проблему немного смягчает то, что выгрузка файлов доступна только зарегистрированным и вошедшим в систему пользователям GitLab.

Подарок для фишинговых кампаний

Благодаря возможности публикации произвольных файлов по ссылкам, начинающимся с GitHub/GitLab и содержащим имена уважаемых разработчиков и популярных проектов (ведь неопубликованный комментарий с файлом можно оставить практически в любом репозитории), злоумышленники получают возможность для очень убедительного тематического фишинга. Уже обнаружены , в которых в репозиториях Microsoft оставляют «комментарии» с файлами, содержащими якобы приложение для жульничества в играх.

Внимательный пользователь, возможно, задумается, почему какой-то игровой чит хранится в репозитории Microsoft:

{.}com/microsoft/vcpkg/files/…../Cheat.Lab.zip. Но c гораздо большей вероятностью ключевые слова «гитхаб» и «майкрософт» успокоят жертву, и дальше она вглядываться в адрес не будет. Злоумышленники поумней могут маскироваться еще тщательнее, например, выдавая своих зловредов за новую версию приложения, которое распространяется через GitHub или GitLab, и публикуя ссылки через «комментарии» именно к этому приложению.

Как защититься от вредоносного контента на GitHub и GitLab

Пока эту особенность дизайна, позволяющую кому угодно неконтролируемо загружать произвольные файлы в CDN GitHub и GitLab, не изменят, пользователям этих ресурсов надо быть предельно внимательными.
  • Не скачивайте файлы по прямым ссылкам на GitHub/GitLab, опубликованным в посторонних источниках — на других сайтах, в почтовых рассылках или чатах. Вместо этого откройте страничку нужного проекта (github{.}com/ИмяРазработчика/НазваниеПроекта или gitlab.com/ИмяРазработчика/НазваниеПроекта) и убедитесь, что там действительно предлагается для скачивания этот файл. Официальные файлы от разработчиков должны быть опубликованы и видны в репозитории.

  • Проверяйте, что вы попали на страницу нужного разработчика, — в GitHub, GitLab и других open-source-репозиториях популярен : создание проектов-фальшивок, отличающихся от оригинала одной-двумя буквами (например, Chaddev вместо Chatdev).

  • Избегайте загрузок приложений, имеющих малое количество звезд (лайков) и созданных в недалеком прошлом.

  • Используйте защиту от вредоносного ПО и фишинга на всех своих компьютерах и смартфонах.


 
  • Теги
    github gitlab вредоносное по
  • Сверху Снизу