크리덴셜 스터핑은 하나의 데이터 유출 사고에서 노출된 사용자 이름과 비밀번호 조합을 이용해 다른 웹사이트, 애플리케이션, API 또는 원격 액세스 서비스의 계정에 로그인을 시도하는 자동화된 계정 탈취 공격입니다. 사용자가 여러 계정에서 동일한 인증 정보를 재사용할 때 공격이 성공할 가능성이 커집니다.
기존의 무차별 대입 공격과 달리, 크리덴셜 스터핑은 비밀번호를 추측하지 않습니다. 공격자는 이미 유효할 가능성이 있는 인증 정보를 테스트하며, 봇, 분산된 IP 주소, 디바이스 위장, 정교하게 조절된 요청 빈도 등을 활용해 악성 로그인 시도를 정상 트래픽처럼 보이게 합니다.
크리덴셜 스터핑은 패스워드 스프레이 공격과도 다릅니다. 크리덴셜 스터핑은 이전에 유출된 사용자 이름과 비밀번호 조합을 테스트하는 반면, 패스워드 스프레이 공격은 하나 또는 소수의 흔한 비밀번호를 다수의 계정에 대입합니다.
핵심 요약
크리덴셜 스터핑은 탈취된 사용자 이름과 비밀번호 조합을 이용해 동일한 인증 정보가 재사용된 계정을 탈취합니다.
단일 보안 조치만으로 모든 공격을 안정적으로 차단하기는 어렵습니다. 조직은 인증, 자동화 트래픽 탐지, 계정 모니터링, 사고 대응 전반에 걸쳐 다계층 보안 체계를 구축해야 합니다.
크리덴셜 스터핑의 작동 방식
대부분의 크리덴셜 스터핑 공격은 다음 네 단계로 진행됩니다.
-
공격자가 탈취된 인증 정보를 확보합니다. 사용자 이름과 비밀번호 목록은 데이터 유출, 악성코드, 피싱 또는 범죄자용 마켓플레이스에서 입수될 수 있습니다.
-
자동화 도구가 인증 정보를 테스트합니다. 봇이 로그인 페이지 또는 인증 API에 사용자 이름과 비밀번호 조합을 대규모로 제출합니다.
-
로그인에 성공한 계정을 확인합니다. 공격자는 접근 가능한 계정을 식별하고 그 가치를 평가합니다.
-
탈취한 계정을 악용합니다. 공격자는 사기 행위, 정보 탈취, 복구 정보 변경 또는 계정 접근 권한 재판매 등을 시도할 수 있습니다.
크리덴셜 스터핑은 웹사이트 로그인 양식, 모바일 앱 API, 고객 포털, 로열티 프로그램, 선불 잔액 계정, VPN, 원격 액세스 게이트웨이 등을 표적으로 삼을 수 있습니다. 따라서 모든 인증 엔드포인트에 동일한 수준의 보호를 적용해야 합니다.
실제 크리덴셜 스터핑 사례
탈취된 비밀번호가 조직 자체 시스템에서 유출된 것이 아니더라도 크리덴셜 스터핑의 피해를 입을 수 있습니다. 다음 사례는 인증 정보 재사용이 계정 탈취, 데이터 노출, 사기로 이어지는 과정을 보여줍니다.
| 사례 | 발생한 일 | 보안 시사점 |
|---|---|---|
| 23andMe | 2023년, 공격자는 이전에 침해된 다른 웹사이트에서 재사용된 인증 정보를 이용해 23andMe 사용자 계정의 0.1%에 접근했습니다. 또한 연결 기능을 통해 약 550만 개의 DNA Relatives 프로필과 150만 개의 Family Tree 프로필에도 접근했습니다. | 연결 및 데이터 공유 기능은 소수의 계정 침해로 인한 피해를 크게 확대할 수 있습니다. 인증 보안과 함께 권한 범위를 제한하고, 이후의 데이터 접근 활동을 모니터링해야 합니다. |
| Dunkin’ | 2015년부터 발생한 크리덴셜 스터핑 공격으로 선불카드가 등록된 계정을 포함해 수만 개의 Dunkin’ 고객 계정이 침해되었습니다. 뉴욕주와의 합의에 따라 고객 통지, 비밀번호 재설정, 환불, 보안 조치 강화, 사고 대응 절차 개선이 요구되었습니다. | 조직은 공격을 신속하게 조사하고, 선불 잔액을 보호하며, 노출된 인증 정보를 재설정하고, 영향을 받은 고객에게 알리고, 탈취된 계정의 무단 거래를 지속적으로 모니터링해야 합니다. |
| Ring | 미국 연방거래위원회에 따르면 Ring은 2017년과 2018년에 여러 차례 크리덴셜 스터핑 공격을 받았지만, 다중 인증을 도입한 것은 2019년이었습니다. 공격자는 약 5만 5,000명의 미국 고객이 보유한 저장 영상, 실시간 스트림, 계정 프로필에 접근했습니다. | 계정 탈취로 카메라, 녹화 영상, 개인정보 또는 기타 민감한 연결형 디바이스 기능이 노출될 수 있다면 MFA를 조기에 도입하고 올바르게 구현해야 합니다. |
크리덴셜 스터핑이 비즈니스에 미치는 영향
로그인 시도 중 극히 일부만 성공하더라도 크리덴셜 스터핑은 상당한 재무적, 운영적 비용을 초래할 수 있습니다. 공격자가 계정 접근 권한을 확보하면 다음과 같은 행위를 시도할 수 있습니다.
- 저장된 결제 수단을 이용해 상품을 구매
- 기프트 카드, 로열티 포인트, 크레딧 또는 선불 잔액을 탈취
- 개인정보, 금융정보 또는 기밀정보에 접근
- 연락처 정보 또는 계정 복구 설정을 변경
- 계정을 이용해 피싱 또는 기타 사기 행위를 수행
- 유효성이 확인된 계정을 다른 범죄자에게 판매
피해 조직에는 지불 거절, 고객 지원, 사기 조사, 비밀번호 재설정, 인증 인프라 부하, 애플리케이션 중단, 규제 대응, 고객 이탈에 따른 비용도 발생할 수 있습니다.
표적이 된 조직이 최초의 데이터 유출 사고를 겪지 않았더라도 이러한 피해는 발생할 수 있습니다. 고객 계정을 운영하는 기업은 탈취된 인증 정보의 재사용을 예상 가능한 인증 위험으로 간주하고, 로그인 활동과 로그인 이후 행동을 모두 보호하는 통제 체계를 구축해야 합니다.
크리덴셜 스터핑, 무차별 대입 공격, 패스워드 스프레이의 차이
크리덴셜 스터핑, 무차별 대입 공격, 패스워드 스프레이는 모두 계정을 노리는 공격이지만, 사용하는 정보와 악용하는 취약점이 서로 다릅니다.
| 공격 유형 | 작동 방식 | 주요 취약점 |
|---|---|---|
| 크리덴셜 스터핑 | 탈취된 사용자 이름과 비밀번호 조합을 여러 계정 또는 서비스에서 테스트 | 비밀번호 재사용 |
| 무차별 대입 공격 | 하나 또는 소수의 계정에 다수의 가능한 비밀번호를 대입 | 취약하거나 추측하기 쉬운 비밀번호 |
| 패스워드 스프레이 | 하나 또는 소수의 흔한 비밀번호를 다수의 계정에 대입 | 흔한 비밀번호와 취약한 계정 잠금 정책 |
강력하고 복잡한 비밀번호라도 다른 곳에서 유출된 후 재사용되었다면 크리덴셜 스터핑으로 침해될 수 있습니다. 비밀번호 강도는 비밀번호를 추측하는 공격을 방어할 때 더 중요합니다. 서비스마다 다른 인증 정보, 유출 비밀번호 검사, MFA, 패스키, 봇 탐지는 크리덴셜 스터핑 위험을 보다 직접적으로 줄여 줍니다.
크리덴셜 스터핑 공격을 탐지하는 방법
크리덴셜 스터핑을 탐지하려면 계정, 디바이스, 네트워크, 세션, 인증 엔드포인트 전반의 데이터를 연계해 분석해야 합니다. 한 번의 로그인 실패는 무해해 보일 수 있지만, 서로 관련된 시도가 수천 건 발생한다면 조직적인 공격 캠페인일 수 있습니다.
주요 경고 신호는 다음과 같습니다.
- 로그인 실패 또는 성공 건수가 비정상적으로 증가
- 인증 실패와 성공의 비율이 갑자기 변화
- 하나의 디바이스, 브라우저 프로필 또는 연결 지문이 여러 계정에 접근
- 순환하는 IP 주소, 서브넷, 자율 시스템 번호 또는 지역에 걸쳐 시도가 분산
- 단순한 속도 제한 기준보다 낮은 수준에서 저빈도로 장시간 지속되는 활동
- 로그인 속도, 위치, 디바이스 사용 방식 또는 로그인 이후 행동에 이상 발생
- 비밀번호, 복구 정보, 결제 수단 또는 배송 주소가 로그인 직후 변경
- 웹사이트, 모바일 애플리케이션, API 엔드포인트에서 서로 다른 공격 패턴 발생
단일 신호만으로 크리덴셜 스터핑 공격이 발생하고 있다고 단정할 수는 없습니다. 계정, 디바이스, 브라우저, 네트워크, 시간, 행동 데이터를 결합하면 오탐을 줄이면서 탐지 정확도를 높일 수 있습니다. 크리덴셜 스터핑 탐지 서비스를 평가할 때는 모든 로그인 채널에 분산된 공격 활동을 연계 분석할 수 있는지도 확인해야 합니다.
진행 중인 크리덴셜 스터핑 공격에 대응하는 방법
공격이 확인되면 다음 조치를 수행합니다.
- 여러 위험 신호를 기반으로 의심스러운 트래픽에 추가 인증을 요구하거나, 속도를 제한하거나, 차단합니다.
- 올바른 비밀번호가 사용된 계정 또는 로그인 후 비정상적인 활동이 발생한 계정을 식별합니다.
- 활성 세션, 리프레시 토큰, 기억된 디바이스, 노출된 API 토큰을 폐기합니다.
- 비밀번호 재설정을 요구하고, 이미 유출된 것으로 알려진 비밀번호가 다시 사용되지 않도록 합니다.
- 민감한 접근 권한을 복구하기 전에 MFA 또는 단계별 추가 인증을 적용합니다.
- 프로필, 결제 정보, 복구 정보, 배송 정보, 거래 내역의 변경 사항을 검토합니다.
- 신뢰할 수 있는 채널을 통해 영향을 받은 고객에게 알립니다.
- 로그를 보존하고 보안, 사기 대응, 법무, 개인정보 보호, 고객 지원팀 간 협업 체계를 가동합니다.
- 영향을 받은 계정에서 후속 사기, 피싱 또는 재침입이 발생하는지 지속적으로 모니터링합니다.
조직은 사고가 발생하기 전에 이러한 절차를 문서화하고 테스트해야 합니다.
크리덴셜 스터핑 공격을 방지하는 방법
사용자가 스스로를 보호하는 방법
사용자는 계정마다 서로 다른 비밀번호를 설정하고, 신뢰할 수 있는 비밀번호 관리자를 사용하며, MFA 또는 패스키를 활성화해야 합니다. 또한 활성 세션을 확인하고, 예상하지 못한 인증 요청을 거부하며, 신뢰할 수 있는 데이터 유출 알림을 받은 경우 재사용한 비밀번호를 변경해야 합니다.
인증 및 인증 정보 보안 강화
조직은 새로 설정되거나 변경된 비밀번호를 알려진 유출 비밀번호 데이터와 대조해야 합니다. MFA, 패스키, 위험 기반 단계별 추가 인증을 사용해 비정상적인 로그인과 민감한 작업을 보호해야 합니다.
OWASP는 MFA를 비밀번호 관련 공격에 대응하는 가장 강력한 일반적 방어 수단으로 제시합니다.
자동화된 로그인 트래픽 제어
행동 기반 봇 탐지, 디바이스 및 연결 지문 분석, 네트워크 평판, 고급 속도 제한, 적응형 챌린지를 적용합니다. 하나의 임계값에만 의존하지 말고 계정, IP 주소, 엔드포인트, 디바이스, 세션, 행동을 종합해 트래픽을 평가해야 합니다.
로그인 이후의 계정 보호
로그인에 성공한 세션을 모니터링해 비정상적인 프로필 변경, 복구 정보 업데이트, 결제 수단 변경, 로열티 포인트 사용, 거래 패턴을 탐지합니다. 사용자가 활성 세션을 확인하고, 의심스러운 접근을 취소하고, 민감한 계정 활동에 대한 알림을 받을 수 있도록 해야 합니다.
단독으로는 충분하지 않은 보안 조치
CAPTCHA, IP 차단, 계정 잠금, 비밀번호 복잡성 요구 사항, 기본적인 속도 제한은 위험을 줄이는 데 도움이 됩니다. 그러나 각각 우회될 수 있으며 정상 사용자에게 불필요한 불편을 줄 수도 있습니다. 다계층 보안 조치는 더 강력한 보호를 제공하고 특정 탐지 방식에 대한 의존도를 낮춰 줍니다.
CDNetworks의 크리덴셜 스터핑 방지 지원
CDNetworks Bot Shield는 웹사이트, 애플리케이션, API를 대상으로 한 자동화 계정 탈취 활동을 탐지하고 완화할 수 있도록 지원합니다.
IP 주소, URI, HTTP 헤더, 최종 사용자 ID 등의 매개변수를 활용한 고급 속도 제한과 함께 지문 챌린지, 사용자 행동 탐지, 실시간 모니터링, 알림, 설정 가능한 대응 조치를 제공합니다.
CDNetworks는 악성 봇 방어와 함께 다계층 보안 및 가속 기능을 제공해 웹사이트, 애플리케이션, API의 보안성, 응답성, 가용성을 유지할 수 있도록 지원합니다. CDNetworks의 제품 포트폴리오는 다음과 같습니다.
DDoS Protection: 대규모 트래픽 기반, 프로토콜 기반, 애플리케이션 계층 DDoS 공격에 대한 클라우드 기반 보호를 통해 서비스 가용성을 유지합니다.
CDN: 사용자와 가까운 엣지 위치에 콘텐츠를 캐싱해 지연 시간과 오리진 서버 부하를 줄이고 콘텐츠 전송 성능을 향상합니다.
Web Application Firewall(WAF): 정상 트래픽은 허용하면서 악성 요청, 일반적인 웹 취약점 공격, 애플리케이션 계층 공격을 엣지에서 탐지하고 차단합니다.
API Security: 접근을 제어하고, 노출되었거나 취약한 API를 식별하며, 악성 활동이 백엔드 서비스에 영향을 미치기 전에 탐지해 API 엔드포인트를 보호합니다.
크리덴셜 스터핑 FAQ
크리덴셜 스터핑이란 무엇인가요?
크리덴셜 스터핑은 탈취된 사용자 이름과 비밀번호 조합을 사용해 다른 서비스의 계정에 접근하는 공격으로, 일반적으로 자동화된 로그인 시도를 통해 수행됩니다.
크리덴셜 스터핑과 무차별 대입 공격은 같은가요?
무차별 대입 공격은 비밀번호를 추측하는 반면, 크리덴셜 스터핑은 이전에 유출되었으며 다른 서비스에서도 유효할 수 있는 인증 정보를 테스트합니다.
MFA는 크리덴셜 스터핑을 막을 수 있나요?
MFA를 사용하면 탈취된 비밀번호만으로 인증을 완료할 수 없으므로 많은 계정 탈취 시도를 차단할 수 있습니다. 다만 조직은 계정 복구 기능 악용, 세션 탈취, 로그인 이후의 의심스러운 활동도 계속 모니터링해야 합니다.
사용자는 크리덴셜 스터핑으로부터 자신을 어떻게 보호할 수 있나요?
사용자는 계정마다 다른 비밀번호를 설정하고, 비밀번호 관리자를 사용하며, MFA 또는 패스키를 활성화해야 합니다. 또한 활성 세션을 확인하고, 신뢰할 수 있는 데이터 유출 알림을 받은 경우 재사용한 비밀번호를 변경해야 합니다.
패스워드 스터핑이란 무엇인가요?
패스워드 스터핑은 크리덴셜 스터핑을 비공식적으로 부르는 표현입니다. 유출된 사용자 이름과 비밀번호 조합을 다른 웹사이트, 애플리케이션 또는 서비스에서 테스트하는 공격을 의미합니다.
강력한 비밀번호로 크리덴셜 스터핑을 방지할 수 있나요?
유출된 비밀번호가 다른 서비스에서도 사용되고 있다면 복잡성만으로 크리덴셜 스터핑을 방지할 수 없습니다. 서비스마다 다른 비밀번호, MFA, 유출 비밀번호 검사, 봇 탐지를 함께 적용하면 더 강력하게 보호할 수 있습니다.
크리덴셜 스터핑은 API와 모바일 앱도 공격할 수 있나요?
공격자는 웹사이트 양식, 모바일 앱 API, 인증 API, 고객 포털, VPN, 그리고 재사용 가능한 인증 정보를 입력받는 모든 엔드포인트를 표적으로 삼을 수 있습니다.
