중국의 스톰0558이라는 공격 단체가 25개 조직의 이메일 시스템에 접속했다. 사건을 어떻게 된 일인지 거슬러 올라가보니 MS가 있었다.
[보안뉴스 문정후 기자] 마이크로소프트에서 보안 관련 실수를 몇 가지 저지르는 바람에 중국의 해킹 그룹 하나가 인증 토큰을 스스로 제작할 수 있게 되었고, 이를 통해 마이크로소프트 고객사 25곳의 이메일에 접근할 수 있었다는 사실이 뒤늦게 밝혀졌다. 이 사건은 올해 초에 발생한 것으로 보인다.
![[보안뉴스 / 9.8.] MS의 조그만 보안 틈들이 모이고 모여 서명 키 탈취 사건으로 확대돼](http://www.boannews.com/media/upFiles2/2023/09/274845431_8891.jpg)
[이미지 = gettyimagesbank]
해당 사건을 저지른 해킹 그룹은 MS가 스톰0558(Storm-0558)이라고 부르는 단체로, 이들은 마이크로소프트 계정용 서명 키를 활용해 애저 AD(Azure AD) 토큰들을 위조해 기업의 이메일 계정들에 접속하는 데 성공했다고 한다. MS 계정 소비자용 서명 키는 MS 소비자용 애플리케이션이나 서비스(예 : 아웃룩, 원드라이브, 엑스박스 등)를 서명하는 데 사용된다.
사이버 정찰 공격
스톰0558은 중국에 기반을 두고 있는 해킹 단체인 것으로 알려져 있다. 최소 2021년부터 활동을 시작해 왔고, 주로 미국과 유럽의 외교 시설들과 사법 기관, 정부 기관, 매체, 인터넷 서비스 업체, 통신 사업자, 통신 장비 제조사 등을 공격해 왔다. 크리덴셜 수집, 피싱 공격, 오오스(OAuth) 토큰 공격 등을 감행하는 것이 이들의 가장 큰 목적이었다.
그런데 지난 5월 MS는 한 고객사에서 사용하고 있는 익스체인지 서버(Exchange Server) 계정과 관련하여 수상한 활동이 있음을 탐지했다. 조사를 진행했을 때, 스톰0558이 아웃룩 웹 액세스(Outlook Web Access)를 통해 해당 고객의 익스체인지 온라인 데이터에 접근했다는 사실이 드러났다.
당시 MS는 공격자가 애저 AD 사명 키를 어떻게든 훔쳐내는 데 성공한 후, 이를 활용해 익스체인지 서버에 대한 접근 권한을 확보한 것으로 파악했다. 하지만 조사가 이어졌을 때 스톰0558이 MS 계정 소비자용 서명 키를 훔치지 않고 합법적으로 취득했다는 사실이 드러났다. 즉 MS가 승인을 해줬다는 것이다. MS는 “승인 단계 오류”가 있었을 것이라고 해명했다.
시간이 흐르고 조사도 더 진행됐다. MS는 보다 확실하게 공격 진행 상황과 경위를 파악할 수 있었다. 자신들이 어떤 부분에서 실수를 저질렀고, 그것이 어떤 결과를 나았는지도 이제 확실히 알게 되었다고 한다. 이러한 사실이 이번 주 공개됐고, MS는 공격의 빌미가 되었던 허점과 실수들을 현재는 수정해 두었다고 한다.
연속적인 오류와 실수들
MS에 의하면 이 모든 사건은 크래시 덤프(crash dump)라고 불리는 데이터에 서명 키가 섞여 있었다는 사실부터 시작됐다고 한다. 크래시 덤프는 컴퓨터 오류와 함께 생성되는 데이터 덩어리다. 일종의 경합 조건(race condition)이 발동되면서 서명 키가 그 데이터 덩어리에 들어가게 되었다는 게 MS의 설명이다.
원래 서명 키는 어떤 이유로든 회사의 개발 및 생산 환경 바깥으로 나갈 수 없고 그래서도 안 된다. 그래서 서명 키는 고립된 곳에 따로 보관되고, 다양한 보안 장치들로 겹겹이 보호되어 있다. 여기에 접근하려면 접근 시도자(보통은 임직원)는 배경 확인 과정도 거치고, 계정 로그인도 정상적으로 해야 하고, 하드웨어 토큰 기반 이중 인증도 통과해야 한다. 서명 키가 보관된 시스템에서는 협업 툴은 일체 사용할 수 없는 게 보통이다.
그런데 2021년 4월 생산 환경 내에 있던 키 서명 시스템 하나가 오류를 일으켰다. 당시 그 시스템에도 보안 장치들이 있긴 했었는데 충분치 않았다. 그래서 크래시 덤프에 서명 키가 섞여들어가게 됐다. 원래는 이렇게 되더라도 서명 키가 제거되어야 하는데, 경합 조건이 발동되면서 이 과정이 사라졌다. 그리고 MS에 설치됐던 보안 장치들 중 그 어떤 것도 크래시 덤프에서 서명 키를 발견하지 못했다. 크래시 덤프는 디버깅 팀에게 넘겨졌는데, 디버깅 팀들이 사용하던 컴퓨터들은 전부 인터넷에 연결되어 있었다. 디버깅 환경에서도 이 크래시 덤프는 아무런 탐지 기능을 발동시키지 못했다.
그러던 와중의 한 시점에 스톰0558 공격자들은 MS 소속 엔지니어의 기업 계정을 침해하는 데 성공했고, 이를 통해 디버깅 환경으로 들어갔으며, 거기서 크래시 데이터에 숨겨져 있던 키를 발견하게 된 것이라고 MS는 설명했다.
MS는 “문제가 됐던 경합 조건이 더는 발동되지 않도록 조치를 취했다”고 설명하며 키 데이터가 크래시 덤프에 섞이는 일이 없을 것이라고 발표했다. 또한 서명된 키를 어떤 데이터 속에서도 발견할 수 있도록 탐지 성능을 강화했다고도 밝혔다.
글 : 자이 비자얀(Jai Vijayan), IT 칼럼니스트
[국제부 문정후 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>