1 / 53

해킹사고 분석 & 대응 - - The Art of Security Management -

해킹사고 분석 & 대응 - - The Art of Security Management -. 이 현 우 hwlee@skinfosec.co.kr lotus@securitymap.net. 목 차. 해킹사고의 이해 공격자의 이해 해킹사고 분석/대응의 이해 해킹사고 분석 절차 피해시스템 분석 공격자 모니터링/추적/대응 IAM 서비스. 해킹사고의 이해. 눈에 보이는 공격 - The tip of Iceberg 10분만에 전세계의 취약한 시스템을 전복시킬 수 있다.

Download Presentation

해킹사고 분석 & 대응 - - The Art of Security Management -

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 해킹사고 분석 & 대응-- The Art of Security Management - 이 현 우 hwlee@skinfosec.co.kr lotus@securitymap.net

  2. 목 차 • 해킹사고의 이해 • 공격자의 이해 • 해킹사고 분석/대응의 이해 • 해킹사고 분석 절차 • 피해시스템 분석 • 공격자 모니터링/추적/대응 • IAM 서비스

  3. 해킹사고의 이해 • 눈에 보이는 공격 - The tip of Iceberg • 10분만에 전세계의 취약한 시스템을 전복시킬 수 있다. • Sapphire Worm(slammer worm) • 보안이 되지 않은 시스템을 인터넷에 연결할 경우 2-3일 이내에 해킹 당한다. - Honeynet.org Project

  4. 해킹사고의 이해 • 더 큰 문제: 보이지 않는 공격 –Iceberg, Who Knows! • 사례) 전자상거래 사이트 DDoS 공격(2000. 2): 미국 20억 달러 피해 • 1999년 중순부터 은밀히 공격 준비(전세계의 취약한 Solaris 시스템에 공격 에이전트 설치 후 2000년 초에 공격) • 당신의 회사에만 일어난 공격이라면 어떻게 할 것인가 ? 2. 7 yahoo.com 3시간 서비스중단 2. 8 buy.com 4시간 동안 판매 지연 ebay.com 반나절 동안 서비스 중지 amazon.com 1시간 동안 판매 지연 cnn.com 2시간 동안 뉴스 방해 2. 9 datek.com 1시간 동안 중지 etrade.com 2시간 동안 중지 zdnet.com 수시간 동안 중지

  5. 해킹사고의 이해 • 해킹사고 유형 • 악성 프로그램 • 바이러스/인터넷 웜 • 트로이잔/스파이 웨어 • 서비스 거부 공격 • DoS, DDoS • 비 인가된 접근 • System 침입 • 비 인가된 사용(오남용) • 스팸/계정 도용 • 정보수집 • 스캐닝

  6. 공격자의 이해 • 당신의 생각보다 항상 더 똑똑하다. • Who Knows !

  7. 공격자의 이해 • 전통적인 공격자의 분류 • 엘리트(Elite) 해커 • 세미 엘리트(Semi Elite) • 스크립트 키디(Script Kiddie) • 레이머(Lamer) • 새로운 공격자 –Who Knows! • 산업 스파이 • 테러리스트 • 전문컴퓨터 범죄자 • 반달족(Vandals) • 모든 사고에는 목적과 배경이 있다. • 기업정보 유출 • 정치적 목적 • 도전/호기심을 채우기 위한 해킹 • 개인적 이익을 위한 해킹 사례) Phatbot primed to steal your credit card details

  8. 해킹사고 분석/대응의 이해 공격의 분석 공격의 탐지 File pos Mem pos ID Text ======== ======= == ==== 00002C2C 00002C2C 0 (9/wL 00008C54 00008C54 0 MODE atix-64613 +i 00009290 00009290 0 atix-64613 00009390 00009390 0 :desktop.at.eu.atixnet.com 000093AF 000093AF 0 atix-64613 000093BA 000093BA 0 :atix-64613=+~lord-232@211.41.240.235 00009590 00009590 0 :desktop.at.eu.atixnet.com 302 atix-64613 :atix-64613=+~lord-232@211.41.240.235 00009B90 00009B90 0 :desktop.at.eu.atixnet.com 0000A201 0000A201 0 PRy@RRy 0000AADC 0000AADC 0 rbot.ruters.net 0000B104 0000B104 0 rbot.ruters.net 0000B818 0000B818 0 Connected to rbot.ruters.net 0000B835 0000B835 0 d.net 0000B858 0000B858 0 rbot.ruters.net 0000B8DC 0000B8DC 0 #wOrm 0000BA14 0000BA14 0 msgfix.exe 0000BAA8 0000BAA8 0 C:\WINNT\system32 0000BBA8 0000BBA8 0 C:\WINNT\system32\msgfix.exe 0000BC00 0000BC00 0 !"#$%&'()*+,-./h 0000BC58 0000BC58 0 XYZ{K 0000BC76 0000BC76 0 0000BD44 0000BD44 0 defghijkx 0000BD54 0000BD54 0 tuvwxyz{@ 0000BD61 0000BD61 0 x 0000BD98 0000BD98 0 0000BDAC 0000BDAC 0 WinSock 2.0 0000BDB8 0000BDB8 0 \~ 0000BE8A 0000BE8A 0 IsProcessorFeaturePresent 0000BEAD 0000BEAD 0 Running 0000E061 0000E061 0 ENwx! 0000E105 0000E105 0 @.w0! 0000E12C 0000E12C 0 @.wX! 0000E822 0000E822 0 ox0>ox … 공격자 모니터링 공격자 추적/대응

  9. 사고보고 사건판단/ 사고번호할당 해킹사고 ? 아니오 예 초기분석/사고대응전략수립 단순사건 판단 시스템 격리/디스크 복사 긴급 조치 긴급사고 격리분석 피해시스템 분석 모니터링? 공격자 모니터링 예 아니오 사고대응 및 복구 보고 및 피드백 해킹사고 분석 절차 • 초기분석 • 피해 시스템의 상태 파악 • 사고보고 자료 • 피해시스템 관리자와의 인터뷰 • 피해시스템에 대한 초기 분석 • 네트워크 모니터링 여부 결정 • 사고대응 전략 수립 • 분석 • 라이브시스템 분석 vs 격리 분석 • 대응 방법 • 공격자 추적 및 모니터링 여부 • 긴급 복구 여부 • 법적 대응 여부

  10. 해킹사고 분석 절차 • 상세 분석 • 사고가 발생한 원인 및 공격방법 • 사고의 발생 시간 • 사고의 발생 범위 및 목적 • 빙산의 일각만을 찾기보다는 빙산 전체를 볼 줄 알아야 … • 공격자 출처 • 사고복구를 위한 긴급조치와 장기조치 방법 • 분석의 범위 • 네트워크 트래픽 • 피해 시스템 • 보안장비 • And So on … (사고의 특성에 따라 다름)

  11. 해킹사고 분석 절차 • 피해 시스템 분석 시 유의 사항 • 조급해 하지 않는다. • 일반적인 실수 • 분석 전에 미리 보안 패치를 한다. • 분석과정에서 수집된 데이터를 피해시스템에 저장한다. • 해킹과 관련된 파일을 삭제한다. • 해킹과 관련된 프로세스를 종료 시킨다. • 각각의 침입흔적에 대한 설명과 발견된 위치, 시간 등을 기록하고 보존한다. • 시스템 로그, 침입차단시스템 및 침입탐지시스템의 로그 • 분석과정에서 생성된 기록들 • 피해 시스템에서 발견된 파일 • 해당 사고와 관련된 다른 사이트에서 발견된 흔적들 • 과신하지 않는다.

  12. 해킹사고 분석 절차 • 사고 대응 및 복구 • 취약성 제거 • 보안패치/보안설정 • 사고범위 파악 후 모든 피해시스템에 대해서 조치 • 피해시스템 복구 • 시스템 재설치 • 가장 믿을만한 백업 사용 • 정상적인 서비스 운영 확인 • 관련자 통지 • 공격 사이트 • 피해 사이트 • 사고정보 공개

  13. 피해시스템 분석(Unix/Linux) • 피해시스템 분석 • 분석 준비 • 초기 분석 • 상세 분석 • 로그 파일 분석 • 해킹 프로그램 분석 • 피해시스템 분석도구

  14. 분석 준비 • 백업 • 정상적인 시스템 운영을 위한 백업 – 데이터 백업 • 피해 흔적 보존, 정확한 분석을 위한 백업 – 디스트 이미지 백업 • 고려사항(Chicken vs. Egg) • 백업을 먼저 할 것인가 vs. 분석을 먼저 할 것인가 ? • 시스템 운영 상황과 해킹사고의 특성에 때라 결정 • 기존의 정규적인 데이터 백업이 없고 피해시스템이 중요한 서비스를 제공하고 있다면, 먼저 서비스 운영을 위한 백업을 수행하고 분석 • 공격 흔적에 대한 보존이 필요하다면, 라이브 시스템에 대한 초기분석 이후에 Bit 단위의 디스크 복사 실시. 상세한 분석은 복사본을 분석 • 빠른 분석과 대응을 우선한다면, 먼저 분석하고 대응조치

  15. 초기 분석 • 고려 사항 • 실제 범죄현장에 접근하지 못하게 하고 현장을 보존하는 것과 유사 • 전원 끄기, 네트워크 분리 등의 모든 활동은 시스템 상태를 변화 시킨다. 피해시스템의 격리 이전에 휘발성 데이터를 충분히 수집 • 피해 여부, 피해 범위 등을 파악한다. • 피해 여부 파악을 위해 완전한 분석을 해야만 하는 경우도 많아지고 있음 • Live 한 상태의 시스템을 분석, 가능한 시스템의 상태를 변경시키지 않는 범위에서 분석 • 공격흔적 보존을 위해 최대한 격리 시킨다.(Firewall, ACL) • 한 사람이 분석하도록 한다. • 모든 분석 활동을 기록한다.(Script 명령)

  16. 초기 분석 • 시스템 환경 정보 • uptime, uname, df –k • 프로세스 정보 • ps, top, pstree • 현재 실행되고 있는 프로세스 정보 확인 • 네트워크 상태 정보 • netstat –nap • 네트워크 연결 상태 정보 확인 • ifconfig -a • 네트워크 인터페이스 상태 정보, 스니퍼 실행 여부 확인 • 열려진 파일 정보 • lsof(list Open File) • 현재 시스템에서 사용중인 모든 종류의 열려진 파일 정보 제공

  17. 초기 분석 • 사용자 정보 • w : 현재 로그인해 있는 사용자 및 사용자의 활동 정보 • last : 최근 시스템에 로그인한 사용자 정보 • /Proc 파일 시스템 • 실제로 존재하지 않는 가상의 파일 시스템으로 커널 데이터 스트럭쳐에 대한 정보 제공 • 시스템마다 구조가 조금씩 다름 • 피해시스템의 프로세스 정보 확인에 매우 유용함 • ps, ls 로 보이지 않는 숨겨진 프로세스, 파일 확인 가능 • 실행중인 삭제된 프로세스 복구 가능 • 프로세스가 사용하는 파일 확인(lsof)

  18. 초기 분석 • 주요 설정 파일 • 로그 파일

  19. 초기 분석 • MAC Time • 전체 파일시스템에 대해서 MAC time 정보 수집 # ls -Ralt --full-time --> mtime을 기준으로 정렬해서 보여준다. # ls -Raltu --full-time --> atime을 기준으로 정렬해서 보여준다. # ls -Raltc --full-time --> ctime을 기준으로 정렬해서 보여준다. • Md5sum • 주요 디렉토리의 실행파일에 대해서 무결성 정보 수집 #md5sum /bin/* > md5-bin.txt #md5sum /usr/bin/* > md5-usr-bin.txt #md5sum /usr/sbin/* > md5-usr-sbin.txt #md5sum /sbin/* > md5-sbin.txt • Portscan • 피해 시스템이 사용하는 열려진 포트 정보 수집 • 초기분석 마지막 단계에서 수행

  20. 상세 분석 • 무엇을 알기 위해 분석하는가 ? • 침입 시간, 방법 • 공격자의 출처 • 설치된 트로이잔 프로그램 • 숨겨진 디렉토리, 파일 • 공격자의 프로세스 • 공격의 목적 • Etc. • 일단 하나의 흔적(단서)를 찾게 되면 관련된 다른 모든 흔적을 찾아 갈 수 있다. • 하나의 숨겨진 흔적을 찾는 것이 관건 • 간혹 해킹여부를 파악하는 것 조차 힘든 경우가 많음 • Loadable Kernel Module

  21. 상세 분석 • 분석 방법 • 알려진 공격방법 분석(rootkit & backdoor) • MAC time 분석 • 변조된 파일 분석 • 악성 프로그램 분석 • 로그 분석

  22. Rootkit • Rootkit의 목적 • 시스템 재 침입을 위한 백도어 설치 • 시스템 로그에 공격자의 활동이 기록되지 않도록 한다. • 시스템 명령을 위조하여 관리자로부터 노출되지 않도록 한다. • 네트워크 도청을 위한 스니퍼 프로그램 설치 • 로그에서 공격자와 관련된 부분만을 삭제해 주는 프로그램 제공 • 기타 다른 시스템 공격을 위한 프로그램 제공(DoS) • Rootkit 종류 • 어플리케이션 레벨 - LRK, T0rnkit • 커널 모듈 레벨 - Adore(LKM)

  23. Rootkit • Rootkit의 구성(1) • 트로이잔 프로그램 • crontab : 공격자가 설정한 내용을 출력하지 않는 변조된 crontab 프로그램 • find : 공격자가 설정한 내용을 출력하지 않는 변조된 find 프로그램 • ifconfig : PROMISC flag를 숨겨주는 변조된 ifconfig 프로그램 • inetd : 원격에서 루트권한의 접속을 제공하는 변조된 inetd 프로그램 • chsh : 일반 사용자 권한에서 루트 권한을 제공해 주는 변조된 chsh 프로그램 • login : 루트권한의 로그인을 제공해 주는 변조된 login 프로그램 • ls : 공격자가 설정한 파일이나 디렉토리 내용을 출력하지 않는 변조된 ls 프로그램 • netstat : 공격자가 설정한 IP, 포트를 출력하지 않는 변조된 netstat 프로그램 • passwd : 일반 사용자권한에서 루트권한을 제공해 주는 변조된 passwd 프로그램 • ps : 공격자가 설정한 프로세스 출력하지 않는 변조된 ps 프로그램 • syslogd : 공격자의 활동을 로그하지 않는 변조된 syslogd 프로그램 • tcpd : 특정 커넥션을 숨기고, 연결이 거부(deny)되지 않도록 해주는 변조된 TCP-Wrapper 의 tcpd 프로그램 • sshd : 지정된 패스워드를 사용하여 루트권한으로 로그인 할 수 있는 변조된 sshd 프로그램

  24. Rootkit • Rootkit의 구성(2) • 백도어/기타 프로그램 • bindshell : 특정 포트에 루트쉘을 바인딩시켜 해당포트로 접속하면 루트권한 획득 • linsniffer,es : 스니퍼 프로그램 • sniffchk : 스니퍼가 실행되고 있는지 점검해주는 프로그램(공격자 감시 소프트웨어, 또는 또 다른 공격자의 존재 유무를 점검하는데 사용된다.) • wted : wtmp, utmp 파일 편집기(공격자의 로그인 정보를 삭제할 때 사용됨) • z2 : utmp, wtmp, lastlog 삭제 프로그램 • Rootkit 설정 파일 • /dev/ptyr : ls 명령으로부터 숨기고 싶은 파일이나 디렉토리를 지정 • /dev/ptyq : netstat 명령으로부터 숨기고 싶은 IP 주소, UID, 포트번호를 지정 • /dev/ptyp : ps 명령으로부터 숨기고 싶은 프로세스 지정 • 공격자가 숨기고자 하는 파일, 네트워크 연결, 프로세스 등이 지정되므로 공격자 출처의 단서 제공

  25. Rootkit • Loadable Kernel Module(LKM) • 사용자 명령에서 감추는 것이 아니라 Kernel 레벨에서 공격자의 활동을 은닉 • 정상적인 시스템 명령으로 분석할 수 없음 • 피해시스템 분석의 가장 큰 어려움 제공 • LKM 탐지 • LKM 분석 도구 • Kstat • Carbonite • Off-line 분석(LKM이 disable 된 상태에서 분석) • MAC time 분석(시스템 활동 상세 분석)

  26. Backdoor • 백도어 • 관리자가 패스워드 교체, 보안 패치 등의 보안조치를 한 뒤에도 다시 시스템에 들어올 수 있도록 한다. • 시스템 로그파일이나 모니터링 명령으로 탐지되지 않도록 한다. • 최단시간에 손쉽게 시스템에 접속할 수 있도록 한다. • 백도어의 종류, 형태는 매우 다양

  27. Backdoor • 패스워드 백도어 • 패스워드 파일 점검, uid 0 인 계정 또는 알지 못하는 계정 존재여부 확인 사례) 불법계정이 추가된 /etc/passwd 파일 ... reef:x:0:0::/tmp:/bin/csh rewt::0:0::/tmp:/bin/bash • SUID백도어 • find / -perm -6000 –ls 명령으로 suid, sgid 파일 점검 • find / -user root -type f -perm -04000 -ls root 소유의 SUID 파일 찾기 • find / -user root -type f -perm -02000 -ls root 소유의 SGID 파일 찾기 사례) suid 파일을 이용한 루트권한 획득 $ls -al ./.sha -rwsr-xr-x 1 root root 373176 Jan 30 17:24 ./.sha* $ id uid=506(lotus) gid=506(lotus) groups=506(lotus) $ ./.sha # id uid=506(lotus) gid=506(lotus) euid=0(root) groups=506(lotus)

  28. Backdoor • 설정 파일을 이용한 백도어 • Inetd.conf 파일, xinetd.d 디렉토리내의 파일 점검 사례) 백도어가 숨겨진 /etc/inetd.conf파일 ... ingreslock stream tcpnowaitroot /bin/shsh-i 2222 stream tcpnowaitroot /bin/shsh–i • 네트워크 서비스 백도어 • 변조된 telnet, sshd, tcpd, inetd 등의 프로그램을 설치하여 백도어로 사용 • 주요 시스템 프로그램의 변조 유무 확인

  29. Backdoor • Crontab 백도어 • Cron table에 특정 프로그램이 실행되도록 설정 • Cron table 점검 사례) root crontable에 등록된 공격 프로그램 #cat /var/spool/cron/crontabs/root ... * * * * * /dev/isdn/.subsys/tsolnmb> /dev/null 2>&1 • Rootshell binding 백도어 • 독립적인 프로그램으로 실행되며 특정 포트를 사용 • 해당 포트로 접속시 root shell 제공 • /etc/rc.d/ 디렉터리 내의 시작 스크립트 파일에 자동 시작되도록 설정

  30. Backdoor • 네트워크 백도어 • CovertChannel • ICMP 백도어 • Reverse telnet, www 백도어 • Etc. • 백도어 복구 • 가장 확실한 시스템 제어 회복 방법은 재설치 • 만약 백도어를 완전히 제거하지 못할경우 지속적인 재침입 발생 • 복구 시 가장 믿을만한 백업 사용이 중요

  31. 변조된 파일 분석 • 피해시스템 분석에서 큰 비중 차지 • 대부분의 공격에서 트로이잔 프로그램이 설치 되며, 이를 찾을 경우 다른 공격흔적을 쉽게 발견할 수 있음 • 분석 방법 • 파일 크기 및 시간 속성 확인 • System call 추적 • Strings 명령 • 패키지 관리 명령 • 무결성 검사

  32. 변조된 파일 분석 • System Call 추적 # truss -t open ./ls open("/dev/zero", O_RDONLY) = 3 open("/usr/lib/libc.so.1", O_RDONLY) = 4 open("/usr/lib/libdl.so.1", O_RDONLY) = 4 open("/usr/platform/ … O_RDONLY) Err#2 ENOENT open("/dev/ptyr", O_RDONLY) Err#2 ENOENT open(".", O_RDONLY|O_NDELAY) = 3 # truss -t open /bin/ls open("/dev/zero", O_RDONLY) = 3 open("/usr/lib/libw.so.1", O_RDONLY) = 4 open("/usr/lib/libintl.so.1", O_RDONLY) = 4 open("/usr/lib/libc.so.1", O_RDONLY) = 4 open("/usr/lib/libdl.so.1", O_RDONLY) = 4 open("/usr/platform/ … .1", O_RDONLY) Err#2 ENOENT open(".", O_RDONLY|O_NDELAY) = 3

  33. 변조된 파일 분석 • 패키지 관리 명령 [redhat] $ rpm -Va ..5....T /bin/ls [solaris9] $ pkgchk -vn ERROR: /usr/bin/ls modtime <04/06/02 10:54:41 PM> expected <09/08/03 01:04:01 AM> actual file cksum <63074> expected <63042> actual /usr/bin/ls [debian] $ debsums -ac bin/ls

  34. 변조된 파일 분석 • 무결성 검사 • 초기분석에서 수집한 또는 의심스러운 바이너리에 대한 md5sum 값과 각 시스템 별로 올바른 무결성 값을 제공하는 사이트의 정보를 비교 • Solaris Fingerprint Service http://sunsolve.Sun.COM/pub-cgi/show.pl?target=content/content7 • 기타 • known goods: http://www.knowngoods.org/ • 각종 Linux 시스템 버전과 solaris 시스템에 대한 fingerprint 데이터베이스 제공. • cyber abuse: http://rk.cyberabuse.org/ • 알려진 루트킷 파일에 대한 fingerprint 데이터베이스 제공, 다른 데이터베이스와 달리, 공격 프로그램에 대한 fingerprint를 제공한다. • NSRL: http://www.nsrl.nist.gov/ • National Software Reference Library(NSRL)는 잘 알려진 소프트웨어의 fingerprint를 제공한다. 각종 OS에서부터 어플리케이션까지 상당히 많은 양의 데이터베이스를 제공하며 지속적으로 업데이트 된다. • HashKeeper: http://www.hashkeeper.org

  35. MACTime 분석 • 파일 시간 속성(MAC Time) 정보 • mtime(modified time): 파일을 생성한 시간, 또는 가장 최근에 파일내용을 바꾼 시간 • atime(accessed time): 가장 최근에 파일을 읽거(read)나 실행(execution)시킨 시간 • ctime(changed time): 가장 최근에 파일의 소유자, 그룹, 퍼미션 등 파일의 속성(inode 정보)이 변경된 시간, 삭제된 파일에 대해서는 ctime을 파일의 삭제시간으로 추정할 수 있다. • MAC time 분석의 중요성 • 공격 시간을 알 경우 매우 편리한 방법 • 파일시스템 활동을 매우 세밀히 분석 할 수 있음 • MAC time이 변조가능하기는 하지만, 공격자 자신의 모든 활동을 감추기는 불가능

  36. MAC Time 분석 • 시스템 활동에 따른 디렉토리의 MAC Time 변화 * 그림출처: securityfocus

  37. MAC Time 분석 • 시스템 활동에 따른 파일의 MAC Time 변화 * 그림출처: securityfocus

  38. MAC Time 분석 • ls 명령을 이용한 MAC Time 정보 수집 방법 • find/TCT를 이용한 MAC Time 정보 수집 방법 # find / -ctime +4 -ctime -31 -printf "%c %i\t%p\n" # find / -ctime -10 -printf "%c %i\t%p\n" # touch -t 200011070000 ./test # find /mnt -cnewer ./test -printf "%c %i\t%p\n" # ./grave-robber -b ./data -m /etc # ./mactime -b ./data month/day/year * 그림출처: securityfocus

  39. 로그파일 분석 • 고려사항 • 범죄 현장에서 자신의 흔적을 없애거나, 수사에 혼동을 줄 수 있도록 증거를 조작하는 것과 비슷 • 많은 경우 로그파일에 공격자의 흔적이 남아있지 않다. • 공격흔적이 남아 있더라도 변조될 수 있기때문에 피해시스템상의 로그는 믿을 수 없다. • 중앙 집중식의 원격 로깅 필요 • 로그 흔적 유형 • 로그파일 전체가 삭제된 경우 • 공격흔적이 너무 많은 경우 • 공격흔적이 없는 경우

  40. 로그파일 분석 • 로그 디렉토리 • /var/log, /var/adm, /usr/adm • 어플리케이션별 로그 파일 • 주요 로그 파일

  41. 로그파일 분석 • 로그 파일 분석 방법 • 공격 시간대를 중심으로 분석 # grep "Apr 14" /var/log/* • 공격 패턴을 중심으로 분석 • 주요 키워드 : 공격자가 사용하는 ID 이름, IP 주소, failed, failure, promiscuous, login, etc. # grep -i "key-word" /var/log/* • 로그 디렉토리 및 내용 • 로그 파일에서 로그의 연속성 • 로테이트되는 각 로그파일의 사이즈 비교 • syslogd서버가 재실행되는 부분의 로그

  42. 악성 프로그램 분석 • 실제 세계에서 범죄에 사용된 도구를 이해함으로써 어떠한 공격 의도가 있는지를 추측할 수 있는 것과 유사 • 피해시스템에 남겨진 공격프로그램의 형태 • 바이너리 파일만 남아 있는 경우 • 피해시스템을 다른 공격에 이용하고자 하는 목적이 강함 • 피해시스템에 대한 보안조치를 해 놓는 경우가 많음 Ex) DDoS 공격 • 소스코드를 포함한 많은 흔적이 있는 경우 • Script kiddies에 의한 공격으로 흔히 호기심 또는 테스트 목적으로 공격 • 많은 흔적이 남는다. • 아무런 흔적이 없는 경우 • 피해 시스템으로 의심은 가는데 흔적을 찾을 수 없는 경우

  43. 악성 프로그램 분석 • 정적 분석과 동적 분석 방법을 병행 사용 • 정적 분석 : 프로그램을 실행시키지 않고 분석한다. • file : 파일의 종류를 파악 • Strings : 바이너리 ASCII 값 출력, 프로그램의 간단한 기능 파악 • ldd, nm : 프로그램이 사용하는 라이브러리, 함수 분석 • 키워드 웹 검색 • Reassembly, reverse engineering • 동적 분석 : 프로그램을 실행시키며 분석한다. • 공격 프로그램의 활동을 제한, 폐쇠된 네트워크에서 분석 • 필요한 경우 인터넷에 연결된 상태에서 할수도 있음 • strace, truss, network monitoring, lsof, etc.

  44. 분석 도구 • TCT • 모든 피해 시스템 분석 경험을 자동화한 도구 • grave-robber : data collection tool • mactime : show mac time list • http://www.porcupine.org/forensics/tct.html • Sleuthkit/Autopsy • 다양한 파일 시스템 분석 도구 제공 • GUI 제공 • http://www.sleuthkit.org/ • Chkrootkit • 잘 알려진 rootkit, Worm, LKM 자동탐지 도구 • 시스템 해킹여부 판단에 도움 제공 • HTTP://www.chkrootkit.org

  45. 분석 도구 • 분석 전용 부팅 매체 • 한장의 CD-ROM에 피해시스템 분석에 필요한 도구 및 명령을 포함하고 있으며, 부팅 가능 • 피해시스템을 분석 전용 부팅 매체로 부팅하고, 피해시스템의 파일시스템을 읽기전용으로 마운트하여 분석 • 대용량의 피해시스템 디스크 이미지를 복사할 필요가 없어 편리 • 분석 시스템으로 사용할 수 있으며, 사용이 매우 편리 • 사고분석 전용 부팅 매체 • FIRE - http://fire.dmzs.com/ • FIRE 기술문서 - http://www.securitymap.net/sp/docs/Biatchux_0.4a.pdf • Liunx Forensics - http://www.linux-forensics.com/downloads.html • snarl - http://snarl.eecue.com/articles/ • 검색 앤진(google) : 가장 유용한 도구

  46. 공격자 모니터링 • 모니터링의 필요성 • 필요한 충분한 정보를 수집하지 못했을 경우, 특히 공격의 목적을 추적하기 위해서 필요 • 피해시스템 분석만으로 공격자의 출처를 찾을 수 없으며, 분석결과 공격자가 다시 시스템에 접근할 가능성이 있는 경우 • 사이트 내에서 다른 추가적인 해킹여부를 파악하기 위한 경우, 보통 한 시스템이 침입을 당했으면 관련된 다른 많은 시스템도 침입을 당했을 경우가 많다. • 공격자 또는 공격 프로그램의 활동을 추적하기 위해서 • 적극적인 보안대책으로서 공격자를 취약한 시스템으로 유인하고 격리 감시하는 경우

  47. 공격자 모니터링 • 모니터링 고려사항 • 모니터링이 발각될 경우 또는 공격자에 대한 통제가 안될 경우, 피해시스템을 비롯해 사이트내의 다른 시스템이 위험에 빠질 수 있다. 따라서 가능한 피해시스템 및 네트워크를 통제할 수 있는 상황에서 감시하는 것이 좋다. • 공격자가 피해시스템을 이용하여 타 사이트로 다시 공격하는 행동을 통제하여야 한다. • 침입한 공격자에 대해서 철저한 통제가 가능해야 한다. 일단 최악의 시나리오로, 침입 당한 시스템은 다시 설치할 최악의 상황을 고려해야 한다.

  48. 공격자 모니터링 • 모니터링 방법 • 네트워크 모니터링 • 피해시스템이 아닌 제3의 시스템을 이용하기 때문에 공격자가 쉽게 발견할 수 없다. • 네트워크로 오가는 모든 트래픽을 모니터링 할 수 있다. • SSH 등의 암호화 채널은 모니터링 하지 못한다. • 피해시스템 모니터링 • 공격자가 어떠한 명령을 사용하고 어떠한 활동을 했는지 등에 대한 자세히 정보를 수집할 수 있다. • 암호화된 트래픽을 모니터링하지 못하는 네트워크 모니터링의 단점을 보완해 준다. • 공격자로부터 노출될 우려가 큰 것이 단점이다. • Honeypot/Honeynet: • 통제된 상황을 미리 준비하여 만들어 놓고, 공격자가 침입하면 이를 모니터링함으로서 침입자에 대한 이해를 높이고, 이를 바탕으로 실제 사이트에 대한 위협을 줄이는 적극적인 보안방법이다.

  49. 공격자 추적 • Whois Database 검색 • ARIN 부터 검색해서 최하위 IR까지 검색 # whois ip-address@whois.database.address # whois –h whois.database.address ip-address • Whois database 주소 • 검색 앤진(google)

  50. 사고 대응 • 사고대응의 목적은 해킹사고의 확산방지와 피해시스템의 피해를 줄이기 위함 • 초기대응조치 • 초기분석 결과에 따라 긴급대응을 하거나 대응 방향을 설정 • 피해범위 파악 • 피해시스템 이외에 추가적인 피해를 확인 • 피해시스템 복구 • 피해시스템의 복구와 사이트 전반에 걸친 보안대책을 마련 • 공격 사이트 대응 • 해킹사고와 관련된 공격사이트, 다른 피해사이트에게 해당사실을 알리고 공동으로 사고에 대처 • 분석 보고서 및 보고 • 사고노트 등을 작성하여 배포함으로서 다른 사이트에 비슷한 유형의 사고를 방지할 수 있도록 도와준다. 또한 분석된 해킹사고를 다시 한번 검토할 수 있는 수단이 된다.

More Related