В связи с утечкой 57 млн персональных данных из компании Uber встал вопрос: а как, собственно, злоумышленники получили доступ к уберовскому частному репозиторию на GitHub? В статье мы постараемся ответить на этот вопрос и вспомним основные инциденты, связанные с GitHub.
Краткая справка: GitHub — веб-сервис для хостинга IT-проектов и их совместной разработки (компания GitHub, Inc.). В GitHub есть публичные (открытые) и частные (закрытые) репозитории.
Пройдемся по инцидентам в самом GitHub:
- Март 2012 — стало известно о серьезной проблеме в механизме загрузки открытых SSH-ключей, приводящей к возможности получить привилегии суперпользователя для репозиториев, к которым доступа быть не должно вообще.
- Июнь 2016 — GitHub были вынуждены принудительно заставить многих пользователей сменить свои пароли из-за множественных попыток несанкционированного доступа к репозиториям. Массовая кража электронной почты и паролей на сторонних ресурсах привела к атаке перебором аккаунтов GitHub.
- Октябрь 2016 — GitHub рассказала, что из-за ошибки в коде сервиса произошла утечка пользовательских данных из 156 частных репозиториев.
- Ноябрь 2016 — в Сети обнаружен архив geekedin.net_mirror_20160815.7z с базой данных внутри. В базе содержались данные о 8 млн пользователей GitHub и похожих сервисов. База была собрана из открытых источников, и там были адреса электронной почты, псевдонимы пользователей, реальные имена, данные о работодателях и месте проживания.
Видно, что не так уж сложно было найти информацию о GitHub-аккаунтах. А добавив в базу пароли (из словаря или украденные с других ресурсов) — осуществить массовый взлом.
Теперь про Uber:
- 2014 — Uber допустил утечку имен и номеров водительских удостоверений 50 тысяч водителей. Разработчики Uber сохранили ключи доступа к облаку AWS (где хранились персональные данные) в публичный репозиторий GitHub.
- 2016 — Утечка данных 57 млн клиентов и водителей Uber. Uber использовал частный репозиторий GitHub для хранения ключей доступа к облаку AWS.
Пока нет однозначного ответа на вопрос, как вымогатели получили доступ к репозиторию. Есть две версии:
- Был подобран пароль к аккаунту одного из разработчиков Uber. Значит, пароль был слабым (возможно был в базе украденных паролей сторонних ресурсов), и не использовалась двухфакторная аутентификация.
- Была использована какая-то уязвимость самого GitHub, которая позволила получить доступ к частному репозиторию.
Обе версии имеют косвенные подтверждения инцидентами в самом GitHub, описанными выше.
Прочее:
- 2013 — в публичный репозиторий попал пароль для аккаунта на Chromium.org;
- 2013 — в публичный репозиторий загрузили SSH-ключи крупного китайского веб-сервера.
- Январь 2017— появился и быстро исчез публичный репозиторий с исходными кодами веб-движка Opera Presto.
- Лето 2017 — в публичном репозитории обнаружились исходные коды и документы крупных финансовых организаций Канады, США и Японии. Их туда загрузили разработчики индийской аутсорсинговой компании Tata Consultancy Service, чьими клиентами были пострадавшие учреждения.
- Осень 2017 — производитель квадрокоптеров DJI сохранил в публичном репозитории закрытый ключ SSL-сертификата и AES-ключи для шифрования прошивок. Там же хранились учетные данные для AWS. В самом AWS были журналы полетов, данные паспортов и водительских удостоверений клиентов DJI.
- Осень 2017 — инженер IT-компании DXC Technologies загрузил ключи доступа к AWS в публичный репозиторий.