자격 증명 스터핑이란 무엇입니까? | 자격 증명 스터핑과 무차별 대입 로그인 공격 비교

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

Share facebook icon linkedin icon twitter icon email icon

자격 증명 스터핑

학습 목표

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

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

자격 증명 스터핑이란 무엇입니까?

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

Credential Stuffing Example

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

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

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

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

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

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

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

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

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

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

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

자격 증명 스터핑을 막는 방법

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

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

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

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

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

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

자격 증명 스터핑을 막는 가장 강력한 방법은 봇 관리 서비스입니다. 봇 관리는 IP 평판 데이터베이스와 함께 속도 제한을 사용하여 정상적인 로그인에 피해를 주지 않고 악의적인 봇의 로그인 시도를 차단합니다. Cloudflare Bot Management는 매일 Cloudflare 네트워크에서 전송된 4250억 개의 요청에서 데이터를 수집하여 매우 높은 정확도로 자격 증명 스터핑 봇을 파악하고 차단할 수 있습니다.