유출 계정 기반 크리덴셜 스터핑 공격의 피해 사례와 대응 방안

유출 계정 기반 크리덴셜 스터핑 공격의 피해 사례와 대응 방안

개요

유출된 비밀번호를 활용한 크리덴셜 스터핑 공격이 최근 급격히 증가하고 있다. 단순한 기법에서 시작된 이 공격은, 자동화 도구의 발전과 계정 재사용이라는 취약점이 더해지면서 대규모 계정 탈취와 금전적 피해로 이어지고 있다.

기존에는 단순히 많은 로그인 시도를 발생시켜 위협 행위를 식별할 수 있었다. 하지만, 최근 공격자들은 웹 프록시, 사용자 에이전트 위조, 분산된 로그인 요청 등으로 정상 사용자의 트래픽과 유사한 패턴을 연출하며 탐지를 우회하려는 시도를 한다. 이처럼 공격 수법이 고도화되면서, 기존의 방화벽이나 단순 인증 실패 횟수 기준의 탐지 방식만으로는 대응에 한계가 존재한다.

크리덴셜 스터핑은 공격 건수가 꾸준히 증가하며 기업과 개인 모두에게 심각한 위협으로 자리잡고 있다.

 

 

[그림] IBM에서 제공한 연도별 데이터 유출 사고 비용 (2019–2024)

 

본 블로그에서는 최근 증가하고 있는 크리덴셜 스터핑 공격의 개념과 특징을 설명하고, 실제 피해 사례를 설명한다. 또한, 탐지 방법과 대응 방안을 통해 크리덴셜 스터핑에 대한 대응력을 높이고자 한다.

 

크리덴셜 스터핑이란

크리덴셜 스터핑(Credential Stuffing)은 이미 유출된 사용자 계정 정보를 활용해 여러 웹 사이트나 서비스에 자동화된 방식으로 무단 접근을 시도하는 사이버 공격 기법이다. 크리덴셜 스터핑 공격은 대부분의 사용자가 여러 사이트에서 동일한 로그인 정보를 재사용한다는 점을 악용한다.

 

유출 계정 기반 공격의 특징

크리덴셜 스터핑은 단순한 무차별 대입 공격(Brute Force)과는 다르다. 무차별 대입 공격이 가능한 비밀번호 조합을 시도하는 반면, 크리덴셜 스터핑은 이미 확보된 실제 사용자 인증 정보를 사용한다. 이러한 특성 때문에 성공 확률이 더 높으며, 한 서비스에서 데이터 유출이 발생하면, 동일한 인증 정보를 사용하는 다른 서비스까지도 위험에 노출될 수 있다.

 

공격의 진화

크리덴셜 스터핑(Credential Stuffing) 공격은 자동화 도구의 발전과 함께 점점 더 정교하고 탐지하기 어려운 방식으로 진화하고 있다. 초기에는 curl 이나 Python requests와 같은 단순 HTTP 클라이언트를 통해 계정 정보를 무작위로 입력하는 방식이 사용되었다. 이 방식은 비정상적인 트래픽 패턴으로 인해 비교적 쉽게 탐지되는 한계가 있다.

 

헤드리스 브라우저 사용

최근에는 헤드리스 브라우저(Headless Browser)가 주요 공격 수단으로 사용된다. 헤드리스 브라우저란, 사용자 인터페이스(GUI) 없이 동작하는 웹 브라우저로, 화면에는 아무것도 보이지 않지만 실제 브라우저처럼 웹사이트를 렌더링하고 자바스크립트를 실행할 수 있다. 이를 통해 공격자는 로그인 페이지에 접속해 ID/PW를 입력하고 버튼을 클릭하며, 자바스크립트를 실행하거나 쿠키를 설정하는 등 정상 사용자와 유사한 트래픽을 생성한다. 대표적으로 공격에 악용되는 브라우저는 Puppeteer, Playwright가 있다.

 

CAPTCHA 우회

공격자들은 CAPTCHA와 같은 자동화 방지 장치를 우회하기 위해 다양한 전략을 활용한다. 텍스트 기반 CAPTCHA는 OCR 엔진으로, 이미지 선택형은 CNN 기반 분류 모델을 활용해 자동화한다. 이 외에도 CAPTCHA 솔빙 서비스를 활용한다. 예를 들어 2Captcha나 Anti-Captcha와 같은 플랫폼은 실제 사람이 CAPTCHA 문제를 실시간으로 풀고, 그 결과를 API로 공격자에게 전송해주는 방식이다. 이렇게 하면 봇이 직접 이미지를 인식하지 않아도 CAPTCHA를 통과할 수 있다.

 

피해 사례

크리덴셜 스터핑은 로그인 시도를 넘어, 실제로 다양한 기업과 서비스에서 개인정보 유출로 이어진 사례가 다수 보고되고 있다. 대표적인 피해 사례는 다음과 같다.

 

첫 번째 사례

2023년, 크리덴셜 스터핑 공격으로 인해 유전자 검사 서비스 제공업체인 23andme의 약 690만명의 고객 정보가 탈취당하는 사건이 발생했다. 23andme는 미국의 생명 공학 및 유전체학 기업으로, 고객이 침샘 샘플을 회사 실험실로 보내면 조상 및 유전자와 관련된 검사 등을 서비스해주며 연결된 가족 정보까지 확인이 가능하다. 이 사건은 고객들이 다른 플랫폼에서 사용했던 계정 정보를 재사용한 것이 주요 원인으로 지목되었다.

 

공격자는 유출된 이메일과 비밀번호 조합을 이용해 자동화 도구로 테스트했으며, 탈취한 데이터를 다크웹 포럼에 게시했다. 23andme 사건은 다음과 같은 문제점으로 인해 발생한 것으로 보고 있다.

 

1. DNA Relatives 기능 구조 취약성으로, 하나의 계정이 침해되면 연결된 수백~수천 명의 사용자 데이터까지 노출되는 구조였다.

2. 계정에 다중인증 기능이 활성화되지 않았다.

 

두 번째 사례

2024년 6월, 클라우드 업체인 스노우플레이크의 고객사들이 크리덴셜 스터핑 공격으로 인해 수억 건의 데이터가 탈취되는 사건이 발생했다. 이 사건은 스노우플레이크 서비스를 이용하는 고객사 담당자들의 노트북에 인포스틸러가 설치되어 계정 정보가 유출된 것으로 확인됐다. 공격자들은 탈취한 계정 정보를 이용해 스노우플레이크에 접속하여 데이터를 빼내갔으며, 특히 다중인증 기능(2FA)가 설정되어 있지 않아 계정에 쉽게 접근할 수 있었다.

공격에 사용된 계정 중 약 79.7%는 이전에 이미 자격 증명이 노출된 적이 있는 것으로 확인됐으며, 인포스틸러 감염 날짜는 데이터 탈취 시점보다 약 4년 전인 것으로 밝혀졌다. 이 사례는 다음과 같은 보안 취약점으로 인해 발생한 것으로 분석되고 있다.

 

1. 계정에 다중인증 기능이 활성화되지 않았다.

2. 계정 비밀번호가 수년 동안 변경 없이 사용되었다.

3. 계정 로그인 시 네트워크 허용 목록이 설정되지 않았다.
 

탐지 방법

크리덴셜 스터핑 공격을 탐지하기 위해서는 다양한 방식의 탐지 기법이 활용된다. 본 보고서에서는 룰 기반 탐지와 자동화된 이상행위 기반 탐지에 대해 알아본다.

 

시그니처 기반 탐지

크리덴셜 스터핑 공격은 주로 다양한 계정에 반복적으로 로그인 시도를 수행하는 방식으로 이루어진다. 따라서 탐지 시에는 로그 기반의 규칙(Rule) 설정을 통해 비정상적인 인증 시도를 식별할 수 있다.

대표적인 탐지 방법으로는 동일한 IP 주소나 동일한 User-Agent에서 다수의 계정에 대해 반복적인 로그인 시도가 발생하는 경우를 탐지할 수 있다. 또는 특정 계정이나 IP의 로그인 실패율이 비정상적으로 높을 경우 이를 이상 징후로 판단할 수 있다. 또한 정상 사용자들의 로그인 성공률, 접속 시간대, 지역 등의 패턴과 비교해 비정상 행위를 식별하는 방식도 사용된다.

이러한 탐지는 주로 SIEM이나 WAF, 인증 서버의 로그 분석 시스템을 활용하여 이루어지며, 예를 들어 “5분 이내 로그인 실패 10회 이상 발생” 또는 “동일 IP에서 20개 이상의 계정에 로그인 시도 발생” 등의 룰을 설정해 이상 행위를 실시간으로 탐지할 수 있다.

정상 사용자들의 평균적인 접속 패턴을 기준 삼아 예외 상황을 선별하고, 실시간 탐지를 통해 보안 경고를 발생시킬 수 있다.

 

이상 행위 기반 탐지

기존의 시그니처 기반 탐지 방식은 정해진 조건에 따라 이상 로그를 탐지하는 데에는 유용하지만, 공격자의 우회 기법이 정교해지고 로그인 패턴이 다양화됨에 따라 고정된 룰만으로는 새로운 유형의 공격을 탐지하기 어렵다.

이에 따라 행위 기반 탐지가 대안으로 부상하고 있으며, 이는 머신러닝 또는 통계 기반의 이상 탐지 기법을 활용하여 정상 사용자와 다른 행동 양상을 자동으로 식별하는 데 중점을 둔다.

예를 들어 다음과 같은 요소들을 분석하여 이상 징후를 탐지할 수 있다.

 

  • 로그인 성공/실패 비율의 급격한 변화

  • IP 주소 또는 기기 정보의 지역 간 급격한 이동

  • 정상 사용자의 시간대, 접속 빈도, 브라우저/OS 패턴과의 불일치

  • 동일 기기에서 대량의 계정 접근 시도

  • 정상 로그인 대비 속도/빈도 과다한 인증 요청
     

이를 위해 UEBA(User and Entity Behavior Analytics), EDR, XDR 등의 솔루션이 활용되며, 공격 패턴을 자동으로 학습하고, 이상 행위를 실시간으로 탐지하여 보안 담당자에게 경고를 전송하거나 자동으로 차단할 수 있다.

이처럼 행위 기반 탐지는 기존 시그니처 기반 탐지를 보완하며, 지속적으로 진화하는 크리덴셜 스터핑 공격에 대한 실시간 대응력을 향상시키는 핵심 전략으로 자리잡고 있다.

 

대응 방안

크리덴셜 스터핑(Credential Stuffing) 공격에 대응하기 위해 다양한 보안 조치를 적용할 수 있다. 공격자는 유출된 계정 정보를 자동화 도구를 통해 입력하며, 이를 방어하기 위해서는 인증, 탐지, 차단, 사용자 교육 등 전방위적인 대응이 필요하다.

 

1. 다단계 인증(MFA) 도입

계정 정보가 유출되더라도 추가 인증 절차를 요구함으로써 계정 탈취를 방지할 수 있다. 특히 관리자 계정, 중요 시스템 접근 계정에 대해서는 기본적으로 MFA 적용을 권장하며, 의심 로그인 시 조건부 MFA를 적용하는 것도 효과적이다.

 

2. 로그인 시도 제한 및 CAPTCHA 적용

로그인 실패 횟수가 일정 수준을 초과할 경우 해당 계정을 일시 잠그거나 CAPTCHA를 요구함으로써 자동화된 공격을 차단할 수 있다. 다만, CAPTCHA 역시 우회 가능한 자동화 도구가 존재하므로, MFA, Rate Limiting, 이상행위 탐지와 함께 복합적으로 적용하는 것이 효과적이다.

 

3. 비정상 로그인 탐지 및 IP 차단

동일 IP 또는 User-Agent에서 다수의 계정 로그인 시도가 발생하거나, 특정 IP의 로그인 실패율이 급격히 증가하는 경우 이를 이상 징후로 판단해 해당 IP를 차단하거나 관리자에게 알림을 전송하는 방식으로 대응할 수 있다. 또한 로그인 위치, 기기, 시간대가 평소와 다를 경우 사용자에게 실시간 알림을 보내는 것도 효과적이다.

 

4. 룰 기반 탐지 및 자동 대응 체계 구축

SIEM, WAF, 인증 서버 로그 등을 활용해 “5분 내 로그인 실패 10회 이상” 등과 같은 탐지 룰을 설정하고, 이상 행위가 탐지되면 자동으로 방어 조치를 실행하거나 보안 관리자에게 경고를 전송하는 체계를 마련해야 한다.

 

5. 유출 계정 정보 기반 대응

다크웹 등에서 수집된 유출 인증정보를 바탕으로 블랙리스트를 구축하고, 해당 계정이 로그인에 사용될 경우 즉시 비밀번호 변경을 요구하거나 로그인 시도를 차단할 수 있다.
또한, 이를 기반으로 계정 재사용 여부를 자동으로 탐지하는 기능도 중요하다.

 

6. 사용자 보안 인식 제고

사용자에게 비밀번호 재사용의 위험성과 다단계 인증의 중요성을 주기적으로 안내하고, 침해 징후 발생 시 어떻게 대처해야 하는지 알려주는 보안 교육을 병행해야 한다.

 

결론

개인정보보호위원회와 KISA가 3월 20일에 발간한 보고서 ‘2024년 개인정보 유출 신고 동향 및 예방 방법’에 따르면, 해킹으로 인한 개인정보 유출 신고 건수는 총 307건 중 171건으로 약 56% 차지했다. 해킹 사고 유형으로는 SQL Injection, 악성코드에 이어 세 번째로 많이 사용되는 공격 으로 크리덴셜 스터핑 기법으로 확인됐다. 또한, Verizon에서 발표한 ‘2024 Data Breach Investigations Report’에는 크리덴셜 스터핑과 같은 도용된 인증 정보 기반 공격이 전체 침해 사건의 약 1/3에 관여하고 있다고 발표했다.

 

따라서, 기업과 기관은 유출 계정 정보에 대한 지속적인 모니터링 및 실질적이고 지속 가능한 보안 정책을 수립해야 한다. 

 

 

AhnLab TIP를 구독하시면 연관 IOC 및 상세 분석 정보를 추가적으로 확인하실 수 있습니다. 자세한 내용은 아래 배너를 클릭하여 확인해보세요.