[보안뉴스 문정후 기자] MS의 다중인증 환경에서 심각한 취약점이 발견됐다. 이 취약점을 공격자가 익스플로잇 하게 될 경우, 다중인증 시스템을 우회하여 피해자의 MS 계정에 무단으로 접근할 수 있게 된다고 한다. 즉 아웃룩, 원드라이브, 팀즈, 애저 클라우드 등 각종 MS 플랫폼에 저장된 데이터들이 위험해질 수 있다는 뜻이다. MS에 가입된 유료 계정은 4억 개로 알려져 있는데, 그렇기 때문에 이 취약점은 매우 큰 파장을 일으킬 수 있다고 보안 업체 오아시스(Oasis)는 강조한다.
[이미지 = gettyimagesbank]
“심지어 공격 난이도가 높은 것도 아닙니다. 공격을 성공시키는 데 걸리는 시간은 단 한 시간이었습니다. 사용자의 특정 행동을 유발할 필요도 없었고, 공격이 진행되는 동안 경보가 울리거나 불필요한 알람이 사용자에게 전달되지도 않았습니다. 공격 성공 후에 피해자가 뭔가 이상하다는 걸 느낄 만한 징후도 나타나지 않았고요.” 아웃룩의 설명이다. 다행히 MS가 아웃룩의 제보를 받고 문제를 해결한 상태이기 때문에 안전 권고 조치만 잘 따르면 크게 위험할 일은 없다.
취약점 세부 내용
먼저 이 취약점을 이해하려면 MS 다중인증 환경에 대해 이해하고 있어야 한다. “사용자가 로그인 페이지에 처음 접속하면 세션 식별자가 할당됩니다. 그런 상태에서 사용자가 올바른 이메일 주소와 비밀번호를 입력하면, 1단계 인증이 통과되면서 추가 인증에 대한 요구가 화면에 나타납니다. 여기에는 다양한 방법이 있을 수 있는데, 아무튼 사용자는 자신이 설정한 방법을 통해 여섯 자리 코드를 받게 되고, 이것을 추가 인증 화면에 입력해야 합니다. 그러면 인증이 완료됩니다.”
그런데 한 세션에서 10회 연속 입력에 실패했을 때까지 로그인 시도가 허용되는 것을 발견했다. 오아시스는 새 세션을 빠르게 생성한 후 6자리 코드를 빠르게 대입하는 실험을 진행했고, 그 결과 여러 시도를 동시에 실행할 수 있음을 발견해냈다. “이렇게 여러 로그인 시도를 빠르게 여러 번, 동시에 실행하고 있는데 MS 측에서는 어떠한 경고도 보내지 않았습니다. 따라서 공격은 대단히 조용히, 은밀하게 진행될 수 있었습니다.”
하지만 추가 인증을 인증 애플리케이션을 통해서 할 때에는 시간 제한이 있었다. 그래서 오아시스는 “한 개의 인증 코드를 추측할 수 있는 시간은 얼마나 되는가?”를 연구하기 시작했다고 한다. “원래 ‘시간 기반 일회용 비밀번호’를 구현할 때에는 30초 간격으로 새로운 코드가 생성되는 게 일반적인 지침이면서 산업 내 지켜지고 있는 관행입니다. 하지만 MS 계정을 가지고 실험했을 때에는 한 번 생성된 1회용 코드가 3분이나 유효했습니다. 그러므로 공격자는 인증 코드를 추측하는 데 훨씬 긴 시간을 투자할 수 있게 됩니다. 실제로 추측에 성공할 확률이 3% 올라가는 것으로 조사되기도 했습니다.”
3%라고 하면 미미해 보일 수 있다. 하지만 세션을 24개 생성해 연속적으로 추측 공격을 실시한다고 하면 공격자는 무려 70분의 시간을 확보하는 것이 된다. “그렇게까지 공격을 집요하게 이어갈 경우 공격 성공 확률이 50%를 넘는다는 것이 확인됐습니다. 이는 상당히 높은 수치입니다. 저희도 실험실에서 여러 차례 이를 실험했을 때 꽤나 높은 성적을 거뒀습니다.”
어떻게 해야 안전해지는가?
이 문제는 사용자 편에서 특별한 조치를 취하기 어렵다는 성격을 가지고 있다. 아웃룩은 실험 결과를 가지고 MS에 연락을 취했고, MS는 자기들 편에서 할 수 있는 조치를 취했다. 정확히 어떤 작업을 했는지는 기밀이라 공개하기 어렵지만 “로그인 시도 실패가 일정 수를 초과할 경우 속도 제한이 보다 엄격하게 조정되도록 했다”고 아웃룩은 설명한다. “그리고 그런 제한이 한 번 걸린 계정의 경우, 그 상태가 반나절 정도 지속됩니다.”
그러면 모든 상황이 종료된 것일까? 아웃룩은 그렇지 않다고 말한다. “왜냐하면 이 사건을 통해 다중인증을 사용하는 조직들이 알아두어야 할 것들이 있음이 도드라졌기 때문입니다. 다중인증을 사용한다고 해서 계정이 100% 안전하다고 할 수 없고, 다중인증 역시 다른 보안 기술처럼 잘 사용하고 관리해야 본연의 기능을 발휘할 수 있다는 걸 기억해야 합니다.”
아웃룩은 계정 보호를 위한 방법을 다음과 같이 권한다.
1) 다중인증 활성화 : “다중인증은 완벽한 안전을 보장하는 보안 기술이 아닙니다. 그럼에도 계정 보호에 있어 필수적인 방법이기도 합니다. 비밀번호 하나로 계정을 보호하는 것과는 비교가 되지 않을 정도로 강력합니다.”
2) 크리덴셜 유출 상황을 주기적으로 모니터링 : “다중인증이라고 하더라도 비밀번호나 인증 코드가 유출되면 아무런 힘을 발휘하지 못합니다. 그러므로 비밀번호나 인증 코드가 유출되었는지 여부를 꾸준히 모니터링 하는 게 중요합니다.”
3) 다중인증 실패 시 경고가 날아오도록 설정 조정 : “로그인에 실패했을 때 여러 가지 방법으로 사용자에게 알림이 가도록 하는 게 좋습니다. 대부분 사소한 실수로 로그인에 실패하고, 그렇기에 그럴 때마다 경고가 날아오는 걸 귀찮아 하고, 알람을 꺼버리는 경우가 많습니다. 이는 다중인증을 제대로 활용하지 못하는 행위입니다.”
3줄 요약
1. MS의 다중인증 환경에서 심각한 문제가 발견됨.
2. 지속적인 로그인 시도를 이어갈 수 있도록 환경이 조성되어 있다는 게 문제의 핵심.
3. 다중인증이라고 하더라도 그 자체로 안전하지 않으며, 안전한 사용법을 기억하는 게 중요.
[국제부 문정후 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>