410 likes | 602 Views
정보 보안 개론과 실습 시스템 해킹과 보안. √ 원리를 알면 IT 가 맛있다. ehanbit.net. 학습목표. 해커 침입 시 사고 대응 절차 이해 흔적 삭제 방법 이해 흔적 추적 이해 삭제한 파일 복구. 침입 사고 발생 시 대응. ■ 해킹 침입사고 발생시 대응절차 1/2. 1. 로그 확인 간단한 로그를 이용해서 시스템에 현재 해커가 침투하여 활동하고 있는지 또는 활동을 했었는지 확인한다 . 2. 현재 해커가 침투한 경우의 대응 – ① 메모리 덤프
E N D
정보 보안 개론과 실습 시스템 해킹과 보안 √ 원리를 알면 IT가 맛있다 ehanbit.net
학습목표 • 해커 침입 시 사고 대응 절차 이해 • 흔적 삭제 방법 이해 • 흔적 추적 이해 • 삭제한 파일 복구
침입 사고 발생 시 대응 • ■ 해킹 침입사고 발생시 대응절차 1/2 1.로그 확인 간단한 로그를 이용해서 시스템에 현재 해커가 침투하여 활동하고 있는지 또는 활동을 했었는지 확인한다. 2. 현재 해커가 침투한 경우의 대응 –①메모리 덤프 현재 해커가 침투해 있는 경우에는 메모리를 덤프한 후 이를 CD-ROM과 같이 다시 쓰기가 불가능한 백업 장비에 저장한다. 가장 강력한 법적 효력을 가진 것은 메모리 덤프이며, 또한 법적 증거물로 적절성을 위해 위/변조가 불가능한 CD-ROM에 저장한다. 3. 현재 해커가 침투한 경우의 대응 - ② 해커의 접속 차단 접속해 있는 해커의 연결을 끊고, 디스크의 이미지를 다시 CD-ROM과 같이 수정이 불가능한 미디어에 저장한다. 이때는 일반적으로 두 개의 이미지 CD를 만든다. 하나는 법적 증거물 제출용으로, 다른 하나는 침입 추적(Forensic)용으로 사용한다.
침입 사고 발생 시 대응 • ■ 해킹 침입사고 발생시 대응절차 2/2 4. 현재 해커가 침투한 경우의 대응 - ③ 운영자에게 통보 관리자는 자신의 상위 직급에 있는 관리자 또는 운영자에게 이 사실을 알려야 한다. 알리는 방법으로는 전화와 같이 즉각적인 반응 수용이 가능한 통신 수단을 이용한다. 5. 현재 해커가 침투한 경우의 대응 - ④ 침입자 추적 침입 추적 과정에서 공격자가 삭제한 파일을 복구하고, 이를 증거로서 제출할 수 있도록 하는 과정이 필요하다. 또한 시스템 분석과 동시에 시스템의 복구 한다. • 추적 시 확인사항 - 시스템에 설치된 응용 프로그램의 변조 여부 - 시스템 설정 파일의 변조 여부 - 데이터의 삭제 및 변조 여부 - 운영중인 다른 시스템에 대한 침투 여부 확인
윈도우 시스템에서의 흔적 제거 • ■ 윈도우 시스템에서의 흔적 제거 1/6 • 세션의 생성 및 로깅 정책의 파악 net use \\192.168.68.4 "qwer1234" /u:administrator auditpol \\192.168.68.4
윈도우 시스템에서의 흔적 제거 • ■ 윈도우 시스템에서의 흔적 제거 2/6 • 원격지 시스템의 로깅 중지 auditpol \\192.168.68.4 /disable
윈도우 시스템에서의 흔적 제거 • ■ 윈도우 시스템에서의 흔적 제거 3/6 • 원격지 시스템의 로깅 중지 확인
윈도우 시스템에서의 흔적 제거 • ■ 윈도우 시스템에서의 흔적 제거 4/6 • 원격지 시스템의 로그 삭제 clearlogs \\192.168.68.4 -sec
윈도우 시스템에서의 흔적 제거 • ■ 윈도우 시스템에서의 흔적 제거 5/6 • 원격지 시스템의 로그 삭제확인
윈도우 시스템에서의 흔적 제거 • ■ 윈도우 시스템에서의 흔적 제거 6/6 • 원격지 시스템의 로컬 로그 삭제 logkiller
윈도우 시스템에서의 침입 추적 • ■ 윈도우 시스템에서의 침입 추적 (로그인 사용자 확인) • 현재 시스템에 로그인한 사용자 확인 ntlast -i • 로그인 시도시 실패 목록 ntlast -f
윈도우 시스템에서의 침입 추적 • ■ NTFS 파일 구조에 대한 이해 ○ PBS(Partition Boot Sector) PBS는 부팅에 필요한 최소한의 정보를 담으며, 이 부분에 부팅 시 구동되 NTLDR(NT Loader Program)에 대한 정보가 담긴다. 디스크의 최초 16섹터가 이 PBS로 사용된다. ○ MFT(Master File Table) MFT 영역에는 모든 파일과 디렉토리에 대한 파일 이름, 크기, 생성 시간 등 파일에 대한 데이터 이외의 모든 정보를 담고 있다. 이 MFT 영역은 디스크를 포맷할 때 일정양의 비율로 미리 할당되며, 사용자가 임의로 사용할 수 없는 영역이다. 또한 파일, 디렉토리의 크기에 따라 형식이 약간 다르다. 작은 파일과 디렉토리(약 1500바이트 미만)는 다음과 같은 형식을 가진다.
윈도우 시스템에서의 침입 추적 • ■ NTFS 파일 구조에 대한 이해 ○ 시스템 파일 시스템 파일은 앞서 얘기한 MFT를 포함하여 파일 복사나 삭제 등의 과정 중에 시스템이 오류를 일으킬 때, 이를 복구하는 데 사용할 디스크 사용에 대한 로그 파일, 디스크 볼륨 이름 등 디스크 자체에 대한 정보들을 담는 파일이 저장된다. ○ 파일 영역 각 파일에 대한 실제 데이터가 저장되는 곳이다. ○ 작은 파일 및 디렉토리 구조
윈도우 시스템에서의 침입 추적 • ■ NTFS 파일 삭제 및 복구 각 파일의 MFT에는 파일의 상태에 대한 2바이트의 flag 값이 존재하는데, 이 값이 ‘1’일 경우에는 파일이 정상적으로 사용되는 것이며, ‘0’이면 삭제된 파일을 나타낸다. 따라서 여러 파일을 삭제하면 각 파일의 flag 값만 모두 ‘1’에서 ‘0’으로 바꾸는 것이 된다. 삭제한 후 파일에 대한 다른 동작을 하지 않은 상태라면, ‘0’을 ‘1’로 바꾸어주면 파일은 복구되는 것과 마찬가지다. 하지만 이 MFT 부분을 임의로 수정할 수 없으므로 다른 디스크에 새로운 파일로 복사하는 형식으로 파일을 복구한다. 파일 복구가 모두 이와 같다면 NTFS에서의 파일 복구는 아주 짧은 시간에 가능할 것이다. 보통 MFT는 아무리 커도 일반적인 시스템에서 10MB 정도의 크기를 넘지 않기 때문이다. 문제는 파일의 상태에 대한 flag 값이 ‘0’으로 바뀌면 해당 MFT는 변경되고 다른 데이터에 의해 덮여 쓰일 수 있다. 이렇게 되면, MFT는 손상되고 MFT가 손상된 파일을 복구하기 위해서는 하드 디스크 전체를 스캔할 수밖에 없다. 또한 파일 영역에서조차 해당 파일 내용이 손상되면, 정상적인 파일 복구는 가능하지 않다.
윈도우 시스템에서의 침입 추적 • ■ 윈도우 시스템에서 프로세스별 덤프 획득하기 ○ Userdump의 설치 ○ 메모리 덤프 규칙 설정
윈도우 시스템에서의 침입 추적 • ■ 윈도우 시스템에서 프로세스별 덤프 획득하기 ○ 메모리 덤프한 결과 확인
윈도우 시스템에서의 침입 추적 • ■ 윈도우 시스템에서 프로세스별 덤프 획득하기 ○ 사용자 프로세스 확인 userdump -p
윈도우 시스템에서의 침입 추적 • ■ 윈도우 시스템에서 프로세스별 덤프 획득하기 ○ 사용자 프로세스 덤프 userdump 228 winlogindump
윈도우 시스템에서의 침입 추적 • ■ 시스템 이미지 획득 ○ Ghost를 이용한 디스크 이미지 복사
윈도우 시스템에서의 침입 추적 • ■ 삭제된 파일의 복구 ○ Final Data를 이용한 삭제된 파일 복구
유닉스 시스템에서의 흔적제거 • ■ 유닉스 시스템에서의 흔적제거 ○ GCC 설치 ○ invisible.c를 이용한 UTMP 로그 삭제
유닉스 시스템에서의 침입추적 • ■ 유닉스 파일시스템의 구조 1/3 ○ VTOC 디스크 라벨(Disk Label) VTOC에서는 디스크의 첫번째 섹터(512 바이트)를 차지하며, 각 파티션에 대한 정보를 담는다. ○ 부트 블록(Boot Block) VTOC 다음의 15섹터를 차지하며, 부팅 시 최초 실행되는 Bootstrap 프로그램이 여기에 위치한다. 또한 디렉토리의 가장 상위에 있는 ‘.(root directory)'도 여기에 위치한다.
유닉스 시스템에서의 침입추적 • ■ 유닉스 파일시스템의 구조 2/3 ○ 프라이머리 슈퍼 블록(Primary Super Block) 16섹터 크기이며, 다음과 같은 정보를 포함한다. •데이터 블록의 개수 •실린더 그룹의 개수 •데이터 블록의 크기 및 조각(Fragment) •하드웨어 정보 •마운트 포인트 정보 •파일 시스템 상태 정보 ○ 백업 슈퍼 블록(Backup Super Block) 백업 슈퍼 블록은 슈퍼 블록의 중요성 때문에 각 실린더 그룹마다 하나씩 복사하여 존재한다. 따라서 슈퍼 블록이 손상되더라도 충분히 복구가 가능해진다.
유닉스 시스템에서의 침입추적 • ■ 유닉스 파일시스템의 구조 3/3 ○ 백업 슈퍼 블록(Backup Super Block) 백업 슈퍼 블록은 슈퍼 블록의 중요성 때문에 각 실린더 그룹마다 하나씩 복사하여 존재한다. 따라서 슈퍼 블록이 손상되더라도 충분히 복구가 가능해진다. ○ 실린더 그룹 블록(Cylinder Group Block) 각 실린더 그룹에는 다음과 같은 정보가 저장된다. • I-노드의 개수 •실린더 그룹에 속한 데이터 블록의 개수 •디렉토리의 개수 •실린더 그룹 내에 사용하지 않는 블록, I-노드 개수 ○ 데이터 블록(Data Blocks) 실린더 그룹별 데이터 블록의 기본 크기는 8192바이트다.
유닉스 시스템에서의 침입추적 • ■ I-node의 구조 I-노드는 이러한 데이터 블록에 대한 참조(Index) 정보를 가지고 있다. 결국 각 파일은 각 실린더 그룹에 속하며 하나의 I-노드에 의해 구성된다. 이 I-node에는 데이터 블록에 대해 총 15개의 참조 정보가 있으며, 12번째 데이터 블록까지 기본으로 사용되며, 파일의 크기가 96KB 를 넘으면 13번째의 확장 참조자가 사용된다. 13번째는 파일이 16MB 이하의 경우에 사용되며, 14번째는 32GB, 16번째는 70TB까지 이론상으로 가능하다. 하지만 실질적으로 유닉스 파일 시스템에서 크기가 1TB 이상인 파일은 존재할 수 없다.
유닉스 시스템에서의 침입추적 • ■ 유닉스 시스템에서의 메모리 덤프 ○ memdump 설치 ○ 메모리 덤프 ./memdump > memorydump
유닉스 시스템에서의 침입추적 • ■ 유닉스 시스템에서의 삭제된 파일 복구 1. NFS 공유 설정 vi /etc/dfs/dfstab vi /etc/hosts
유닉스 시스템에서의 침입추적 • ■ 유닉스 시스템에서의 삭제된 파일 복구 1. NFS 공유 설정 /etc/init.d/nfs.server start dfshares /mount -o rw 192.168.68.5:/wish free/forensic /forensic
유닉스 시스템에서의 침입추적 • ■ 유닉스 시스템에서의 삭제된 파일 복구 2. 시스템 이미지 획득 df dd bs=1024 if=/dev/dsk/c0d0s0 of=/forensic/victim.dd
유닉스 시스템에서의 침입추적 • ■ 유닉스 시스템에서의 삭제된 파일 복구 3. Sleuthkit 설치 gzip -d sleuthkit-1.68.tar.gz tar xvf sleuthkit-1.68.tar PATH=$PATH:/usr/local/bin:/opt/sfw/bin:/usr/ccs/bin make
유닉스 시스템에서의 침입추적 • ■ 유닉스 시스템에서의 삭제된 파일 복구 4. 획득한 디스크 이미지 분석 - 디렉토리 구조 및 i -노드 번호 획득 ./fls -f solaris -r /wishfree/forensic/victim.dd > list.txt vi list.txt
유닉스 시스템에서의 침입추적 • ■ 유닉스 시스템에서의 삭제된 파일 복구 4. 획득한 디스크 이미지 분석 - 실린더 그룹 정보 획득 ./fsstat -f solaris /wishfree/forensic/victim.dd > group.txt vi group.txt
유닉스 시스템에서의 침입추적 • ■ 유닉스 시스템에서의 삭제된 파일 복구 4. 획득한 디스크 이미지 분석 - 실린더 그룹 의 내용 추출 ./dls -f solaris /wishfree/forensic/victim.dd 16128-32255 > /wishfree/forensic/group1.dls
유닉스 시스템에서의 침입추적 • ■ 유닉스 시스템에서의 삭제된 파일 복구 4. 획득한 디스크 이미지 분석 - 실린더 그룹 의 내용 확인 vi /wishfree/forensic/group1.dls
유닉스 시스템에서의 침입추적 • ■ 유닉스 시스템에서의 삭제된 파일 복구 4. 획득한 디스크 이미지 분석 - i-노드 정보 추출 ./ils -f solaris -m /wishfree/forensic/victim.dd > /wishfree/forensic/ils-result ./mactime -b /wishfree/forensic/ils-result > /wishfree/forensic/mac-result
유닉스 시스템에서의 침입추적 • ■ 유닉스 시스템에서의 삭제된 파일 복구 4. 획득한 디스크 이미지 분석 - mac-result 내용 확인 vi /wishfree/forensic/mac-result
유닉스 시스템에서의 침입추적 • ■ 유닉스 시스템에서의 삭제된 파일 복구 4. 획득한 디스크 이미지 분석 - 특정 i노드 정보 확인 ./istat -f solaris /wishfree/forensic/victim.dd 4321
유닉스 시스템에서의 침입추적 • ■ 유닉스 시스템에서의 삭제된 파일 복구 4. 획득한 디스크 이미지 분석 - 특정 데이터 블록의 정보 확인 ./dcat -f solaris -h /wishfree/forensic/victim.dd 94584
유닉스 시스템에서의 침입추적 • ■ 유닉스 시스템에서의 삭제된 파일 복구 4. 획득한 디스크 이미지 분석 - 파일 복구 ./icat -f solaris /wishfree/forensic/victim.dd 4321 > /wishfree/forensic/4321
Thank you ehanbit.net