계정 보안: 크리덴셜 스터핑 공격 이해 및 방어
온라인 활동이 증가함에 따라 다양한 웹사이트와 애플리케이션에서 요구하는 사용자 계정 정보, 즉 사용자 이름과 비밀번호를 관리하는 것은 점점 더 복잡해지고 있습니다. 이러한 상황에서 여러 플랫폼에서 동일한 자격 증명을 재사용하고 싶은 유혹을 느끼기 쉽습니다.
하지만 보안 전문가들은 이러한 편리함을 경고합니다. SpyCloud의 2022년 연간 신원 노출 보고서에 따르면, 다크웹에서 발견된 150억 개 이상의 손상된 자격 증명 중 65%가 최소 두 개 이상의 계정에서 재사용된 것으로 나타났습니다. 이는 자격 증명 재사용의 위험성을 명확히 보여줍니다.
겉으로는 비밀번호를 잊어버리지 않도록 하는 편리한 방법으로 보일 수 있지만, 자격 증명 재사용은 사실상 재앙을 기다리는 것과 같습니다. 만약 하나의 시스템에서 계정 정보가 유출되면, 동일한 자격 증명을 사용하는 다른 모든 계정들도 위험에 노출됩니다. 특히 다크웹에서 손상된 자격 증명이 저렴하게 거래된다는 점을 고려할 때, 크리덴셜 스터핑 공격의 피해자가 될 가능성은 더욱 높아집니다.
크리덴셜 스터핑이란, 사이버 범죄자들이 유출된 계정 정보를 이용하여 다른 온라인 계정이나 시스템에 무단으로 접근하는 사이버 공격입니다. 예를 들어, 트위터 계정에서 유출된 사용자 이름과 비밀번호를 이용하여 페이팔 계정에 접속하려는 시도가 있을 수 있습니다.
만약 트위터와 페이팔에서 동일한 자격 증명을 사용하고 있다면, 트위터 계정 정보 유출은 곧 페이팔 계정 탈취로 이어질 수 있습니다. 더 나아가, 여러 온라인 계정에서 동일한 트위터 자격 증명을 사용하고 있다면, 해당 계정들 역시 위험에 노출될 수 있습니다. 이것이 바로 크리덴셜 스터핑 공격의 위험성이며, 많은 사용자가 여러 계정에서 자격 증명을 재사용한다는 점을 악용합니다.
이러한 공격을 실행하는 사이버 범죄자들은 대개 봇을 사용하여 프로세스를 자동화하고 대규모로 확장합니다. 이를 통해 많은 양의 유출된 자격 증명을 이용하여 여러 온라인 플랫폼을 동시에 공격할 수 있습니다. 데이터 유출로 인해 손상된 자격 증명이 다크웹에서 거래되면서 크리덴셜 스터핑 공격은 더욱 만연해지고 있습니다.
크리덴셜 스터핑 공격의 작동 원리
크리덴셜 스터핑 공격은 유출된 자격 증명을 얻는 것으로 시작됩니다. 이러한 사용자 이름과 비밀번호는 다크웹에서 구매하거나, 암호 유출 사이트에서 얻거나, 데이터 유출 및 피싱 공격을 통해 확보할 수 있습니다.
다음 단계는 획득한 자격 증명을 여러 웹사이트에서 테스트하도록 봇을 설정하는 것입니다. 자동화된 봇은 크리덴셜 스터핑 공격에서 가장 많이 사용되는 도구입니다. 봇은 여러 사이트에 대해 많은 자격 증명을 사용하여 고속으로 크리덴셜 스터핑 공격을 은밀하게 실행할 수 있기 때문입니다.
또한, 봇을 사용하면 여러 번의 로그인 시도 실패 후 IP 주소가 차단되는 문제를 피할 수 있습니다.
크리덴셜 스터핑 공격이 시작되면, 동시에 성공적인 로그인을 모니터링하는 자동화된 프로세스도 작동합니다. 이러한 방식으로 공격자는 특정 온라인 사이트에서 작동하는 자격 증명을 쉽게 획득하고, 이를 사용하여 해당 플랫폼에서 계정을 탈취합니다.
계정을 탈취한 후 공격자가 할 수 있는 일은 그들의 의도에 따라 달라집니다. 공격자는 자격 증명을 다른 공격자에게 판매하거나, 계정에서 중요한 정보를 훔치거나, 신원 도용을 저지르거나, 은행 계좌가 손상된 경우에는 온라인 구매를 위해 계정을 사용할 수도 있습니다.
크리덴셜 스터핑 공격이 효과적인 이유
크리덴셜 스터핑 공격은 성공률이 낮은 사이버 공격입니다. Recorded Future의 위협 연구 부서인 Insikt Group의 보고서에 따르면, 크리덴셜 스터핑 공격의 평균 성공률은 1~3%에 불과합니다.
그럼에도 불구하고, Akamai Technologies는 2021년 인터넷 보안 현황 보고서에서 2020년에 전 세계적으로 1,930억 건의 크리덴셜 스터핑 공격을 관찰했다고 밝혔습니다. 이는 낮은 성공률에도 불구하고 공격이 얼마나 빈번하게 발생하는지를 보여줍니다.
크리덴셜 스터핑 공격이 만연하고 널리 퍼지는 이유는 손상된 자격 증명의 수가 증가하고 있으며, 공격을 더욱 효과적으로 만들고 사람의 로그인 시도와 구별하기 어려운 고급 봇 도구를 쉽게 이용할 수 있기 때문입니다.
예를 들어, 성공률이 1%에 불과하더라도 공격자가 100만 개의 손상된 자격 증명을 가지고 있다면 약 10,000개의 계정을 탈취할 수 있습니다. 이러한 대량의 손상된 자격 증명은 다크웹에서 거래되며, 여러 플랫폼에서 재사용될 수 있습니다.
이렇게 많은 양의 손상된 자격 증명과 사용자들이 여러 온라인 계정에서 자격 증명을 재사용하는 습관이 결합되어 크리덴셜 스터핑 공격을 더욱 효과적으로 만들고 있습니다.
크리덴셜 스터핑 vs. 무차별 대입 공격
크리덴셜 스터핑과 무차별 대입 공격은 둘 다 계정 탈취를 목표로 하는 공격이며, OWASP(Open Web Application Security Project)에서는 크리덴셜 스터핑을 무차별 대입 공격의 하위 집합으로 간주하지만, 실제 실행 방식에는 차이가 있습니다.
무차별 대입 공격은 사이버 범죄자가 사용자 이름이나 비밀번호, 또는 둘 다를 추측하여 계정을 탈취하려고 시도합니다. 이 공격은 일반적으로 상황에 대한 정보나 단서 없이 가능한 많은 사용자 이름과 비밀번호 조합을 시도하는 방식으로 수행됩니다.
무차별 대입 공격은 일반적으로 사용되는 암호 패턴이나 ‘qwerty’, ‘password’, ‘12345’와 같은 일반적인 암호 조합을 사용한 사전을 활용하기도 합니다. 사용자가 취약한 암호나 시스템 기본 암호를 사용하는 경우 무차별 대입 공격이 성공할 수 있습니다.
반면, 크리덴셜 스터핑 공격은 다른 시스템이나 온라인 계정에서 유출된 자격 증명을 사용하여 계정 탈취를 시도합니다. 크리덴셜 스터핑 공격은 자격 증명을 추측하지 않습니다. 이 공격의 성공 여부는 사용자가 여러 온라인 계정에서 동일한 자격 증명을 재사용하는지 여부에 달려 있습니다.
일반적으로 무차별 대입 공격의 성공률은 크리덴셜 스터핑 공격보다 훨씬 낮습니다. 강력한 암호를 사용하면 무차별 대입 공격을 막을 수 있습니다. 그러나 여러 계정에서 강력한 암호를 공유하는 경우 크리덴셜 스터핑 공격을 막을 수는 없습니다. 온라인 계정에 고유한 자격 증명을 사용해야만 크리덴셜 스터핑 공격을 효과적으로 방지할 수 있습니다.
크리덴셜 스터핑 공격 탐지 방법
크리덴셜 스터핑 공격자들은 일반적으로 인간 에이전트를 모방한 봇을 사용하기 때문에, 실제 사용자의 로그인 시도와 봇의 로그인 시도를 구별하기가 매우 어려운 경우가 많습니다. 그러나 진행 중인 크리덴셜 스터핑 공격을 알 수 있는 몇 가지 징후가 있습니다.
예를 들어, 웹 트래픽이 갑자기 증가하는 것은 의심스러운 신호입니다. 웹사이트에 대한 로그인 시도를 모니터링하고, 여러 IP 주소에서 여러 계정에 대한 로그인 시도가 증가하거나 로그인 실패율이 증가하는 경우, 이는 크리덴셜 스터핑 공격이 진행 중일 가능성이 있습니다.
크리덴셜 스터핑 공격의 또 다른 징후는 사용자들이 계정이 잠겼다는 불만을 토로하거나 본인이 하지 않은 로그인 시도 실패에 대한 알림을 받는 경우입니다.
또한, 사용자 활동을 모니터링하고 설정, 프로필 정보, 송금, 온라인 구매 변경과 같은 비정상적인 사용자 활동을 발견하는 경우 크리덴셜 스터핑 공격의 신호일 수 있습니다.
크리덴셜 스터핑 공격으로부터 자신을 보호하는 방법
크리덴셜 스터핑 공격의 피해자가 되지 않기 위해 취할 수 있는 몇 가지 예방 조치가 있습니다. 그 방법들은 다음과 같습니다.
#1. 여러 계정에서 동일한 자격 증명 재사용 금지
크리덴셜 스터핑 공격은 여러 온라인 계정에서 동일한 자격 증명을 사용하는 사용자들을 대상으로 합니다. 이러한 공격은 서로 다른 온라인 계정에 고유한 자격 증명을 사용함으로써 쉽게 피할 수 있습니다.
Google 비밀번호 관리자와 같은 비밀번호 관리자를 사용하면, 사용자는 자격 증명을 잊어버릴 염려 없이 각각 고유한 비밀번호를 사용할 수 있습니다. 또한, 기업들은 사용자가 이메일을 사용자 이름으로 사용하는 것을 방지하여 고유한 자격 증명을 사용할 가능성을 높일 수 있습니다.
#2. 다단계 인증(MFA) 사용
다단계 인증(MFA)은 로그인을 시도하는 사용자의 신원을 인증하기 위해 여러 가지 방법을 사용하는 방식입니다. 이는 사용자 이름과 비밀번호라는 기존 인증 방법과 함께, 이메일이나 문자 메시지를 통해 사용자와 공유되는 일회용 보안 코드를 결합하여 추가적인 보안 계층을 추가하는 것입니다. MFA는 크리덴셜 스터핑 공격을 방지하는 데 매우 효과적인 방법입니다.
요청하지 않은 보안 코드를 받게 되는 경우, 누군가가 계정을 도용하려고 시도하고 있음을 알 수 있습니다. Microsoft 연구에 따르면, 온라인 계정이 MFA를 사용하는 경우 손상될 가능성이 99.9% 낮다고 합니다.
#3. 장치 지문 인식
장치 지문 인식을 사용하여 온라인 계정 접근을 특정 장치와 연결할 수 있습니다. 장치 지문은 장치 모델과 번호, 사용 중인 운영 체제, 언어, 국가 등과 같은 정보를 사용하여 계정에 접근하는 데 사용되는 장치를 식별합니다.
그러면 사용자의 계정과 연결된 고유한 장치 지문이 생성됩니다. 계정과 연결된 장치에서 권한을 부여하지 않으면 다른 장치를 사용하여 계정에 접근할 수 없습니다.
#4. 유출된 비밀번호 모니터링
사용자가 온라인 플랫폼에서 사용자 이름과 비밀번호를 생성할 때, 생성된 자격 증명을 공개적으로 유출된 비밀번호 목록과 비교하여 검토할 수 있습니다. 이렇게 하면 나중에 악용될 수 있는 자격 증명을 사용하지 않도록 방지할 수 있습니다.
기업은 다크웹에서 유출된 자격 증명을 모니터링하고, 일치하는 항목이 발견될 때마다 사용자에게 경고하는 솔루션을 도입할 수 있습니다. 사용자는 경고를 받으면 다양한 방법으로 신원을 확인하고 자격 증명을 변경하며, MFA를 구현하여 계정을 추가로 보호해야 합니다.
#5. 자격 증명 해싱
자격 증명 해싱은 사용자 자격 증명을 데이터베이스에 저장하기 전에 암호화하는 작업입니다. 이렇게 하면 자격 증명이 사용할 수 없는 형식으로 저장되어 시스템 데이터 유출 시 자격 증명 오용을 방지할 수 있습니다.
이 방법은 완벽하게 안전한 방법은 아니지만, 데이터 유출 시 사용자가 암호를 변경할 수 있는 시간을 벌어줄 수 있습니다.
크리덴셜 스터핑 공격의 사례
크리덴셜 스터핑 공격의 몇 가지 대표적인 사례는 다음과 같습니다.
- 2020년, 50만 개 이상의 Zoom 계정 정보가 유출되었습니다. 이 크리덴셜 스터핑 공격은 다양한 다크웹 포럼에서 얻은 사용자 이름과 비밀번호를 사용하여 실행되었으며, 공격에 사용된 자격 증명 중에는 2013년에 유출된 것들도 있었습니다. 훔친 Zoom 계정 정보는 다크웹에서 저렴하게 판매되었습니다.
- 수천 개의 캐나다 국세청(CRA) 사용자 계정이 손상되었습니다. 2020년에는 약 5,500개의 CRA 계정이 두 차례의 개별적인 크리덴셜 스터핑 공격으로 손상되어 사용자가 CRA에서 제공하는 서비스에 접근할 수 없었습니다.
- 194,095개의 The North Face 사용자 계정이 손상되었습니다. 스포츠 의류 판매 회사인 The North Face는 2022년 7월 크리덴셜 스터핑 공격을 받았습니다. 이 공격으로 인해 사용자의 이름, 전화번호, 성별, 로열티 포인트, 청구 및 배송 주소, 계정 생성 날짜, 구매 내역 등의 정보가 유출되었습니다.
- 2019년, Reddit은 크리덴셜 스터핑 공격을 받았습니다. 여러 Reddit 사용자의 계정이 크리덴셜 스터핑 공격을 통해 자격 증명이 손상된 후 잠겼습니다.
이러한 공격 사례는 유사한 공격으로부터 자신을 보호해야 할 필요성을 강조합니다.
결론
Netflix, Hulu, Disney+와 같은 스트리밍 서비스나 Grammarly, Zoom, Turnitin과 같은 온라인 서비스의 계정 정보를 판매하는 사람들을 본 적이 있을 것입니다. 판매자들은 이러한 자격 증명을 어디에서 얻는다고 생각하십니까?
이러한 자격 증명은 크리덴셜 스터핑 공격을 통해 얻을 수 있습니다. 여러 온라인 계정에서 동일한 자격 증명을 사용하고 있다면, 피해를 입기 전에 즉시 변경해야 합니다.
자신을 더욱 안전하게 보호하려면 모든 온라인 계정에 다단계 인증을 활성화하고, 유출된 자격 증명을 구매하지 마십시오. 유출된 자격 증명의 구매는 크리덴셜 스터핑 공격이 만연할 수 있는 환경을 조성합니다.