유출된 계정이 무기가 된다? 크리덴셜 스터핑의 위협

최근 유출된 비밀번호를 활용한 크리덴셜 스터핑(Credential Stuffing) 공격이 급격히 증가하며 기업과개인 모두에게 심각한 위협으로 떠오르고 있다. 단순히 유출된 계정 정보를 무차별적으로 입력하는 방식에서 출발한 이 공격은, 자동화 도구의 발전과 계정 재사용이라는 취약점이 더해지며 대규모 계정 탈취와 금전적 피해로 이어지고 있다. 또한, 웹 프록시 활용, 사용자 에이전트 위조, 분산된 로그인 요청 등으로 정상 사용자 트래픽을 모방해 탐지를 우회하는 등 수법도 점점 고도화되고 있다. 이에 따라 기존의 방화벽이나 단순한 인증 실패 횟수 기반 탐지 방식만으로는 대응에 한계가 있다. 이번 글에서는 실제 사례를 통해 크리덴셜 스터핑 공격의 개념과 특징을 짚어보고, 효과적인 탐지 방안을 소개한다.

 

 

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

 

 

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

 

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

 

1. 크리덴셜 스터핑 공격 기법

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

 

1) 헤드리스 브라우저 사용

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

 

2) CAPTCHA 우회

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

 

2. 크리덴셜 스터핑 피해 사례

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

 

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

 

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

 

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

(2) 계정에 다중인증 기능이 활성화되지 않음

 

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

 

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

 

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

(2) 계정 비밀번호가 수년 동안 변경 없이 사용됨

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

 

크리덴셜 스터핑 공격을 탐지하기 위해서는 다양한 방식의 탐지 기법이 활용된다. 이번 글에서는 룰 기반 탐지와 자동화된 이상행위 기반 탐지를 중점적으로 소개한다.

 

1) 시그니처 기반 탐지

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

 

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

 

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

 

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

 

2) 이상 행위 기반 탐지

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

 

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

 

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

 

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

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

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

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

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

 

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

 

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

 

3. 크리덴셜 스터핑 대응 방법

크리덴셜 스터핑(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) 사용자 보안 인식 제고

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

 

4. 결론

최근 발표된 여러 보고서에서도 크리덴셜 스터핑의 위협성이 뚜렷하게 나타나고 있다. 개인정보보호위원회와 KISA가 3월 20일 발간한 ‘2024년 개인정보 유출 신고 동향 및 예방 방법’에 따르면, 해킹으로 인한 개인정보 유출 신고는 총 307건 중 171건으로 약 56%를 차지했다. 특히, SQL 인젝션과 악성코드에 이어 크리덴셜 스터핑이 3번째로 많은 해킹 기법으로 보고되며 그 위험성을 입증했다.

 

또한, 버라이즌(Verizon)이 발표한 ‘2024 Data Breach Investigations Report’에서도 도용된 인증 정보를 활용한 공격이 전체 침해 사건의 약 1/3에 관여하고 있는 것으로 나타났다. 이처럼 크리덴셜 스터핑은 단순한 공격을 넘어, 보안 위협의 주요 수단으로 자리잡고 있다. 따라서 기업과 기관은 유출 계정 정보에 대한 지속적인 모니터링 및 실질적이고 지속 가능한 보안 정책을 수립해야 한다.

 

 

출처 : AhnLab

02-553-2331
견적 요청
카카오톡 문의