패스워드 크래킹 ( Password cracking )
공격자가 사용자의 패스워드를 알아내는 공격
패스워드 크래킹 ( Password cracking )
Password = 비밀번호
Cracking = 깨지다, 부서지다, 깨뜨리다, 부수다
공격자가 암호화된 사용자의 패스워드를 평문 형태로 알아내는 공격
패스워드 크래킹 종류
1. 사전 공격 (Dictionary Attack)
- 영어사전, 국어사전에 용도에 맞는 나라의 단어가 있는 것 처럼 하나의 패스워드사전이라고 생각하면 쉽다.
- 패스워드를 모아서 하나의 사전파일로 만든 후 하나씩 대입 하여 패스워드 일치 여부를 확인한다.
- ex) asdf, qazplm, angel
2. 무차별 대입 공격 (Brute Force Attack)
- 비밀번호로 사용 될 수 있는 모든 문자를 대입 하여 패스워드 일치 여부를 확인한다.
- ex) a, ab, abc
3. 혼합 공격
- 사전 공격 + 무차별 공격 혼합하여 공격한다.
- 사전파일에 있는 문자열에 문자, 숫자 등을 추가로 무작위 대입하여 패스워드 일치 여부 확인
- 일반적으로 사전 파일 문자열 뒤에 숫자나 문구를 추가
- ex) qazplm159, asdf123
4. 레인보우 테이블 (Rainbow Table) 공격 ( 19.14회 실기 기출 )
- 패스워드와 해시로 이루어진 테이블을 무수히 만들어놓은 체인을 이용
- 테이블과 R함수의 반복 수행을 통해 일치하는 해시값을 통해서 패스워드 찾아내는 방식
- ex)
1. 저는 1개를 만들었지만 실제로는 이러한 체인들 여러개 모아 놓은걸 레인보우 테이블이라고 합니다.
2. 찾고 싶은 해시 값 = 5fqewfqw9651
3. 최종 테이블 마시막 해시 값이 5fqewfqw9651 라면 그 테이블로 이동합니다.
4. But, 현재 보이는 체인 중에는 5fqewfqw9651 마지막 해시 값이 아닙니다.
5. 그렇다면 5fqewfqw9651를 r함수를 이용해서 비밀번호 5965를 획득합니다.
6. 그 다음 5965를 해시함수를 이용해서 해시 값 1dqfqdsfq664를 획득합니다.
7. 드디어 마지막 해시 값 1dqfqdsfq664 일치하는 최종 테이블을 찾았습니다. 그 테이블로 이동합니다.
p.s
? r함수
r함수를 이용해서 나오는 값은 해시 함수 중 숫자 앞에 있는것으로 저장합니다.
제가 만든 테이블 해시 값에는 숫자가 밑줄 쳐 있고 r함수를 이용하면 그 숫자들이 비밀번호가 되어 저장됩니다.
? 방어기법
salt 방식으로 방어 가능
레인보우테이블은 패스워드와 패스워드에 대한 해시 값으로 이루어진 수많은 테이블로 솔트값을 사용하면 같은 패스워드여도 다른 해시값처럼 보이기 때문에 레인보우테이블 크래킹 공격에 대응가능하다.
'[자격증] 정보보안기사 > ↘ 정보보안 실무' 카테고리의 다른 글
링크파일 (0) | 2020.05.04 |
---|---|
파일시스템 (0) | 2020.05.04 |
[ 정보보안 기사/산업기사 ] 파이프(Pipe) (0) | 2020.05.01 |
입출력재지정 (0) | 2020.05.01 |
윈도우 기본 학습 (0) | 2020.04.22 |
댓글