보안 제품정보


SAML을 통한 싱글사인온 시스템에서 치명적 취약점 발견 2018.02.28

같은 네트워크 안에 계정만 보유하고 있다면, 다른 계정으로 로그인 가능
SAML 라이브러리 자체에 있는 취약점...사용 중에 있다면 반드시 확인 필요


[보안뉴스 문가용 기자] 새롭게 발견된 취약점 때문에 싱글사인온 시스템이 위기에 처하게 됐다. 특히 SAML을 기반으로 하는 싱글사인온 및 인증 시스템을 통해서는 피해자의 비밀번호를 알지 못해도 공격자가 인증을 받을 수 있다고 한다. 이 취약점을 발견한 건 보안 업체 듀오 시큐리티(Duo Security)로, 최근 CERT 팀과 함께 이 같은 사실을 공개했다.

[이미지 = iclickart]


SAML은 일종의 XML 마크업 언어로 서드파티 애플리케이션을 인증하는 데에 사용된다. 예를 들어 사용자가 오피스 365나 세일즈포스와 같은 애플리케이션에 로그인하려고 할 때, SAML은 브라우저를 해당 회사의 로그인 페이지로 우회시킨다. 로그인이 성공하면 브라우저는 또 다시 원래 로그인 후 사용하려고 했던 애플리케이션 페이지로 우회시켜준다. 싱글사인온 서비스에서 인기 리에 사용되고 있다.

싱글사인온 인증 시스템이 작동할 때, 가장 먼저는 아이덴티티 제공 서비스(IdP)가 발동된다. IdP는 사용자 이름과 비밀번호를 통해 계정 상태를 확인하거나 이중인증 시스템을 가동시키는 역할을 한다. 또한 서명이 된 SAML 응답을 생성하기도 하는데, 이는 다시 인증을 요청했던 서비스 제공업체에게 발부된다. 서명이 올바르면 문자열 식별자가 인증되어야 하는 사용자를 확인한다.

듀오 시큐리티에 의하면 많은 오픈소스 라이브러리들에 취약점이 존재해, 공격자들이 SAML 응답을 조작할 수 있다고 한다. 이 때 암호화되어 있는 시그니처를 변경할 필요도 없고, 따라서 원하는 애플리케이션에 마치 정상 사용자인 것처럼 로그인 할 수 있다고 한다.

“싱글사인온은 인증 과정을 간단하게 만들어주는 기술입니다. 한 가지 서비스에 로그인을 하면, 그것을 가지고 다른 서비스에도 로그인 할 수 있게 해주는 것이지요.” 듀오 시큐리티의 수석 엔지니어인 켈비 루드윅(Kelby Ludwig)의 설명이다. “반대로 공격자가 이 많은 서비스들 중 한 가지에만 로그인 할 수 있다면 어떻게 될까요? 마찬가지로 다른 서비스들에도 로그인이 가능하게 되겠죠.”

듀오 시큐리티가 발견한 핵심 취약점은 SAML 응답 요청들에 삽입된 XML 코멘트들에 존재한다. “XML의 정규화 알고리즘은 대부분 시그니처를 확인하는 과정에서 코멘트들을 지워버립니다. 그 말은 그 빈 자리에 누군가 뭔가를 추가할 수 있다는 뜻이죠. 공격자들이 노릴 수 있는 건 이 부분입니다.”

공격자가 이 공격을 성공시키기 위해 갖추고 있어야 할 건 공격 대상과 같은 네트워크 내에 있는 계정이다. 그러면 자신의 계정을 통해 SAML 요청 내 콘텐츠를 변경시킬 수 있고, 이를 통해 다른 사용자인 것처럼 로그인이 가능하다는 것이다.

듀오 시큐리티는 여러 벤더들이 이러한 취약점을 가지고 있음을 밝혀내기도 했다.
1) 원로그인(OneLogin) : python-saml - CVE-2017-11427
2) 원로그인(OneLogin) : ruby-saml - CVE-2017-11428
3) 클레버(Clever) : saml2-js - CVE-2017-11429
4) 옴니오스(OmniAuth) : SAML - CVE-2017-11430
5) 시볼레스(Shibboleth) : CVE-2018-0489
6) 듀오 네트워크 게이트웨이(Duo Network Gateway) : CVE-2018-7340

다 다른 CVE가 배정된 것에서 볼 수 있듯 SAML에 의존하는 시스템이라고 하더라도, 이번에 발견된 시스템 오류는 각각 다른 모양으로 영향을 준다고 듀오 시큐리티는 강조한다. “예를 들어 이메일 주소로 인증을 하고, 화이트리스트 기법으로 도메인을 인증하는 서비스라면 이번 SAML 익스플로잇에 영향을 적게 받습니다. 그러나 임의의 문자열을 가지고 사용자를 판별하는 시스템이라면 영향을 좀 더 크게 받죠.”

중요한 건 IdP들이 아니라 SAML 라이브러리에 오류가 있다는 것이라고 듀오 시큐리티의 전문가들은 입을 모은다. “싱글사인온을 도입시키고자 한다면 아마도 SAML 라이브러리를 고려하게 될 겁니다. 그 말은 이번에 발견된 취약점의 영향권 아래 들어간다는 것이지요. SAML 라이브러리를 사용하고 있다면 반드시 이번 취약점에 얼만큼 노출되어 있는지 확인해봐야 합니다.”

듀오 시큐리티는 “이 취약점을 익스플로잇하면 인증 과정의 첫 단계만을 우회할 수 있게 된다”며 “SAML 서비스에 이중인증 시스템을 연동시키면 어느 정도 방어할 수 있을 것”이라고 설명한다. “하지만 IdP가 첫 번째와 두 번째 인증 과정 모두를 관리한다면 별 도움이 되지 않을 방법이기도 합니다.”
[국제부 문가용 기자(globoan@boannews.com)]

Copyrighted 2015. UBM-Tech. 117153:0515BC
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>