Azure Entra ID, 로그 기록 없이 토큰 탈취 가능? 심각한 보안 문제!

by DD
2개월 전
조회수 2

Azure Entra ID의 로그인 우회(Sign-in Log Bypass) 취약점 2건이 발견되어, 공격자가 로그 기록 없이 유효한 토큰(Valid Token)을 획득할 수 있었음

GraphGoblin 및 Graph****으로 명명된 이 취약점들은 SQL 컬럼 길이 초과(SQL Column Overflow) 또는 User-Agent 조작(User-Agent Manipulation)**을 통해 로그 기록을 우회함

Microsoft는 이 문제를 '중요(Important)'가 아닌 '보통(Moderate)'으로 평가했으나, 신속하게 패치(Quick Patch)를 완료했음

커뮤니티에서는 Microsoft의 보안 대응과 CVSS 점수(CVSS Score) 평가에 대한 불만을 제기하며, Azure 보안에 대한 우려를 표명함

GraphGoblin 및 Graph******: 로그 우회 기술 분석

발견된 두 가지 취약점, GraphGoblin과 Graph****은 Azure Entra ID의 로그 기록(Logging)을 우회하는 데 성공했다. GraphGoblin은 scope 매개변수(Scope Parameter)에 반복적인 값을 삽입하여, GraphUser-Agent 필드(User-Agent Field)에 50,000자 이상의 긴 문자열을 삽입하여 로그 기록을 우회했다. 기술적으로 보면, 이는 SQL 데이터베이스(SQL Database)**의 컬럼 길이 제한을 악용한 것으로, 데이터베이스에 기록될 데이터의 크기를 초과시켜 로그 기록을 실패하게 만드는 방식이다.

Microsoft의 대응과 CVSS 점수 평가

Microsoft는 이 취약점에 대해 '중요'가 아닌 '보통'으로 평가했으나, 2주 만에 패치를 완료했다. 하지만, 발견자는 Microsoft의 보안 문제 대응에 대한 일관성 부족을 지적하며, CVSS v3.1 기준 7.5점, CVSS v4.0 기준 8.7점으로 평가했다. 특히, Azure Entra ID의 핵심 기능인 로그 기록의 무결성(Integrity)을 훼손하는 심각성을 강조하며, Microsoft의 낮은 평가에 대한 아쉬움을 드러냈다.

KQL 쿼리를 활용한 우회 시도 탐지

발견자는 E5 라이선스를 통해 수집 가능한 Graph Activity 로그(Graph Activity Logs)를 활용하여, 로그가 누락된 세션을 탐지하는 방법을 제시했다. 구체적으로, Graph Activity 로그에만 존재하고 Sign-in 로그에는 없는 Session ID를 찾아내는 KQL 쿼리를 제안했다. 또한, Fabian Bader의 게시물을 인용하여, Microsoft Graph Activity 로그(Microsoft Graph Activity Logs)를 활용한 보다 정교한 탐지 방법을 소개하며, 비대화형 로그인(Noninteractive Logins)서비스 주체 로그인(Service Principal Logins)까지 고려한 탐지 기법을 제시했다.

커뮤니티 반응: Azure 보안에 대한 우려

커뮤니티에서는 Azure의 보안 취약점에 대한 우려를 표명하며, Microsoft의 보안 정책과 대응에 대한 비판적인 시각을 드러냈다. 특히, 로그 기록의 중요성(Importance of Log)을 강조하며, 이러한 취약점이 실제 공격에 악용될 경우 발생할 수 있는 심각한 피해를 경고했다. 또한, Microsoft의 보안 문제에 대한 일관성 없는 대응과 낮은 평가에 대한 불만을 제기하며, Azure의 보안 수준에 대한 의문을 제기했다. Azure의 복잡성(Complexity)보안 검토의 부족(Lack of Security Review)에 대한 지적도 이어졌다.

취약점의 근본 원인 및 영향

발견자는 이러한 취약점이 SQL 컬럼 길이 제한(SQL Column Length Limit)과 같은 기본적인 문제에서 비롯되었을 가능성을 제기했다. 이는 Microsoft의 테스팅 부족(Lack of Testing)을 시사하며, Azure와 같은 중요한 시스템의 보안 검토가 충분히 이루어지지 않았음을 보여준다. 이러한 취약점은 공격자가 로그 기록을 우회(Bypass Logging)하여, 탐지를 피하면서 유효한 토큰(Valid Token)을 획득할 수 있게 한다. 결과적으로, 이는 Azure 환경 내에서 무단 접근(Unauthorized Access)데이터 유출(Data Breach)과 같은 심각한 보안 사고로 이어질 수 있다.

Full Disclosure: A Third (and Fourth) Azure Sign-In Log Bypass Found