"패스워드 크래킹"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
(새 문서: '''패스워드 크래킹'''(Password Cracking)이란 해당 시스템에 저장되어 있는 비밀번호를 알아내는 기술로 해킹 기법 중 난이도는 낮지만 가장...)
 
2번째 줄: 2번째 줄:
  
 
== 개요 ==
 
== 개요 ==
 +
패스워드 크래킹은 네트워크 컴퓨터 시스템에 의해 전송된 저장 위치로부터 또는 데이터로부터 패스워드를 복구하는 것을 포함한다. 패스워드 크래킹의 목적은 컴퓨터 시스템에 무단 접근을 통해 권한을 얻거나 잊어버린 암호를 복구하기위해 사용한다. 해커가 시스템을 해킹할 수 있도록 테스트 암호 강도를 위한 기술은 크래킹 암호를 사용하는 또 다른 이유가 될 수 있다. 일반적으로 반복적 작업이나 일정한 패턴, 조합 등을 통해 알아내기도 한다.
 +
 +
== 특징 ==
 +
=== 공격 기법===
 +
* 무작위 대입 공격(Brute Force Attack)
 +
: 무작위 대입 공격이란 조합 가능한 모든 패스워드를 대입해보는 것으로 대입하여 똑같은 해시 값이 나오면 성공한다. 기본적으로 모든 해시는 해당 기술을 뚫을 수 있다. 다만, 그 시간이 짧을 수도 있지만 천문학적인 시간이 걸릴 수도 있다. 따라서 패스워드 길이를 늘려 쉽게 뚫리는 것을 방지한다. MD5가 보안 목적으로 적합하지 않은 이유는 해당 기술로 빠른 시간내에 뚫린기 때문이다.
 +
 +
* 레인보우 테이블 공격 (Rainbow Table Attack)
 +
:  현재 패스워드는 패스워드 + 해시를 통해 저장되어 있다. 따라서 패스워드별로 해당 해시 값을 미리 저장해 해당 해시 값을 통해 역으로 패스워드를 찾아내는 방식이다. 하지만 해시함수는 다양하며 해당 데이터를 모두 저장한다는 것은 메모리적으로 많은 부담이된다. 또한 해당 레인보우 테이블을 만드는데에도 많은 시간이 소요되며 해시에 대한 알고리즘 수행시간이 길수록 해당 테이블을 얻어내는 것 역시 많이 어렵다. 이러한 단점을 보안하기 위해 나온 것이 R(Reduction)함수이다. R함수는 레인보우 테이블을 작은 크기로 줄이는데 사용되며, 일정한 패턴이나 유사한 것들을 이용하여 모든 값을 저장하는 것이 아닌 특정 값만 저장하여 패스워드를 역으로 알아내는 것이다.
 +
 +
* 사전 대입 공격(Dicitionary Attack)
 +
: 사전 대입 공격은 예상되는 흔히 쓰이는 패스워드를 모두 저장하여 모두 대입해 보는 방식이다. 무작위의 경우 모든 경우의 수를 따지기 때문에 많은 시간이 소요되고 패스워드가 해당 사전에 저장되어 있지 않을 경우 패스워드 크래킹에 실패한다. 하지만 사전에 저장된 패스워드만 대입하기 때문에 짧은 시간이 소요된다.
 +
 +
* 충돌 공격(Collision Attack)
 +
: 충돌 공격이란 해시 함수 특성상 같은 문자의 경우 해시 값을 가져 충돌이 발생할 때 공격하는 것이다. 따라서 해당 해시함수를 통해 무작위로 패스워드를 입력하여 같은 해시 값이 나올때까지 반복하는 작업을 한다. 해당 공격을 방지하기 위해 나온것이 다양한 해시함수를 사용하는 것과 솔트(Salt) 기술을 병합하는 것이다. 해당 기술은 앞서 충돌 공격을 방지하기 위한 것으로 같은 패스워드일지라도 패스워드 + 해시 + 솔트 구조로 인해 해시 값은 다른 결과를 가져온다.

2019년 7월 11일 (목) 10:02 판

패스워드 크래킹(Password Cracking)이란 해당 시스템에 저장되어 있는 비밀번호를 알아내는 기술로 해킹 기법 중 난이도는 낮지만 가장 강력한 공격이다. 또한 보안 프로그램이 설치되어 있어도 얼마든지 크래킹이 가능한 기법이다.

개요

패스워드 크래킹은 네트워크 컴퓨터 시스템에 의해 전송된 저장 위치로부터 또는 데이터로부터 패스워드를 복구하는 것을 포함한다. 패스워드 크래킹의 목적은 컴퓨터 시스템에 무단 접근을 통해 권한을 얻거나 잊어버린 암호를 복구하기위해 사용한다. 해커가 시스템을 해킹할 수 있도록 테스트 암호 강도를 위한 기술은 크래킹 암호를 사용하는 또 다른 이유가 될 수 있다. 일반적으로 반복적 작업이나 일정한 패턴, 조합 등을 통해 알아내기도 한다.

특징

공격 기법

  • 무작위 대입 공격(Brute Force Attack)
무작위 대입 공격이란 조합 가능한 모든 패스워드를 대입해보는 것으로 대입하여 똑같은 해시 값이 나오면 성공한다. 기본적으로 모든 해시는 해당 기술을 뚫을 수 있다. 다만, 그 시간이 짧을 수도 있지만 천문학적인 시간이 걸릴 수도 있다. 따라서 패스워드 길이를 늘려 쉽게 뚫리는 것을 방지한다. MD5가 보안 목적으로 적합하지 않은 이유는 해당 기술로 빠른 시간내에 뚫린기 때문이다.
  • 레인보우 테이블 공격 (Rainbow Table Attack)
현재 패스워드는 패스워드 + 해시를 통해 저장되어 있다. 따라서 패스워드별로 해당 해시 값을 미리 저장해 해당 해시 값을 통해 역으로 패스워드를 찾아내는 방식이다. 하지만 해시함수는 다양하며 해당 데이터를 모두 저장한다는 것은 메모리적으로 많은 부담이된다. 또한 해당 레인보우 테이블을 만드는데에도 많은 시간이 소요되며 해시에 대한 알고리즘 수행시간이 길수록 해당 테이블을 얻어내는 것 역시 많이 어렵다. 이러한 단점을 보안하기 위해 나온 것이 R(Reduction)함수이다. R함수는 레인보우 테이블을 작은 크기로 줄이는데 사용되며, 일정한 패턴이나 유사한 것들을 이용하여 모든 값을 저장하는 것이 아닌 특정 값만 저장하여 패스워드를 역으로 알아내는 것이다.
  • 사전 대입 공격(Dicitionary Attack)
사전 대입 공격은 예상되는 흔히 쓰이는 패스워드를 모두 저장하여 모두 대입해 보는 방식이다. 무작위의 경우 모든 경우의 수를 따지기 때문에 많은 시간이 소요되고 패스워드가 해당 사전에 저장되어 있지 않을 경우 패스워드 크래킹에 실패한다. 하지만 사전에 저장된 패스워드만 대입하기 때문에 짧은 시간이 소요된다.
  • 충돌 공격(Collision Attack)
충돌 공격이란 해시 함수 특성상 같은 문자의 경우 해시 값을 가져 충돌이 발생할 때 공격하는 것이다. 따라서 해당 해시함수를 통해 무작위로 패스워드를 입력하여 같은 해시 값이 나올때까지 반복하는 작업을 한다. 해당 공격을 방지하기 위해 나온것이 다양한 해시함수를 사용하는 것과 솔트(Salt) 기술을 병합하는 것이다. 해당 기술은 앞서 충돌 공격을 방지하기 위한 것으로 같은 패스워드일지라도 패스워드 + 해시 + 솔트 구조로 인해 해시 값은 다른 결과를 가져온다.