크리덴셜 스터핑 공격 대응하기

By PLURA

크리덴셜 스터핑은 이미 유출된 아이디와 비밀번호를 다른 사이트의 로그인 화면에 반복 대입해 계정을 탈취하는 공격입니다.
별도의 취약점을 뚫지 않아도 되고, 사용자의 비밀번호 재사용 습관만으로도 실제 피해가 발생할 수 있어 매우 현실적인 위협입니다.

문제는 이 공격이 겉으로 보기에는 정상 로그인 시도와 비슷하다는 점입니다.
방화벽, 웹방화벽, 침입차단시스템을 운영하고 있어도 계정 탈취 피해가 반복되는 이유가 여기에 있습니다.

왜 놓치기 쉬운가

크리덴셜 스터핑은 전통적인 의미의 취약점 공격과 다릅니다.
SQL Injection이나 파일 업로드 공격처럼 명확한 페이로드가 보이지 않을 수 있습니다. 로그인 요청 자체는 정상 사용자의 행동과 매우 유사하기 때문입니다.

또한 단일 IP에서 무차별 대입하는 방식이 아니라,
여러 IP, 여러 User-Agent, 분산된 시간 간격으로 시도되면 단순 차단 정책만으로는 구분이 어렵습니다.

즉, 이 공격은 요청 하나만 봐서는 잘 보이지 않고,
여러 로그인 시도를 서로 연결해 패턴으로 봐야 드러납니다.

무엇을 봐야 하는가

크리덴셜 스터핑을 탐지하려면 단순 메타정보만으로는 부족할 수 있습니다.
다음과 같은 징후를 함께 봐야 합니다.

  • 동일 계정에 대한 다중 IP 로그인 시도
  • 짧은 시간 안에 반복되는 로그인 실패
  • 유사한 요청 본문 패턴의 대량 반복
  • 비정상적인 User-Agent 분포
  • 일정한 간격으로 자동화된 요청이 들어오는 흔적
  • 성공과 실패가 비정상적으로 섞여 나타나는 로그인 패턴

핵심은 헤더만이 아니라 요청 본문까지 포함한 로그인 행위 분석입니다.
그래야 오탐은 줄이고, 실제 자동화 계정 공격은 더 정확하게 식별할 수 있습니다.

실무 대응 포인트

가장 기본적인 대응은 다음과 같습니다.

  • MFA를 기본 적용합니다.
  • 로그인 실패율과 계정별 다중 IP 시도를 모니터링합니다.
  • CAPTCHA, 속도 제한, 계정 잠금 정책을 적용합니다.
  • 유출 계정 정보와의 연계 점검 체계를 마련합니다.
  • 로그인 요청 본문까지 분석 가능한 탐지 체계를 갖춥니다.

이 중에서도 특히 중요한 것은
로그인 요청을 개별 이벤트가 아니라 연속된 공격 흐름으로 보는 것입니다.

PLURA의 대응 방식

PLURA는 웹 요청의 헤더와 본문 정보를 함께 분석해
크리덴셜 스터핑 공격에서 나타나는 비정상 로그인 패턴을 탐지합니다.

예를 들어, 동일 계정에 대한 다중 IP 시도, 반복 실패율, 요청 간격, User-Agent 분포, 본문 유사도와 같은 지표를 종합적으로 보고 자동화 공격 여부를 판단합니다.
이 방식은 정상 로그인과 공격 요청이 겉보기에는 비슷한 환경에서도 탐지 정확도를 높이는 데 도움이 됩니다.

결국 크리덴셜 스터핑 대응의 핵심은
단순 접속 차단이 아니라 로그인 흐름 전체를 분석하는 것입니다.

MITRE ATT&CK

  • T1110.004 — Credential Stuffing

PLURA 해킹 탐지 시연 영상

▶️ 크리덴셜스터핑