[정보보안기사] 시스템 보안 - 패스워드 크래킹(Dictionary Attack, Brute Force Attack, Hybrid Attack, Rainbow Table)
패스워드 크래킹
사전 공격/사전 대입 공격 (Dictionary Attack)
패스워드로 자주 사용되는 사전에 있는 단어, 키보드 자판의 입력순(ex. asdf, qwer 등), 주민등록번호, 이름 등을 미리 사전(Dictionary) 파일로 만든 후 이를 하나씩 대입하여 패스워드 일치 여부를 확인하는 패스워드 크래킹 방법
무차별 공격/무작위 대입 공격(Brute Force Attack)
패스워드에 사용될 수 있는 문자열의 범위를 정하고, 그 범위 내에서 생성 가능한 모든 패스워드를 생성하여 이를 하나씩 대입, 패스워드 일치 여부를 확인하는 패스워드 크래킹 방법
일반적으로 사전 대입 공격 실패 후 무차별 공격을 진행한다.
혼합 공격(Hybrid Attack)
사전 대입 공격(Dictionary Attack)과 무작위 대입 공격(Brute Force Attack)을 혼합한 방식으로 사전(Dictionary Attack) 과 무작위 대입 공격(Brute Force Attack)을 혼합한 방식으로 사전(Dictionary) 파일에 있는 무자열에 문자, 숫자 등을 추가로 무작위 대입하여 패스워드 일치 여부를 확인하는 패스워드 크래킹 방법
일반적으로 사전 파일에 나오는 문자열 뒤에 숫자나 문자를 추가하는 형태의 패스워드가 많이 사용되는 점을 악용(ex. iloveyou1004)
레인보우 테이블(Rainbow Table)을 이용한 공격
레인보우 테이블은 하나의 패스워드에서 시작해 특정한 변이 함수를 이용해 여러변이된 형태의 패스워드를 생성한다. 그리고 각 변이된 패스워드의 해시를 고리처럼 연결하여 일정 수의 패스워드와 해시로 이루어진 체인(Chain)을 무수히 만들어 놓은 테이블이다.
해시 테이블과 R(Reduction)함수의 반복 수행을 통해 일치하는 해시값을 통해서 패스워드를 찾아내는 방식이다.