Password cracking 사이버보안학과 2014 시스템보안 ∙ 박세열 ∙ 박민수 ∙
Index Password Cracking 이란? Password Cracking 종류 Window 인증구조 Linux/Unix의 인증구조 실습
Password Cracking 이란? Password? Cracking? 컴퓨터 시스템에 접속을 요구하는 사용자가 실제 사용허가를 받은 본인인지 여부를 확인하기 위해 사용되는 일련의 문자열 Cracking? 다른 사람의 컴퓨터 시스템에 몰래 들어가 정보를 훼손하거나 프로그램을 훼손하는 불법 행위
Password Cracking 이란? Password Cracking? 시스템에 접근을 하거나 로그인을 할 경우 가장 많이 사용되는 패스워드를 다양한 방법으로 획득하는 해킹기법
해시와 암호화 해시 : 임의의 데이터로부터 일종의 짧은 ‘전자 지문’을 만들어 내는 방법 암호화 : 특별한 알고리즘을 이용해 데이터를 전달하는 것 암호화와 해시의 차이 암호화 알고리즘은 암호화되지 않은 평문을 암호화 한 뒤 다시 이것을 해독하는 것이 가능하지만, 해시 알고리즘은 이것에 대한 해독이 불가능하다. 해시의 예) 로마시대 암호화 방식 기본적인 치환방식으로 3자씩 알파벳을 밀어내 대응되는 글자로 치환. 해시는 로직을 알고 있을 경우 해시의 결과 값을 구하기는 쉽지만 해시 결과 값을 통해 해시를 생성하기 전의 원래 값은 알기 어려움.
Salt 란? 해시나 암호화로 패스워드 저장 같은 패스워드는 같은 해시 값, 같은 암호문으로 저장 같은 해시 결과나 암호문은 같은 결과만으로도 패스워드를 노출시키는 약점 Salt는 이런 상황을 막기 위해 패스워드 해시와 암호화에 사용되는 첨가물의 일종 운영체제별로 다양한 알고리즘 존재 그리고 간단하다
Password Cracking 종류 Password Cracking 종류 Dictionary Attack 사전 파일을 사용자 계정의 패스워드에 대입하는 공격기법 Brute Force Attack 패스워드에 사용될 수 있는 무자열의 범위를 정하고, 그 범위 내에서 생성 가능한 모든 패스워드를 생성하여 패스워드로 입력하는 패스워크 크래킹 방법 레인보우 테이블을 이용한 공격
Password Cracking 종류 레인보우 테이블이란? 하나의 패스워드에서 시작해 특정 변이 함수를 여러 번 수행하여 다양한 패스워드를 생성 후 테이블에 저장 변이된 각 패스워드의 해시 값을 체인으로 연결하여 테이블에 저장
Password Cracking 대응책 취약한 패스워드 길이가 너무 짧거나 널(Null)인 패스워드 사전에 나오는 단어나 이들의 조합으로 이루어진 패스워드 키보드 자판을 일련 순으로 나열한 패스워드 사용자 계정 정보에서 유추 가능한 단어들로 된 패스워드
Password Cracking 대응책 강력한 패스워드 패스워드 크래킹 예방법 8자 이상 패스워드(문자+숫자+특수문자) 시스템 혹은 사이트마다 다른 패스워드 사용 베이스 패스워드 활용하기 Ex) datistoryum => 베이스 패스워드 + 추가 패스워드 패스워드 크래킹 예방법 강력한 패스워드 생성 일정 시간마다 윈도우 보안 업데이트 실시 Administrator(관리자) 패스워드 설정
Window 인증구조 LSA : 모든 계정의 로그인 및 접근권한 검사 보안의 중심 역할 SAM : 사용자/그룹 계정 정보에 대한 데이터베이스 관리 SRM : 시스템 권한 부여를 실시하는 역할
로컬 인증 Winlogon에서 아이디 패스워드 입력 후 LSA에게 전송 LSA는 인증 정보 수신 NTLM 모듈을 통해 SAM이 수신 받아 확인하고 로그인 허용
도메인 인증 Winlogon에서 아이디 패스워드 입력 후 LSA에게 전송 도메인에 포함된 컴퓨터의 LSA는 인증 정보 수신 NTLM 모듈을 통해 SAM이 수신 받아 로컬 인증 or 도메인 인증 을 확인하고 도메인 컨트롤러(DC)에 인증요청 도메인 컨트롤러는 커버로스 프로토콜을 이용해 인증
Window 인증구조 Challenge & Response 방식 네트워크상에서 시스템에 로그인할 때 사용 네트워크에 패스워드 노출을 없애기 위함 LM/NTLM 인증 방식을 사용
Window 인증구조 LM 인증 LM 해시 알고리즘 윈도우에서 가장 약한 인증 방법 Windows XP 이하 버전에 사용 크래킹 시간 10초 이하 취약점: 한 바이트씩 비교해 나가면서 검증해 나가면 쉽게 크랙된다.
Window 인증구조 NTLM 인증 NTLM Ver1 해시 알고리즘 LM 해시에 MD4 해시가 추가 LM 해시보다 안전하다 오래 적용되지 않은 기법
Window 인증구조 NTLM v2해시 V2는 윈도우 비스타 이후의 윈도우 시스템에서 기본 인증 프로토콜로 사용 LM/NTLM과는 전혀 다른 알고리즘으로 해시 값을 생성 복잡도가 충분하여 크래킹이 쉽지 않음
Window 인증구조 자격증명 일반PC 사용자는 로그인할 때 로컬 계정 이용 해당 컴퓨터가 도메인과 네트워크에 연결되어 있는 경우에는 NTML이나 커버로스 이용해 로그인 네트워크가 연결되지 않은 경우에도 도메인에 등록된 PC에 로그인할 때 도메인 계정을 사용해 로그인하는데, 이를 가능하게 만는 것이 자격 증명(Cache Credential) ‘Password verifier’라고도 함
Linux/Unix의 인증구조 유닉스의 인증 방식 : 윈도우의 인증 방식보다 단순하지만 더 취약하지는 않다. 유닉스에서 인증에 가장 중요한 역할을 하는 것은 패스워드 파일과 shadow 파일 패스워드는 shadow 파일에 암호화되어 저장 shadow 파일에서 root 계정에 대한 정보 확인(각 정보는 :로 나뉘어 있다.)
Linux/Unix의 인증구조 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ /etc/shadow root : $1$2U0V6vw$zazP.ReTHf6wp0FFJS9oc : 14854 : 0 : 99999 : 7 : : : ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ① 사용자 계정을 나타낸다. ② 암호화된 사용자의 패스워드가 저장된다. 시스템마다 조금씩 다른데, 레드햇의 경우에는 MD5 형식으로 저장된다. ③ 1970년 1월 1일부터 계산하여 마지막으로 패스워드 바꾼 날까지의 값이다. ④ 패스워드를 바꾸기 전에 패스워드를 사용한 기간이다. 최초 설정 후 바꾸지 않았으므로 0이다. ⑤ 패스워드를 바꾸지 않고 최대한 사용할 수 있는 기간이다. ⑥ 패스워드 최대 사용기간에 가까워질 경우 사용자에게 미리 그 사실을 알려야 하며, 여기에 패스워드 사용기한 며칠 전에 경고를 보낼 것인지 지정한다. ⑦ 계정에 대한 사용 제한을 설정한 다음 며칠 후에 완전히 사용 정지되게 할 것인지를 설정한다. ⑧ 계정이 완전 사용 정지된 기간을 1970년 1월 1일부터 계산한 값이 기록된다. ⑨ 관리자가 임의로 사용할 수 있는 부분이다.
Q&A 감사합니다. Password cracking 사이버보안학과 2014 시스템보안 ∙ 박세열 ∙ 박민수 ∙