맨위로가기

비밀번호 크래킹

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

비밀번호 크래킹은 비밀번호를 알아내는 기술로, 무차별 대입 공격, 사전 공격 등 다양한 방법을 사용한다. 비밀번호의 강도와 저장 방식에 따라 크래킹에 걸리는 시간이 다르며, CPU, GPU, FPGA, ASIC 등 다양한 하드웨어를 활용하여 공격 속도를 높일 수 있다. 과거에는 `/etc/passwd` 파일에 비밀번호가 저장되었지만, 보안 강화를 위해 `/etc/shadow` 파일에 저장하는 방식으로 바뀌었다. 솔트, 키 유도 함수, 다단계 인증, 보안 토큰 등 다양한 예방 기술이 사용되며, 정기적인 보안 점검과 사용자 교육, 법적·제도적 강화도 중요하다. 비밀번호 크래킹 소프트웨어로는 John the Ripper, Hashcat 등이 있으며, RockYou 유출, 애슐리 매디슨 데이터 유출 등 사고 사례가 존재한다.

더 읽어볼만한 페이지

  • 암호 공격 - 재전송 공격
    재전송 공격은 유효한 데이터 전송을 가로채 재사용하여 권한 없는 접근을 시도하는 사이버 공격으로, 세션 ID, 일회용 비밀번호, 타임스탬핑 등을 통해 방지할 수 있으며, IoT 장치와 같은 시스템에서 보안 위험을 초래할 수 있다.
  • 암호 공격 - 랜섬웨어
    랜섬웨어는 컴퓨터 시스템 접근을 제한하고 금전을 요구하는 악성 소프트웨어이며, 암호화 기술을 활용하여 파일 접근을 막고, 비트코인 등장 이후 피해가 급증했으며, 이중 갈취 및 서비스형 랜섬웨어 형태로 진화하여 기업과 기관을 대상으로 공격하고, 파일 암호화, 시스템 잠금, 데이터 유출 등의 피해를 발생시킨다.
  • 시스템 관리 - 슈퍼유저
    슈퍼유저는 운영 체제에서 모든 권한을 가진 사용자를 지칭하며, 유닉스 계열에서는 root, 윈도우에서는 관리자 계정이 해당 역할을 수행한다.
  • 시스템 관리 - 유닉스 셸
    유닉스 셸은 사용자의 명령을 해석하여 운영 체제에 전달하고 프로그램 실행을 관리하는 명령 줄 인터페이스로서, 톰슨 셸을 시작으로 본 셸, C 셸 등 다양한 셸들이 개발되어 사용자에게 다양한 셸 환경 선택권을 제공한다.
비밀번호 크래킹
정의
비밀번호 크래킹컴퓨터 시스템에서 저장되거나 전송되는 비밀번호를 복구하는 과정
목표
목적잊어버린 비밀번호 복구
시스템 보안 무단 접근
데이터 유출
악의적인 활동
기술
무차별 대입 공격 (Brute-force attack)가능한 모든 조합 시도
사전 공격 (Dictionary attack)일반적인 비밀번호 목록 사용
레인보우 테이블 공격 (Rainbow table attack)미리 계산된 해시 테이블 사용
소셜 엔지니어링 (Social engineering)사람 속여 비밀번호 알아냄
키로깅 (Keylogging)키보드 입력 기록
숄더 서핑 (Shoulder surfing)다른 사람이 비밀번호 입력하는 것을 엿보기
비밀번호 스프레이 (Password spraying)여러 계정에 일반적인 비밀번호 시도
대응 방법
강력한 비밀번호 정책복잡한 비밀번호 요구
주기적인 비밀번호 변경
다단계 인증 (Multi-factor authentication)추가적인 인증 단계 도입
(예: SMS, OTP)
계정 잠금 정책로그인 실패 횟수 제한
보안 감사정기적인 시스템 보안 점검
교육사용자들에게 비밀번호 보안 중요성 교육

2. 비밀번호 크래킹에 필요한 시간

비밀번호 크래킹에 필요한 시간은 비밀번호의 복잡도, 사용된 암호화 방식, 공격자의 컴퓨팅 능력에 따라 크게 달라진다.

비밀번호 크래킹 시간은 엔트로피 척도인 비트 강도 및 비밀번호 저장 방식과 관련이 있다. 대부분의 비밀번호 크래킹 방법은 컴퓨터가 확인해야 할 많은 후보 비밀번호를 생성해야 한다. 일반적인 데스크톱 컴퓨터는 CPU를 사용하여 초당 1억 개 이상, GPU를 기반으로 하는 도구를 사용하면 초당 수십억 개의 비밀번호를 테스트할 수 있다.[5][6][7][8]

무차별 대입 크래킹은 가능한 모든 키 또는 비밀번호를 시도하는 방식이다. 여러 프로세서를 사용하면 검색 시간을 최적화할 수 있다.[3] 사전 공격이나 패턴 확인과 같이 좀 더 일반적인 비밀번호 크래킹 방법은 추측 횟수를 최적화하며, 무차별 대입 공격 전에 시도된다.

공격자가 비밀번호 해시를 가지고 있다면 ''오프라인 공격''이 가능하여 초당 수십억, 수조 번의 시도를 할 수 있다. 그렇지 않은 경우, 속도는 인증 소프트웨어의 제한(시간 지연, CAPTCHA, 잠금)에 따라 달라진다. 비밀번호가 암호화 키를 만드는 데 사용될 때도 빠른 추측이 가능하다.

비밀번호 추측 속도는 암호화 기능에 크게 좌우된다. bcrypt와 같은 적절한 비밀번호 해싱 함수는 MD5나 SHA와 같은 단순한 함수보다 훨씬 안전하다. NIST에 따르면 숫자, 대소문자, 기호를 포함하는 8자 비밀번호는 약 30비트 강도를 가지며, 230은 10억 개의 순열과 같아[9] 해싱 함수가 단순하면 몇 초 안에 크래킹될 수 있다.

봇넷을 사용하면 크래킹 기능이 크게 확장된다. 2002년 distributed.net는 64비트 RC5 키를 4년 만에 찾아냈는데, 30만 대 이상의 컴퓨터가 참여하여 초당 평균 120억 개 이상의 키를 생성했다.[10]

GPU 가속은 대부분의 해싱 알고리즘에서 무차별 대입 공격의 효율과 속도를 높인다. 그러나 DES, 트리플 DES, bcrypt, scrypt, Argon2와 같은 일부 알고리즘은 GPU에서 느리게 실행되거나, 느리게 실행되도록 설계되었다.

CPU와 GPU가 특정 해싱 알고리즘에 적합하지 않을 수 있다. 이 경우 FPGAASIC 같은 맞춤형 하드웨어가 필요할 수 있으며, 개발에는 복잡성과 높은 비용이 따른다.

2. 1. 비밀번호 강도와 엔트로피

비밀번호 크래킹에 걸리는 시간은 엔트로피의 척도인 비트 강도와 비밀번호가 저장되는 방식에 따라 달라진다.[3] 대부분의 비밀번호 크래킹 방법은 컴퓨터가 확인해야 할 많은 후보 비밀번호를 생성해야 한다. 예를 들어, 무차별 대입 크래킹은 컴퓨터가 성공할 때까지 가능한 모든 키 또는 비밀번호를 시도하는 방식이다.[3] 여러 프로세서를 사용하면 검색 시간을 최적화할 수 있다.[3] 사전 공격이나 패턴 확인 등 일반적인 비밀번호 크래킹 방법은 추측 횟수를 최적화하며, 무차별 대입 공격 전에 시도된다. 높은 비밀번호 비트 강도는 비밀번호를 복구하기 위해 확인해야 하는 후보 비밀번호의 수를 기하급수적으로 증가시키고, 비밀번호가 크래킹 사전에서 발견될 가능성을 줄인다.[4]

컴퓨터 프로그램을 사용하여 비밀번호를 크래킹하는 능력은 초당 확인할 수 있는 가능한 비밀번호의 수와 관련이 있다. 공격자가 대상 비밀번호의 해시를 사용할 수 있는 경우, ''오프라인 공격''이 가능하여 초당 수십억 또는 수조 개의 비밀번호를 확인할 수 있다. 그렇지 않은 경우, 속도는 인증 소프트웨어가 시간 지연, CAPTCHA 또는 실패한 시도 횟수 후 강제 잠금 등으로 비밀번호 시도 횟수를 제한하는지에 따라 달라진다. 비밀번호가 암호화 키를 형성하는 데 사용될 때도 빠른 추측이 가능하다.

일반적인 데스크톱 컴퓨터는 범용 CPU에서 실행되는 비밀번호 크래킹 도구를 사용하여 초당 1억 개 이상의 비밀번호를 테스트할 수 있으며, GPU 기반 비밀번호 크래킹 도구를 사용하면 초당 수십억 개의 비밀번호를 테스트할 수 있다.[5][6][7][8] 비밀번호 추측 속도는 시스템이 비밀번호 해시를 생성하는 데 사용하는 암호화 기능에 크게 의존한다. bcrypt와 같은 적절한 비밀번호 해싱 함수는 MD5 또는 SHA와 같은 단순한 함수보다 훨씬 낫다. NIST에 따르면, 숫자, 대소문자 혼합, 기호를 포함하는 사용자가 선택한 8자 비밀번호는 약 30비트 강도에 도달하며, 230은 10억 개의 순열에 불과하여[9] 해싱 함수가 단순한 경우 몇 초 만에 크래킹될 수 있다. 봇넷을 이용하면 비밀번호 크래킹 기능이 확장된다. 2002년 distributed.net는 64비트 RC5 키를 4년 만에 찾아냈는데, 30만 개 이상의 컴퓨터가 참여하여 초당 평균 120억 개 이상의 키를 생성했다.[10]

그래픽 처리 장치는 특정 해싱 알고리즘의 경우 일반적인 컴퓨터보다 50~100배 더 빠르게 비밀번호 크래킹을 가속화할 수 있다. 2011년에는 고성능 그래픽 프로세서를 사용하여 표준 데스크톱 컴퓨터에서 초당 최대 2,800,000,000개의 NTLM 비밀번호를 테스트할 수 있었다.[11] 이러한 장치는 10자리의 단일 대소문자 비밀번호를 하루 만에 크래킹할 수 있다. 그러나 일부 알고리즘은 GPU에서 느리게 실행되거나, 느리게 실행되도록 설계되었다. 예로는 DES, 트리플 DES, bcrypt, scrypt, Argon2가 있다.

GPU의 하드웨어 가속을 통해 대부분의 해싱 알고리즘에 대한 무차별 대입 공격의 효율성과 속도를 높일 수 있다. 2012년, 25-GPU 클러스터는 초당 3,500억 개의 NTLM 비밀번호를 추측하여 8자 영숫자 특수 문자 비밀번호를 5.5시간 만에 확인할 수 있었다. ocl-Hashcat Plus를 가상 OpenCL 클러스터 플랫폼에서 사용하여,[12] 리눅스 기반 GPU 클러스터는 "LinkedIn 사용자의 650만 개 비밀번호 해시 중 90%를 크래킹"하는 데 사용되었다.[13]

특정 해싱 알고리즘의 경우, CPU와 GPU는 좋은 조합이 아니며, 맞춤형 하드웨어가 필요하다. 맞춤형 하드웨어는 FPGA 또는 ASIC 기술을 사용하여 만들 수 있다. 1998년, 전자 프론티어 재단(EFF)는 ASIC을 사용하여 전용 비밀번호 크래커를 구축했다. Deep Crack라는 이 기계는 초당 900억 개 이상의 키를 테스트하면서 56시간 만에 DES 56비트 키를 깨뜨렸다.[14] 2019년부터 John the Ripper는 FPGA를 사용하여 제한된 수의 해싱 알고리즘에 대한 비밀번호 크래킹을 지원한다.[16]

2. 2. 크래킹 방법

비밀번호 크래킹에는 여러 가지 방법이 사용된다. 대표적인 방법으로는 컴퓨터가 성공할 때까지 가능한 모든 키 또는 비밀번호를 시도하는 무차별 대입 공격이 있다.[3] 여러 프로세서를 사용하면 마지막 가능한 기호 그룹과 시작 지점에서 동시에 검색하고, 다른 프로세서를 지정된 선택의 가능한 비밀번호를 검색하도록 배치하여 이 시간을 최적화할 수 있다.[3]

사전 공격이나 패턴 확인, 일반적인 단어의 변형과 같은 방법은 추측 횟수를 최적화하는 것을 목표로 하며, 일반적으로 무차별 대입 공격 전에 시도된다.[4] 높은 비밀번호 비트 강도는 평균적으로 비밀번호를 복구하기 위해 확인해야 하는 후보 비밀번호의 수를 기하급수적으로 증가시키고, 비밀번호가 어떤 크래킹 사전에서도 발견될 가능성을 줄인다.[4]

컴퓨터 프로그램을 사용하여 비밀번호를 크래킹하는 능력은 초당 확인할 수 있는 가능한 비밀번호의 수와 관련이 있다. 공격자가 대상 비밀번호의 해시를 사용할 수 있는 경우, ''오프라인 공격''이 가능하여 초당 수십억 또는 수조에 달할 수 있다. 그렇지 않은 경우, 속도는 인증 소프트웨어가 시간 지연, CAPTCHA 또는 실패한 시도 횟수 후 강제 잠금으로 비밀번호를 시도할 수 있는 횟수를 제한하는지에 따라 달라진다.

일반적인 데스크톱 컴퓨터는 범용 CPU에서 실행되는 비밀번호 크래킹 도구를 사용하여 초당 1억 개 이상의 비밀번호를 테스트할 수 있으며, GPU 기반 비밀번호 크래킹 도구를 사용하여 초당 수십억 개의 비밀번호를 테스트할 수 있다.[5][6][7][8] 비밀번호 추측 속도는 시스템이 비밀번호 해시를 생성하는 데 사용하는 암호화 기능에 크게 의존한다. bcrypt와 같은 적절한 비밀번호 해싱 함수는 간단한 MD5 또는 SHA와 같은 단순한 함수보다 훨씬 낫다.

그래픽 처리 장치는 특정 해싱 알고리즘의 경우 일반적인 컴퓨터보다 50~100배 더 빠르게 비밀번호 크래킹을 가속화할 수 있다.[11] 2012년, Stricture Consulting Group은 초당 3,500억 개의 NTLM 비밀번호를 추측하는 무차별 대입 공격 속도를 달성하는 25-GPU 클러스터를 공개했다.[12]

CPU와 GPU는 일부 특정 해싱 알고리즘의 경우 좋은 조합이 아니다. 고속으로 실행하려면 맞춤형 하드웨어가 필요하며, FPGA 또는 ASIC 기술을 사용하여 만들 수 있다. 1998년, 전자 프론티어 재단(EFF)는 ASIC을 사용하여 전용 비밀번호 크래커인 Deep Crack를 구축했다.[14]

유추 공격, 사전 공격, 무차별 대입 공격은 명확하게 구분하기는 어렵다. 비밀번호 후보 목록을 차례로 시도한다는 점에서는 유사하며, 그 목록은 대상의 정보를 묶어놓은 것일 수도 있고, 언어학적 관점에서 만들어졌을 수도 있다.

2. 3. 컴퓨팅 파워

비밀번호 크래킹에 걸리는 시간은 엔트로피와 비밀번호 저장 방식에 관련되어 있다. 대부분의 비밀번호 크래킹 방법은 컴퓨터가 많은 후보 비밀번호를 생성하여 확인하는 방식으로 이루어진다. 예를 들어, 무차별 대입 크래킹은 컴퓨터가 가능한 모든 키 또는 비밀번호를 시도하는 방식이다.[3] 여러 프로세서를 사용하면 검색 시간을 최적화할 수 있다.[3] 사전 공격이나 패턴 확인과 같은 일반적인 비밀번호 크래킹 방법은 추측 횟수를 최적화하며, 무차별 대입 공격 전에 시도된다. 비밀번호 비트 강도가 높으면 확인해야 하는 후보 비밀번호 수가 기하급수적으로 증가하고, 크래킹 사전에서 발견될 가능성이 줄어든다.[4]

컴퓨터 프로그램을 사용한 비밀번호 크래킹 능력은 초당 확인할 수 있는 비밀번호 수와 관련이 있다. 공격자가 비밀번호 해시를 사용 가능한 경우 ''오프라인 공격''이 가능하여 초당 수십억 또는 수조 번의 시도가 가능하다. 그렇지 않은 경우, 인증 소프트웨어의 제한(시간 지연, CAPTCHA, 잠금)에 따라 속도가 달라진다. 비밀번호가 암호화 키 형성에 사용될 때도 빠른 추측이 가능하다.

일반적인 데스크톱 컴퓨터는 CPU를 사용하여 초당 1억 개 이상, GPU 기반 도구로는 초당 수십억 개의 비밀번호를 테스트할 수 있다.[5][6][7][8] 비밀번호 추측 속도는 비밀번호 해시 생성에 사용되는 암호화 기능에 크게 의존한다. bcrypt와 같은 적절한 비밀번호 해싱 함수는 MD5나 SHA보다 훨씬 안전하다. NIST에 따르면, 숫자, 대소문자, 기호를 포함하는 8자 비밀번호는 약 30비트 강도를 가지며, 230은 10억 개의 순열에 불과하여[9] 해싱 함수가 단순하면 몇 초 만에 크래킹될 수 있다. 봇넷을 이용하면 크래킹 기능이 확장된다. 2002년 distributed.net는 64비트 RC5 키를 4년 만에 찾아냈는데, 30만 대 이상의 컴퓨터가 참여하여 초당 평균 120억 개 이상의 키를 생성했다.[10]

GPU는 일반 컴퓨터보다 50~100배 빠르게 비밀번호 크래킹을 가속화할 수 있다. 2011년에는 고성능 그래픽 프로세서를 사용하여 초당 최대 28억 개의 NTLM 비밀번호를 테스트할 수 있다는 주장이 있었다.[11] 이러한 장치는 10자리 단일 대소문자 비밀번호를 하루 만에 크래킹할 수 있다. 작업은 사용 가능한 다른 컴퓨터 수에 비례하는 추가 속도 향상을 위해 비슷한 GPU를 가진 여러 컴퓨터에 분산될 수 있다. 그러나 DES, 트리플 DES, bcrypt, scrypt, Argon2와 같은 일부 알고리즘은 GPU에서 느리게 실행되거나, 심지어 느리게 실행되도록 특별히 설계되었다.

GPU 하드웨어 가속은 대부분의 해싱 알고리즘에 대한 무차별 대입 공격 효율성과 속도를 높인다. 2012년, Stricture Consulting Group은 초당 3,500억 개의 NTLM 비밀번호를 추측하는 25-GPU 클러스터를 공개하여, 엔터프라이즈 설정에서 일반적으로 사용되는 모든 8자 영숫자 특수 문자 비밀번호를 5.5시간 만에 확인할 수 있게 했다. ocl-Hashcat Plus를 가상 OpenCL 클러스터 플랫폼에서 사용하여,[12] 리눅스 기반 GPU 클러스터는 "LinkedIn 사용자의 650만 개 비밀번호 해시 중 90%를 크래킹"하는 데 사용되었다.[13]

CPU와 GPU는 일부 해싱 알고리즘에 좋은 조합이 아닐 수 있다. 맞춤형 하드웨어(FPGA, ASIC)가 필요할 수 있다. 1998년, 전자 프론티어 재단(EFF)은 ASIC을 사용한 전용 비밀번호 크래커(Deep Crack)를 구축하여 56시간 만에 DES 56비트 키를 깨뜨렸다.[14] 2017년 유출된 문서는 ASIC이 약한 암호화를 사용하는 인터넷 통신 코드화에 사용되었을 가능성을 보여주었다.[15] 2019년부터 John the Ripper는 FPGA를 사용하여 제한된 수의 해싱 알고리즘에 대한 비밀번호 크래킹을 지원한다.[16] 상업 회사는 FPGA 기반 설정을 비밀번호 크래킹에 사용하고 있다.[17]

3. 주요 공격 방법

유추 공격, 사전 공격, 무차별 대입 공격은 비밀번호 후보 목록을 차례로 시도한다는 점에서 유사하다. 이 목록은 대상의 정보, 언어학적 관점 등 다양한 방식으로 구성될 수 있다. 특히 사전 공격은 다른 두 가지 공격 방법을 포함하는 개념으로 사용되는 경우가 많다.


  • 무차별 대입 공격: 가능한 모든 비밀번호 조합을 시도하는 방법이다. 이론적으로는 성공이 보장되지만, 비밀번호가 길수록 비현실적이다. 병렬 처리를 통해 시간을 단축할 수 있으며, 공격자가 비밀번호 해시값과 알고리즘을 알고 있는지에 따라 오프라인/온라인 공격으로 나뉜다. 오프라인 공격이 더 용이하다.[52]


일반적으로 알파벳, 숫자, 기호를 조합한 8자 이상의 비밀번호가 권장되지만, LAN Manager 해시를 사용하는 시스템에서는 8자 비밀번호도 7자와 1자 비밀번호로 변환되어 취약할 수 있다. 시스템에 따라 비밀번호에 사용할 수 있는 문자에 제한을 두는 경우도 있어, 무차별 대입 공격에 취약해질 수 있다. 사용자가 특정 문자만 사용하는 경우에도 마찬가지이다.[52]

단순한 무차별 대입 공격 외에도, 사람이 비밀번호를 선택하는 경향을 악용한 "스마트한" 공격은 더 큰 위협이 된다. 미국 국립표준기술연구소 보고서에 따르면, 사용자가 직접 선택한 8자 비밀번호의 엔트로피는 암호화 키 안전 기준보다 훨씬 낮다.[52]

오프라인 공격은 공격자의 역량과 자원(시간, 머신 파워 등)에 따라 위협이 커질 수 있다. 컴퓨터 성능 향상, 특수 하드웨어, 병렬 처리 등을 통해 공격 능력이 강화될 수 있다.[52]

  • 패스워드 리스트 공격: 어떤 서비스에서 유출된 비밀번호를 다른 서비스에 시도하는 공격이다.

  • 사전 계산 공격: 사전에 있는 단어들의 해시값을 미리 계산하여 평문-해시값 쌍을 저장해 두고, 이를 이용해 암호화된 비밀번호의 평문을 알아내는 공격이다. 솔트가 없으면 매우 효과적이며, 대용량 저장 매체의 가격 하락으로 큰 사전을 사용하는 것이 현실화되었다.


시간-공간 트레이드 오프를 고려한 효율적인 사전 계산 공격 기법도 존재한다. 예를 들어, 알파벳과 숫자로 구성된 Windows LAN Manager 비밀번호를 2~3분 안에 분석하는 방법이 있다. Windows Vista/Server 2008 이전에는 하위 호환성을 위해 LAN Manager 해시가 표준으로 사용되었다.[52]

메모이제이션은 여러 비밀번호 분석을 한 번의 비용으로 해결하는 기법이다. 비밀번호 암호화는 해시 비교보다 오래 걸리므로, 한 번 암호화한 내용을 기억해두고 효율적인 탐색으로 비교한다. 두 기법을 조합하여 시간-공간 트레이드 오프를 고려한 공격을 더 효율적으로 만들 수 있다.

3. 1. 취약한 암호화 방식

마이크로소프트 윈도우 XP 및 이전 버전에서 표준으로 사용되던 LM 해시는 14자 이하의 비밀번호를 저장할 때 취약점을 드러낸다. LM 해시는 비밀번호를 모두 대문자로 변환하고, 7바이트씩 두 부분으로 나누어 각각 해시값을 계산한다. 이는 각 부분이 개별적으로 공격받을 수 있음을 의미한다.[41]

MD5, SHA-1과 같은 강력한 해시 함수를 사용한 암호화 방식은 무차별 대입 공격이나 사전 계산 공격에 어느 정도 내성을 가지지만, 완벽하게 안전하지는 않다. 이러한 공격은 해시 함수를 역산하는 것이 아니라, 대량의 단어나 무작위 문자열의 해시 값을 계산하여 대상 비밀번호의 해시 값과 비교하는 방식으로 이루어진다.

bcrypt와 같은 현대적인 기법은 의도적으로 계산량이 많은 알고리즘을 사용하여 공격자가 일정 시간 내에 시도할 수 있는 후보를 줄인다. 솔트는 사전 계산 공격의 난이도를 높여 공격에 대한 내성을 강화하지만, 각 경우에 따라 효과를 평가해야 한다.

오랫동안 안전하다고 여겨졌던 MD5와 SHA-1은 효율적인 무차별 대입 공격에 취약하다는 것이 밝혀졌다. 암호화 알고리즘 역시 마찬가지로, DES는 이미 해킹되었으며, 56비트의 짧은 키는 무차별 대입 공격에 취약하다. 따라서 시간이 지남에 따라 기존의 암호화 방식은 취약해질 수 있으므로, 지속적인 분석과 개선이 필요하다.

3. 2. 유추 공격

공격자는 대상의 개인 정보를 바탕으로 비밀번호를 추측하기도 한다. 흔히 사용되는 비밀번호 패턴은 다음과 같다.

흔히 사용되는 비밀번호 패턴



오늘날, 대상의 개인 정보는 온라인상의 다양한 정보원에서 얻을 수 있다. 공격자가 대상과 아는 사이인 경우에도 마찬가지로 정보를 얻을 수 있다. 예를 들어 1978년에 Yale Law School을 졸업한 사람의 비밀번호가 "YaleLaw78"이라면, 악의적인 거래 상대방이 비밀번호를 유추할 수 있다.

유추 공격은 이용자가 직접 비밀번호를 초기화할 수 있는 시스템에서 특히 효과적이다. 2008년 9월, 알래스카 주지사이자 미국 부통령 후보였던 새라 페일린의 Yahoo! 메일이 해킹된 사건이 있었다. 범인은 세 가지 인증 질문 중 그녀의 우편번호와 생일을 알아냈고, 그녀가 남편을 만난 장소를 추측하여 비밀번호를 알아냈다.[43]

3. 3. 사전 공격

사용자들은 취약한 비밀번호를 선택하는 경향이 있다. 사전에 실린 단어, 자신의 성이나 이름, 너무 짧은 비밀번호(6~7자 이하), 모음과 자음을 바꾸는 식으로 쉽게 추측할 수 있는 비밀번호 등이 위험하다. 40년에 걸쳐 반복적으로 실시된 조사에 따르면, 사용자가 선택하는 비밀번호의 40%는 사전을 이용하거나 개인 정보를 활용하는 정교한 크래킹 소프트웨어에 의해 쉽게 해독된다.[44]

피싱으로 획득한 마이스페이스 비밀번호를 조사한 결과, 3.8%는 사전에 있는 단어였고, 12%는 단어 끝에 숫자를 추가한 형태였다. 추가된 숫자의 2/3는 "1"이었다.[45]

일부 사용자는 계정 생성 시 부여된 초기 비밀번호를 변경하지 않기도 한다. 시스템 관리자 중에도 OS나 하드웨어의 초기 비밀번호를 변경하지 않는 경우가 있다. "FieldService"라는 사용자 이름과 "Guest"라는 비밀번호 조합이 대표적인 예시이다. 시스템 설정 시 이를 변경하지 않으면, 해당 시스템에 대한 지식을 가진 사람이 비밀번호를 악용할 수 있다. 이러한 유지보수용 계정은 일반 사용자 계정보다 더 큰 접근 권한을 가지는 경우가 많다. 초기 비밀번호 목록은 인터넷에서 쉽게 찾을 수 있다.[46][47] 게리 맥키넌은 "군용 컴퓨터에 대한, 전례 없는 대규모 크래킹"[48] 혐의로 미국 정부에 기소되었지만, 그는 빈 비밀번호를 찾는 Perl 스크립트를 사용해 군용 네트워크에 침투했다고 주장했다. 즉, 비밀번호가 전혀 설정되지 않은 컴퓨터가 여러 대 있었다는 것이다.[49]

3. 4. 무차별 대입 공격

무차별 대입 공격은 생각할 수 있는 모든 비밀번호를 시도하는 방법이다. 이론적으로 시도 횟수에 제한이 없다면 이 공격은 반드시 성공한다. 그러나 비밀번호가 길수록 가능한 조합의 수가 늘어나기 때문에, 비밀번호가 짧지 않다면 무차별 대입 공격은 비현실적일 수 있다. 하지만 병렬 처리를 사용하면 비밀번호를 알아내는 시간을 단축할 수 있으며, 이는 사용하는 컴퓨터(CPU)의 수에 반비례한다.[52]

이 공격 방법은 공격자가 비밀번호의 해시값과 해시 알고리즘을 알고 있는지 여부에 따라 크게 달라진다. 알고 있는 경우에는 "오프라인 공격"이라고 하며, 대상 시스템에 접속할 필요가 없다. 모르는 경우에는 "온라인 공격"이라고 하며, 모든 비밀번호에 대해 인증을 시도해야 하므로 시스템에 의해 제약과 지연이 발생하고, 이러한 시도는 기록된다. 오프라인 공격은 비밀번호 후보의 해시를 계산하고 실제 비밀번호의 해시와 비교하는 것만으로 검증이 끝나기 때문에 일반적으로 훨씬 쉽다.[52]

일반적으로 비밀번호는 알파벳, 숫자, 기호를 무작위로 조합하여 8자 이상으로 하는 것이 좋다. 그러나 LAN Manager 해시법을 사용하는 마이크로소프트 윈도우 시스템에서는 비밀번호가 7자와 1자 비밀번호로 변환되기 때문에 8자 비밀번호도 취약할 수 있다. 이러한 시스템에서는 레거시 시스템에 영향이 없는 한 LAN Manager 형식으로 비밀번호 저장을 비활성화하여 보안을 강화해야 한다.[52]

시스템에 따라 비밀번호에 사용할 수 있는 문자에 제한을 두는 경우가 있는데, 이러한 시스템은 무차별 대입 공격에 취약하다. 이 경우 더 긴 비밀번호를 사용하여 문자 패턴의 제약을 보완할 수 있다. 사용자가 특정 종류의 문자만 선택하는 경우(예: 대문자 또는 숫자)에도 무차별 대입 공격이 쉬워진다.[52]

단순한 무차별 대입 공격도 성공하는 경우가 있지만, 사람이 비밀번호를 선택하는 경향을 악용한 "스마트한" 무차별 대입 공격은 더 큰 위협이 된다. 미국 국립표준기술연구소 SP 800-63 (2) 보고서에 따르면, 사용자가 8자 비밀번호를 직접 선택했을 때 엔트로피(무작위성의 정도)는 18~30비트 범위에 수렴한다. 이는 암호화 키로 안전하다고 여겨지는 수준보다 훨씬 낮다.[52]

오프라인 공격의 경우, 이러한 취약성은 공격자의 역량과 자원(시간, 머신 파워 등)에 따라 커질 수 있다. 컴퓨터 성능이 향상됨에 따라 공격 능력도 커지며, 특화된 하드웨어를 사용하여 해시 분석 속도를 높일 수도 있다. 또한 여러 컴퓨터를 병렬로 연결하거나, 사용되지 않는 컴퓨터를 활용하여 공격을 수행할 수도 있다.[52]

3. 5. 패스워드 리스트 공격

어떤 서비스에서 유출된 비밀번호를 사용하여, 다른 서비스에 대한 부정 로그인 시도를 하는 공격이다.

3. 6. 사전 계산 공격

사전 계산 공격은 사전(또는 비밀번호 후보 검색 공간)의 각 단어에 대한 해시값을 계산하여 평문 비밀번호와 해시값의 쌍을 저장해 두고, 이를 검색하여 암호화된 비밀번호(해시값)에 해당하는 평문 비밀번호를 알아내는 공격 방식이다. 솔트가 적절하게 사용되지 않은 경우, 사전 공격에서 사전 계산은 매우 유효하며, 대용량 저장 매체의 가격 하락으로 인해 상당히 큰 사전을 사용하는 것도 현실화되었다.

더욱 효율적인 사전 계산 공격 기법으로는 시간-공간 트레이드 오프를 고려한 방법이 있다. 크기가 ''N''인 검색 공간은 크기가 ''O(N2/3'')인 데이터베이스에 수용할 수 있으며, 검색 시간은 ''O(N2/3'')가 된다. 이 이론은 최근 실제 기법으로 발전했으며,[53] 알파벳과 숫자로 구성된 Windows LAN Manager 비밀번호를 2~3분 안에 분석하는 방법도 있다. 과거 LAN Manager는 매우 취약한 비밀번호 해시 방식을 사용했기 때문에 더 짧은 시간 안에 분석이 가능했다. Windows Vista/Server 2008 이전의 Windows에서는 하위 호환성을 위해 LAN Manager 해시를 표준으로 사용했다.[52]

사전 계산과 유사한 기법으로 메모이제이션이 있다. 이는 여러 비밀번호의 분석을 하나의 분석 비용으로 해결하기 위해 사용된다. 비밀번호 암호화는 저장된 해시 비교보다 시간이 오래 걸리므로, 한 번 암호화한 비밀번호의 내용을 기억해두고, 효율적인 탐색 알고리즘을 사용하여 각 암호화된 비밀번호와 비교한다. 이 두 기법은 조합하여 사용할 수도 있으며, 시간-공간 트레이드 오프를 고려한 공격 기법은 개별적으로 분석하는 것보다 짧은 시간 안에 복수의 비밀번호를 동시에 분석하도록 변경할 수 있다.

3. 6. 1. 솔트 (Salt)

솔트는 해시 과정에 '솔트'(salt; 소금)라는 짧은 임의의 문자열을 비밀번호 뒤에 추가하여 암호화함으로써 사전 계산 공격을 방지하는 방법이다. 솔트는 인증 시 사용할 수 있도록 암호화된 비밀번호와 함께 보관된다.[54]

솔트는 일반적으로 사용자마다 다르므로, 각 비밀번호 후보의 해시 값을 하나만 계산한 사전 계산 목록은 더 이상 쓸모가 없게 된다. 솔트의 길이가 충분하다면 가능한 패턴은 방대해지며, 공격자는 각 사용자의 각 비밀번호 후보마다 암호화를 시도해야 한다. 초기 유닉스 시스템은 12비트 솔트를 사용했지만, md5-crypt 및 bcrypt와 같은 현대적인 기법은 각각 48비트, 128비트 솔트를 사용하여 보안을 강화했다.[54]

3. 6. 2. 초기 유닉스 비밀번호 강도

초기 유닉스 구현은 비밀번호 길이를 8자 이하로 제한했으며, 12비트 솔트를 사용했다. 이 경우 솔트가 만드는 패턴은 4096 종류이다. 1970년대에는 대부분의 용도에서 이 12비트로 충분하다고 생각했지만, 2005년까지 기억 매체의 저가격화가 진행되면서, 자주 사용되는 수백만 종류의 비밀번호 해시값을, 모든 4096종의 솔트 분량까지 포함하여, 공격자가 사전 계산하여 하나의 휴대용 HDD에 준비할 수 있게 되었다. 공격자에게 자금이 있다면, 6자 이하의 모든 비밀번호와 7~8자의 자주 사용되는 비밀번호에 대해 4096 패턴의 솔트를 포함한 암호화 데이터를 생성하고, 그것을 저장한 디스크 군(disk farm)을 구축하는 것도 가능하다. 또한 수천 개의 비밀번호를 한 번에 해석 대상으로 하는 경우, 메모이제이션도 역시 이점이 있다.[41]

4. 사고 사례

1998년 7월 16일, CERT는 공격자가 186,126개의 암호화된 비밀번호를 찾아낸 사건을 보고했다. 이 중 47,642개의 비밀번호가 크래킹되었다.[21]

2009년 Rockyou.com 유출 사고, 2011년 북대서양 조약 기구(NATO) 보안 침해 사고, 부즈 앨런 해밀턴 해킹 사고, 2015년 애슐리 매디슨 데이터 유출 사고 등 대규모 비밀번호 유출 사고가 발생하였다.

2011년 7월 18일, 마이크로소프트 Hotmail은 비밀번호 "123456"을 금지했다.[26]

4. 1. RockYou 유출 사고

2009년 12월, Rockyou.com에서 대규모 비밀번호 유출 사고가 발생하여 3,200만 개의 비밀번호가 유출되었다. 공격자는 이후 3,200만 개의 비밀번호 전체 목록(식별 가능한 다른 정보 없이)을 인터넷에 유출했다. 비밀번호는 데이터베이스에 평문으로 저장되었으며, SQL 주입 취약점을 통해 추출되었다. Imperva 애플리케이션 방어 센터(ADC)는 비밀번호의 강도에 대한 분석을 수행했다.[22]

분석 결과는 다음과 같다.

내용
사용자의 약 30%가 7자 미만의 비밀번호를 선택했다.
사용자의 거의 60%가 제한된 알파벳 숫자 문자 집합에서 비밀번호를 선택했다.
사용자의 거의 50%가 이름, 속어, 사전 단어 또는 연속된 숫자 및/또는 인접한 키보드 키와 같이 약한 구성을 사용한 사소한 비밀번호를 사용했다.
RockYou 계정 소유자 사이에서 가장 흔한 비밀번호는 단순히 "123456"이었다.[22]


4. 2. NATO 보안 침해 사고

2011년 6월, 북대서양 조약 기구(NATO)는 보안 침해를 겪었다. 이로 인해 전자책 상점에 등록된 사용자 11,000명 이상의 이름, 사용자 이름, 비밀번호가 공개적으로 유출되었다. 이 데이터는 Operation AntiSec의 일환으로 유출되었으며, 익명, LulzSec 등 여러 해킹 그룹과 개인들이 참여했다.[23]

4. 3. Booz Allen Hamilton 해킹 사고

2011년 7월 11일, 미국 대형 컨설팅 회사 부즈 앨런 해밀턴 서버가 익명에 의해 해킹당했다.[24] 이 회사는 펜타곤을 위해 상당한 양의 작업을 수행하고 있었다. '군사 붕괴 월요일'이라고 불린 이 유출 사건에는 USCENTCOM, SOCOM, 해병대, 다양한 공군 시설, 국토 안보부, 국무부 직원 및 민간 부문 계약자로 보이는 인력을 포함한 90,000개의 군사 인력 로그인 정보가 포함되었다.[24] 유출된 비밀번호는 솔트가 없는 SHA-1으로 해싱된 것으로 밝혀졌으며, 이후 Imperva의 ADC 팀에 의해 분석되었다. 그 결과, 일부 군사 인력조차 "1234"와 같이 취약한 비밀번호를 사용한 것으로 드러났다.[25] 이는 군사 기밀을 다루는 인력의 보안 의식 부족과 허술한 비밀번호 관리 실태를 보여주는 사례로, 비밀번호 크래킹의 위험성을 강조한다.

4. 4. 애슐리 매디슨 데이터 유출 사고

2015년 7월, "The Impact Team"이라고 자칭하는 그룹이 애슐리 매디슨의 사용자 데이터를 훔쳤다.[27] 유출된 비밀번호 중 상당수는 비교적 강력한 bcrypt 알고리즘으로 해싱되었으나, 일부는 취약한 MD5 해시를 사용하여 해싱되었다. 비밀번호 크래킹 그룹 CynoSure Prime은 MD5 해시 알고리즘의 취약점을 이용하여 약 1,100만 개의 평문 비밀번호를 복구할 수 있었다.[28]

5. 예방 및 대응

비밀번호 크래킹을 예방하고 대응하기 위한 방법은 여러 가지가 있다.

사이트별 비밀 키를 비밀번호 해시와 결합하여, 해시된 값이 유출되더라도 일반 텍스트 비밀번호를 복구하기 어렵게 만들 수 있다. 그러나 권한 상승 공격으로 사이트 비밀 키가 노출될 수 있다.

보안 토큰을 사용하면 비밀번호를 주기적으로 변경하여 무차별 대입 공격에 사용될 시간을 줄이고, 도난당한 비밀번호의 가치를 낮출 수 있다.

5. 1. 접근 통제 강화

비밀번호 크래킹을 방지하는 한 가지 방법은 공격자가 해시된 비밀번호에 접근하지 못하도록 하는 것이다. 예를 들어, 유닉스 운영 체제에서 초기에는 해시된 비밀번호가 공개적으로 접근 가능한 `/etc/passwd` 파일에 저장되었다. 그러나 현대 유닉스 및 유사 시스템에서는 섀도 비밀번호 파일인 `/etc/shadow`에 저장되며, 이는 "시스템" 권한과 같이 향상된 권한으로 실행되는 프로그램만 접근할 수 있다. 이렇게 하면 악의적인 사용자가 해시된 비밀번호를 얻는 것이 더 어려워진다. 하지만 이러한 보호에도 불구하고 많은 비밀번호 해시 모음이 도난당했으며, 일부 일반적인 네트워크 프로토콜은 비밀번호를 일반 텍스트로 전송하거나 취약한 챌린지/응답 방식을 사용한다.[29][30]

5. 2. 솔트 사용

솔트는 각 비밀번호에 고유한 임의의 값을 추가하여 해싱함으로써, 여러 비밀번호가 동시에 공격받는 것을 방지하고 레인보우 테이블과 같이 미리 계산된 해시값 목록을 이용한 공격을 어렵게 만든다.[29][30]

현대 유닉스 시스템은 전통적인 DES 기반의 비밀번호 해싱 함수인 crypt() 대신 crypt-SHA, bcrypt, scrypt와 같이 더 강력한 방법을 사용한다.[32] 시스코 IOS와 같은 다른 시스템도 이러한 추세를 따르고 있다. 예를 들어, 시스코 IOS는 원래 비밀번호 암호화에 비제네르 암호를 사용했지만, "enable secret" 명령어를 사용하면 24비트 솔트와 함께 md5-crypt를 사용한다.[33] 이러한 방식은 대규모 솔트 값을 사용하여 공격자가 여러 사용자 계정에 대해 동시에 오프라인 공격을 효율적으로 수행하는 것을 방지하고, 알고리즘 실행 속도를 늦춰 성공적인 오프라인 공격에 필요한 시간을 크게 늘린다.[34]

MD5SHA 계열과 같이 비밀번호 저장에 사용되는 많은 해시 함수는 빠른 계산을 위해 설계되어, 낮은 메모리 요구 사항과 하드웨어에서의 효율적인 구현이 가능하다. 이러한 알고리즘은 GPU에서 병렬로 실행되어 크래킹 속도를 높일 수 있기 때문에, 솔트가 적용되어도 비밀번호 크래킹을 완전히 방지하기는 어렵다. 키 스트레칭 알고리즘(예: PBKDF2, crypt-SHA)은 비밀번호 해시를 반복적으로 계산하여 비밀번호 테스트 속도를 늦춘다. scrypt와 같은 알고리즘은 메모리 하드 방식으로, 계산 시간이 오래 걸릴 뿐만 아니라 비교적 많은 양의 메모리를 필요로 하므로 GPU나 맞춤형 집적 회로를 사용한 크래킹을 더욱 어렵게 만든다.

2013년에는 비밀번호 해싱을 위한 새로운 표준 알고리즘을 선정하기 위한 비밀번호 해싱 경쟁이 장기적으로 진행되었으며,[35] 2015년에 Argon2가 우승자로 선정되었다. NIST에서 권장하는 또 다른 알고리즘인 Balloon도 메모리 하드 방식이다.[36]

5. 3. 키 유도 함수 사용

키 유도 함수를 사용하면 비밀번호를 추측할 수 있는 속도를 줄일 수 있다.[31] 현대 유닉스 시스템은 전통적인 DES 기반 비밀번호 해싱 함수 crypt() 대신 crypt-SHA, bcrypt, scrypt와 같이 더 강력한 방법을 사용한다.[32] 이러한 방법은 공격자가 여러 사용자 계정에 대해 오프라인 공격을 동시에 효율적으로 수행하는 것을 방지하고, 알고리즘 실행 속도가 느려 성공적인 오프라인 공격에 필요한 시간을 증가시킨다.[34]

MD5 및 SHA 계열과 같이 비밀번호 저장에 사용되는 해시는 빠른 계산을 위해 설계되어 GPU에서 병렬로 실행되어 크래킹 속도를 높일 수 있다. 키 스트레칭 알고리즘(예: PBKDF2 및 crypt-SHA)은 비밀번호 해시를 반복적으로 계산하여 비밀번호 테스트 속도를 줄인다. scrypt와 같은 알고리즘은 메모리 하드 방식으로, 많은 양의 메모리가 필요하므로 GPU 및 맞춤형 집적 회로를 사용하여 크래킹하기가 더 어렵다.

2013년에 장기적인 비밀번호 해싱 경쟁이 발표되었으며,[35] 2015년에 Argon2가 우승자로 선정되었다. Balloon 알고리즘은 NIST에서 권장한다.[36] 두 알고리즘 모두 메모리 하드이다.

5. 4. 다단계 인증

비밀번호 크래킹을 막는 가장 좋은 방법은 공격자가 암호화된 비밀번호에 접근할 수 없도록 하는 것이다. 예를 들어, 초기 유닉스 시스템에서는 암호화된 비밀번호가 누구나 접근 가능한 `/etc/passwd` 파일에 저장되었다. 그러나 현재의 유닉스 및 유닉스 계열 운영체제에서는 특수한 권한을 가진 프로그램만 접근할 수 있는 `/etc/shadow` 파일에 저장된다. 이로 인해 악의적인 사용자가 암호화된 비밀번호를 얻는 것이 어려워졌다.[55][56]

현대적인 유닉스 시스템은 기존의 DES 기반 비밀번호 해시 대신 더 강력한 MD5 및 Blowfish 기반 방식을 사용한다.[57] 다른 시스템들도 이러한 방식으로 대체되고 있다. 예를 들어, Cisco IOS는 초기에 비밀번호 암호화에 비제네르 암호를 사용했지만, 현재는 "enable secret" 명령어를 사용하면 24비트 솔트가 적용된 md5-crypt를 사용한다.[58] 이러한 새로운 방식은 큰 솔트 값을 사용하여 한 번에 여러 비밀번호를 분석하는 강력한 오프라인 공격을 방지한다. 또한 알고리즘 계산량이 많아 오프라인 공격 성공에 필요한 시간이 획기적으로 증가한다.[54]

보안 토큰과 같은 메커니즘을 사용하면 특정 규칙에 따라 결정된 새로운 비밀번호를 항상 사용할 수 있다. 이는 무차별 대입 공격에 허용되는 시간을 대폭 줄여주며, 비밀번호의 유효 기간이 짧아 분석에 성공한 비밀번호의 가치를 감소시킨다.

5. 5. 보안 토큰 사용

보안 토큰과 같은 메커니즘을 이용하면, 특정 규칙에 따라 결정된 새로운 비밀번호를 상시 사용할 수 있다. 이는 (공격자가 다음 비밀번호 변경까지 분석을 끝내야 한다는 점에서) 무차별 대입 공격에 허용되는 시간을 대폭 줄여주며, 비밀번호의 유효 기간이 짧다는 점에서, 분석에 성공한 비밀번호의 가치를 감소시킨다.[54]

6. 소프트웨어

비밀번호 크래킹 소프트웨어 도구는 많지만, 가장 인기 있는 것은 에어크랙-NG, 케인 & 아벨, 존 더 리퍼, 해시캣, 하이드라, 데이브 그롤, 그리고 엘컴소프트이다. 많은 소송 지원 소프트웨어 패키지도 비밀번호 크래킹 기능을 포함하고 있다. 이러한 패키지들은 대부분 다양한 크래킹 전략을 사용하며, 무차별 대입 공격과 사전 공격을 사용하는 알고리즘이 가장 효과적인 것으로 입증되었다.[38]

계산 능력의 증가와 초보자 친화적인 자동 비밀번호 크래킹 소프트웨어의 보급으로 인해 많은 보호 체계에서 스크립트 키디들이 이 활동에 참여하게 되었다.[39]

비밀번호 크래킹 소프트웨어는 수없이 많으며, 그 중 상당수는 총력 공격, 사전 공격과 같은 분석 기법을 조합하여 가장 효율적으로 작동하도록 설계되었다. 또한, 많은 소송 지원용 소프트웨어에도 비밀번호 크래킹 기능이 탑재되어 있다.

유명한 소프트웨어는 다음과 같다.[59]



그 외에도 사용자가 Microsoft Windows 비밀번호와 Apple macOS 비밀번호를 영구적이고 지속적인 시스템 변경 없이 우회할 수 있게 해주는 소프트웨어 유틸리티 등 각종 유사 도구, 대체 도구가 있다.

  • AccessData PRTK
  • DaveGrohl
  • Hashcat
  • Kon-Boot
  • Lhaplus (라플러스)
  • L0phtCrack
  • Ophcrack
  • PassFab for ZIP
  • Pika Zip - 잊어버린 ZIP 비밀번호를 확인한다.[60]
  • RainbowCrack
  • Ziperello

참조

[1] 웹사이트 Cain & Abel User Manual: Brute-Force Password Cracker http://www.oxid.it/c[...] 2013-08-13
[2] 웹사이트 What Is Password Spraying? How to Stop Password Spraying Attacks https://auth0.com/bl[...]
[3] 논문 A Distributed Algorithm for Brute Force Password Cracking on n Processors https://zenodo.org/r[...] 2020-01-19
[4] 웹사이트 PINs and Passwords, Part 2 https://www.sleuthsa[...] 2013-08-11
[5] 웹사이트 oclHashcat-lite – advanced password recovery http://hashcat.net/o[...] Hashcat.net 2013-01-31
[6] 웹사이트 The Bug Charmer: How long should passwords be? https://bugcharmer.b[...] Bugcharmer.blogspot.com 2012-06-20
[7] 웹사이트 Cryptohaze Blog: 154 Billion NTLM/sec on 10 hashes http://blog.cryptoha[...] Blog.cryptohaze.com 2012-07-15
[8] 웹사이트 John the Ripper benchmarks http://openwall.info[...] openwall.info 2010-03-30
[9] 보고서 Electronic authentication guideline https://nvlpubs.nist[...] National Institute of Standards and Technology 2006
[10] 웹사이트 64-bit key project status https://stats.distri[...] Distributed.net 2008-03-27
[11] 웹사이트 Password Recovery Speed table http://www.elcomsoft[...] ElcomSoft 2011-02-01
[12] 웹사이트 VCL Cluster Platform https://mosix.cs.huj[...]
[13] 웹사이트 25-GPU cluster cracks every standard Windows password in <6 hours https://arstechnica.[...]
[14] 웹사이트 EFF DES Cracker machine brings honesty to crypto debate http://w2.eff.org/Pr[...] EFF 2020-06-07
[15] 웹사이트 NYU Accidentally Exposed Military Code-breaking Computer Project to Entire Internet https://theintercept[...] 2017-05-11
[16] 웹사이트 announce - [openwall-announce] John the Ripper 1.9.0-jumbo-1 https://www.openwall[...]
[17] 웹사이트 Bcrypt password cracking extremely slow? Not if you are using https://scatteredsec[...] 2020-09-08
[18] 웹사이트 Managing Network Security https://web.archive.[...] Fred Cohen & Associates. All.net
[19] 논문 Password Memorability and Security: Empirical Results https://prof-jeffyan[...]
[20] 뉴스 New Technology Cracks 'Strong' Passwords – What You Need To Know https://www.forbes.c[...] 2015-04-21
[21] 웹사이트 CERT IN-98.03 http://www.cert.org/[...] 2009-09-09
[22] 웹사이트 Consumer Password Worst Practices https://www.imperva.[...]
[23] 웹사이트 NATO Hack Attack https://www.theregis[...] 2011-07-24
[24] 웹사이트 Anonymous Leaks 90,000 Military Email Accounts in Latest Antisec Attack https://gizmodo.com/[...] 2011-07-11
[25] 웹사이트 Military Password Analysis https://www.imperva.[...] 2011-07-12
[26] 웹사이트 Microsoft's Hotmail Bans 123456 http://blog.imperva.[...] 2011-07-18
[27] 웹사이트 Ashley Madison: Hackers Dump Stolen Dating Site Data https://www.bankinfo[...] 2021-04-11
[28] 웹사이트 Researchers Crack 11 Million Ashley Madison Passwords https://www.bankinfo[...] 2021-04-11
[29] 논문 No Plaintext Passwords https://www.usenix.o[...] 2001-11
[30] 웹사이트 Cryptanalysis of Microsoft's Point-to-Point Tunneling Protocol https://www.schneier[...] 2011-07-07
[31] 논문 SP 800-63B-3 – Digital Identity Guidelines: Authentication and Lifecycle Management https://nvlpubs.nist[...] NIST 2017-06
[32] 웹사이트 A Future-Adaptable Password Scheme http://www.usenix.or[...] Usenix.org 2002-03-13
[33] 웹사이트 MDCrack FAQ 1.8 http://c3rb3r.openwa[...] None
[34] 웹사이트 Password Protection for Modern Operating Systems http://www.usenix.or[...] Usenix.org
[35] 웹사이트 Password Hashing Competition https://www.password[...] 2013-03-03
[36] 웹사이트 NIST SP800-63B Section 5.1.1.2 https://nvlpubs.nist[...]
[37] 웹사이트 Top 10 Password Crackers https://sectools.org[...] Sectools 2009-11-01
[38] 웹사이트 Stay Secure: See How Password Crackers Work - Keeper Blog https://www.keeperse[...] 2020-11-07
[39] 뉴스 How I became a password cracker: Cracking passwords is officially a "script kiddie" activity now. https://arstechnica.[...] 2013-03-24
[40] 문서 完全に新しいパスワードを再設定する方がセキュリティ上リスクが少ないが、管理者権限が必要である。
[41] 웹사이트 MD5 crypt http://www.usenix.or[...] USENIX 2011-01-13
[42] 뉴스 2017年ダメなパスワードトップ100発表、第1位は? https://news.mynavi.[...] マイナビ 2017-12-20
[43] 뉴스 Hacker wanted to 'derail' Palin http://www.washingto[...] 2014-09-19
[44] 문서 Password security http://www.cs.unibo.[...]
[45] 문서 ZDNet Report: Net users picking safer passwords http://news.zdnet.co[...]
[46] 웹사이트 Default Password List http://www.phenoelit[...] PHENOELIT 2011-01-13
[47] 웹사이트 Project Alecto http://www.helith.ne[...] Helith 2011-01-13
[48] 뉴스 British hacker fights extradition http://news.bbc.co.u[...] BBC News 2007-02-14
[49] 뉴스 Transcript of the interview http://news.bbc.co.u[...] BBC Click
[50] 문서 John the Ripper cracking modes http://www.openwall.[...] John the Ripper project
[51] 문서 Choosing Secure Passwords http://www.schneier.[...] Bruce Schneier
[52] 웹사이트 How to prevent Windows from storing a LAN manager hash of your password in Active Directory and local SAM databases http://support.micro[...] Microsoft 2009-02-18
[53] 문서 ophcrack http://lasecwww.epfl[...]
[54] 문서 Password Protection for Modern Operating Systems http://www.usenix.or[...]
[55] 문서 No Plaintext Passwords http://www.usenix.or[...]
[56] 문서 Cryptanalysis of Microsoft's Point-to-Point Tunneling Protocol http://www.schneier.[...]
[57] 문서 A Future-Adaptable Password Scheme http://www.usenix.or[...]
[58] 문서 MDCrack FAQ 1.8 http://c3rb3r.openwa[...]
[59] 웹사이트 Top 10 Password Crackers http://sectools.org/[...] Sectools 2008-11-01
[60] 웹사이트 Pika Zip https://www.vector.c[...] Vector 2021-01-22
[61] 웹인용 Cain & Abel User Manual: Brute-Force Password Cracker http://www.oxid.it/c[...] 2013-08-13
[62] 웹인용 What Is Password Spraying? How to Stop Password Spraying Attacks https://auth0.com/bl[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com