20 октября 2011 г.

Специалисты по безопасности недавно выявили потенциальные уязвимости в методах шифрования подписи и расширенных методах межсайтового скриптинга, используемых некоторыми сервисами AWS. Потенциальные уязвимости были исправлены, и ни один из клиентов не был ими затронут. Ниже приводится краткое изложение результатов исследований и рекомендации по правильной проверке личности пользователей. Клиенты, которые применяют все наши рекомендации в своей работе, не будут подвержены этим уязвимостям.

Исследование показало, что ошибки в синтаксическом анализе SOAP могли привести к обработке специально созданных запросов SOAP с дублирующимися элементами сообщения и (или) отсутствующими криптографическими подписями. Если такое произойдет, злоумышленник, имеющий доступ к незашифрованному сообщению SOAP, может потенциально делать то, что и авторизованный пользователь, и выполнять недопустимые действия в EC2. Например, если мошенник незаконно получит ранее сгенерированный, предварительно подписанный запрос SOAP от клиента EC2 или открытый сертификат X.509 клиента, он может потенциально генерировать произвольные запросы SOAP от имени другого пользователя.

Хотя получить предварительно подписанный запрос SOAP или сертификат X.509 довольно сложно, специалисты по безопасности заявили, что это возможно. Злоумышленник может получить их, если клиент отправит свои запросы SOAP через протокол HTTP вместо HTTPS в общедоступном ресурсе, данные из которого можно перехватить. Клиент также мог по ошибке оставить весь контент своих запросов SOAP в месте, доступном для мошенников (например, на общедоступном форуме обмена сообщениями). Кроме того, специалисты по безопасности обнаружили другие недостатки межсайтового скриптинга (XSS), которые могли быть использованы для получения общедоступного сертификата X.509 клиента. Получив открытый сертификат X.509 клиента, злоумышленник сможет генерировать произвольные SOAP-запросы от его имени, используя описанную выше уязвимость.

Уязвимости SOAP и XSS были исправлены, и детальный анализ журналов показал, что ни один из клиентов не был затронут.

Команда AWS напоминает о нескольких рекомендациях по безопасности, которые помогут клиентам защитить себя.

  • Используйте только защищенные адреса SSL или протоколы HTTPS для любого сервиса AWS и убедитесь, что утилиты клиентов выполняют должную проверку сертификатов кэширующих узлов. Очень небольшое количество авторизованных вызовов API AWS используют не SSL-адреса. В будущем в AWS намерены отказаться от использования таких адресов.
  • Включите и используйте аутентификацию Multi-Factor Authentication (MFA) для доступа на консоль управления AWS.
  • Создавайте аккаунты Identity and Access Management (IAM) с ограниченными ролями и обязанностями, предоставляя доступ только к необходимым ресурсам.
  • Ограничьте доступ к API и взаимодействие с ним по IP-адресу источника, используя политику источника IAM.
  • Регулярно меняйте данные для доступа AWS, включая секретные ключи, сертификаты X.509 и пары ключей шифрования.
  • При использовании Консоли управления AWS минимизируйте взаимодействие с другими веб-сайтами или избегайте его. Также соблюдайте правила безопасности при просмотре интернет-страниц в той же мере, в какой это необходимо для банковской деятельности или аналогичных критически важных онлайн-действий.
  • Клиенты AWS могут также использовать другие механизмы доступа к API, кроме SOAP (например, REST или Query).

AWS благодарит следующих людей за уведомление об этих уязвимостях и за то, что разделили с нами стремление к безопасности:
Юрай Соморовский, Марио Хайдерих, Мейко Йенсен и Йорг Швенк, Рурский университет, Бохум, Германия
Нильс Грушка, NEC Europe
Луиджи Ло Яконо, Кельнский университет прикладных наук, Германия

Безопасность – наш главный приоритет. Мы стремимся предоставлять компоненты, механизмы и помощь нашим пользователям для реализации безопасной инфраструктуры AWS. Если возникнут вопросы или опасения, касающиеся безопасности, сообщите о них, написав по адресу aws-security@amazon.com.