공격자가 점점 더 정교한 공격을 사용함에 따라 토큰 도난 및 토큰 재생에 대한 환경을 강화하여 데이터 반출을 방지해야 합니다. 도전적이지만 공격 노출 영역을 줄이고 공격자가 토큰을 성공적으로 도용하고 재생하는 데 드는 비용을 늘리기 위해 수행할 수 있는 간단한 단계가 있습니다. 토큰을 보호하기 위한 강력한 전략에는 다음을 포함해야 하는 다계층 심층 방어 접근 방식이 필요합니다.
- 피싱 방지 자격 증명 배포
- 맬웨어 기반 공격에 대한 디바이스 강화
- 디바이스 기반 및 위험 기반 조건부 액세스 사용
- 가능한 경우 디바이스 바인딩된 토큰 적용
- 네트워크 기반 적용 구현
이 문서에서는 토큰이 무엇인지, 토큰을 도난당한 방법의 기본 사항을 요약하고, 사용자 환경에서 성공적인 공격의 위험을 완화하기 위해 수행할 수 있는 구체적인 단계를 제공합니다. Microsoft Entra의 복잡성과 다양한 토큰으로 인해 일부 항목은 단순성을 위해 일반화되며 일부 에지 사례를 다루지 않을 수 있습니다. 그러나 이 지침에서는 공용 클라이언트에 대한 대부분의 시나리오를 다룹니다. 기밀 클라이언트 시나리오는 범위에 없습니다.
암호 기반 공격은 여전히 Microsoft에서 볼 수 있는 공격의 99% 이상으로 구성되며 대부분의 손상된 ID의 근본 원인입니다. 조직은 피싱 방지 MFA를 ID에 대한 방어의 최전선으로 배포해야 합니다. 적들이 전술을 조정하여 토큰 탈취라는 다음 합리적인 공격 경로로 이동합니다. "토큰 도난으로 인해 암호 공격보다 ID 손상이 훨씬 적지만, 감지된 결과 인시던트가 하루에 약 39,000건으로 증가했습니다. 또한 지난 1년 동안 AiTM 피싱 공격이 146건% 증가했으며, 이는 공격자가 사용자를 속여 링크를 클릭하고 공격자 대신 MFA를 완료할 때 발생합니다." * 피싱 방지 MFA를 배포하는 것이 최우선 과제이지만, 조직은 토큰 도난 공격 벡터가 시간이 지남에 따라 계속 증가함에 따라 토큰 도난 완화 전략을 준비하기 시작해야 합니다. 암호 기반 공격이 덜 실행 가능해짐에 따라 토큰 도난으로부터 보호하는 것이 더 중요해집니다.
* 2024년 Microsoft 디지털 방어 보고서 (40페이지)
토큰이란?
토큰은 다양한 인증 및 권한 부여 프로세스에서 리소스에 대한 액세스 권한을 부여하는 데 사용되는 디지털 개체입니다. 사용자 또는 워크로드의 ID를 확인하고 각 트랜잭션에 대한 암호 또는 자격 증명을 전송할 필요 없이 리소스에 대한 액세스 권한을 부여합니다. 토큰은 사용자의 ID 및 해당 권한에 대한 정보를 보안 형식으로 캡슐화하여 인증 프로세스 중에 중요한 정보가 보호되도록 합니다.
디지털 환경에서 토큰은 안전하고 효율적인 인증 메커니즘을 사용하도록 설정하여 보안을 강화하는 데 중요한 역할을 합니다. 네트워크를 통한 자격 증명 노출을 최소화하여 자격 증명 도난 위험을 줄이는 데 도움이 됩니다. 그러나 디바이스 또는 네트워크가 손상된 경우 공격자에 의해 유출될 수 있다는 특징이 있습니다. 그런 다음 공격자는 이러한 토큰을 사용하여 로그인한 사용자로 리소스에 액세스할 수 있습니다.
토큰 종류 요약
토큰에는 여러 종류가 있지만 일반적으로 다음 두 가지 범주 중 하나에 속합니다.
- 로그인 세션 – 이러한 토큰은 사용자의 로그인 상태를 유지하므로 사용자가 자주 다시 인증할 필요 없이 리소스에 액세스할 수 있습니다. 앱 세션 범주에 있는 토큰을 요청하기 위해 ID 공급자에게 전달됩니다. OAuth 2.0 표준에서는 새로 고침 토큰이라고도 합니다.
- 앱 세션 – 이러한 토큰은 특정 애플리케이션에 대한 액세스 권한을 부여합니다. 수명이 짧고 클라이언트와 애플리케이션 간에 재생됩니다. OAuth 2.0 표준의 액세스 토큰이라고도 합니다.
토큰은 클라이언트 애플리케이션에 따라 달라질 수도 있습니다. 브라우저를 통해 액세스하는 웹 애플리케이션은 Outlook 및 Teams와 같은 네이티브 앱과 비교하여 다양한 종류의 토큰을 사용하는 경우가 있습니다.
먼저 로그인 세션 토큰을 보호하는 것을 우선시하십시오. 이러한 토큰은 몇 주 또는 몇 달 동안 지속될 수 있으므로 도난당하면 지속적인 무단 액세스가 발생할 수 있습니다.
두 토큰 패밀리 간의 또 다른 차이점: 로그인 세션 토큰은 기본적으로 취소할 수 있지만 앱 세션은 일반적으로 그렇지 않습니다. 예를 들어 엔트라 ID 액세스 토큰은 애플리케이션이 연속 액세스 평가를 통합한 경우에만 해지할 수 있습니다.
토큰 유형 | 발급자 | 목적 | 리소스로 범위 지정 | 수명 | 폐지할 수 있는 | 신재생 |
---|---|---|---|---|---|---|
PRT(기본 새로 고침 토큰) | Entra ID | 액세스 토큰 요청 | 아니요 – 모든 리소스에 대한 액세스 토큰을 요청할 수 있습니다. | 14일* | 예 | 예 |
토큰 새로 고침 | Entra ID | 액세스 토큰 요청 | 예 | 90일* | 예 | 예 |
액세스 토큰 | Entra ID | 리소스 액세스 | 예 | 변수 60-90분 | 예, CAE가 가능한 경우 | 아니오 |
앱 인증 쿠키 | 웹앱 | 리소스 액세스 | 예 | 애플리케이션에 의해 결정됨 | 애플리케이션에 따라 다름 | 아니오 |
*롤링 기간 – 토큰을 사용할 때마다 수명이 다시 시작됩니다.
토큰 도난 공격 벡터
악의적 사용자는 다양한 공격 벡터를 사용하여 토큰을 도용할 수 있습니다. 토큰이 도난당하면 악의적 사용자가 사용자를 가장하여 무단 액세스를 얻고 중요한 데이터를 유출할 수도 있습니다. 이러한 공격 벡터의 몇 가지 예는 다음과 같습니다.
- 중간에 있는 적: MitM(Man-in-the-Middle) 공격의 정교한 형태입니다. 이 시나리오에서 공격자는 두 통신 당사자 간에 위치를 지정하여 어느 당사자의 지식 없이도 통신을 가로채고 잠재적으로 변경합니다. 이 시나리오를 사용하면 공격자가 자격 증명, 세션 쿠키 및 기타 데이터와 같은 중요한 정보를 캡처할 수 있으며 다단계 인증과 같은 보안 조치를 우회할 수도 있습니다. 중간자 공격을 활용한 피싱 공격에 대해 자세히 알아봅니다.
- 맬웨어: 맬웨어는 시스템에 침투하고 네트워크 트래픽을 모니터링하거나 저장된 데이터에 액세스하여 디바이스에서 토큰을 도용할 수 있습니다. 설치되면 맬웨어는 디바이스와 합법적인 서비스 간의 통신을 가로채 인증 토큰, 세션 쿠키 또는 기타 자격 증명을 캡처할 수 있습니다. 또한 취약성을 악용하여 메모리 또는 스토리지에서 직접 토큰을 추출할 수도 있습니다.
이 문서에서는 주로 이전에 나열된 것과 같이 최종 사용자를 대상으로 하는 공격을 무찌를 수 있는 방법에 초점을 맞춥니다. 서버 쪽 또는 애플리케이션 손상과 같은 공격 벡터는 이 문서의 범위를 벗어납니다. 이러한 종류의 공격을 완화하려면 조직은 다음과 같은 일반적인 모범 사례를 따라야 합니다.
- 애플리케이션의 인증 보호
- 애플리케이션 사용 권한이 최소 권한인지 확인
- 서버 쪽 로그에서 토큰 캡처 및 보존 방지
- 다른 리소스에 대한 권한이 있는 OAuth 애플리케이션을 손상 여부를 모니터링하세요.
다음 단계
Microsoft Entra ID에서 토큰을 보호하는 방법을 이해하려면 Microsoft Entra ID에서 토큰을 계속 보호합니다.