자격 증명 스터핑이란? | 자격 증명 스터핑과 무차별 암호 대입 공격의 비교

자격 증명 스터핑 공격은 한 서비스에서 훔친 로그인 자격 증명 모음을 이용하여 여러 다른 서비스의 계정에 침투하려 합니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • 자격 증명 스터핑 정의
  • 자격 증명 스터핑과 무차별 대입 로그인 공격의 차이점
  • 자격 증명 스터핑을 완화하기 위한 전략 이해

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

자격 증명 스터핑이란?

자격 증명 스터핑은 하나의 서비스에서 데이터 침해로 획득한 자격 증명을 사용하여 관련되지 않은 다른 사이트에 로그인하는 사이버 공격입니다.

자격 증명 스터핑의 예

예를 들어, 공격자가 대형 백화점을 해킹하여 확보한 사용자 이름과 비밀번호 목록을 이용하여 전국 은행 사이트에 로그인하려 할 수 있습니다. 공격자는, 백화점 고객 중 일부 고객이 해당 은행에도 계정이 있으며, 두 서비스에 동일한 사용자 이름과 비밀번호를 사용했기를 바라는 것입니다.

암시장에서 거래되고 판매되는 대량의 자격 증명 목록으로 인해 자격 증명 스터핑이 확산되고 있습니다. 이러한 목록의 확산과 을 사용하여 기존의 로그인 보호 기능을 우회하는 자격 증명 스터핑 도구의 발전이 결합되어 자격 증명 스터핑이 인기있는 공격 벡터가 되었습니다.

자격 증명 스터핑이 효과적인 이유는 무엇입니까?

통계적으로 봤을 때 자격 증명 스터핑 공격의 성공률은 매우 낮습니다. 많은 전문가들은 성공률이 약 0.1%라고 추정하고 있는데, 이는 계정 1,000개를 공격했을 때 한 번 성공한다는 것입니다. 성공률은 낮지만 공격자들이 거래하는 자격 증명 컬렉션의 양이 엄청나기 때문에, 자격 증명 스터핑이 효과적인 것입니다.

이러한 컬렉션에는 수백만 개의 자격 증명이 들어 있으며, 경우에 따라 그 수가 수십억 개에 달하기도 합니다. 공격자가 100만 개의 자격 증명을 갖고 있다면, 약 1,000개의 계정을 해킹할 수 있습니다. 해킹된 계정이 적더라도 수익성이 좋은 데이터(신용 카드나 피싱 공격에 사용될 수 있는 민감한 데이터의 형태)가 있다면 공격은 가치가 있는 것입니다. 게다가, 공격자는 수많은 다른 서비스에 동일한 자격 증명 컬렉션을 사용하여 이 과정을 반복할 수 있습니다.

봇 기술의 발전도 자격 증명 스터핑을 용이하게 하고 있습니다. 웹 애플리케이션 로그인 양식에 내장된 보안 기능은 의도적으로 시간을 지연하며, 반복적으로 로그인에 실패한 사용자의 IP 주소를 금지합니다. 최신 자격 증명 스터핑 소프트웨어는 봇을 사용하여 다양한 장치를 이용하고 다양한 IP 주소에서 시작된 것처럼 보이는 다수의 로그인 시도를 동시에 진행함으로써, 이러한 보호 수단을 회피합니다. 악의적인 봇은 일반적인 로그인 트래픽과 공격자의 로그인 시도를 구분할 수 없게 만드는 것이 목적이며, 매우 효과적입니다.

전체적인 로그인 시도가 증가한 것이, 해킹당한 기업이 공격을 당하고 있다는 유일한 증거인 경우가 많습니다. 이 경우에도, 해킹당한 기업은 합법적인 사용자의 서비스 로그인에 영향을 주지 않고 공격을 차단하는 데 어려움을 겪습니다.

자격 증명 스터핑 공격이 효과적인 주원인은 사람들이 비밀번호를 재사용하는 데 있습니다. 연구에 따르면 대부분의 사용자(일부 추정에 따르면 최대 85%)는 여러 서비스에 동일한 로그인 정보를 사용하고 있습니다. 이러한 관행이 계속되는 한, 자격 증명 스터핑은 효과적일 것입니다.

자격 증명 스터핑과 무차별 암호 대입 공격은 어떻게 다릅니까?

OWASP는 자격 증명 스터핑을 무차별 암호 대입 공격의 일종으로 분류합니다. 하지만, 엄격하게 말하면, 자격 증명 스터핑은 기존 무차별 암호 대입 공격과 크게 다릅니다. 무차별 암호 대입 공격은 일반적인 비밀번호와 무작위 문자를 조합함으로써, 컨텍스트나 단서 없이 비밀번호를 찾으려 합니다. 자격 증명 스터핑은 노출된 데이터를 사용하여 가능한 정답 수를 극적으로 줄입니다.

무차별 암호 대입 공격을 막는 좋은 방법은 대문자, 숫자, 특수 문자를 비롯한 여러 문자로 강력한 비밀번호를 조합하는 것입니다. 하지만 비밀번호가 강력해도 자격 증명 스터핑을 막을 수는 없습니다. 아무리 강력한 비밀번호라도 여러 계정에 사용되면, 자격 증명 스터핑에 의해 노출될 수 있기 때문입니다.

자격 증명 스터핑을 방지하는 방법

사용자가 자격 증명 스터핑을 방지할 수 있는 방법

사용자의 관점에서 자격 증명 스터핑을 막는 방법은 매우 간단합니다. 사용자는 각기 다른 서비스마다 항상 독특한 비밀번호를 사용해야 합니다(비밀번호 관리자를 사용하면 편리합니다). 사용자가 항상 독특한 비밀번호를 사용하면 자격 증명 스터핑으로 계정을 해킹할 수 없습니다. 보안을 더욱 강화하려면 가능하면 언제나 2단계 인증을 사용하는 것을 권장합니다.

기업이 자격 증명 스터핑을 방지할 수 있는 방법

인증 서비스를 운영하는 기업이 자격 증명 스터핑을 차단하는 것은 매우 복잡한 작업입니다. 자격 증명 스터핑은 다른 기업에서 데이터가 유출된 결과로 인해 발생합니다. 자격 증명 스터핑 공격을 당했다 하더라도 기업의 보안이 손상된 것은 아닙니다.

기업은 사용자에게 고유한 비밀번호를 사용하라고 권고할 수 있지만, 이를 규칙으로서 실질적으로 강제할 수는 없습니다. 일부 애플리케이션은 자격 증명 스터핑을 방지하는 수단으로 비밀번호를 수락하기 전에, 노출된 것으로 알려진 비밀번호로 구성된 데이터베이스를 이용하여, 제출된 비밀번호를 검사하지만, 이도 완벽하지는 않습니다. 사용자가 아직 해킹되지 않은 서비스의 비밀번호를 재사용할 수 있기 때문입니다.

추가 로그인 보안 기능은 자격 증명 스터핑을 완화하는 데 도움이 될 수 있습니다. 로그인할 때 2단계 인증, 사용자의 캡차 입력 등의 기능을 사용하면 악의적 봇을 막는 데 도움이 됩니다. 이들 기능은 사용자에게는 불편하지만, 불편하더라도 보안 위협을 최소화해야 한다는 데 동의하는 사람도 많을 것입니다.

자격 증명 스터핑에 대한 가장 강력한 보호는 봇 관리 서비스입니다.봇 관리를 사용하면 IP Reputation 데이터베이스와 결합된 레이트 리미팅을 사용하여 합법적인 로그인에 영향을 주지 않고 악의적 봇이 로그인 시도를 하지 못하도록 할 수 있습니다.Cloudflare 네트워크를 통해 라우팅된 초당 평균 2,500만 건의 요청에서 데이터를 수집하는 Cloudflare Bot Management는 아주 높은 정확도로 자격 증명 스터핑 봇을 식별하고 차단할 수 있습니다. 동일한 봇 차단 기능을 원하지만 엔터프라이즈 솔루션이 필요하지 않은 조직의 경우, Super Bot Fight Mode를 이제 Cloudflare Pro 및 Business 요금제에서 사용할 수 있습니다.Super Bot Fight Mode를 사용하면 소규모 조직에서 봇 트래픽에 대한 향상된 가시성과 제어를 활용할 수 있습니다.