크리덴셜 스터핑 대응, 유출 비밀번호 로그인을 막는 6가지 방법
크리덴셜 스터핑은 다른 곳에서 유출된 계정 정보로 로그인을 시도하는 공격으로, 2단계 인증과 이상 로그인 감지로 막습니다. 이 글에서는 무차별 대입 공격과의 차이, 의심 징후, 운영자가 할 수 있는 대응 6가지와 피해가 생겼을 때의 처리 순서를 정리했습니다.
크리덴셜 스터핑이란 무엇인가
크리덴셜(credential)은 로그인에 쓰는 아이디와 비밀번호 같은 인증 정보를 뜻합니다. 크리덴셜 스터핑은 어떤 사이트에서 유출된 아이디·비밀번호 목록을 다른 사이트의 로그인 화면에 자동으로 넣어 보는 공격입니다. 많은 사람이 여러 사이트에서 같은 비밀번호를 쓰기 때문에, 우리 사이트가 해킹당하지 않았어도 회원 계정이 뚫릴 수 있습니다.
이 공격은 정상적인 아이디와 비밀번호로 로그인하므로 하나하나는 정상 로그인처럼 보입니다. 그래서 비밀번호를 길고 복잡하게 하라는 안내만으로는 막기 어렵고, 비밀번호 외의 확인 수단이 필요합니다.
무차별 대입 공격과 무엇이 다를까
아래 표는 크리덴셜 스터핑과 무차별 대입 공격을 시도 방식, 겉으로 보이는 모습, 효과적인 대응으로 나누어 비교한 것입니다.
| 구분 | 크리덴셜 스터핑 | 무차별 대입 공격 |
|---|---|---|
| 사용하는 정보 | 다른 곳에서 유출된 실제 계정 정보 | 추측하거나 조합한 비밀번호 |
| 계정당 시도 횟수 | 계정마다 한두 번으로 적음 | 한 계정에 여러 번 반복 |
| 겉으로 보이는 모습 | 여러 계정에 걸친 로그인 실패와 일부 성공 | 특정 계정의 연속 실패 |
| 효과적인 대응 | 2단계 인증, 이상 로그인 감지, 비밀번호 재사용 안내 | 로그인 횟수 제한, 계정 잠금 |
표처럼 크리덴셜 스터핑은 계정마다 시도가 적어 계정 단위 횟수 제한에 잘 걸리지 않습니다. 계정 잠금과 횟수 제한 설정은 무차별 로그인 시도 차단, 횟수 제한·잠금·알림 설정에서 다뤘고, 이 글은 그 위에 더할 대응을 중심으로 설명합니다.
크리덴셜 스터핑을 의심할 징후
아래 징후가 보이면 로그인 기록을 자세히 살펴볼 때입니다. 하나만으로 단정할 수는 없지만, 여러 개가 겹치면 대응을 서두르는 것이 좋습니다.
- 평소보다 로그인 실패가 크게 늘었는데, 실패한 계정이 여러 명에게 흩어져 있다.
- 가입한 적 없는 아이디로 로그인을 시도한 기록이 많다.
- 짧은 시간에 해외나 여러 지역의 주소에서 로그인 요청이 몰린다.
- 회원이 비밀번호를 바꾼 적이 없는데 정보가 바뀌었다거나, 모르는 로그인 알림을 받았다고 문의한다.
- 적립금, 쿠폰, 배송지처럼 금전적 가치가 있는 정보가 이유 없이 바뀐다.
운영자가 할 수 있는 크리덴셜 스터핑 대응 6가지
대응은 관리자 계정부터 시작해 회원 계정으로 넓혀 가는 순서가 효과적입니다. 관리자 계정이 뚫리면 회원 전체의 정보가 위험해지기 때문입니다.
- 관리자 2단계 인증 필수화: 관리자와 직원 계정은 비밀번호 외에 인증 앱이나 보안 키로 한 번 더 확인하게 합니다.
- 회원 2단계 인증 제공: 회원이 원하면 2단계 인증을 켤 수 있게 하고, 중요한 정보를 바꿀 때 추가 확인을 요청합니다.
- 주소 단위 요청 제한: 계정 단위뿐 아니라 접속 주소 단위로도 짧은 시간의 로그인 요청 수를 제한합니다.
- 자동화 요청 거르기: 실패가 반복되면 캡차를 띄우거나, 웹 방화벽·CDN의 봇 관리 기능으로 자동화된 요청을 거릅니다.
- 새 기기 로그인 알림: 처음 보는 기기나 지역에서 로그인하면 회원에게 메일이나 알림으로 알려 스스로 확인하게 합니다.
- 비밀번호 재사용 안내: 가입·비밀번호 변경 화면에서 다른 사이트와 같은 비밀번호를 쓰지 말라고 안내합니다.
그림의 1~2단계가 가장 효과가 큰 대응입니다. 2단계 인증을 켜는 방법은 2단계 인증, 관리자 계정에 켜야 하는 이유와 설정 5단계를 참고하세요. 개인정보를 처리하는 시스템이라면 「개인정보의 안전성 확보조치 기준」 제5조 제6항이 일정 횟수 이상 인증에 실패하면 접근을 제한하는 등 필요한 조치를 하도록 정하고 있다는 점도 함께 확인해 두면 좋습니다.
계정 도용이 확인됐을 때의 처리 순서
실제로 계정이 도용된 것이 확인되면 아래 항목을 차례로 진행합니다. 처리 과정은 날짜와 함께 기록으로 남깁니다.
- 도용된 계정을 잠그고 회원에게 비밀번호 재설정을 안내한다.
- 로그인 기록과 서버 기록을 지우지 말고 보관한다.
- 도용된 계정으로 어떤 정보를 열람하거나 바꿨는지 확인한다.
- 회원 정보가 새어 나간 것으로 판단되면 신고·통지 기준을 확인한다.
- 같은 주소에서 시도된 다른 계정도 함께 점검한다.
네 번째 항목의 신고·통지 기준은 유출 규모와 사업 형태에 따라 달라지므로, 판단이 어렵다면 KISA 118 상담이나 전문가의 확인을 받으세요.
디코랩이 돕는 방식
디코랩은 운영 중인 사이트의 수정·오류·개선을 유지보수로 맡고, 웹사이트 취약점 점검 서비스도 운영합니다. 로그인 기능의 횟수 제한이나 알림이 제대로 동작하는지 확인하고 싶다면 웹사이트 취약점 점검 서비스를 참고하세요.
자주 묻는 질문
우리 사이트에서 유출된 게 아닌데도 책임이 있나요?
유출 경로가 다른 사이트라도 우리 사이트의 회원 정보가 도용되면 회원 피해와 신뢰 문제가 생깁니다. 책임 범위는 상황에 따라 달라지므로 법적 판단은 전문가에게 확인하고, 운영자로서는 예방 조치를 갖춰 두는 것이 중요합니다.
회원 전체에게 비밀번호 변경을 요청해야 하나요?
도용 정황이 넓게 확인됐다면 전체 변경 안내를 검토할 수 있습니다. 일부 계정에 그쳤다면 해당 계정을 먼저 잠그고, 전체 회원에게는 비밀번호 재사용 주의를 안내하는 방법도 있습니다.
캡차를 넣으면 회원이 불편하지 않을까요?
모든 로그인에 캡차를 띄우면 불편할 수 있습니다. 실패가 반복되거나 의심스러운 요청일 때만 띄우는 방식으로 설정하면 불편을 줄이면서 자동화 요청을 거를 수 있습니다.
회원 수가 적은 사이트도 대상이 되나요?
자동화된 공격은 사이트 규모를 가리지 않고 시도되는 경우가 많습니다. 회원 수가 적더라도 관리자 계정의 2단계 인증만큼은 먼저 켜 두세요.
로그인 기록에서 의심스러운 흔적을 발견했거나 대응 설정을 점검하고 싶다면 사이트 주소와 증상을 적어 디코랩 프로젝트 문의로 보내 주세요.
댓글0
댓글 작성 권한이 없습니다