패스워드 크래킹
Password cracking암호 해독 및 컴퓨터 보안에서 암호 크래킹은 컴퓨터 시스템에 의해 스크램블된 형태로 저장되거나 전송된 데이터에서 암호를 복구하는[1] 프로세스입니다.일반적인 접근법(브루트포스 공격)은 패스워드의 추측을 반복하여 패스워드의 [2]이용 가능한 암호화 해시와 대조하는 것입니다.또 하나의 접근법은 패스워드 스프레이입니다.패스워드 스프레이는 자주 자동화되며 일반적인 [3]패스워드 목록을 사용하여 검출되지 않도록 시간이 지남에 따라 천천히 발생합니다.
패스워드 크래킹의 목적은 사용자가 잊어버린 패스워드를 회복하기 위한 것입니다(완전히 새로운 패스워드를 인스톨 하면 시스템 관리 특권이 수반되기 때문에).또는 시스템 관리자가 크래킹하기 쉬운 패스워드를 체크하는 예방책으로서 기능하는 것입니다.파일 단위로 패스워드 크래킹은 특정 파일의 허가가 제한되었을 때 판사가 접근을 허용한 디지털 증거에 접근하기 위해 이용된다.
비밀번호 검색에 필요한 시간
패스워드를 크래킹 하는 시간은 패스워드의 엔트로피를 나타내는 비트강도(패스워드 강도 참조)와 패스워드의 보존 방법의 상세에 관련됩니다.대부분의 패스워드 크래킹 방법에서는 컴퓨터가 다수의 후보 패스워드를 생성해야 합니다.각 후보 패스워드는 체크됩니다.예를 들어, 컴퓨터가 성공할 때까지 가능한 모든 키 또는 비밀번호를 시도하는 무차별 크래킹이 있습니다.복수의 프로세서를 사용하면, 가능한 마지막 심볼 그룹으로부터 검색과 동시에 선두로부터의 검색을 통해서, 이 시간을 최적화할 수 있습니다.다른 프로세서는 [4]지정된 패스워드의 선택을 통해 검색하도록 배치됩니다.사전 공격, 패턴 체크, 워드 리스트 대체 등 보다 일반적인 패스워드 크래킹 방법은 필요한 시행 횟수를 줄이려고 시도하며, 보통 무차별 공격 전에 시행됩니다.패스워드 비트의 강도가 높을수록 패스워드를 회복하기 위해 평균적으로 체크해야 하는 후보 패스워드의 수가 기하급수적으로 증가하고 패스워드가 크래킹된 [5]딕셔너리에서 검출될 가능성이 줄어듭니다.
컴퓨터 프로그램을 사용하여 암호를 해독할 수 있는 기능은 초당 가능한 암호 수에 따라 달라집니다.공격자가 타깃 패스워드의 해시를 사용할 수 있는 경우 오프라인 공격이 가능하기 때문에 이 수치는 초당 수십억 또는 수조 단위일 수 있습니다.그렇지 않은 경우 인증 소프트웨어가 패스워드의 시행 빈도를 제한하는지 여부에 따라 시간 지연, CAPTCHA 또는 몇 번의 시행 실패 후 강제 록아웃 중 하나가 결정됩니다.패스워드를 사용해 암호키를 작성하는 것도, 재빠르게 추측할 수 있습니다.이러한 경우 공격자는 추측된 암호가 암호화된 데이터를 성공적으로 해독하는지 신속하게 확인할 수 있습니다.
어떤 종류의 패스워드 해시의 경우 일반 데스크톱 컴퓨터는 범용 CPU에서 실행되는 패스워드 크래킹 툴을 사용하여 초당 1억 개 이상의 패스워드를 테스트할 수 있으며 GPU 기반의 패스워드 크래킹[1][6][7] 툴을 사용하여 초당 수십억 개의 패스워드를 테스트할 수 있습니다(John the Ripper 벤치마크 [8]참조).패스워드 추측 속도는 패스워드 해시를 생성하기 위해 시스템에서 사용되는 암호화 함수에 따라 크게 달라집니다.bcrypt와 같은 적절한 패스워드 해시 함수는 단순한 MD5나 SHA와 같은 단순한 함수보다 훨씬 우수합니다.NIST에 따르면 사용자가 숫자, 대소문자 혼합 및 기호를 사용하여 선택한 비밀번호와 기타 사전 일치가 필터링된 8글자의 비밀번호는 약 30비트 강도에 도달합니다30.해시 함수가 단순할 경우 2는 10억 개의[9] 배열에 불과하며 몇 초 만에 깨집니다.일반 데스크톱 컴퓨터가 봇넷에서처럼 크래킹 작업에 결합되면 패스워드 크래킹 기능이 대폭 확장됩니다.2002년에 배포되었습니다.net은 다양한 시기에 30만 대 이상의 다른 컴퓨터를 포함하고 [10]초당 평균 120억 개 이상의 키를 생성하는 노력으로 4년 만에 64비트 RC5 키를 성공적으로 발견했습니다.
그래픽스 처리 유닛은 특정 해시 알고리즘의 범용 컴퓨터보다 패스워드 크래킹 속도를 50~100배 높일 수 있습니다.2011년 현재 시판되고 있는 시판 제품은 하이엔드 그래픽 [11]프로세서를 사용하여 표준 데스크톱 컴퓨터에서 초당 최대 2,800,000개의 비밀번호를 테스트할 수 있다고 주장합니다.이러한 장치는 하루에 10글자의 단일 케이스 비밀번호를 해독할 수 있습니다.작업은 많은 컴퓨터에 분산되어 동등한 GPU를 [citation needed]갖춘 사용 가능한 컴퓨터의 수에 비례하여 속도를 높일 수 있습니다.그러나 일부 알고리즘은 GPU에서 느리게 실행되거나 느리게 실행되도록 특별히 설계되었습니다.예를 들어 DES, Triple DES, bcrypt, 스크립트 및 Argon2가 있습니다.
GPU의[when?] 과거 10년간의 하드웨어 액셀러레이션에 의해 리소스를 사용하여 대부분의 해시 알고리즘에 대한 무차별 포스 공격의 효율성과 속도를 높일 수 있게 되었습니다.2012년, Stricture Consulting Group은 초당 3,500억 추측의 무차별 공격 속도를 달성한 25-GPU 클러스터를 공개하여 5.5시간 내에 95의 암호 조합을 할 수 있습니다.Linux 기반의 GPU 클러스터는 [12]Virtual OpenCL 클러스터 플랫폼에서 ocl-Hashcat Plus를 사용하여 "LinkedIn [13]사용자의 패스워드 해시 650만 개 중 90%를 크래킹"했습니다.
특정 해시 알고리즘의 경우 CPU와 GPU가 잘 일치하지 않습니다.고속으로 동작하려면 , 목적에 맞춘 하드웨어가 필요합니다.커스텀 하드웨어는 FPGA 또는 ASIC 기술을 사용하여 만들 수 있습니다.두 테크놀로지의 개발은 복잡하고 (매우) 비용이 많이 듭니다.일반적으로 FPGA는 소량에서 유리하고 ASIC는 (매우) 대량에서 유리하며 에너지 효율이 높고 속도가 빠릅니다.1998년 Electronic Frontier Foundation(EFF)은 ASIC를 사용하여 전용 암호 크래커를 구축했습니다.Deep Crack이라는 기계는 56시간 만에 DES 56비트 키를 망가뜨려 [14]초당 900억 개 이상의 키를 테스트했습니다.2017년에 유출된 문서들은 ASIC가 인터넷 [15]전체를 암호 해독하는 군사 프로젝트에 사용된다는 것을 보여준다.ASIC 기반의 패스워드 크래커 설계 및 구축은 비정부기관에서는 불가능하다고 간주됩니다.John the Ripper는 2019년부터 FPGA를 [16]사용한 제한된 수의 해시 알고리즘에 대한 암호 크래킹을 지원합니다.현재 기업에서는 패스워드 [17]크래킹에 FPGA 기반의 셋업을 사용하고 있습니다.
기억하기 쉽고 추측하기 어렵다
기억하기 어려운 패스워드는 시스템의 보안을 저하시킵니다.
- 사용자는 안전하지 않은 방법으로 비밀번호를 기록하거나 전자적으로 저장해야 할 수 있습니다.
- 사용자는 패스워드를 자주 리셋해야 합니다.
- 사용자는 같은 비밀번호를 재사용할 가능성이 높아집니다.
마찬가지로 비밀번호 보안 요건이 엄격할수록(예: 대소문자와 숫자가 혼재되어 있다), 또는 "매월 변경한다" 등),[18] 사용자가 시스템을 전복시킬 수 있는 정도가 커집니다.
"비밀번호의 기억성과 보안"[19]에서 Jeff Yan 등은 적절한 비밀번호 선택에 대해 사용자에게 제공하는 조언의 효과를 검토한다.그들은 문구를 생각하고 각 단어의 첫 글자를 쓰는 것에 기초한 패스워드는 순진하게 선택된 패스워드만큼 기억에 남고 임의로 생성된 패스워드만큼 해독하기가 어렵다는 것을 발견했다.관련이 없는 두 단어를 조합하는 것도 좋은 방법이다.불분명한 비밀번호를 생성하기 위해 개인적으로 설계된 "알고리즘"을 갖는 것도 좋은 방법입니다.
다만, 유저에게 「대문자와 소문자의 혼재」로 이루어진 패스워드를 기억하도록 요구하는 것은, 일련의 비트를 기억하도록 요구하는 것과 비슷합니다.기억하기 어렵고, 해독하기 어려운 것은 조금뿐입니다(예를 들어, 7글자의 패스워드는 128배입니다만, 유저가 단순히 1글자를 대문자로 하는 경우는 제외됩니다).사용자에게 "문자와 숫자 모두"를 사용하도록 요청하면 종종 공격자에게 잘 알려진 'E' → '3' 및 'I' → '1'과 같이 쉽게 대체될 수 있다.마찬가지로 키보드 행 하나 위에 암호를 입력하는 것은 공격자가 알고 있는 일반적인 수법입니다.
2015년 4월 카네기 멜론 대학의 몇몇 교수들이 발표한 논문에서 상세하게 나온 연구에 따르면, 비밀번호 구조에 대한 사람들의 선택은 종종 몇 가지 알려진 패턴을 따른다는 것을 알 수 있다.그 결과 패스워드는 수학적 확률이 나타내는[clarification needed] 것보다 훨씬 쉽게 깨질 수 있습니다.예를 들어 1자리 숫자가 포함된 패스워드는 패스워드 [20]끝에1자리 숫자가 불균형하게 포함되어 있습니다.
사고
1998년 7월 16일 CERT는 공격자가 186,126개의 암호화된 비밀번호를 발견한 사건을 보고했습니다.그들이 발견되었을 때,[21] 그들은 이미 47,642개의 비밀번호를 해독하고 있었다.
2009년 12월에는 Rockyou.com의 주요 비밀번호 위반이 발생하여 3200만 개의 비밀번호가 공개되었습니다.그 후 공격자는 (다른 식별 가능한 정보가 없는) 3,200만 개의 비밀번호의 전체 목록을 인터넷에 유출했습니다.암호는 데이터베이스의 클리어 텍스트에 저장되었으며 SQL 주입 취약성을 통해 추출되었습니다.Imperva Application Defense Center(ADC; Imperva 애플리케이션 디펜스 센터)는 [22]패스워드의 강도를 분석했습니다.
2011년 6월 NATO(북대서양조약기구)는 보안 침해를 겪었고, 이로 인해 11,000명 이상의 전자책방 등록 사용자에게 이름과 성, 비밀번호가 공개되었습니다.데이터는 Anonymous, LulzSec 및 기타 해킹 그룹과 개인들이 참여하는 [23]운동인 Operation AntiSec의 일부로 유출되었다.
2011년 7월 11일, 펜타곤을 위해 많은 일을 하고 있는 미국의 대형 컨설팅 회사인 Booz Allen Hamilton은 Anonymous에 의해 서버가 해킹되어 같은 날 유출되었습니다."'Military 멜트다운 먼데이'라고 불리는 유출에는 USCENTCOM, SOCOM, 해병대, 다양한 공군 시설, 국토안보부, 국무부 직원, 민간 부문 청부업자 [24]등 9만 명의 로그인자가 포함되어 있습니다."유출된 비밀번호는 무염 SHA-1로 해시 처리한 것으로 밝혀졌으며 이후 임페르바 ADC팀이 분석한 결과 일부 군인들조차 [25]1234처럼 약한 비밀번호를 사용했다는 사실이 드러났다.
2011년 7월 18일, Microsoft Hotmail은 패스워드 「123456」[26]을 금지했습니다.
2015년 7월, 자신을 "The Impact Team"이라고 부르는 그룹이 [27]애슐리 매디슨의 사용자 데이터를 훔쳤습니다.많은 패스워드는 비교적 강력한 bcrypt 알고리즘과 약한 MD5 해시를 모두 사용하여 해시되었습니다.후자의 알고리즘을 공격함으로써 패스워드 크래킹 그룹인 CynoSure [28]Prime에 의해 약 1,100만 개의 보통 텍스트 패스워드를 회복할 수 있었습니다.
예방
비밀번호가 깨지는 것을 방지하는 방법 중 하나는 해시된 비밀번호에도 공격자가 접근할 수 없도록 하는 것입니다.예를 들어 Unix 운영체제에서는 해시된 패스워드는 원래 공개 접근 가능한 파일에 저장되어 있었습니다./etc/passwd
한편, 현대의 Unix(및 유사한) 시스템에서는 섀도 패스워드 파일에 저장됩니다./etc/shadow
에는 확장 권한(즉, "시스템" 권한)으로 실행되는 프로그램만 액세스할 수 있습니다.이로 인해 악의적인 사용자가 해시된 비밀번호를 최초로 취득하는 것이 어려워지지만, 이러한 보호에도 불구하고 다수의 비밀번호 해시 컬렉션이 도난당했습니다.또한 일부 일반적인 네트워크 프로토콜은 암호를 클리어 텍스트로 전송하거나 약한 질문/[29][30]응답 체계를 사용합니다.
또 다른 접근법은 사이트 고유의 비밀키를 패스워드 해시와 조합하는 것입니다.이것에 의해, 해시치가 풀린 경우에서도, 플레인 텍스트 패스워드의 회복이 방해됩니다.단, 보호된 해시 파일을 훔칠 수 있는 권한 상승 공격에서는 사이트 비밀도 노출될 수 있습니다.세 번째 접근법은 패스워드를 [31]: 5.1.1.2 추측할 수 있는 속도를 줄이는 주요 파생 함수를 사용하는 것입니다.
또 다른 보호 수단은 해시에 포함된 각 암호에 고유한 랜덤 값인 salt를 사용하는 것입니다.Salt는 여러 해시가 동시에 공격되는 것을 방지하고 레인보우 테이블과 같은 미리 계산된 사전의 생성을 방지합니다.
현대의 Unix Systems는 기존의 DES 기반의 패스워드 해시함수 crypt()를 crypt-SHA, bcrypt,[32] scrypt 등의 보다 강력한 방법으로 대체했습니다.다른 시스템들도 이러한 방법을 채택하기 시작했다.예를 들어 Cisco IOS는 원래 패스워드를 암호화하기 위해 리버서블 Vigenere 암호를 사용했지만 현재는 "enable secret"[33] 명령어를 사용할 때 24비트솔트와 함께 md5-crypt를 사용합니다.이러한 새로운 방법에서는 큰 salt 값을 사용하여 공격자가 여러 사용자 계정에 대해 오프라인 공격을 동시에 효율적으로 실행하는 것을 방지합니다.또, 알고리즘의 실행 속도도 훨씬 느리기 때문에, 오프라인 [34]공격의 성공에 필요한 시간이 큰폭으로 증가합니다.
MD5나 SHA 패밀리 등 패스워드 저장에 사용되는 많은 해시는 메모리 요건이 적고 하드웨어에 효율적으로 구현되는 고속 계산을 위해 설계되었습니다.이러한 알고리즘의 여러 인스턴스를 GPU(그래픽 처리 장치)에서 병렬로 실행할 수 있어 균열 속도가 빨라집니다.그 결과 고속 해시는 소금에 절여도 패스워드 균열을 방지하는 데 효과적이지 않다.PBKDF2나 crypt-SHA 등의 키 스트레칭알고리즘에서는 패스워드 해시를 반복적으로 계산하여 반복 횟수가 충분히 많을 경우 패스워드를 테스트할 수 있는 속도를 대폭 낮출 수 있습니다.스크립트와 같은 다른 알고리즘은 메모리 하드로 시간이 많이 걸리는 계산 외에 비교적 많은 양의 메모리가 필요하기 때문에 GPU와 커스텀 집적회로를 사용하여 크래킹하기가 더 어렵습니다.
2013년에는 새로운 표준 암호 [35]해싱 알고리즘을 선택하는 장기 암호 해싱 대회가 발표되었으며, 2015년에는 Argon2가 우승자로 선정되었습니다.또 다른 알고리즘인 Balloon은 [36]NIST에서 권장한다.두 알고리즘 모두 메모리 하드입니다.
보안 토큰과 같은 솔루션은 지속적으로 암호를 변경함으로써 공식적인 답변을 제공합니다.이러한 솔루션을 사용하면 무차별적인 강제 적용에 사용할 수 있는 시간이 갑자기 단축되고(공격자는 1교대 내에 암호를 해독하여 사용해야 함) 도난당한 비밀번호의 유효기간이 짧기 때문에 도난당한 비밀번호의 가치를 줄일 수 있습니다.
소프트웨어
패스워드 크래킹 소프트웨어 툴은 많지만 가장 인기[37] 있는 것은 Aircrack-ng, Cain & Abel, John the Ripper, Hashcat, Hydra, DaveGrol, ElcomSoft입니다.많은 소송 지원 소프트웨어 패키지에는 패스워드 크래킹 기능도 포함되어 있습니다.이러한 패키지의 대부분은 크래킹 전략을 혼재하고 있습니다.즉, 무차별 공격 알고리즘과 사전 공격이 [38]가장 생산성이 높은 알고리즘입니다.
많은 보호 스킴을 위한 컴퓨팅 파워와 초보자 친화적인 자동 패스워드 크래킹 소프트웨어의 가용성이 높아짐에 따라 스크립트 [39]작성자가 이 작업을 수행할 수 있게 되었습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b oclHashcat-lite – 고도의 패스워드 리커버리Hashcat.net 를 참조해 주세요.2013년 1월 31일 취득.
- ^ Montoro, Massimiliano (2005). "Cain & Abel User Manual: Brute-Force Password Cracker". oxid.it (defunct). Archived from the original on August 20, 2013. Retrieved August 13, 2013.
{{cite web}}
: CS1 유지보수: 부적합한 URL(링크) - ^ "What Is Password Spraying? How to Stop Password Spraying Attacks".
- ^ Bahadursingh, Roman (January 19, 2020). "A Distributed Algorithm for Brute Force Password Cracking on n Processors". doi:10.5281/zenodo.3612276.
{{cite journal}}
:Cite 저널 요구 사항journal=
(도움말) - ^ Lundin, Leigh (August 11, 2013). "PINs and Passwords, Part 2". SleuthSayers.org. Orlando.
- ^ 알렉산더, 스티븐(2012년 6월 20일)Bug Charmer: 비밀번호는 어느 정도 길어야 합니까?버그샤머.blogspot.com 를 참조해 주세요.2013년 1월 31일 취득.
- ^ Cryptohaze 블로그: 10개의 해시 상에서 1,540억 NTLM/초.Blog.cryptohaze.com (2012년 7월 15일)2013년 1월 31일 취득.
- ^ John the Ripper 벤치마크openwall.info (2010년 3월 30일)2013년 1월 31일 취득.
- ^ Burr, W. E.; Dodson, D. F.; Polk, W. T. (2006). "Electronic Authentication Guideline". NIST. doi:10.6028/NIST.SP.800-63v1.0.2. Retrieved March 27, 2008.
{{cite journal}}
:Cite 저널 요구 사항journal=
(도움말) - ^ "64-bit key project status". Distributed.net. Archived from the original on September 10, 2013. Retrieved March 27, 2008.
- ^ ElcomSoft의 패스워드 회복속도 표.NTLM 패스워드, Nvidia Tesla S1070 GPU, 2011년 2월 1일 액세스
- ^ "VCL Cluster Platform". mosix.cs.huji.ac.il.
- ^ "25-GPU cluster cracks every standard Windows password in <6 hours". 2012.
- ^ "EFF DES Cracker machine brings honesty to crypto debate". EFF. Archived from the original on January 1, 2010. Retrieved June 7, 2020.
- ^ Biddle, Sam (May 11, 2017). "NYU Accidentally Exposed Military Code-breaking Computer Project to Entire Internet". The Intercept.
- ^ "announce - [openwall-announce] John the Ripper 1.9.0-jumbo-1". openwall.com.
- ^ "Bcrypt password cracking extremely slow? Not if you are using hundreds of FPGAs!". Medium. September 8, 2020.
- ^ 네트워크 보안 관리Fred Cohen & Associates.All.net 를 참조해 주세요.2013년 1월 31일 취득.
- ^ Yan, J.; Blackwell, A.; Anderson, R.; Grant, A. (2004). "Password Memorability and Security: Empirical Results" (PDF). IEEE Security & Privacy Magazine. 2 (5): 25. doi:10.1109/MSP.2004.81. S2CID 206485325.
- ^ Steinberg, Joseph (April 21, 2015). "New Technology Cracks 'Strong' Passwords – What You Need To Know". Forbes.
- ^ "CERT IN-98.03". Archived from the original on July 9, 2010. Retrieved September 9, 2009.
- ^ "Consumer Password Worst Practices" (PDF). Imperva.com.
- ^ "NATO Hack Attack". The Register. Retrieved July 24, 2011.
- ^ "Anonymous Leaks 90,000 Military Email Accounts in Latest Antisec Attack". July 11, 2011.
- ^ "Military Password Analysis". Imperva.com. July 12, 2011.
- ^ "Microsoft's Hotmail Bans 123456". Imperva.com. July 18, 2011. Archived from the original on March 27, 2012.
- ^ "Ashley Madison: Hackers Dump Stolen Dating Site Data". bankinfosecurity.com. Retrieved April 11, 2021.
- ^ "Researchers Crack 11 Million Ashley Madison Passwords". bankinfosecurity.com. Retrieved April 11, 2021.
- ^ Singer, Abe (November 2001). "No Plaintext Passwords" (PDF). Login. 26 (7): 83–91. Archived (PDF) from the original on September 24, 2006.
- ^ "Cryptanalysis of Microsoft's Point-to-Point Tunneling Protocol". Schneier.com. July 7, 2011. Retrieved January 31, 2013.
- ^ Grassi, Paul A (June 2017). "SP 800-63B-3 – Digital Identity Guidelines: Authentication and Lifecycle Management" (PDF). NIST. doi:10.6028/NIST.SP.800-63b.
{{cite journal}}
:Cite 저널 요구 사항journal=
(도움말) - ^ 미래 적응형 패스워드 스킴Usenix.org (2002년 3월 13일)2013년 1월 31일 취득.
- ^ MDCrack FAQ 1.8.없습니다. 2013년 1월 31일에 회수되었습니다.
- ^ 최신 운영체제를 위한 패스워드 보호.Usenix.org 를 참조해 주세요.2013년 1월 31일 취득.
- ^ "Password Hashing Competition". Archived from the original on September 2, 2013. Retrieved March 3, 2013.
- ^ "NIST SP800-63B Section 5.1.1.2" (PDF). nvlpubs.nist.gov.
- ^ "Top 10 Password Crackers". Sectools. Retrieved November 1, 2009.
- ^ "Stay Secure: See How Password Crackers Work - Keeper Blog". Keeper Security Blog - Cybersecurity News & Product Updates. September 28, 2016. Retrieved November 7, 2020.
- ^ Anderson, Nate (March 24, 2013). "How I became a password cracker: Cracking passwords is officially a "script kiddie" activity now". Ars Technica. Retrieved March 24, 2013.