Как данные аутентификации в исходном коде могут привести к масштабным утечкам

Как данные аутентификации в исходном коде могут привести к масштабным утечкам

С точки зрения безопасности приложений вшитые в код «секреты» представляют собой уязвимость.

Если бы прошлый год можно было описать с точки зрения кибербезопасности лишь одним выражением, это было бы «атака на цепочку поставок».

Атака на цепочку поставок – это когда хакеры вмешиваются в код сторонних компонентов с целью скомпрометировать ПО, в котором они используются. В 2021 году произошел целый ряд громких атак на цепочку поставок (SolarWinds, Kaseya, Codecov и пр.).

Какое это имеет отношение к конфиденциальным данным для аутентификации? Самое прямое. К примеру, случай с Codecov является хрестоматийным примером того, как хакеры могут воспользоваться вшитыми учетными данными для получения первоначального доступа к системам жертв и собрать еще больше полезных данных.

Вшитые в код данные аутентификации остаются одной из самых недооцененных уязвимостей в сфере безопасности приложений, считает специалист GitGuardian Томас Сегура (Thomas Segura).

Конфиденциальными данными аутентификации (так называемыми «секретами») являются ключи API, цифровые сертификаты, токены и т.д., использующиеся в приложениях, сервисах и инфраструктуре. Подобно паролям они нужны для аутентификации пользователя, но в отличие от паролей, они предназначены для распространения.

С точки зрения безопасности приложений вшитые в код «секреты» представляют собой уязвимость. Прежде всего потому, что код – актив весьма текучий (например, его можно клонировать или сделать форк), и, соответственно, «секреты» тоже очень текучи.

В прошлом году в процессе мониторинга коммитов на GitHub в режиме реального времени GitGuardian зафиксировал более 6 млн утекших данных аутентификации, что в два раза больше, чем в 2020 году. В среднем из 1 тыс. коммитов в трех содержались учетные данные – на 50%, чем годом ранее.

Большая часть этих данных предоставляла доступ к корпоративным ресурсам. Не удивительно, почему хакеры, желающие закрепиться в корпоративных системах, сначала изучают открытые репозитории. Многие разработчики используют GitHub для личных проектов и часто по ошибке оставляют там корпоративные учетные данные.

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

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

Хакеры активно ищут на GitHub так называемые «дорки» – легко узнаваемые шаблоны, позволяющие выявлять утекшие данные аутентификации. И проблема не ограничивается одним лишь GitHub, злоумышленников интересуют любые реестры и исходные коды.

Ярким примером является прошлогодний взлом инструмента для разработки Codecov. Злоумышленники получили доступ к официальному репозиторию его исходного кода путем извлечения статических облачных учетных данных из официального образа Docker. Затем хакеры изменили скрипт CI и собрали сотни «секретов» из пользовательской базы Codecov.

Другой пример – Twitch, чей утекший код раскрыл более 6 тыс. репозиториев Git и 3 млн документов, а это, ни много ни мало, порядка 7 тыс. «секретов», включая сотни ключей AWS, Google, Stripe и GitHub.

Несколько лет назад сотрудник Uber случайно опубликовал корпоративный код в своем открытом репозитории GitHub. Злоумышленники узнали об этом и обнаружили в коде ключи облачного провайдера, обеспечившие доступ к инфраструктуре Uber. Произошла масштабная утечка данных.

Тени в интернете всегда следят за вами

Станьте невидимкой – подключайтесь к нашему каналу.