무차별 대입 공격의 유형과 인증 방어 설계

무차별 대입 공격의 유형과 계산 복잡도를 이해하고, MFA·계정 잠금·솔팅·키 스트레칭으로 인증 시스템을 방어하는 방법

2026-08-15 · 최초 발행 2025-05-27

모든 조합을 시도하는 공격이 노리는 지점

Brute Force Attack은 암호, 사용자 계정, 암호화 키처럼 정답이 하나인 값을 찾기 위해 가능한 조합을 모두 대입하는 공격 기법이다. 인증 메커니즘 우회, 암호 해독, 접근 제어 시스템 침투가 주요 목적이다.

방식 자체는 단순하다. 문자 조합이나 후보 값을 순서대로 넣어 정확한 값을 찾는다. 다만 조합 수가 커질수록 시간과 컴퓨팅 자원이 많이 필요하므로, 공격자는 목표와 환경에 맞춰 후보 공간을 줄이는 방법을 함께 사용한다. GPU나 분산 컴퓨팅으로 시도 작업을 병렬화하면 더 많은 후보를 동시에 검증할 수 있다.

후보 공간을 줄이는 공격 방식

단순 무차별 대입은 가능한 문자 조합을 처음부터 끝까지 시도한다. 시간이 오래 걸리지만 모든 조합을 탐색한다는 점에서 결국 성공할 가능성이 높다. 예를 들어 4자리 숫자 PIN 코드는 0000부터 9999까지 10,000개 조합이 대상이 된다.

사전 공격은 흔히 쓰이는 비밀번호 목록이나 사전 단어를 먼저 시도한다. 순수 무차별 대입처럼 모든 문자 조합을 생성하는 대신 실제 사용 가능성이 높은 후보를 우선 대입하므로, 약한 비밀번호를 사용하는 계정에 특히 효과적이다. password, 123456, admin 같은 값이 우선 후보가 된다.

레인보우 테이블 공격은 해시와 원본 패스워드의 대응값을 미리 계산해 둔 테이블을 이용한다. 사전 공격이 후보 비밀번호를 대상으로 직접 대입하는 방식이라면, 레인보우 테이블 공격은 이미 계산한 해시값을 찾아 실시간 계산을 줄인다. 계산 시간을 저장 공간으로 바꾸는 시간-공간 트레이드오프를 활용해 해시 함수의 역산을 빠르게 수행하려는 방식이며, 솔트가 적용된 해시에서는 효과가 감소한다.

하이브리드 공격은 사전 공격과 무차별 대입을 결합한다. 사전 단어 뒤에 숫자나 특수문자를 붙이는 식으로 후보를 확장한다. password에서 password123, Password! 같은 변형을 만드는 경우가 여기에 해당한다.

분산 무차별 대입 공격은 여러 컴퓨터에 시도 작업을 나눠 수행한다. 봇넷 등을 통한 대규모 병렬 처리가 가능하고, 단일 소스보다 탐지하기 어려울 수 있다.

공격 과정과 계산 비용

무차별 대입은 대상과 공격 벡터를 정한 뒤 문자셋과 길이 범위를 결정하고, 조합을 생성해 반복 시도한다.

YesNo공격 대상 식별공격 벡터 선택문자셋 길이 범위 결정조합 생성 시도성공?접근 획득다음 조합 시도

시간 복잡도는 O(m^n)이다. 여기서 m은 문자셋 크기이고 n은 암호 길이다. 소문자, 대문자, 숫자, 특수문자를 포함한 총 94개 문자로 만든 8자리 비밀번호는 94^8 ≈ 6.1 × 10^15가지 조합을 갖는다. 초당 100만 시도가 가능한 시스템이라면 약 193년이 걸린다.

공격에 활용되는 도구로는 다양한 암호화 방식을 지원하는 John the Ripper, GPU 가속 기반의 Hashcat, 온라인 서비스 로그인 공격에 특화된 Hydra, 무선 네트워크 암호 해독에 쓰이는 Aircrack-ng가 있다.

취약한 인증 환경과 알려진 사례

비밀번호 시도 횟수 제한이 없거나 로그인 실패에 대한 지연·잠금 정책이 없는 시스템은 공격 시도에 유리한 조건을 제공한다. 단순한 비밀번호 요구사항과 2단계 인증 부재도 같은 문제를 만든다.

2019년 Citrix 데이터 침해에서는 비밀번호 스프레이 공격으로 VPN 접근이 획득됐다. 2013년 Adobe에서는 1.5억 사용자 계정이 유출됐고, 약한 비밀번호 암호화로 많은 계정이 무차별 대입에 취약했다. 2012년 LinkedIn에서는 해시된 비밀번호 유출 뒤 무차별 대입으로 상당수 비밀번호가 복구됐다. 650만 개 이상의 해시된 비밀번호가 유출됐고, SHA-1 해시 함수를 사용했으며 솔트가 적용되지 않았다. 대부분의 비밀번호가 며칠 내에 해독됐다. IoT 기기는 공장 기본 비밀번호를 이용한 무차별 대입으로 Mirai 봇넷 구성에 악용됐다.

인터넷에 노출된 SSH 서버 역시 지속적인 무차별 대입 공격의 대상이다. 자동화된 봇은 root, admin 같은 일반 계정을 겨냥하며, 인터넷에 노출된 SSH 서버에서는 하루 수백~수천 번의 공격 시도가 기록된다.

인증 경로에서 공격 비용 높이기

방어는 비밀번호 하나에 의존하지 않고 인증 정책, 접근 제어, 탐지 체계를 겹쳐 구성해야 한다.

다중 인증 도입방어 강화계정 잠금 정책로그 모니터링강력한 비밀번호 정책비정상 접근 탐지

강력한 비밀번호 정책에는 최소 길이 12자 이상, 대소문자·숫자·특수문자 조합 요구, 정기적 변경과 재사용 금지가 포함된다. 여러 서비스에서 같은 비밀번호를 재사용하지 않도록 하고, 비밀번호 관리 도구를 활용할 수 있다.

계정 잠금 정책도 공격의 반복성을 끊는 수단이다. 예를 들어 5회 실패 후 30분 잠금처럼 연속 실패에 대응하고, 첫 실패 후 1초, 다음 실패 후 2초처럼 지연 시간을 점진적으로 늘릴 수 있다. 다만 이 정책은 서비스 거부(DoS) 공격에 악용될 가능성이 있다.

MFA는 지식 기반의 비밀번호에 OTP·보안 키 같은 소유 기반 요소와 생체 인증을 결합한다. 비밀번호만 탈취하거나 추측해서는 접근할 수 없도록 만드는 방식이다. IP 기반 제한, 지리적 위치 기반 필터링, 로그인 시도 실시간 모니터링과 이상 패턴 탐지도 함께 적용한다. SSH 서버에서는 Fail2Ban 같은 도구로 연속 실패를 발생시킨 IP를 차단할 수 있다.

비밀번호 저장 영역에서는 솔팅과 키 스트레칭이 핵심이다. 솔팅은 무작위 문자열을 비밀번호에 더해 해시 처리하므로 동일한 비밀번호도 다른 해시값을 만들고 레인보우 테이블 공격을 막는다.

hash(password + random_salt)

키 스트레칭은 해시 함수를 여러 번 반복 적용해 계산 복잡도를 높인다. PBKDF2, bcrypt, Argon2가 예시 알고리즘이며, 공격자의 시도 속도를 현저히 낮춘다. CAPTCHA는 자동화된 대규모 시도를 차단하고, 허니팟은 가짜 로그인 양식이나 서비스로 공격자를 유인해 공격 패턴을 학습·식별하는 데 활용할 수 있다.

공격과 방어가 함께 변하는 영역

무차별 대입에는 계산 자원의 제약, 현대 암호화 알고리즘의 강도, 길고 복잡한 비밀번호에 따른 시간적 제약, 대응 기술의 발전이라는 한계가 있다.

반면 양자 컴퓨팅의 발전은 기존 암호화 알고리즘의 취약점을 노출할 가능성과 병렬 처리 능력 향상에 따른 무차별 대입 속도 증가라는 위협을 만든다. AI 기반 공격은 사용자 행동 패턴을 학습해 대입 후보를 더 정교하게 만들고, 비밀번호 생성 습관을 예측하는 알고리즘의 발전과 연결된다. GPU, FPGA, ASIC 같은 하드웨어 가속화와 클라우드 기반 대규모 병렬 처리도 연산 속도를 높이는 요인이다.

방어 측면에서는 키보드 타이핑 패턴과 마우스 움직임을 활용하는 행동 생체 인증, 단일 인증 지점 의존성을 줄이고 지속적 검증과 최소 권한을 적용하는 제로 트러스트 아키텍처가 활용된다. 사용자 위치·시간·기기 같은 컨텍스트 기반 인증은 비정상 접근을 실시간으로 탐지하고 차단하는 데 쓰인다.

완벽한 보안을 전제로 하기보다 공격 비용을 높이는 접근이 현실적이다. 조직의 보안 정책, 사용자 교육, 기술적 대응책을 균형 있게 적용해야 인증 경로를 통한 침해 가능성을 낮출 수 있다.

무차별 대입 공격인증 보안비밀번호 보안다중 인증해시 보안