네트워크를 차단하거나 전원을 차단했을 때 소멸되는 공격 흔적 또는 쉽게 변화되거나 삭제되는 휘발성 정보를 수집하기 위하여 초기 분석을신속히 수행하여야 한다. 또한 효과적인 대응을 위해서 구체적인 절차를 알고 있어야 하기에 이에 대해서 설명해보고자 한다.
kisa에서 발표한 침해사고대응을 기준으로 보면 절차는 간략하게 다음과 같다.
기초 정보 수집 -> 프로세스 정보 분석 -> 네트워크 정보 분석 -> 레지스트리 분석 -> 로그 기록확인 -> rootkit 분석 -> 원인 분석을 위해 악성코드 동작 분석을 통해 원래 상태 복구 필요한 도구 설명
kisa의 경우 os에서 자체적으로 주는 기능 혹은 sysinternal을 사용하였다. 하지만 덤프를 통한 백업 혹은 로그들이 삭제되어 있을 경우 이를 복구하는 방식은 가르쳐주지 않았다.
그럼에도 좋은 내용이니 확인 해보실 바람 . : https://www.kisa.or.kr/2060204/form?postSeq=11&page=1
디스크 메모리(백업 및 분석의 목적)
초기분석의 목적은 사고 인지 시점에서 피해시스템의 상태를 변경시키지
않고 원인 규명에 필요한 모든 침입 흔적을 찾아보는 것이다.
우선 침해사고가 발생한 시스템의 디스크 이미지를 복사할 수 있는 프로
그램을 활용하여 디스크 이미지를 생성한다.
- 사용하는 툴 dd, ftk imager
- dd의 경우 비트바이 비트로 하드디스크를 복사할 수 있기 때문에 숨겨진 파일등 다양한 파일들을 복사할 수 있다. 또한 삭제할 수 없는 파일또한 삭제할 수 있다.
- 참고로 DD 사용전 포렌식에서 주용한 무결성 보호를 위해서 레지스터를 편집하여 보호한다.
휘발성 메모리
fmem, lieme 등의 프로그램을 사용하여 덤프한다. 휘발성 메모리에는 다양한 정보들이 들어있기에 추후 침해대응에 많은 도움을 준다.
시스템 기본 정보 수집
-
psinfo 시스템 기본정보를 보여준는 프로글매이다.
(-h: 설치된 핫픽스 정보, -s 설치된 S/W 목록정보, -d 디스크 볼륨정보)
-
핫픽스(hotfix 또는 quick-fix engineering update) 또는 QFE 업데이트(QFE update)는 제품 사용 중에 발생하는 버그의 수정이나 취약점 보완, 또는 성능 향상을 위해 긴급히 배포되는 패치 프로그램을 말한다
-
date 분석 당시 시스템 날짜오 시간을 기록한다.(윈도우 내부 명령)
-
uptime 프로그램의 부팅시간정보 확인
(/s 시스템 로그를 분석하여 재부팅 횟수, 블루스크린 횟수등의 통계정보를 보여줌)
네트워크 정보 수집
- ipconfig(윈도우 내부 명령어) : 시스템에 구성된 전체 IP주소, 서브넷 마스크, 기본게이트웨이를 확인하고 추가적으로 IP Routing 옵션이 enable로 되어 있는지, 새로운 IP주소가 추가되어 있는지, 초기 설정에 변경된 사항이 있는지 점검한다.
(/all:시스템에 설치된 모든 네트워크 인터페이스정보 출력해준다)
-net sess(윈도우 내부 명령어) :로컬 컴퓨터의 공유자원에 접속한 클라이언트의 세
션 정보를 수집한다. 현재 공유자원에 접속한 컴퓨터이름, 사용자이름, 클라이언트 유형, 접속 수, 접속 유지 시간 등을 알 수 있다.
-nbtstat -c(윈도우 내부 명령어): TCP/IP의 NetBIOS 이름 테이블 정보를 수집
한다.
- arp -a(윈도우 내부 명령어): IP주소와 매칭되는 네트워크 인터페이스 하드웨어
주소 정보를 수집한다.
- route(윈도우 내부 명령어) : 로컬 컴퓨터에 설정된 라우팅 테이블 정보를 보여
준다
- net share(윈도우 내부 명령어) : 로컬 컴퓨터의 모든 네트워크 공유자원에 대한 정보를 보여준다
- netstat -na(윈도우 내부 명령어) : 로컬 컴퓨터의 TCP/IP 연결 상태와 프로토콜 통계 정보를 보여준다. 로컬 컴퓨터에 현재 활성화된 네트워크 연결정보 및 연결을 막 끝낸정보, 사용되는 포트 정보를 수집한다.
- tcpview : 로컬 컴퓨터의 TCP/IP 연결 상태와 해당 프로세
스명을 실시간으로 보여준다
포트별 서비스 정보 수집
- fport 어떠한 응용 프로그램이 어떤 포트를 사용하는지에
대한 정보를 보여준다.
/p :포트별 정렬 /a :응용프로그램 이름순 정렬
/I :프로세스 ID 정렬 /ap :응용 프로그램 디렉토리 순 정렬
아래는 포트확인 사이트이다.
http://www.iana.org/assignments/port-numbers
http://www.portsdb.org
http://www.insecure.org/nmap/
http://www.foundstone.com/index.htm?subnav=resources/navigation.htm&subcontent=/
resources/proddesc/superscan.htm
스니퍼 실행 확인
- promiscdetect:네트워크 인터페이스 카드의 promiscuous
모드 동작 유무를 알려준다.
사용자/그룹 정보 수집
- net user(윈도우 내부 명령어) 로컬 컴퓨터의 사용자 정보를 보여준다.
- net localgroup(윈도우 내부 명령어) 로컬 컴퓨터의 그룹 정보를 보여준다.
로그인 정보 수집
- psloggedon 로컬 컴퓨터 및 원격 컴퓨터의 로그인 정보 점검 도구이다.
- net 동작중인 서비싀 목록을 보여준다.
레지스터리 분석
- 대부분의 악성 프로그램은 시스템이 재부팅 되더라도 다시 실행될 수 있
도록 설정된다.
- 윈도우 시작 프로그램에 등록된 프로그램을 점검한다.
- 윈도우 설정파일 win.ini, system.ini 파일에 등록되어 있는 프로그램
을 점검한다.
- 레지스트리에 등록되어 있는 프로그램을 점검한다
로그 기록 분석
- 로그 기록을 분석한다
- 만약 로그 기록이 없을 경우 해커가 삭제한 것이다.