'레인보우 크랙 프로젝트'에 해당되는 글 1건

  1. 2008.03.24 레인보우 크랙 프로젝트(Rainbow Crack Project) (1)
프로그램이나 요즘 많이 사용하는 웹 사이트에서 회원으로 가입하는 경우에는 아이디(또는 메일 주소)와 비밀번호를 이용하게 됩니다.

회원정보 데이터베이스에서 아이디는 경우 보이는 그대로 저장하지만, 비밀번호는 특정한 알고리즘으로 무장하여 저장하는데 이를 해시(hash)라고 합니다.

즉, 'abcd'와 같은 비밀번호는 특정한 함수를 이용하여 계산하면 '3QC$40D'와 같이 변한되며, 반대로 해시 값을 이용해서 원래의 비밀번호를 찾기가 매우 어렵습니다. 즉, 단방향 함수이며, 역방향으로 값을 찾으려면 거의 모든 값을 무차별로 입력하여 원래의 값과 비교하는 단순 무식(Brute-Force)한 공격(Attack) 방식이 거의 유일합니다.

레인보우 크랙 프로젝트는 해시 값에서 부터 원래의 값을 무차별 대입 방법을 사용하지 않고 나름대로의 고유한 기술(faster time-memory trade-off technolody)을 이용하여 빠른 시간 내에 찾아내는 프로젝트입니다. 이 기술에 대한 자세한 내용은 아래 링크를 참고하십시오.

http://lasecwww.epfl.ch/php_code/publications/search.php?ref=Oech03

하여튼 이 기술을 간단히 요약하면 메모리상에서 미리 계산된 특정한 데이터(테이블)를 사용하여 암호화(해시)하는데 걸리는 시간을 줄이는 기술입니다. 1980년에 Martin Hellman이 최초로 기술하였으며 1982년에 Rivest가 조회하는 메모리의 개수를 줄이는 보다 나은 기술을 선보이게 됩니다. 즉

이를 우리의 컴퓨터 생활에 적용해 보면,

랜매니저와 MD5 테이블은 아래의 레이보우 테이블에서 예로 들어 설명합니다. 가장 흥미로운 부분은 6번째 테이블로 윈도우의 암호(NTLM)를 14글자까지 입력한 경우에는 몇 분 내에 깰 수 있다는 놀라운 사실입니다.

 configuration #6
입력할 수 있는 문자의 종류 [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ]
키 크기 7555858447479 (2^42.8)
테이블 크기 64 GB
성공 가능성 99.9%

이 테이블은 윈도우의 비밀번호(최대 14글자)를 크랙할 수 있는데 입력할 수 있는 문자의 종류는 영문자, 숫자 그리고 일부 특수문자를 포함합니다. 하지만, 약 몇 분 이내에 99.9% 이내의 확률로 비밀번호를 알아낼 수 있습니다.
이는 한대의 컴퓨터를 이용한 것으로 여러 대의 컴퓨터를 이용하면 보다 빨리 알아 낼 수 있습니다.

예 #1: 다음과 같은 암호를 알아 내는 화면/동영상(WMP 9)
    }m-6BRz*Cj=J}G
    D2@,:H?+e5#: $
    Ot\KZ?/a/qr4d^
    yc~<{1!Oe}l_j|
    5~|3&-K^4S#c3q

예 #2. 윈도우 비밀번호를 100자리로 입력할 때 비밀번호를 알아 낸 화면

출처: 레인보우 크랙 프로젝트

다운로드: 윈도우용



reTweet
Posted by 문스랩닷컴
blog comments powered by Disqus


    Web Analytics Blogs Directory