윈도우 XP 복잡한 암호를 수 초 만에 크래킹한다는 기술

보안 서비스 회사인 인포섹 아일랜드의 지난 주 블로그에 따르면, 스위스의 Objectif Sécurité 사에서 만든 새로운 툴로 윈도우 XP 계정의 암호를 몇 초면 풀 수 있다고 합니다.

간단히 읽어본 바로는 완전히 새로운 개념이라기보다는 기존의 레인보우 테이블 방식을 하드 디스크보다 훨씬 빠른 SSD에서 검색하게 해 속도 향상을 꾀한 기술인 모양입니다. 툴의 특성상 CPU (또는 GPU) 성능보다는 디스크 액세스 시간이 중요한 요소이니 SSD로 크래킹 시간을 대폭 줄일 수 있다는 개념입니다.

블로그에서 테스트 결과를 보면 비어 있는 암호는 2초, 72@Fee4S@mura! 라는 암호는 5초, (689!!!<>”QTHp는 8초, *mZ?9%^jS743:! 는 5초, T&p/E$v-O6,1@} 는 11초만에 풀 수 있었습니다. 모두 영어 대소문자, 숫자, 특수문자를 포함해 상당히 복잡한 암호 구성인데다가 글자 수도 일반적으로 사용하는 것보다 긴 14자입니다. 그런데도 기껏해야 11초면 풀 수 있다는 거죠.

이 실험에는 “윈도우를 오프라인으로 접속할 수 있다면, 즉 암호의 해쉬 저장값에 다른 방법으로 접근할 수 있다면”이라는 전제 조건이 있습니다. 그래야 해쉬 값을 레인보우 테이블에서 검색해 원래의 암호를 알아냅니다. 따라서 이런 위협으로부터 안전하려면 늘 듣는 얘기지만 악성 코드에 주의해야 하고, 윈도우나 애플리케이션 취약점 패치를 부지런히 해야 합니다. 블로그의 마지막에서 말하듯이 요즘 많은 회사와 기관이 암호만으로는 로그온을 허용하지 않는 방향으로 가고 있습니다. 스마트 카드나 생체인식 인증 기술이 점점 흔해지고 있죠. 만일 암호만 사용해 로그온하는 환경이라면 14자 이상의 긴 암호 (또는 암호문구)를 써서 LM 해쉬 방식이 사용되지 않게 하는 것이 대안입니다.

한편 이 내용은 윈도우 XP나 그 이전의 윈도우 2000에 한정되는 문제입니다. 윈도우 비스타, 윈도우 7 등의 최신 운영 체제에서는 더이상 구닥다리 방식의 LM 해쉬를 사용하지 않습니다. 윈도우 7에서는 저장된 해쉬 값을 가져다가 테이블과 비교하는 전제 조건 자체가 성립하지 않으니 여기 소개한 툴로는 풀 수 없죠. 마침 윈도우 8에서는 얼굴 인식으로 로그온한다는 소문도 들려오는데 타입 I, 타입 II 오류가 얼마나 될 지 기대되네요.