Уязвимость GitHub позволяла угнать чужой репозиторий в обход защиты

Уязвимость GitHub позволяла угнать чужой репозиторий в обход защиты

Уязвимость GitHub позволяла угнать чужой репозиторий в обход защиты

Команда Checkmarx обнаружила брешь в защите облачного хостинга GitHub от клонирования репозиториев в рамках атак на цепочку поставок. Как оказалось, создать такой источник вредоносного кода все еще можно, притом легко — путем переименования.

Хранилища на GitHub получают уникальные URL, которые привязываются к аккаунту владельца. Когда пользователь меняет имя аккаунта, на веб-сервисе создаются редиректоры. В Checkmarx придумали, как угнать перенаправленный трафик, сломав логику редиректа, и назвали свой способ RepoJacking.

В итоге на GitHub появился дополнительный механизм защиты, отвечающий за удаление популярных, но устаревших пространств имен (связок имя пользователя / имя репозитория) — чтобы ими не воспользовались злоумышленники. Эта контрмера пускается в ход, когда недельная норма клонов opensource-проекта перевалит за сотню.

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

  • злоумышленник создает репозиторий с именем (условно repo), выведенным из обихода, но под другим аккаунтом, разрывая связку (например, вместо прежнего юзернейма victim использует helper);
  • helper_account передает репозиторий repo новому владельцу (attacker) в соответствии с принятым регламентом;
  • тот переименовывает свой аккаунт в victim;
  • новоявленный victim_account принимает запрос на передачу права собственности.

В итоге пространство имен victim/repo попадает под контроль авторов атаки — из-за того, что специализированная защита GitHub считает устаревшей только комбинацию юзернейм / имя репозитория. По словам Checkmarx, подобным образом можно угнать любой популярный софт, если его владелец менял имя пользователя.

Просмотр каталогов Go, Swift и Packagist выявил более 10 тыс. пакетов, находящихся в зоне риска. Оператор GitHub устранил опасную уязвимость в прошлом месяце — 19 сентября.

Пенсионеры смогут подтверждать право на скидки в магазинах через MAX

Процедура получения льгот, вводимых российским ретейлом для людей преклонного возраста, скоро упростится. Таким покупателям достаточно будет зайти в MAX и предъявить на кассе QR-код, сгенерированный на основе цифрового ID.

Сервис подтверждения статуса пенсионера через MAX уже запущен в пилотном режиме компанией X5.

В настоящее время нововведение доступно лишь москвичам — посетителям ряда «Перекрестков» и «Пятерочек», освоившим самообслуживание. В следующем месяце планируется распространить его на все торговые точки этих сетей.

«Каждый месяц в наши магазины приходят около 20 млн покупателей пенсионного возраста, — отметил Александр Костин, управляющий директор Х5 Tech. — Мы последовательно развиваем цифровые сервисы, которые делают покупки для клиентов любого возраста быстрее и удобнее, а процессы в магазинах — более эффективными».

Воспользоваться новой функцией несложно. На кассе самообслуживания нужно отсканировать товар, открыть раздел «Скидки пенсионерам и другие», выбрать из списка «Скидка пенсионерам» и поднести к считывателю смартфон с QR-кодом в профиле MAX (в мессенджере на такие случаи предусмотрена опция «Показать ID»).

Возможность использования MAX для подтверждения возраста в России закреплена законом. Создаваемый в мессенджере цифровой ID разрешено применять с этой целью наравне с бумажными документами, и ретейлеры уже начали осваивать это новшество при продаже товаров 18+.

RSS: Новости на портале Anti-Malware.ru