Список популярных утечек с GitHub: Анализ репозиториев компаний
Целью данного исследования было изучение файлов, которые компании могли случайно загрузить на GitHub, и выявление конфиденциальной информации, которая могла присутствовать в загруженных проектах; основное внимание уделялось популярным компаниям в области технологического консалтинга, финансов, программного обеспечения, маркетинга, информационной безопасности, кибербезопасности, телекоммуникаций с высоким числом коммитов.
Что касается методики и процесса изучения аккаунтов GitHub, то на начальных этапах исследования подготовили 91 поисковый запрос к GitHub для выявления конфиденциальных данных, которые могли быть размещены на GitHub.
Затем мы определили список публичных репозиториев из отобранной выборки соответствующих компаний. Затем провели поиск на странице расширенного поиска GitHub, включив в него эти репозитории компаний.
https://t.me/linuxkalii – наш телеграм канал о хакинге и информационной безопасности.
При изучении репозиториев GitHub мы столкнулись с большим количеством секретных ключей, паролей и других конфиденциальных данных. Случайное раскрытие этих данных свидетельствует о потенциальных рисках безопасности, с которыми могут столкнуться компании, неосознанно раскрывающие свою ценную информацию на таких публичных платформах, как GitHub.
Для усиления мер безопасности можно использовать такие инструменты, как Talisman, Git hooks или расширения IDE.
Скрытые сокровища на GitHub: Случайное раскрытие данных о компании компаниями
Talisman – это фреймворк для создания hooks (хуков) , который может быть интегрирован в рабочий процесс Git и обеспечивать автоматическую проверку конфиденциальной информации перед ее фиксацией. Git hooks, включая pre-commit и post-commit hooks, позволяют запускать пользовательские сценарии или действия на различных этапах процесса Git.
Кроме того, расширения для IDE, такие как расширение GitHub Security Code Scanning для Visual Studio Code, предоставляют дополнительные возможности по выявлению и устранению потенциальных уязвимостей безопасности непосредственно в интегрированной среде разработки.
Нельзя не упомянуть и о GitHub dorks – специализированных поисковых запросах, которые злоумышленники могут использовать для быстрого выявления репозиториев с определенными шаблонами или уязвимостями. Знание этих инструментов, методик и лучших практик позволит вам укрепить свои репозитории GitHub и активно защищаться от возможных утечек данных.
Важность и влияние уязвимостей компаний в области кибербезопасности, подтвержденные такими инцидентами, как утечка данных компании SolarWinds (Атака, совершенная в 2020 году с использованием учетных данных, полученных на GitHub, была направлена на крупные организации и государственные учреждения с помощью вредоносного ПО (Sunburst), размещенного на платформе Orion компании SolarWinds), подчеркивают необходимость устранения рисков, связанных со случайным раскрытием файлов на GitHub.
Репозитории Github могут стать точками входа для несанкционированного доступа и утечки данных
Большие компании, маленькие ошибки: Случайные раскрытия данных на GitHub
После атаки SolarWinds Supply Chain Backdoor Attack весь мир еще раз осознал важность тщательной проверки данных, размещаемых в открытом доступе. Сегодня некоторые инструменты позволяют определить, содержат ли данные, которые мы загружаем в публичные репозитории, приватную информацию. Примером может служить функция Push Protection for Secrets, выпущенная GitHub в начале 2022 года. С помощью этой функции при загрузке проекта или части файлов в репозиторий обеспечивается дополнительная защита путем сканирования ключей и токенов.
Однако в ряде случаев алгоритмы не могут перехватить ключи, которые должны быть закрытыми, из-за их различной структуры. Для крупных компаний с большим количеством репозиториев такая ошибка сопряжена со значительным риском и может нанести материальный и моральный ущерб компании.
Кроме того, SOCRadar предлагает своим корпоративным клиентам функцию сканирования в реальном времени и помогает защитить публичные репозитории с помощью функции Source Code Leakage Monitoring, даже если push-защита неактивна. Функция помогает минимизировать потенциальные риски, регулярно проверяя данные наших клиентов и оповещая их практически в режиме реального времени.
Конфиденциальная информация, найденная в репозиториях GitHub
Предупреждение об утечке данных с GitHub: Риски раскрытия информации о компаниях
API-ключи и токены
В ходе нашего исследования мы сделали удивительную находку в репозитории GitHub одного из банков. Мы обнаружили API-ключ для проверки телефона – точку доступа к защищенной системе банка. Удивительно, но наши тесты показали, что ключ по-прежнему активен и работает. На рисунке ниже представлен код скрипта, содержащий раскрытый API-ключ для бота Telegram и соответствующий ему ID чата.
В корпоративной среде, где организации стремятся максимально увеличить инвестиции в безопасность своей инфраструктуры, незначительная на первый взгляд оплошность может быстро превратиться в катастрофу. Помимо упомянутого ранее открытого API-ключа, мы обнаружили 13 различных API-ключей и токенов. Даже если срок действия некоторых из этих ключей истек, их можно легко обнаружить в результате целенаправленной атаки или случайного исследования, совпадающего по времени с периодом, когда они были загружены.
Примечательно открытие, связанное с приложением OTP (One-Time Password) одного из банков, которое опиралось на связь с API бота Telegram. Такая интеграция создавала существенную уязвимость в системе безопасности, позволяя неавторизованным лицам получать доступ к конфиденциальным данным и просматривать их. Открытый ключ API ставил под угрозу работу SMS-сервисов банка и нарушал конфиденциальность PIN-кодов пользователей, передаваемых в чатах. Подобный инцидент подрывает целостность сервисов банка и подвергает риску конфиденциальность пользователей, что делает его актуальным и требующим немедленных действий.
Эта ситуация подчеркивает исключительную важность безопасного управления и защиты ключей API. Это наглядное напоминание о том, что даже малейшая ошибка в обращении с такими ключами может привести к серьезным последствиям для организаций и их клиентов. Для предотвращения несанкционированного доступа и смягчения последствий возможных нарушений необходимо применять надежные меры безопасности и средства контроля доступа. Это позволит организациям обеспечить конфиденциальность и целостность данных, сохранить доверие клиентов и соблюсти требования по защите информации.
Облачные серверы и учетные данные
В ходе продолжения исследования было обнаружено 37 отдельных файлов схем баз данных и сопровождающие их схемы. В представленной визуальной информации были указаны такие важные данные, как URL-адрес, номер порта, имя пользователя и пароль для облачного сервера MySQL.
Это обстоятельство вызывает серьезные опасения, поскольку раскрытие столь важных реквизитов базы данных может привести к серьезным угрозам безопасности. Неавторизованные лица, получившие доступ к этим реквизитам, могут проникнуть в базу данных, манипулировать ценными данными, похитить их или даже выполнить вредоносные действия, нарушающие целостность и конфиденциальность всей системы.
Кроме того, было обнаружено еще 13 различных ключей аутентификации, секретных ключей и учетных данных. Эти находки свидетельствуют об уязвимости механизмов аутентификации, используемых организациями. Предположим, что эти ключи и учетные данные попадут в чужие руки. В этом случае злоумышленники могут использовать их для выдачи себя за легитимных пользователей, получения несанкционированного доступа к системам и, возможно, выполнения несанкционированных действий с повышенными привилегиями. Это создает значительный риск для конфиденциальности, целостности и доступности конфиденциальной информации и критически важных систем.
Темная сторона GitHub : упущенные из виду риски
В продолжение исследования GitHub было замечено, что несколько файлов, содержащих закрытые ключи, были определены различными средствами сканирования уязвимостей как файлы повышенного риска. Хотя эти файлы могут и не рассматриваться организациями как высокорискованные, наличие, например, файла id_rsa (содержит закрытый ключ SSH) может привести к несанкционированному доступу, потенциальным атакам с целью кражи персональных данных или даже к расшифровке зашифрованных сообщений, если закрытый ключ использовался для обеспечения сквозной безопасности. Таким образом, подобные находки свидетельствуют о значительных рисках, к которым организациям не стоит относиться легкомысленно.
В репозиториях GitHub нескольких крупных компаний, обслуживающих большое количество организаций, были обнаружены существенные уязвимости в данных. Одна из таких уязвимостей связана с веб-сервисом Azure Django, который загружал ключ secret_key на GitHub без надлежащей защиты.
Ключ secret_key является критически важным для защиты приложения Django, поскольку он выполняет аутентификацию, шифрование и другие важные операции. Если ключ secret_key становится общедоступным на такой платформе, как GitHub, это создает значительный риск несанкционированного доступа к приложению Django. Злоумышленники могут использовать этот ключ для компрометации пользовательских сессий, кражи конфиденциальных данных или выполнения несанкционированных действий.
Для снижения таких рисков важно не допускать загрузки конфиденциальной информации, такой как secret_key, на платформы контроля версий, например GitHub. Вместо этого следует применять безопасные методы и надежные политики управления безопасностью. Рекомендуется хранить конфиденциальные значения, такие как secret_key, в защищенных переменных окружения сервера или конфигурационных файлах, доступных только авторизованным пользователям. Следуя этим рекомендациям, компании могут защитить свои критически важные данные, сохранить целостность приложений и обеспечить соответствие стандартам и нормам безопасности.
В дополнение к перечисленным мерам необходимо маскировать такие конфигурационные файлы или явно исключать их из системы контроля версий с помощью файла .gitignore. Маскировка конфиденциальной информации в конфигурационных файлах предполагает замену фактических значений на заполнители или шифрование данных для предотвращения несанкционированного доступа. Кроме того, явное исключение этих файлов из системы контроля версий позволяет исключить их случайное распространение или раскрытие. Внедрение этих методов позволяет существенно снизить риск утечки конфиденциальной информации и повысить общую безопасность приложений, развернутых на таких платформах, как GitHub.
Другие утечеина GitHub
В ходе исследования было получено несколько дополнительных результатов, указывающих на наличие различной конфиденциальной информации в репозиториях GitHub. К ним относятся 1336 закрытых ключей в виде файлов .pem, которые могут дать несанкционированный доступ к системам и сервисам. Кроме того, было выявлено 37 случаев использования файлов баз данных или схем, которые потенциально могут раскрывать критическую информацию о структуре и конфигурации баз данных.
Кроме того, в ходе исследования было обнаружено 13 ключей аутентификации, секретных ключей и учетных данных, необходимых для доступа и защиты различных систем и сервисов. Кроме того, было обнаружено 6796 BASH-файлов и DNSSEC Trusted Key, потенциально содержащих скрипты и конфигурации, оказывающие существенное влияние на безопасность системы.
Среди находок были выявлены два случая использования файлов .htpasswd, которые могут дать несанкционированный доступ к защищенным ресурсам. Кроме того, был обнаружен 21 случай использования API-ключей, предоставляющих доступ к сторонним сервисам, которые необходимо защищать.
Полученные результаты подчеркивают важность тщательной оценки безопасности, регулярных аудитов и надежных средств контроля безопасности для предотвращения несанкционированного доступа, утечки данных и возможного использования конфиденциальной информации.
В заключение следует отметить, что соблюдение правил безопасности при работе с GitHub имеет первостепенное значение для защиты конфиденциальных данных и снижения потенциальных рисков. Хотя мелкие ошибки и недочеты могут показаться незначительными, они могут накапливаться и создавать серьезные проблемы.
Каждый маленький пазл может показаться несущественным, но из них складывается целостная картина. Точно так же каждая небольшая оплошность или уязвимость в репозитории GitHub может показаться несущественной.
Однако в совокупности они могут вызвать цепную реакцию, которая приведет к значительным нарушениям безопасности и компрометации данных. Поэтому очень важно серьезно относиться даже к незначительным уязвимостям в системе безопасности и поддерживать проактивный и бдительный подход к защите репозиториев GitHub. Таким образом, организации могут обеспечить целостность своего кода, защитить конфиденциальную информацию и предотвратить возможные цепные реакции инцидентов безопасности.