사이버 보안에 대해 이야기할 때, 마치 옛날 영화에서나 나올 법한 위협들이 있지만, 오늘날에도 여전히 존재합니다. 그중 하나가 무차별 대입 공격인데, 이는 모든 가능한 비밀번호 조합을 시도해 보는 방식입니다. 마치 도둑이 금고의 다이얼을 하나씩 돌려가며 열리는 순간을 기다리는 것과 같습니다. 지루한 작업이지만, 시스템에 방어 체계가 없다면 결국 침입에 성공할 수밖에 없습니다.
가장 심각한 문제는 범죄자들이 더 이상 수동으로 공격하지 않는다는 것입니다. 이제 그들은 막대한 컴퓨팅 파워 와 자동화된 스크립트를 이용해 단 몇 초 만에 수백만 건의 공격을 시도할 수 있습니다. 개인 이메일 보안을 강화하려는 개인 사용자든, 민감한 데이터를 관리하는 기업이든, 이러한 사이버 공격의 작동 방식을 이해하는 것은 허를 찔리거나 데이터가 다크 웹에서 판매되는 것을 막는 첫걸음입니다.
무차별 대입 공격은 정확히 무엇으로 구성되나요?

본질적으로 이는 시행착오식 침입 기법입니다. 공격자는 코드의 정교한 결함을 찾는 것이 아니라 가장 취약한 부분 , 즉 사용자가 직접 설정한 비밀번호를 노립니다. 특수 소프트웨어를 사용하여 특정 대상에 로그인 요청을 대량으로 전송하는데, 이 대상은 워드프레스 관리자 패널부터 리눅스 서버의 SSH 포트까지 무엇이든 될 수 있습니다.
이 방법의 효과는 전적으로 암호의 복잡성 에 달려 있습니다 . "123456"과 같은 간단한 암호를 사용하면 시스템은 즉시 다운됩니다. 하지만 암호가 길고 다양하다면 해독하는 데 몇 초에서 수백 세기에 이르기까지 시간이 걸릴 수 있으므로 수학적으로 공격이 불가능합니다.
공격 유형 및 방법론

모든 공격이 동일한 것은 아닙니다. 사이버 범죄자들은 목표물에 따라 전략을 조정합니다. 다음은 이러한 침입을 실행하는 가장 일반적인 방법입니다.
- 간단한 공격: 이것은 가장 기본적인 버전입니다. 무작위 조합이나 매우 흔한 비밀번호를 테스트합니다. 속도는 느리지만 보안 습관이 매우 불량한 사용자를 대상으로 효과적입니다.
- 사전 공격: 여기서 공격자는 더 영리하며, 미리 정의된 단어 목록, 자주 사용되는 문구, 그리고 이전 보안 침해에서 이미 유출된 비밀번호를 사용합니다.
- 하이브리드 무차별 대입: 이전 두 가지 방식을 혼합한 것입니다. 사전에서 단어를 가져와 "o"를 "0"으로 바꾸거나 단어 끝에 현재 연도를 추가하는 등 논리적인 변형을 가합니다.
- 역방향 무차별 대입: 공격자는 여러 개의 비밀번호를 가진 사용자를 공격하는 대신, 하나의 비밀번호를 선택합니다. 매우 흔한 비밀번호 그리고 수천 개의 서로 다른 계정에서 테스트하여 어떤 계정이 실패하는지 확인합니다.
- 자격증명 남용: 이는 모든 곳에서 동일한 비밀번호를 재사용하는 나쁜 습관을 악용하는 것입니다. 한 사이트에서 탈취한 데이터베이스를 사용하여 온라인 뱅킹과 같은 다른 중요 서비스에서 자동으로 테스트합니다.
- 분산 공격: IP 주소 차단을 막기 위해 봇넷을 사용합니다. 이들은 다음 주소에서 공격 시도를 시작합니다. 수백 가지의 다양한 장치 동시에 공격을 위장한다.
- 낮고 느림: 보안 시스템에 감지되지 않도록 접속 시도 간격을 넓혀 비정상적인 접속량 경보가 울리지 않도록 합니다.
컴퓨팅 성능 및 GPU 사용의 영향

오늘날 공격자들은 이러한 작업에 더 이상 CPU를 사용하지 않습니다. 이제 그들은 그래픽 처리 장치(GPU)를 사용하여 수천 개의 스레드를 병렬로 처리합니다. 이는 초당 해시율(HPS)을 극적으로 증가시켜 암호화된 키를 해독하는 속도를 몇 배나 빠르게 만듭니다. Hashcat이나 John the Ripper와 같은 도구는 이러한 아키텍처를 활용하여 엄청난 규모의 해시를 기록적인 속도로 해독합니다.
경고 신호: 내가 공격받고 있는지 어떻게 알 수 있을까요?

시스템 로그에 접근할 수 있다면 무시할 수 없는 위험 신호들이 있습니다. 가장 명백한 것은 매우 짧은 시간 안에 엄청난 양의 401(권한 없음) 오류가 발생하는 것 입니다 . 또한 데이터베이스에 존재하지 않는 사용자 이름으로 로그인 시도가 있는 것도 의심스러운 상황입니다.
또 다른 명확한 징후는 예상치 못한 지리적 위치 에서 또는 정상적인 근무 시간과 일치하지 않는 시간에 접속이 관찰되는 것입니다. 서버의 CPU 사용량과 대역폭이 뚜렷한 이유 없이 급증하는 것을 발견했다면 무차별 대입 공격의 표적이 되었을 가능성이 있습니다.
시스템 보호를 위한 전략을 익히세요
이러한 공격을 막으려면 단 하나의 조치만으로는 부족합니다. 다층적인 방어 체계가 필요합니다 . 시스템을 안전한 벙커로 만들기 위한 모범 사례는 다음과 같습니다.
1. 비밀번호 관리 및 안전한 저장
짧은 비밀번호는 잊으세요. 문자, 숫자, 기호를 조합한 긴 암호가 이제 표준입니다 . 생년월일과 같은 개인 정보를 비밀번호에 사용하는 것은 절대 금지해야 합니다. 또한, 기업은 직원들이 비밀번호 재사용을 방지하기 위해 비밀번호 관리자를 사용하도록 의무화해야 합니다.
기술적인 측면에서, 절대로 비밀번호를 평문으로 저장하지 마십시오. Argon2나 bcrypt와 같이 느리지만 강력한 해싱 알고리즘을 사용하고, 레인보우 테이블 공격을 무력화하기 위해 각 해시에 고유한 "솔트"를 반드시 추가하여 코드에 사이버 보안을 통합해야 합니다.
2. 다중 요소 인증(MFA): 뚫을 수 없는 벽
다단계 인증(MFA)을 구현하는 것이 아마도 가장 효과적인 조치일 것입니다. TOTP 토큰, 생체 인식 또는 FIDO2 물리적 키와 같은 두 번째 인증 요소를 요구함으로써 비밀번호만으로는 보안을 확보할 수 없게 됩니다. 공격자가 비밀번호를 추측하더라도 사용자의 기기에 물리적으로 접근할 수 없기 때문에 공격은 실패하게 됩니다 .
3. 접근 제어 및 속도 제한
봇이 무한정 키를 시도하도록 허용하지 마세요. 일정 횟수(예: 5회) 실패 후에 는 계정을 일시적으로 차단하는 기능을 구현하세요. 더욱 효과적인 방법은 스로틀링 입니다 . 실패할 때마다 다음 시도까지의 대기 시간이 길어지므로 공격 속도가 극도로 느려집니다.
4. 기술적 장벽 및 필터링
CAPTCHA는 사람과 자동화된 스크립트를 구분하는 데 필수적입니다. 반면, 웹 애플리케이션 방화벽(WAF)은 악성 트래픽을 필터링하고 의심스러운 IP 주소가 로그인 양식에 도달하기 전에 차단할 수 있습니다. 서비스가 특정 국가에서만 제공되는 경우, 지역 차단은 매우 간단하면서도 강력한 도구입니다.
5. 원격 프로토콜(SSH 및 RDP) 강화
기본 포트는 봇에게 천국과 같습니다. SSH 포트 22를 임의의 포트로 변경하고 루트 액세스를 비활성화하십시오 . 이상적으로는 암호를 SSH 키로 대체하고 RDP 액세스는 VPN 뒤에 배치하여 인터넷에 직접 노출되지 않도록 해야 합니다.
사전 예방적 유지보수 및 감사
보안은 상태가 아니라 프로세스입니다. Nessus나 OpenVAS 같은 도구를 사용한 정기적인 취약점 검사는 불필요하게 열려 있는 포트를 찾아내는 데 매우 중요합니다. 소프트웨어와 플러그인을 최신 상태로 유지하는 것은 공격자가 인증을 우회하는 데 악용할 수 있는 취약점을 차단하는 데 필수적입니다.
또한 SIEM 또는 UEBA 시스템을 구현하는 것이 좋습니다 . 이러한 도구는 사용자 행동을 분석하고 이상 패턴이 감지되면 자동으로 경고를 발생시켜 보안 팀이 공격자가 마스터 키를 찾기 전에 조치를 취할 수 있도록 합니다.
안전한 인프라를 유지하려면 키 생성에 대한 엄격한 기준, 다단계 인증(MFA)과 같은 기술 구현, 그리고 자동화된 침입 시도가 치명적인 데이터 유출로 이어지기 전에 차단하기 위한 접근 로그의 지속적인 모니터링을 결합해야 합니다.
