Уязвимость в SAML-разметке позволяет злоумышленникам входить в систему под чужим именем
Новости
В решениях с технологией аутентификации типа Single Sign-On обнаружена лазейка, позволяющая злоумышленникам входить в систему под чужим именем без пароля. Для этого нужно «разорвать» пользовательский логин комментарием в коде на SAML.
891 открытий898 показов
Исследователи из Duo Labs и CERT/CC обнаружили лазейку в коде на SAML (Security Assertion Markup Language), позволяющую злоумышленникам авторизовываться в сети под именем легитимного пользователя без необходимости вводить пароль.
Уязвимость затрагивает SSO-решения, осуществляющие вход в систему с использованием только одного идентификатора. В отличие от других схем аутентификации (OAuth, OpenID, Facebook Connect), SSO хранит пользовательские учётные данные на центральном сервере вместе с их аккаунтами. Когда пользователи входят в другие корпоративные приложения (service providers — SP), эти SP посылают запросы на локальный SSO-сервер (identity provider — IdP) на SAML.
Обработка комментариев
Проблема заключается в методе обработки комментариев в языке XML. Если встроить <!-- -->
в поле имени пользователя таким образом, чтобы конструкция «разорвала» строку, можно получить доступ к этому аккаунту.
Чтобы эксплуатировать уязвимость, злоумышленнику необходимо иметь зарегистрированный аккаунт в сети жертвы. Только так есть возможность послать соответствующий поддельный запрос, «провести SAML-систему» и войти под чужим именем.
Лучшая защита — 2FA
К числу библиотек, использование которых для парсинга SAML-запросов может привести к взлому, относятся:
- OneLogin — python-saml — CVE-2017-11427;
- OneLogin — ruby-saml — CVE-2017-11428;
- Clever — saml2-js — CVE-2017-11429;
- OmniAuth-SAML — CVE-2017-11430;
- Shibboleth — CVE-2018-0489;
- Duo Network Gateway — CVE-2018-7340.
При этом исследователи уверены, что уязвимыми являются далеко не все приложения. SP и IdP очень гибкие в плане настройки, так что разработчикам «есть где развернуться, чтобы изменить силу влияния» обнаруженной бреши. Специалисты рекомендуют отключить публичную регистрацию в чувствительных сетях и проверять каждого пользователя вручную, чтобы исключить авторизацию аккаунтов злоумышленников. Если это невозможно, то сетевые администраторы могут сконфигурировать «белый список» доменных имён, однако и это не является надёжной защитой.
Аккаунты с двухфакторной аутентификацией взлому не подвержены.
891 открытий898 показов