테크엔카

크리덴셜 스터핑(Credential Stuffing) Attack 본문

IT보안

크리덴셜 스터핑(Credential Stuffing) Attack

텍엔카 2024. 12. 5. 09:31
728x90


1. 개요
Credential Stuffing(크리덴셜 스터핑)은 유출된 사용자 계정 정보(ID와 비밀번호)를 재사용하여 다른 서비스에서 계정을 탈취하려는 시도를 하는 공격이다. ‘크리덴셜(credential)’은 사용자의 개인 정보를 암호화한 것을 말하며, ‘스터핑(stuffing)’은 이것 저것을 집어넣는다는 뜻 으로 사용자가 여러 서비스에서 같은 비밀번호를 재사용할 경우 특히 효과적이다

2. 공격 원리
   ① 데이터 수집 : 공격자는 이전에 발생한 데이터 유출 사건 등에서 계정 정보(비번포함)를 확보
                           (데이터는 다크웹, 해커 포럼, 공개된 데이터베이스 등에서 획득)
   ② 로그인 시도 : 다양한 서비스에 수집된 계정을 입력(대상: SNS, 쇼핑몰, 은행, 게임 등)

                           자동화 도구를 사용하며, 대규모로 병렬 로그인 시도 함
   ③ 성공적인 계정 탈취 : 성공적으로 로그인된 계정은 공격자가 다양한 목적으로 악용 함 

                           (예 : 개인정보 탈취, 가짜 리뷰나 평가, 불법 거래 등)

3. 대응 방법
  1) 강력한 비밀번호 사용
       - 최소 12자리 이상의 길고 복잡한 비밀번호 사용(대문자, 소문자, 숫자, 특수문자 조합 등)
       - 짧은 비밀번호 (예: "abcd", "1234" 등) 사용 금지
   2) 로그인 제한
       - 비밀번호 시도 제한 : 일정 횟수 이상 비밀번호 입력 실패 시 계정 잠금(예: 5번 실패 시 15분 잠금)
   3) CAPTCHA 사용 : 로그인 시도 횟수가 많아지면 CAPTCHA를 요구하여 자동화된 공격 방지
   4) 이중 인증(2FA) : 비밀번호 외에도 SMS, 이메일, OTP 등 추가 인증을 요구하여 보안 강화
   5) 비밀번호 정책
       - 주기적인 비밀번호 변경을 강제
       - 이전에 사용했던 비밀번호 재사용 금지

※ Credential Stuffing, Brute Force Attack, Dictionary Attack 비교

항목 Credential Stuffing Brute Force Attack Dictionary Attack
공격 방식 유출된 계정 정보(이메일-비밀번호 쌍)를 다양한 서비스에 재사용 가능한 모든 비밀번호 조합을 무작위로 시도 사전에 준비된 단어 목록(사전)을 사용하여 비밀번호를 시도
효율성 비밀번호 재사용 시 매우 효과적 비밀번호 길이와 복잡도에 따라 성공 확률 결정 사용자가 사전 단어를 비밀번호로 설정한 경우 효과적
자동화 도구 사용 필수적(예: Sentry MBA, OpenBullet) 가능(예: Hydra, Hashcat) 가능(예: Hashcat, John the Ripper)
대상 여러 서비스, 플랫폼 특정 계정 또는 시스템 특정 계정 또는 시스템
속도 빠름(사전 데이터 사용) 느림(가능한 모든 조합을 시도) 상대적으로 빠름(사전의 크기 제한)
탐지 가능성 탐지가 어려움
(정상적인 로그인 시도처럼 보임)
탐지가 비교적 쉬움
(로그인 실패 횟수 폭증)
탐지가 비교적 쉬움
(로그인 실패 횟수 폭증)

 

728x90