이렇게 비밀번호 크래킹의 원리를 알고 나면 자연스럽게 드는 생각이 있어요. 자주 쓰는 패턴, 짧은 비밀번호는 빠르게 해킹되니, 그 반대로 하면 되겠다.
이처럼 보안을 제대로 이해하려면 공격자의 시각이 필요합니다.
방어하는 입장이 아니라, 공격하는 입장의 보안을 Offensive Security, 화이트햇 해킹이라고 해요.
여러분이 지금 쓰는 비밀번호, 해킹당하는 데 얼마나 걸릴까요?
혹시 abcd1234, qwerty 혹은 이름 + 생년월일 조합을 쓰고 계시나요?
2026년 기준 하드웨어(RTX 5090) 성능으로, 숫자로만 이뤄진 8자리 비밀번호는 15분이면 해킹할 수 있습니다.
15분이면 게임 한 판 하는 사이에 해킹당할 수 있다는 말이에요.
이렇게 쉽게 해킹당한다면, 비밀번호가 아예 의미 없는 게 아닐까 생각하셨나요?
숫자로만 이뤄진 같은 조건의 비밀번호를 8자리만 더 늘리면, 동일한 하드웨어로 해킹해도 3,000년이나 소요됩니다.
어떻게 단 8자리로 큰 차이가 발생하는 걸까요?
이번 게시글에선 내 비밀번호가 얼마나 위험한 상태인지 확인해 보고, 사소한 습관 하나로 방지할 수 있는 방법까지 공유할 테니 끝까지 읽어보세요.
읽기 전에! 지금 쓰는 비밀번호에 해당하는 항목을 체크해 보세요.
✔️ 이름, 생년월일, 전화번호가 포함되어 있다
✔️ 15자리 미만이다
✔️ 숫자나 특수문자 없이 소문자만 쓴다
✔️ 여러 사이트에서 같은 비밀번호를 쓰고 있다
✔️ 마지막으로 바꾼 지 1년이 넘었다
체크한 항목이 하나라도 있다면? 이번 글을 반드시 읽어보세요!
체크한 항목이 없다면? 이미 잘 하고 있지만, 글을 읽고 원리도 이해해 보세요.
해킹을 떠올리면 보통 복잡한 코드를 타이핑하거나 직접 로그인을 시도하는 장면이 떠오르죠? 그런 상황도 있지만, 비밀번호 해킹은 전혀 다른 방식으로도 이루어집니다. 이미 유출된 데이터를 오프라인에서 조용히 해독하는 과정이에요. 이 방식을 비밀번호 크래킹이라고 합니다.
비밀번호가 어떻게 저장되는지부터 알면 이해하기 쉬운데요.
웹사이트나 앱에 가입할 때 입력한 비밀번호는 대부분 그대로 저장되지 않습니다. 해시(hash) 방식으로 변환된 후 저장되는데요, password123이라는 비밀번호가 482c811da5d5b4bc6d497ffa98491e38처럼 알아볼 수 없는 문자열로 바뀌어 데이터베이스에 들어갑니다.
저장된 문자열만 보고 원본 비밀번호를 알아내기 어렵도록 설계된 구조예요.
문제는 해커가 서비스 데이터베이스를 통째로 가져간 뒤에 벌어집니다. 로그인 실패 횟수 제한 같은 보안 장치와 상관없이, 오프라인에서 느긋하게 해독 작업을 진행할 수 있거든요. 여기서 두 가지 방법이 주로 쓰입니다.
첫 번째는 사전 공격(Dictionary Attack)입니다.
password,123456,iloveyou같이 사람들이 자주 쓰는 비밀번호 목록을 미리 모아두었다가, 해시값을 하나씩 대조해 보는 방식이에요. 유출된 비밀번호 데이터가 워낙 많다 보니, 자주 쓰는 조합은 이미 해커가 보유하고 있을 확률이 높아요. 자주 쓰는 패턴은 더욱 빠르게 크래킹 됩니다.
두 번째는 무차별 대입 공격(Brute Force Attack)입니다.
aaaa,aaab,aaac등 가능한 모든 조합을 하나씩 대입하는 방식인데요, GPU 여러 장을 동시에 돌리면 초당 수백억 번의 시도가 가능합니다. 비밀번호가 짧을수록 경우의 수가 적어서, 더 빠르게 정확한 비밀번호를 알아낼 수 있어요.
✨
이렇게 비밀번호 크래킹의 원리를 알고 나면 자연스럽게 드는 생각이 있어요. 자주 쓰는 패턴, 짧은 비밀번호는 빠르게 해킹되니, 그 반대로 하면 되겠다.
이처럼 보안을 제대로 이해하려면 공격자의 시각이 필요합니다.
방어하는 입장이 아니라, 공격하는 입장의 보안을 Offensive Security, 화이트햇 해킹이라고 해요.
아래 표는 Hashcat 공식 벤치마크 기반으로, 12×RTX 5090, bcrypt work factor 10 조건에서 계산한 결과입니다. (PC Gamer 참고 기사)* 이 수치는 올바른 비밀번호를 가장 마지막에 찾았을 때 기준입니다.* 실제 공격에서는 운에 따라 더 빨리 성공할 수도 있습니다.
비밀번호 유형 | 8자리 | 12자리 | 16자리 |
|---|---|---|---|
숫자만 (10종류) | 약 15분 | 약 3개월 | 약 3,000년 |
소문자만 (26종류) | 약 3주 | 약 26,000년 | 약 120억 년 |
대소문자 혼합 (52종류) | 약 15년 | 약 1억 800만 년 | 약 792조 년 |
대소문자 + 숫자 + 특수문자 (94종류) | 약 2,000년 | 약 132억 년 | 사실상 무한 |
표에서 한 가지 사실이 눈에 띄는데요. 8자리 대소문자+숫자+특수문자 혼합(약 2,000년)보다, 12자리 소문자만으로 만든 비밀번호(약 26,000년)가 더 오래 걸린다는 겁니다. 복잡도를 높이는 것보다 길이를 늘리는 게 더 효과적이라는 뜻이죠.
왜 그럴까요? 26가지의 소문자만 사용해 12자리 비밀번호를 만들면, 94가지 문자를 모두 사용한 8자리 비밀번호보다 경우의 수가 15배 이상 많습니다. 자릿수가 늘어날수록 이 격차는 더 빠르게 벌어져요.
미국 국립표준기술연구소(NIST)에서 비밀번호에 복잡한 문자를 억지로 섞는 것을 강제하지 말라고 명시하기도 했습니다. 이유는, 대문자, 숫자, 특수문자를 반드시 포함하라는 규칙을 강제하면 사람들은 P@ssw0rd1!, Summer2024! 같이 다양한 문자를 혼합해 사용하지만 금방 예측할 수 있는 패턴을 만들기 때문이에요.
결국 억지로 복잡한 비밀번호를 생성하는 것보단 길이를 늘리는 편이 더 간편한데요.
물론 길이를 늘리면서 자연스럽게 문자를 혼합하는 것이 가장 좋습니다.※ 단순히 aaaaaa 보다 aaaaaaaaaaaaaaaaaa가 더 좋다는 뜻은 아닙니다.
하지만, 아무리 강한 비밀번호를 만들어도 이미 유출되어 있다면 이야기가 달라집니다.
2025년, 국내 대형 개인정보 유출 사고가 여러 번 있었죠.
모 이커머스 플랫폼에서 약 3,367만 건의 고객 정보가 유출됐고, 유명 카드사에서는 약 19만 건의 금융 정보가 외부로 노출됐습니다. 3,367만명은 대한민국 성인 인구 절반에 가까운 숫자인데요. 이 글을 읽는 분 중에도 이미 유출 경험이 있는 분들도 계실 겁니다.
더 충격적인 소식도 있어요. SentinelOne 2025년 주요 사이버 보안 통계에 따르면, 전 세계 인터넷 연결 기기를 향한 로그인 자동 공격은 39초마다 한 번씩 발생하고 있습니다. 사람이 직접 키보드를 두드리는 게 아니라, 봇이 24시간 자동으로 유출된 ID/비밀번호 조합을 전방위로 대입하는 겁니다. 이를 크리덴셜 스터핑(Credential Stuffing)이라고 하는데요, A 서비스에서 유출된 조합을 B, C, D 서비스에 그대로 시도해 보는 방식이에요.
한 곳에서 비밀번호가 유출되면, 같은 비밀번호를 쓰는 다른 서비스도 모두 위험해지는 것이죠.
나는 유명하지도 않고 해킹할 이유도 없다고 생각하실 수 있는데요. 봇은 사람을 골라서 공격하지 않습니다. 모든 계정을 다 두드리기 때문에, 목록에 있다면 공격당할 수 있습니다.
내 정보가 이미 유출됐는지 확인할 수 있는 사이트도 있어요.
HaveIBeenPwned에 이메일 주소를 입력하면 알려진 유출 사고에 포함됐는지 무료로 조회할 수 있습니다.
많은 분들이 이런 생각을 하실 것 같아요.
이미 내 개인정보는 해외여행 중인데, 한번 유출된 정보가 또 유출된다고 달라질까?
결론부터 말씀드리면, 꽤 많이 달라집니다.
유출된 것과 지금도 당하고 있는 것은 다른 이야기입니다.
유출된 비밀번호 데이터는 한 번 팔리고 끝나지 않아요. 다크웹에서 수년에 걸쳐 반복적으로 거래되고, 새로운 서비스에 대입하는 공격에 계속 쓰입니다. 2년 전에 유출된 이메일과 비밀번호 조합이 지금 이 순간에도 어딘가에서 로그인 시도에 활용되고 있을 수 있어요.
비밀번호를 바꾸면 어떻게 될까요? 유출된 예전 비밀번호는 더 이상 쓸모가 없어집니다. 봇이 아무리 시도해도 틀린 비밀번호로는 들어올 수 없으니까요. 이미 유출됐으니 어차피 똑같다가 아니라, 지금 바꾸면 지금부터 막을 수 있는 것이죠.
피해 규모의 차이도 큽니다. 이름이나 연락처가 유출되는 것과, 이메일 계정에 로그인되어 연동된 모든 서비스가 털리는 건 완전히 다른 수준의 피해예요. 이메일 계정 하나만 뚫려도 비밀번호 찾기로 연결된 은행, SNS, 쇼핑몰 계정이 모두 위험해집니다. 지금 비밀번호를 바꾸는 건, 그 연쇄 피해를 막는 일입니다.
1. 비밀번호를 길게 만드세요
NIST 2026 기준 최소 15자, CISA 권고는 16자 이상입니다. 복잡하게 기억하기 어려운 조합보다는, 긴 문장 형태가 더 효과적일 수 있어요. correct-horse-battery-staple 같은 식으로 단어 여러 개를 이어 붙이면 길이는 길고 기억은 쉽습니다. 위 표에서 보셨듯이, 소문자만으로 만들어도 12자리라면 크래킹에 약 26,000년이 걸립니다.
2. 서비스마다 다른 비밀번호를 쓰세요
한 곳에서 비밀번호가 유출되어도, 다른 계정까지 위험해지는 것을 막을 수 있어요. 모든 비밀번호를 외울 수 없으니 비밀번호 관리자(Password Manager)를 쓰는 게 현실적입니다. Bitwarden, 1Password 같은 도구들이 강한 비밀번호를 자동 생성·저장해 주고, 필요할 때 자동 입력도 해줍니다.
3. 2단계 인증(2FA)을 설정하세요
비밀번호가 유출됐더라도, 2단계 인증이 있으면 로그인 자체가 막힙니다. 이메일, 금융, 주요 SNS 계정에는 반드시 설정해두는 것이 좋습니다.
비밀번호 크래킹에 대해 읽다 보면 자연스럽게 이런 생각이 들죠.
해커는 도대체 어떻게 이런 걸 생각해 내는 걸까요?
해킹은 영화처럼 천재만 하는 게 아닙니다.
시스템의 허점을 발견하고, 그걸 어떻게 파고들 수 있는지 궁금해하는 것. 그 호기심이 시작점이에요.
비밀번호 크래킹 원리를 이해한 지금, 여러분도 그 출발점에 서있는 셈입니다.
해킹 공부, 나는 어떤 분야랑 잘 맞을까요?
👉 나에게 맞는 해킹 분야 1분 확인해 보기
해킹 자체가 처음이라면, 해킹이 어떤 것인지 알아보는 것도 좋아요.
👉 "중학생한테 다 털렸죠?ㅋㅋㅋ" 사건으로 배우는 해킹 입문
숫자만 사용한 8자리 비밀번호가 15분 만에 해킹당할 수 있다는 이야기는 다소 걱정스럽게 느껴졌을 수도 있어요. 하지만 반대로 글자 수만 더 늘린 16자리 숫자 비밀번호는 해킹하기까지 훨씬 많은 시간이 소요됩니다. 비밀번호 크래킹도 만능은 아니니까요.
오늘 내 비밀번호를 길게 변경하는 것부터 시작해 보세요.
✨
이 게시글은 해킹 학습 플랫폼 드림핵 팀이 작성했습니다.
드림핵은 사이버 보안, 해킹을 공부할 수 있는 국내 최대 학습 플랫폼으로,
현재 8만 명이 드림핵에서 함께 해킹을 공부하고 있습니다.
더 다양한 해킹의 원리가 궁금하다면?
드림핵에서 확인해 보세요!
Theori © 2025 All rights reserved.