본문 바로가기
Forensics

[포렌식] 침해사고 포렌식

by 수픽 2021. 2. 1.

침해사고

: 정보통신시스템에 대한 비인가 된 행위 또는 위협의 발생

 

[법] 해킹, 컴퓨터바이러스, 논리폭탄, 메일폭탄, 서비스거부 또는 고출력 전자기파 등에 의하여 정보통신 망 또는 이와 관련된 정보시스템을 공격하는 행위로 인하여 발생한 사태

[실무] 해킹, 컴퓨터바이러스 유포에 한정하지 않고, 모든 전자적인 공격 행위

 

ex) 비인가 된 시스템의 사용, 사용자의 계정 도용, 악성코드 유입 및 실행, 정보 서비스 방해

* 자연재해, 정전, 절도, 물리적 파괴와 같은 물리적 사고는 침해사고에 포함되지 않음

 

특징 : 대규모, 분산화, 범죄적 성향

필요성 : APT 공격으로 침해사고 빈번, 적절한 대응 및 분석 필요

- 금전적 이익, 지능적+복합적 기법, 피해 확산, 복구 불완전으로 인한 반복적 피해 발생

 

①국외해커 -> 국내 홈페이지 해킹 -> 악성코드 은닉 -> 사용자정보 해외유출

②국내 웹 서버 해킹 -> 금융사기를 위한 피싱 사이트로 악용

③PC들이 악성Bot등 악성코드에 감염 -> C&C -> DDoS공격 수행

④스파이웨어, 키로그, 루트킷 등

-> 침해사고 분석이 점점 어려워짐

 

종류

  1. 악성코드 공격 : 바이러스, 트로이 목마, 웜, 백도어 등
  2. 비인가 접근 : 시스템 내 취약점을 이용한 접근, 정보 노출 등
  3. 서비스 거부 공격 : S/N 정보 서비스 방해 등

침입사고 종류

  

침해사고 분석 절차

체계가 수립되어 있어야 함

 

수집 할 수 있는 최대한의 정보 기록, 정확 파악, 제 2의 통신 수단 사용, 문제 최대한 억제, 백업, 문제 제거, 사고 복구, 복귀

침해사고 분석 절차

1단계. 사고 전 준비

비상연락체계, 사고대응을 위한 요소 구비 

CERT팀이 사고 대응 실시할 수 있도록 사전에 준비할 단계

 

사고대응체제의 준비 과정 

  1. Host 및 Network 기반 보안측정 수행, 최종 사용자 교육 훈련
  2. IDS 설치/ 강력한 접근통제 실시
  3. 적절한 취약점 평가 실시, 규칙적인 백업 수행, CERT팀과 비상 연락망 구축

CERT팀의 준비

  1. 사고 조사를 위한 도구(H/W,S/W)구비
  2. 사고 조사를 위한 문서양식 정형화
  3. 대응 전략 수행을 위한 적절한 정책과 운용 과정 수립
  4. 간부, 직원들에 대한 교육 훈련 실시

 

2단계. 사고 탐지

인력, 정보보호시스템(IDS, 방화벽..) 등을 통해 사고 여부 확인

사고 탐지 예시

초기대응 점검 표  (사고대응 팀)

현재 시간과 날짜 / 사고보고 내용과 출처 / 사건특성 / 사건발생 일시 / 관련 S/W,H/W / 사고탐지 및 사고발생 관련자의 네트워크 연결지점

 

사고대응팀이 사고관련자와 면담 수행 후 초기 대응 점검표 작성. 그 후 CERT 팀 활동 시작

 

3단계. 초기대응

다음 단계로 진행함에 있어 충분한 정보 수집

초기 조치 사항들을 인수인계, 문서화 기록 유지, 초기대응 관련 데이터 수집 (관리자 면담, 로그 분석, 접근 통제 리스트 분석)

 

침해사고 대응 팀이 검증을 통해 검토해야 할 사항

현재 발생한 사건이 시스템과 네트워크를 직간접적으로 침해한 사건인가?

이 사건이 업무 및 서비스에 영향을 주는가?

 

초기대응 단계가 마무리 되면 알 수 있는 것

실제로 사고가 일어났는가?(오탐 여부확인)

침해된 시스템에 대한 적당한 대응책이 있는가?

사건의 유형은 무엇인가?

사고로 인한 잠재적인 업무 영향은 무엇인가?

 

-> 사고를 어떻게 처리할 것인가 결정 (대응전략 수립의 기초자료 사용)

 

4단계. 대응전략수립

침해사고와 관련된 요인들을 고려하여 적절한 대응전략을 결정하는 단계

 

환경의 전체적인 고려

사고조사를 위해 얼마나 많은 자원이 필요한가?

포렌식 이미징 작업이 필요한가?

형사or민사소송이 필요한가?

대응전략에 다른 관점이 있는가? ...

 

공격환경 및 대응 능력 고려

침해 당한 컴퓨터가 얼마나 중요하고 위험한가?

정보가 얼마나 민감한 것인가?

사건이 외부에 알려졌는가?

직/간접적인 공격자는 누구인가?

비인가 접근의 수준은 어느 정도인가?

공격자의 수준은 어느 정도인가?

시스템과 사용자의 업무중단 시간은 어느 정도 인가?

어느 정도 피해가 있었는가? ...

++

네트워크 및 시스템 다운시간과 이로 인한 운영상의 영향

사건 공개와 그에 따른 조직의 대외 이미지와 업무에 영향

지적 재산권의 도용과 잠재적인 경제적 영향

 

-> 초기 대응 동안 얻은 세부사항을 충분히 검토, DoS 공격의 출처가 각기 다를 경우 대응 전략을 다르게 해야 함

 

법적인 대응 여부 결정 시 고려사항

사고의 비용이나, 피해 정도가 범죄 전문가를 초빙할 만한가?

사법이나 형사 조치가 조직이 원한 만큼 결과를 얻을 수 있는가?

사고 원인 분석은 타당한가?

수사에 도움이 되는 적절한 문서와 정리 된 보고서를 가지고 있는가?

수사관이 효과적으로 행동할 수 있도록 준비될 수 있는가?

수사관들과 공조한 경험이 있거나 그 방법을 잘 알고 있는가?

사고 내용의 공개를 감수 할 수 있는가?

데이터 수집 절차는 합법적인 행동이었는가?

법률 분쟁 시 사업 수행에 어떻게 영향을 줄 것인가?

 

5단계. 사고조사

정보수집을 통해 6하 원칙 사항을 결정

 

사고조사 과정 2단계

사고 조사 2단계
데이터 분석 예시

 

데이터 수집 단계

호스트 기반 정보

Live Response(대상시스템이나 피해시스템의 휘발성 데이터 수집) 수행

-> 휘발성 증거 :  시스템 정보, Process, Network, Memory

 

대상 매체의 디스크 복제 여부

-> 사고조사가 어렵고, 지워진 데이터를 복구해야 할 필요가 있는 경우

-> 소송과 같은 법적 조치가 예상되면 컴퓨터 포렌식이미징 작업 수행

 

네트워크 기반 정보

관련자의 허락을 득한 네트워크 모니터링 기록

ISP가입자의 이용기록 장치/감시 장치의 로그

IDS, 라우터, 방화벽, 인증서버 로그

고의적으로 손상시킬 여지가 있는 관련자를 증거로부터 격리

추가적인 증거나 정보를 축적

정보 노출의 범위를 검증

사고와 관련된 추가 내부 인원들을 확인

네트워크에서 일어난 이벤트의 타임라인 결정

대응 방침에 대한 상급자의 확실한 승인을 확보

 

기타 정보

증언 및 사람들로부터 얻어진 다른 정보들

전통적인 조사방식으로 증거를 수집 (ex. 직원 인터뷰+ 모아진 정보 문서화)

 

데이터 분석 단계

모든 수집된 정보의 전체적인 조사를 의미

로그파일, 시스템 설정 파일, 히스토리 파일 등을 포함

 

자료분석단계 상세

자료분석단계

 

6단계. 보고서 작성

각 단계에서 정리된 내용을 6하 원칙에 의거하여 객관적으로 보고서 작성

누구나 알기 쉽게

데이터 획득, 보관, 분석 등의 과정을 6하 원칙에 따라 명백하고 객관적으로 서술

세부 사항 정확하게 기술

의사 결정자가 이해하기 쉽게

재판에서 발생할 논쟁에 대응할 수 있게 치밀하게 작성

보고서 작성

 

7단계. 복구 및 해결

조직의 위험 우선순위 식별

네트워크/호스트에 대해 밝혀진 취약점에 대한 조치(IDS,접근제어,방화벽,OS패치 등)

시스템을 개선할 책임자 지정

시스템 개선이 이루어 지고 있는지 추적

모든 복구 과정이나 대책의 유용성 검증

보안 정책 개선

 

윈도우 침해 사고 조사 프로세스

윈도우 침해 사고 조사 프로세스

 

리눅스 침해 사고 조사 프로세스

리눅스 침해 사고 조사 프로세스

 

침해사고 사례

3.4 DDoS

11년 3월 2일 국내 웹 하드 업체인 쉐어박스를 시작으로 보보파일, 파일시티, 슈퍼다운 등의 웹 하드업체 해킹을 통해 클라이언트 모듈 업데이트를 이용하여 악성코드를 배포하여 좀비화

 

네이트 해킹

네이트 개인정보 유출 사건은 2011년 7월 26일에 네이트의 DB에 저장된 가입자 3500만 명의 ID,P/W,이름,주민번호 연락처 등의 개인정보가 유출

 

3.20 전산 대란

3.20 전산 대란은 13년 3월 20일 주요 언론과 기업의 전산망이 마비되고, 다수의 컴퓨터가 악성코드에 감염되어 피해를 입은 사건

 

KB사,Lotte사,NH사 정보유출

침해과거 정보유출 사례와 달리 이번에는 카드사가 시스템 구축을 의뢰한 업체 직원들이 고의로 정보를 유출했고, 이름과 전화번호는 물론 카드번호와 유효기간 등 20가지가 넘는 정보가 유출되는 사건이 발생

 

사회공학

침해보안의식이 높아짐에 따라 일반적인 해킹 공격기법으로는 공격이 쉽게 이루어지지 않지만, 사회에 이슈화되는 내용 또는 개인의 목적을 이용한 사회공학 공격이 발생

 

Stuxnet

침해영화의 배경으로도 사용이 된 스턱스넷은 산업 자동화 제어 시스템을 공격목표로 제작된 악성코드 이며, 이를 이용한 공격이 발생

 

소니픽처스

최근 국가간 비하 발언으로 인해 이를 이용한 국가간 해킹 사건 사고가 빈번히 일어나는 추세

 

한수원

핵티비즘 및 여론의 이목을 받기 위해 특정 기관 및 기업들을 대상으로 해킹이 발생하는 추세

 

워너크라이

핵티비즘 및 여론의 이목을 받기 위해 특정 기관 및 기업들을 대상과 관계없이 무차별적 해킹 발생

 

유빗 해킹(가상화폐 거래소)

최근 가상화폐와 관련해서 이목이 집중되고 있어 관련 사이트의 침해사고가 많아지고 있음. 개인정보 뿐만 아니라, 실제 회사에서 보유 하고 있는 가상 화페에 대한 유출 존재

 

침해사고 Cheat Sheet Windows

시스템 정보

date /t : 날짜 정보 확인

time /t : 시간 정보 확인

systeminfo 또는 psinfo.exe (sysinternals tool) : 호스트네임, 시스템버전, 시스템 부트 시간 등 정보 확인

query user : 서버 접속 중인 사용자, 세션 등의 정보를 통해 허가 안된 사용자 접속 확인

WinUpdateList.exe (Nirsoft tool) : 윈도우 마지막 패치 일정 확인

PsLoggedon.exe (sysinternals tool) : 현재 접속중인 원격 접속자와 로컬 사용자를 확인하여 의심스러운 접속자 파악

사용자 계정 정보(레지스트리 ProfileList(SID 확인) / SAM확인) : 시스템에 등록된 사용자 계정 확인

 

최근 생성된 파일/레지스트리 정보

OTL (tool) : 최근 생성된 파일, 모듈, 폴더를 확인하여 악성코드 여부 파악

Directory Snoop(tool) : 최근 삭제된 프로그램 확인

WFA(Windows File Analyzer)(tool) : 최근 실행된 프로세스 정보 확인

WFA(Windows File Analyzer)(tool) : 최근 확인 문서 파일과 디렉토리 정보 확인

LastActivityView (tool) : 최근 설치 및 생성된 파일 및 폴더 확인

 

시스템 주요 경로 무결성 점검

CrowdResponse -v -i config.txt -o result.xml (tool) : 생성된 xml을 통해 시스템경로의 무결성과 주요 정보 체크 및 동작중인 프로세스 점검

sfc /scannow : 윈도우 시스템 파일의 무결성 확인

dir /ah 또는 dir /ashr : 숨겨진 파일 정보 검색

PCHunter (tool) : 은닉된 프로세스 및 드라이버 확인

 

악의적인 스크립트 및 웹셀 파일 점검

AstroGrep 실행 후 의심 키워드 입력 (tool) : 악의적인 파일의 위치와 탐지된 문자열 확인 후 침해사고와 연관 되었는지 조사

WHISTL 실행 후 서버의 경로를 지정한 후 스캔 (tool) : 악의적인 웹쉘이 존재 하는지 확인

ssdeep rm [Hash 파일] [점검 디렉토리] >[결과물파일] (tool) : ssdeep을 실행 하면 유사도를 체크할 수 있으며, 유사도를 비교하여 악의적인 스크립트 여부 판별

 

동작 프로세스 행위 분석

Promon.exe (sysinternals tool) : tools메뉴의 process tree를 통하여 프로세스들의 부모 프로세스 및 자식 프로세스 트리 구조 확인이 가능하며, 필터링 기능을 통하여 특정 프로세스의 파일, 프로세스 등을 생성하는지 확인

Tasklist 또는 작업관리자 : 동작중인 프로세스 리스트 출력

Procexp.exe (sysinternals tool) 또는 Process Hacker( tool) : 구동중인 프로세스, DLL과 Handle정보를 확인 할 수 있어 의심스러운 프로세스와 DLL을 확인 할 수 있으며, 보라색 하이 라이팅의 경우 Packed Images로 악성코드. Description이 없는 프로세스 또한 의심 해야 함.

CProcess.exe (sysinternals tool) :현재 사용중인 프로세스에 관련된 설명을 확인

 

시작 프로그램과 서비스 확인

net start : 동작중인 서비스 확인

sc query : 실행중인 서비스 속성 확인

Autoruns > Login 탭 (tool) : 시작되고 있는 프로그램 확인

WhatlnStartup (Nirsoft tool) : 시작되고 있는 프로그램 확인

ServiWin (Nirsoft tool) : 동작중인 서비스와 디바이스 정보확인

 

참조하는 DLL정보 획득

tasklist /m : 실행중인 프로세스에서 참조하는 모듈 확인

Listdlls.exe(sysinternals tool) : 수상한 프로세스가 참조하는 DLL중 이름이나 경로 확인 DLLExportviewer.exe (Nirsoft tool) : 의심스러운 프로세스에서 참조하고 있는 DLL에서 포함하고 있는 함수 이름 확인

 

네트워크 정보

ipconfig /all : TCP/IP 네트워크 연결 정보 모두 표시

net session : 연결된 세션 확인

arp -a : arp테이블 정보 확인

ipconfig /displaydns : dns정보 확인

ipconfig /all : TCP/IP 네트워크 연결 정보 모두 표시

net session : 연결된 세션 확인

arp -a : arp테이블 정보 확인

ipconfig /displaydns : dns정보 확인

cport.exe (tool) : 네트워크 연결 상태와 해당 연결을 실행하고 있는 프로세스 PID를 확인하여 불필요한 PORT가 열렸는지 확인

tracert -d : 특정 호스트까지의 라우팅 경로를 추적

WEFA(tool) : 최근 웹사이트 접속한 이력 확인(크롬, 파이어폭스, 사파리, IE, 오페라)

iehistoryview (tool) : 최근 웹사이트 접속한 이력 확인

ie10Analyzer (tool) : 최근 웹사이트 접속한 이력 확인

 

덤프 수집

시스템속성 > 고급 > 시작 및 복구에 덤프 경로 수집 : 윈도우 덤프 수집

작업관리자 실행 > 오른쪽 버튼 > 덤프 파일 만들기 : 특정 프로세스 덤프 수집(작업관리자)

프로세스 익스플로러 실행 >오른쪽 버튼 > Create Dump > Create Full Dump : 특정 프로세스 덤프 수집(프로세스 익스플로러)

drwtsn32 -l : Dr.watson을 통한 덤프 수집

Windbg (tool) > File > Open > Crash Dump > !analyze -v : 장애를 일으킨 원인을 분석하고 이를 통해 특정 모듈의 문제를 분석

 

메모리 덤프수집 및 분석(툴 이용)

FTK Imager > Capture : 메모리 덤프 수집

Dumpit > y 입력 : 메모리 덤프 수집

nc -l -p 2000 < backup.img dd if=\ \ .\ c: | nc 분석컴퓨터_ IP 포트 -w 10 : DD를 이용한 원격 덤프 수집

Volatility : 시스템의 장애원인을 파악하고, 이상 프로세스의 행위분석

 

이벤트 로그 분석

시작 > 실행 >eventvwr.msc : 윈도우 보안,시스템, 운영 로그 등

웹 서비스 로그 -C:\ WINDOWS\ system32\ Logfiles\ W3SVC1*\ *.log : 접속한 사용자 및 접속 URL, 파라미터 정보 등 분석

 

기타(Tool 이용)

usbview : usb연결 여부 확인

api-monitor : 특정 프로그램 api분석

Rega : 레지스트리 수집 및 분석

CLDFS : OS, HDD, IP, Network, Process정보 등 확인

 

침해사고 Cheat Sheet Linux

시스템 주요 정보 수집

date +'서식' : 시스템날짜 정보 확인

uname -a : 운영체제 종류 및 버전 확인

last : 마지막 접속/로그인 사용자, 시스템 재부팅 시간 확인 

chkconfig | grep service : Run-Level service 확인 

w : 현재 로그인한 사용자 정보 확인 

debugfs device 또는 debugfs: isdel : rm명령어로 삭제한 파일 복구(모든 파일이 복구 가능은 x)

 

은닉된 파일 및 백도어 검색

find / -type f -perm +6000 -ls : setgid,setuid 가 걸린 파일 검색

find / -type f -user 0 -perm -002 -ls : 실행권한이 있는 user생성 파일 확인 

rkhunter –check(tool) : 악의적인 파일이 있는지 검색하는 도구 

./chkrootkit(tool) : 악의적인 파일이 있는지 검색 하는 도구 

./bswfinder.pl -d 디렉토리 -t 타입(tool) : 웹 백도어 탐지도구

 

부팅시 자동 시작 및 통신 서비스 확인

crontab -l : 주기적으로 실행되는 파일 확인

netstat -ab : 통신중인 서비스 확인

 

시스템 무결성 검사

rpm -Va : 변경된 파일 확인

tripwire –check(tool) : 파일의 무결성 점검 도구

 

최근 생성된 파일정보 및 프로세스 정보

ls -time-style="+서식" -alt | grep ^- : 변경된 파일확인

find / -ctime -n -type f : n*24 이내 파일 속성값 변경 확인 

ps -ef 또는 pstree -p : 실행중인 프로세스 정보 확인

ps -ejH 또는 top : 동작 프로세스 행위 분석

 

네트워크 정보

ifconfig : 네트워크 환경 정보,실행중인ip주소,mac주소,인터페이스 확인 

Netstat -atob : 현재 통신중인 프로세스 정보 확인 

arp -a : arp테이블 정보 확인 

nslookup >ip주소(url) : 입력한 주소의 dns주소 확인 

route : routing테이블의 정보 확인

nmap -v -A IP주소(url) : 열려있는 포트를 확인하기 위한 도구 명령어 (tool)

lsof : 동작하는 모든 프로세스와 프로세스가 사용하는 파일 정보 제공

tcpdump -l eth0 파일명.cap : 네트워크상에 흐르는 패킷을 캡처하여 분석

traceroute : 특정 호스트까지의 라우팅 경로를 추적

 

로그분석

lastlog 또는 lastb : 로그인 성공/실패 내역 확인

history : 입력한 명령어 내역 확인

tail -f /var/log/messages 또는 tail -f /var/log/dmesg : 실시간 시스템 에러로그 확인

cat /var/log/httpd/access_ log 또는 cat /var/log/httpd/error_ log : apache 로그 확인

cat /var/log/xferlog : FTP로그 확인

cat /var/log/maillog : E-Mail 로그 확인

cat /var/log/secure : 원격 접속 및 su관련 실행에 관한 로그

cat /var/log/sulog : su사용 로그 확인

 

기타

grep -r "검색단어" 경로 : 특정 경로에서 검색단어가 들어간 파일 확인

 

#touch -t 201712280453.26 start (1)

#touch -t 201712280538.39 end (2)

#find / -newer start -a ! -newer end (3)

:특정 날짜 사이 수정된 파일 검색

 

'Forensics' 카테고리의 다른 글

[포렌식] 안드로이드 루팅하는 법  (0) 2021.07.30
[포렌식] 네트워크 패킷 포렌식  (0) 2021.02.08
[포렌식] 악성코드 분석  (0) 2021.01.23
[포렌식] Volatility 사용법  (0) 2021.01.20
[포렌식] 디지털 포렌식  (0) 2021.01.18