Как обнаруживают открытые облачные хранилища Amazon
dataleakВ последнее время на нас хлынул поток новостей про обнаружение в открытом доступе различной конфиденциальной информации. В подавляющем большинстве случаев это инциденты, связанные с неправильно сконфигурированными облачными серверами Amazon S3 (AWS).
Владельцы таких облачных хранилищ (в терминологии AWS это Bucket – ведро, но мне больше нравится слово хранилище) попросту забывают корректно выставить разрешения, оставляя публичный доступ к данным. Что интересно, сам Amazon предоставляет множество вариантов проверки прав доступа и всячески предупреждает, если пользователю Everyone выставлены разрешения на доступ.
По-видимому, ИТ-администраторы не обращают внимание на такие мелочи. :)
Отдельно стоит задать риторический вопрос - зачем вообще файлы с критически-важным содержимым (номера кредитных карт, документы с грифом «совершенно секретно» и т.п.) хранят в публичных облаках? И почему собственно не проводится регулярная инвентаризация данных? Вопрос риторический, поскольку для решения такой проблемы на рынке давно существуют программы класса data discovery как самостоятельные продукты или компоненты DLP-систем.
Про самые громкие случаи мы писали довольно подробно:
- 111 Гб подробных кредитных историй физических лиц, выставлены на всеобщее обозрение
- Совершенно секретные данные армии США и АНБ хранились на незащищенном облачном сервере
- Uber заплатили злоумышленникам $100 000, чтобы скрыть факт утечки персональных данных пользователей и водителей сервиса через облачное хранилище
- Пентагон смотрит за вами! Крупнейшая утечка данных в Пентагоне
- Утечка данных ABC: большое количество конфиденциальных данных, включая электронные письма и пароли
- Маркетинговая фирма случайно теряет личные данные почти 200 миллионов американских избирателей
- Утечка из Viacom. Под угрозой данные Paramount Pictures, Comedy Central, MTV и многих других
- Облачный Хайп
В 90% случаев все эти нарушения хранения конфиденциальных данных были обнаружены сторонними исследователями безопасности, осуществляющими целенаправленный поиск открытых серверов AWS.
Не сильно вдаваясь в технические детали, попробую «на пальцах» объяснить, как производится поиск таких неправильно сконфигурированных облачных хранилищ Amazon S3.
Во-первых, надо понимать, что нет никакого реестра хранилищ (разумеется, он есть у самого Amazon, но в открытый доступ его никто не выложит). Поэтому, чтобы обнаружить хранилище, надо применить метод перебора. Составляется обычный текстовый словарь, куда включаются названия компаний (например, Uber), различные термины (например, production, backup) и т.д. Затем специальный скрипт начинает перебор, подставляя в качестве имени хранилища все возможные варианты из словаря. Например, для Uber будет найдено хранилище uber.s3.amazonaws.com (ясно, что это хранилище не принадлежит компании Uber, но для примера сойдет).
Во-вторых, большинство обнаруженных перебором хранилищ будет нормально сконфигурировано, и вы не получите доступ к их содержимому. Попытка просмотреть содержимое таких хранилищ завершится ошибкой «Access Denied». Поэтому хороший скрипт умеет сразу проверять доступность найденных хранилищ и делает листинг их содержимого, проходясь по всем вложенным директориям.
В-третьих, самое главное – если исследователи все-таки обнаруживают какие-то конфиденциальные данные, они немедленно уведомляют владельцев хранилища об этом. Хотя, в случае с Uber там все было немного по-другому. :)
В заключение приведу несколько полезных ссылок:
- https://digi.ninja/projects/bucket_finder.php
- https://github.com/gwen001/s3-buckets-finder
- https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/AWS%20Amazon%20Bucket%20S3
- https://github.com/brianwarehime/inSp3ctor
- https://github.com/boto/boto
- https://github.com/GeneralTesler/mubrute
Автор: Ашот Оганесян