다단계 인증(MFA) 수단 중 하나인 SMS 기반 인증에서 SMS 트래픽을 대량으로 부풀려 서비스 제공자에게 큰 비용을 발생시키는 AIT 공격이 주목을 받고 있습니다. 아직까지 AIT 공격에 관한 연구가 거의 없는 실정에서 당사가 개발한 AIT 공격 탐지 시스템에 대해 설명하는 내용입니다. |
들어가며
SMS 기반 인증은 전 세계적으로 가장 보편적인 다단계 인증(MFA) 수단 중 하나로 자리 잡고 있습니다. 다양한 인증 방식이 존재하지만 특히 인터넷 연결이 불안정한 국가에 거주하거나 모바일 네트워크만으로 접속 가능한 사용자들에게는 SMS 기반 인증이 유일한 옵션이 되기도 합니다. 따라서 SMS를 통한 인증 방식은 다소 취약점을 지님에도 불구하고 서비스 범위(Service Coverage) 측면에서 서비스 제공자들이 쉽게 포기할 수 없는 현실적인 대안입니다.
그림 1. 연간 AIT 공격 규모
그런데 SMS 인증을 이용한 공격이 지속적으로 진화하고 있으며, 특히 AIT(Artificially Inflated Traffic) 공격은 심각한 위협을 초래하고 있습니다. AIT 공격은 악성 통신사와 SMS 벤더들이 대량의 SMS 인증 요청을 서비스 제공자에게 발송하여 인위적으로 트래픽을 부풀리고 금전적 이익을 취하는 방식입니다. 통신 및 사이버 보안 소프트웨어 회사인 Enea의 2024년 보고서에서는 이러한 공격에 의해 2023년 전 세계적으로 약 12억 달러의 피해가 발생한 것으로 추정하고 있습니다. <그림 1>을 보면 매년 공격으로 인한 피해 규모가 증가하고 있으며 특히 2022년부터 그 규모가 가파르게 상승하는 것을 확인할 수 있습니다.
트위터(현 X) 사례에서도 SMS 기반 인증이 악용된 경우를 볼 수 있습니다. 일론 머스크는 AIT 공격으로 인해 연간 6000억 달러의 손실을 입는다고 말했습니다. 트위터에서는 SMS 인증을 통한 트래픽 악용을 줄이기 위해 SMS 기반 2단계 인증을 블루 체크 사용자에게만 허용하는 정책을 도입했습니다. 그러나 이 대응책은 SMS 인증에서 발생하는 문제를 근본적으로 해결하지 못하며, 오히려 일부 사용자의 인증 방식을 제한하여 비판을 받았습니다.
삼성의 다양한 서비스와 앱을 이어주는 계정 서비스인 삼성 계정에서도 AIT 공격이 일어납니다. SMS 인증을 악용하는 공격자들은 대량의 인증 요청을 생성하여 비용을 발생시키고 있습니다. 이 글에서는 AIT 공격에 당사가 어떻게 대응하고 있는지 소개하고자 합니다.
AIT 공격 탐지의 어려움
AIT 공격자들은 가짜 계정과 전화번호, IMEI 등을 반복적으로 생성하고, 각 계정에서 소수의 요청만을 보내는 방식으로 탐지를 회피하려고 합니다. 이러한 공격은 일반적인 사용자 행동 패턴과 유사해 보이므로 탐지하기 어려우며 단순한 규칙 기반의 탐지 시스템으로는 효과적으로 차단하기 힘듭니다. 더욱이 AIT 공격은 날로 진화하며 정교해지고 빠르게 변화하는 공격 패턴 특성을 보이기 때문에 정해진 규칙에 기반한 기존 탐지 시스템은 이러한 변화에 대응하기 어렵습니다. 반대로 정상적인 트래픽을 공격으로 잘못 인식하는 경우도 발생할 수 있습니다. 이는 서비스 운영을 방해하고 정당한 사용자에게 불편을 끼치는 문제를 일으킵니다.
이러한 문제를 해결하기 위해서는 머신러닝 모델을 도입해야 합니다. 머신러닝 모델은 규칙 기반 시스템과는 달리, 대량의 데이터를 학습하여 다양한 패턴을 분석하며 고정된 규칙에 의존하지 않기 때문에 변화하는 공격 패턴에도 적응할 수 있습니다. 머신러닝 시스템은 단순히 특정 규칙에 따라 동작하는 것이 아니라 여러 feature를 기반으로 공격을 분석하고 새로운 패턴도 탐지할 수 있는 능력을 갖추고 있습니다. 특히 AIT 공격과 같이 공격자들이 IP, 계정, 전화번호 등을 지속적으로 변경하는 경우에도 머신러닝 모델은 이러한 미세한 변화까지 포착하여 공격을 탐지할 수 있습니다. 이를 통해 탐지 정확도를 크게 높이고 오탐을 줄여 사용자 경험을 개선할 수 있습니다.
시스템 아키텍처
그림 2. AIT 공격 탐지 시스템 아키텍처
당사가 구축한 AIT 공격 탐지 시스템의 이해를 돕기 위해 먼저 시스템 아키텍처를 살펴보겠습니다. <그림 2>는 삼성 계정에 사용되는 이중 인증 시스템의 아키텍처를 보여줍니다. 먼저, 사용자가 웹(Web) 또는 앱(Native)에서 로그인 과정 중 SMS 이중 인증을 선택한 경우에 SMS 인증 요청이 발생하며, authentication server는 SMS 전송을 승인할지 아니면 거부할지 결정하기 위해 요청에 대한 분석을 AIT attack detector에 의뢰합니다. AIT attack detector는 feature extractor에서 이전 SMS 인증 요청들과 사용자 정보를 바탕으로 추출한 feature를 받아오고 ML server에 inference를 요청하여 결과를 authentication server에 반환합니다. authentication server는 반환된 결과를 바탕으로 SMS sender에 전송을 요청하거나 SMS 인증 요청을 거부합니다. 마지막으로 SMS 인증 요청에 대한 정보를 logging하여 이후 새로운 요청이 들어올 때 이전 데이터를 기반으로 feature를 계산할 수 있도록 합니다.
대표적인 공격 특성과 주요 feature
당사의 AIT 공격 탐지 시스템은 머신러닝 모델에 사용할 feature를 발굴하기 위해 분석한 대표적인 공격 특성을 기반으로 설계되었습니다. 당사의 SMS 요청 로그를 분석한 결과, 주로 다음과 같은 공격 특성이 나타났습니다.
• 특성 1: 공격자는 계정을 공격 직전에 생성하고, 공격을 위해 계정을 빈번하게 변경합니다.
• 특성 2: 일회용 이메일을 사용하여 대량의 가짜 계정을 생성하고, 이를 통해 공격을 수행합니다.
• 특성 3: 대량의 가짜 전화번호를 생성하고, 이를 자주 변경하여 공격을 진행합니다.
• 특성 4: 구형 운영체제 또는 클라이언트 앱을 사용하여 공격을 수행합니다.
이러한 공격 특성을 바탕으로 이 시스템에 사용되는 주요 feature는 다음과 같습니다.
그림 3. SMS 요청과 계정 생성 시간 차이의 분포
SMS 요청과 계정 생성 시간 차이("First-Join SMS Time Diff"): <그림 3>의 분포를 보면 공격자는 계정을 생성한 후 곧바로 SMS 인증 요청을 보낸다는 것을 알 수 있습니다. 이를 기반으로 계정 생성 시간과 SMS 요청 시간 간의 차이가 매우 짧을 경우 공격일 확률이 높다고 판단합니다. 이 feature는 공격 특성 1, 2에 대응하는 feature입니다.
그림 4. 우즈베키스탄에서 3개월간 이루어진 SMS 요청 수
이메일 도메인 사용 비율 증가("Domain Proportion Increase Rate"): 공격을 위해 생성된 계정은 동일한 이메일 도메인을 사용하여 여러 계정을 만드는 경우가 많습니다. 특정 도메인의 사용 비율이 비정상적으로 급증하는 경우 공격으로 판단할 수 있습니다. <그림 4>에서 공격이 일어난 기간에 특정 도메인을 사용한 SMS 요청이 다수를 차지하는 것을 확인할 수 있습니다. 이 feature는 공격 특성 1에 대응하는 feature입니다.
그림 5. 방글라데시에서 3개월간 이루어진 SMS 요청 수
SMS 요청과 도메인 등장 시간 차이("Email - Domain SMS Time Diff"): 이 feature는 SMS 요청 시간과 해당 이메일 도메인이 데이터베이스에 처음 등록된 시간 간의 차이를 측정합니다. 일회용 이메일 서비스는 상대적으로 새롭게 등장한 서비스일 가능성이 높으므로 시간 차이가 적을 경우 일회용 이메일 서비스를 사용했다고 판단할 수 있습니다. 이 경우 머신러닝 모델은 해당 SMS 요청이 공격일 확률이 높다고 판단합니다. <그림 5>에서 일회용 이메일 서비스를 이용한 공격을 확인할 수 있습니다. 이 feature는 공격 특성 2에 대응하는 feature입니다.
그림 6. 잠비아에서 3개월간 이루어진 SMS 요청 수
전화번호 접두사 사용 빈도("Phone Number Prefix Count"): 공격자는 여러 전화번호를 생성하려 하지만, 전화번호 접두사는 지역과 같은 정보를 담고 있기 때문에 공격자가 자유롭게 바꿀 수 없습니다. 동일한 접두사를 가진 전화번호가 반복적으로 사용될 경우 공격 가능성이 있습니다. <그림 6>에서 동일한 접두사의 전화번호를 사용한 공격을 확인할 수 있습니다. 이 feature는 공격 특성 3에 대응하는 feature입니다.
그림 7. SMS 요청과 클라이언트 앱 출시일 시간 차이의 분포
SMS 요청과 운영체제 및 클라이언트 앱 출시일 시간 차이("OS/Client-App Version SMS Time Diff"): 공격자는 종종 보안상 허점을 악용하기 위해 구형 운영체제나 클라이언트 앱을 사용합니다. 따라서 구형 시스템에서 SMS 요청이 들어오는 경우 공격 가능성을 높게 평가할 수 있습니다. <그림 7>에서 구형 클라이언트 버전을 이용한 공격을 확인할 수 있습니다. 이 feature는 공격 특성 4에 대응하는 feature입니다.
당사는 이러한 feature를 개발해 머신러닝 모델을 학습시켜 빠르고 정확하게 AIT 공격을 탐지하고 있습니다.
마치며
AIT 공격은 점점 더 정교해지고 있으며, 단순한 규칙 기반 탐지 시스템만 사용해서는 이러한 공격을 효과적으로 차단하기 어렵습니다. 당사에서 개발한 머신러닝 기반 탐지 시스템은 다양한 feature를 종합적으로 분석하여 AIT 공격을 정확하게 탐지할 수 있습니다. 이 머신러닝 모델은 대규모 데이터를 학습하며 지속적으로 변화하는 공격 패턴에 적응할 수 있는 능력을 갖추고 있습니다. 당사에서는 대규모 데이터를 활용하도록 AIT 공격의 특성을 분석하고 AIT 공격 탐지에 적합한 여러 feature를 개발했습니다. 이러한 연구는 향후 AIT 공격 탐지가 발전하는 데 중요한 토대로 활용될 것입니다.
출처 |
|