Top menu

Как обнаруживают открытые облачные хранилища Amazon.

В последнее время на нас хлынул поток новостей про обнаружение в открытом доступе различной конфиденциальной информации. В подавляющем большинстве случаев это инциденты, связанные с неправильно сконфигурированными облачными серверами Amazon S3 (AWS).

Владельцы таких облачных хранилищ (в терминологии AWS это Bucket – ведро, но мне больше нравится слово хранилище) попросту забывают корректно выставить разрешения, оставляя публичный доступ к данным. Что интересно, сам Amazon предоставляет множество вариантов проверки прав доступа и всячески предупреждает, если пользователю Everyone выставлены разрешения на доступ.

По-видимому, ИТ-администраторы не обращают внимание на такие мелочи. -)

Отдельно стоит задать риторический вопрос - зачем вообще файлы с критически-важным содержимым (номера кредитных карт, документы с грифом «совершенно секретно» и т.п.) хранят в публичных облаках? И почему собственно не проводится регулярная инвентаризация данных? Вопрос риторический, поскольку для решения такой проблемы на рынке давно существуют программы класса data discovery как самостоятельные продукты или компоненты DLP-систем.

Про самые громкие случаи мы писали довольно подробно:

В 90% случаев все эти нарушения хранения конфиденциальных данных были обнаружены сторонними исследователями безопасности, осуществляющими целенаправленный поиск открытых серверов AWS.

Не сильно вдаваясь в технические детали, попробую «на пальцах» объяснить, как производится поиск таких неправильно сконфигурированных облачных хранилищ Amazon S3.

Во-первых, надо понимать, что нет никакого реестра хранилищ (разумеется, он есть у самого Amazon, но в открытый доступ его никто не выложит). Поэтому, чтобы обнаружить хранилище, надо применить метод перебора. Составляется обычный текстовый словарь, куда включаются названия компаний (например, Uber), различные термины (например, production, backup) и т.д. Затем специальный скрипт начинает перебор, подставляя в качестве имени хранилища все возможные варианты из словаря. Например, для Uber будет найдено хранилище uber.s3.amazonaws.com (ясно, что это хранилище не принадлежит компании Uber, но для примера сойдет).

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

В-третьих, самое главное – если исследователи все-таки обнаруживают какие-то конфиденциальные данные, они немедленно уведомляют владельцев хранилища об этом. Хотя, в случае с Uber там все было немного по-другому. -)

В заключение приведу несколько полезных ссылок:

Автор: Ашот Оганесян