2018년 10월, 세계 7 대 금융 기관 중 하나인 HSBC Bank 데이터 유출 사건부터
올해 화제가 되었던 연예인 스마트폰과 연결된 클라우드 계정 탈취 사건,
국내 간편 결제 사용자 수 1위 서비스인 토스의 명의 도용으로 인한 부정 결제 사건까지
위 사건들은 모두 크리덴셜 스터핑(Credential Stuffing)을 통한 공격으로 분석되었습니다.
2011년 처음 만들어진 크리덴셜 스터핑은 Akamai에 따르면 2018년 거의 300억 개의 크리덴셜 스터핑 공격을 기록하면서 최근 몇 년 동안 폭발적으로 증가하고 있습니다.
크리덴셜 스터핑은 사용자 계정에 접근하기 위해 자격 증명(Credentials)인 사용자 이름 / 암호 쌍을 자동으로 주입하는 것입니다.
무차별 대입 공격 범주의 하위 집합으로 사용자 계정을 탈취하는 데 사용되는 가장 일반적인 기술 중 하나입니다.
무차별 대입(Brute Force) – 단일 계정에 대해 사전 또는 기타 소스의 여러 암호를 테스트합니다.
크리덴셜 스터핑(Credential Stuffing) – 다른 사이트 침해로 얻은 사용자 이름 / 암호 쌍을 테스트합니다.
암호 스프레이(Password Spraying) – 다수의 다른 계정에 대해 하나의 취약한 암호를 테스트합니다.
크리덴셜 스터핑의 경우 유출된 많은 자격 증명이 기존 계정과 일치할 때까지 웹 사이트에 자동으로 입력되고 공격자가 자신의 목적을 위해 이를 탈취할 수 있습니다.
우리는 크리덴셜 스터핑에 어떻게 대응할 수 있을까요
암호 설정에 있어서 보안을 위해서는 비밀번호를
- 길고, 복잡하고, 추측하기 힘들게 만든다.
- 모든 계정마다 다르게 설정하여 중복을 피한다.
- 주기적으로 바꿔준다.
와 같은 방법은 안내하고 있지만, 현실적으로 지키기 어렵습니다.
이와 같은 접근 방식으로는 한계가 있기에 OWASP에서는 다음의 방법들을 말합니다.
- 다단계 인증 (MFA : Multi-Factor Authentication)
크리덴셜 스터핑 및 암호 스프레이를 포함하여 대부분의 암호 관련 공격에 대한 최고의 방어 수단입니다.
그러나 응용 프로그램의 청중에 따라 MFA 사용을 강제하는 것이 실용적이거나 실행 가능하지 않을 수 있습니다.
보안과 유용성의 균형을 맞추기 위해 로그인 시도가 합법적이지 않을 수 있다고 의심되는 특정 상황에서만 2 단계를 요구하는 다른 기술과 결합할 수 있습니다.
MFA를 구현할 수 없는 경우, 크리덴셜 스터핑 및 암호 스프레이로부터 보호하는 데 사용할 수 있는 대체 방어 수단이 있습니다.
- 보조 암호, PIN 및 보안 질문
- 보안 문자(CAPTCHA)
- IP주소 블랙리스트
- 장치 지문(Device Fingerprinting)
MFA만큼 효과적이지 않지만 다중 방어가 계층화된 접근 방식으로 구현되는 경우 합리적인 수준의 보호를 제공할 수 있습니다. [4][5]
PLURA V5에서는 계정 탈취 공격에 대해 크리덴셜 스터핑 보안 필터를 통한 탐지가 가능합니다.
다음은 DVWA와 Thc-Hydra를 통한 크리덴셜 스터핑 공격과 이에 대한 탐지 결과입니다.
user / 1234로 로그인 시도 결과 실패합니다.
다음과 같이 ID, Password 리스트를 만듭니다.
다음으로 탐지를 위한 준비과정으로 필터를 등록합니다.
Path를 지정하고 시도 횟수를 설정하면 필터가 등록되어 탐지가 가능해집니다.
크리덴셜 스터핑을 실행합니다.
해당 Path에 만들어 놓은 ID, Password 리스트를 대입한 결과
admin / password로 로그인이 성공했음을 확인할 수 있습니다.
실제로 admin / password 입력 결과 다음과 같이 로그인이 성공합니다.
이후 PLURA V5에서 다음과 같이 탐지됩니다.
크리덴셜 스터핑의 성공률은 일반적으로 총 로그인 시도의 0.1-0.2 % 입니다.
자칫 적은 수치로 보일 수 있으나 사고 사례들이 발생하는 것을 볼 수 있듯이 수십, 수백 만개를 대상으로 한다면 결코 적은 수치가 아닙니다.
보안에 대한 관심, 노력, 투자는 아무리 강조해도 부족함이 없을 것입니다.
[내부 블로그]
참고 사이트
[1] HSBC bank confirms US data breach : https://bbc.in/34EiDBQ [2] ‘나도 모르게 결제?’ 토스도 털렸다…크리덴셜 스터핑에 당했나 : https://bit.ly/2KtIjKx [3] Is credential stuffing the next big cyber threat? : https://bit.ly/3nNvGID [4] OWASP – Credential stuffing : https://bit.ly/3hbKgap [5] OWASP – Credential Stuffing Prevention Cheat Sheet : https://bit.ly/3rkuTRD