Microsoft Threat Intelligence는 2026년 9월 22일 EvilTokens라는 피싱 서비스형 플랫폼의 공격 흐름을 공개했습니다. 공격자는 사용자의 비밀번호를 직접 훔치는 대신, 정상적인 OAuth 디바이스 코드 인증을 먼저 시작하고 사용자가 공식 로그인 페이지에 코드를 입력하도록 유도했습니다.
MFA를 통과한 것처럼 보여도 실제로는 공격자의 세션을 승인할 수 있다는 점에서, 인증 방식의 맥락과 토큰 수명까지 함께 점검해야 하는 사례입니다.
3줄 핵심 요약
- Microsoft는 EvilTokens라는 피싱 서비스가 OAuth 디바이스 코드 흐름을 악용해 토큰을 훔친 사례를 공개했습니다.
- 2026년 2월 등장 이후 1만 개가 넘는 조직의 1만 2천 개 이상 받은편지함이 침해된 것으로 관찰됐습니다.
- 디바이스 코드 흐름을 필요한 경우에만 허용하고, 토큰 폐기·재인증·악성 받은편지함 규칙 점검을 함께 해야 합니다.

디바이스 코드 인증이 왜 표적이 됐나
디바이스 코드 흐름은 화면이 작거나 키보드가 없는 TV·프린터·회의실 기기 등이 다른 기기에서 짧은 코드를 입력해 로그인하도록 만든 정상 OAuth 방식입니다. 인증을 시작한 기기와 코드를 입력한 브라우저가 분리되기 때문에, 사용자가 어느 애플리케이션에 권한을 주는지 확인하지 않으면 공격자가 시작한 세션을 승인할 여지가 생깁니다.
EvilTokens는 이 구조를 피싱 페이지와 결합해 사용자가 microsoft. com/devicelogin에 코드를 입력하게 만들었습니다.
EvilTokens가 자동화한 공격 흐름
악성 메일은 청구서·공유 문서·비밀번호 만료처럼 긴급한 44개 테마를 사용했습니다. 사용자가 링크나 첨부파일을 열면 피싱 페이지가 실시간 디바이스 코드를 만들고, 공식 로그인 페이지로 이동시킨 뒤 인증 상태를 확인합니다.
사용자가 이미 로그인한 상태라면 코드 입력과 승인만으로 공격자 세션이 인증될 수 있습니다. Microsoft는 EvilTokens가 2026년 2월 이후 1만 개가 넘는 조직에서 1만 2천 개 이상의 받은편지함 침해와 연관됐다고 설명했습니다.
토큰을 얻은 뒤가 더 위험하다
공격자는 탈취한 토큰으로 메일을 읽고, 조직 구조와 권한을 Microsoft Graph로 조사하며, 추가 피싱을 보낼 수 있습니다. 악성 받은편지함 규칙을 만들어 대화를 숨기거나 새 장치를 등록해 지속성을 확보하는 사례도 관찰됐습니다.
EvilTokens의 AI 기능은 손상된 받은편지함에서 재무·임원 관련 대상을 찾아 역할에 맞는 후속 피싱 문구를 만드는 데 사용될 수 있습니다. MFA를 사용했다는 사실만으로 세션과 토큰이 안전하다고 단정할 수 없는 이유입니다.
조직이 먼저 바꿀 인증·메일 정책
Microsoft는 가능한 경우 디바이스 코드 흐름 자체를 차단하고, 꼭 필요한 Teams 기기 계정 등에만 조건부 예외를 두라고 권고합니다. 메일에서는 사칭 방지 정책과 Safe Links, Zero-hour Auto Purge를 활성화하고, 외부 발신자의 긴급 로그인 안내를 별도 채널로 확인하게 해야 합니다.
악성 로그인이나 토큰 교환이 의심되면 refresh token 폐기와 재인증 정책만으로 끝내지 말고, 기존 access token이 남아 있을 수 있으므로 계정을 일시 비활성화하는 대응도 검토해야 합니다.
5분 점검 체크리스트
첫째, Conditional Access에서 디바이스 코드 흐름 허용 범위와 예외 계정을 확인합니다. 둘째, 디바이스 코드 인증 직후 새 장치 등록이나 비정상 Graph 요청이 없는지 봅니다.
셋째, 최근 생성된 전달·삭제·숨김 받은편지함 규칙을 조사합니다. 넷째, 의심 계정의 세션과 refresh token을 폐기하고 재인증을 강제합니다.
다섯째, 피해 계정이 보낸 내부 메일과 재무·임원 관련 검색 기록까지 확인해 추가 피싱과 정보 유출 범위를 파악합니다.
사용자와 업계에 미치는 영향
MFA 도입 이후 공격자는 자격 증명보다 인증 세션과 토큰을 노리는 방향으로 이동하고 있습니다. 조직은 ‘MFA를 켰는가’에서 멈추지 말고, 어떤 인증 흐름을 허용하는지, 승인된 애플리케이션이 무엇인지, 토큰이 사용된 뒤 어떤 메일 규칙과 장치 등록이 생기는지를 운영 지표로 관리해야 합니다.
확인할 점
침해 규모와 공격 기능은 Microsoft가 관찰한 EvilTokens 캠페인과 텔레메트리 기준입니다. 디바이스 코드 흐름은 일부 특수 기기에 필요한 정상 기능이며 무조건적인 차단이 항상 가능한 것은 아닙니다.
Conditional Access·Safe Links·토큰 폐기 기능의 이름과 범위는 라이선스와 제품 버전에 따라 다르므로 실제 테넌트 설정과 최신 문서를 함께 확인해야 합니다.
출처
함께 읽을 글
- Python으로 서버리스 앱을 만든다면? Cloudflare Workers GA에서 달라진 5가지
- AI 코딩 논쟁, 결론보다 중요한 실전 점검 5가지
- Cloudflare가 RAM 100TB를 줄인 방법: 해시 개수보다 중요한 운영 설계
'수수께끼연구소' 카테고리의 다른 글
| 개발자 1,039명이 말한 ‘효율적인 소프트웨어’의 조건 (0) | 2026.09.24 |
|---|---|
| TLS 연결이 한 번 더 왕복하는 이유: Cloudflare의 자동 키 교환 (0) | 2026.09.23 |
| 팀즈로 온 가짜 IT 지원 요청, 원격 접속 한 번이 기업 침해로 번지는 과정 (0) | 2026.09.22 |
| Python으로 서버리스 앱을 만든다면? Cloudflare Workers GA에서 달라진 5가지 (0) | 2026.09.22 |
| 보이지 않는 유니코드가 피싱 필터를 흔든다: 메일 보안 점검법 (0) | 2026.09.21 |