Ученые из Университета штата Северная Каролина опубликовали результаты исследования репозиториев GitHub под названием How Bad Can It Git? Characterizing Secret Leakage in Public GitHub Repositories («Насколько плох Git? Утечка секретных данных из публичных GitHub-хранилищ», PDF).

Эксперты проанализировали несколько миллиардов файлов, и, несмотря на то, что сканирование охватило только 13% общедоступных репозиториев, в 100 тыс. из них обнаружились токены API и криптографические ключи. Исследователи искали текстовые строки, отформатированные соответствующим образом в публично доступных коммитах, а также отслеживали снэпшоты — слепки файловых систем, сохраненных в облачной базе данных BigQuery.

В первом случае им удалось проанализировать свыше 4,3 млн файлов из 681 тыс. хранилищ. Во втором ученые охватили более 2,3 млрд файлов из 3,3 млн репозиториев. При этом две выборки пересекались лишь на 3,5%.

Поскольку форматы искомых строк различаются в зависимости от используемых сервисов, команда выделила 15 видов API, включая сервисы Google, Amazon, Twitter, Facebook, MailСhimp, а также четыре вида криптографических ключей. В итоге университетская группа обнаружила в 100 тыс. библиотек почти 575,5 тыс. идентификаторов.

Ученые отмечают, что 94% утечек происходит через репозитории с одним владельцем. Это означает, что найденные API-токены действительны и активно используются, так как хозяину множества аккаунтов они, как правило, нужны для тестирования.

Так как исследование продолжалось почти шесть месяцев, экспертная группа могла пронаблюдать, как разработчики отреагируют на утечку, если вообще ее заметят. Оказалось, что 6% API и криптографических ключей пропали из кода в течение часа после того, как программисты осознали свою ошибку. В течение суток были вычищены 12% идентификаторов, через две недели — 19%.

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

В числе пострадавших от возможного слива данных оказались ключи от хранилища Amazon S3, принадлежащего сайту, который посещают миллионы американских абитуриентов, а также от облачного аккаунта правительственного ведомства одной из стран Западной Европы. Кроме того, в руки ученых попало 564 токена Google API, которые позволяли обходить ограничение API YouTube на количество просмотров на сторонних сайтах, и 7280 RSA-ключей, которые открывали доступ к тысячам частных VPN-сетей.

Брэдли Ривз (Bradley Reaves), один из исследователей, в интервью изданию ZDNet сообщил, что группа ученых передала результаты анализа GitHub. Оказалось, что почти одновременно с учеными команда сервиса разрабатывала функцию сканирования токенов, которая ищет API в репозиториях и уведомляет поставщиков услуг об утечках. Они, в свою очередь, могут отменить ключ и известить об этом его владельца.

Категории: Главное, Хакеры