침해사고 분석

올빼미·2025년 1월 9일

침해사고 분석 개론

1. 침해사고 분석 개요

1-1. 컴퓨터 보안 윤리

1-2. 컴퓨터 보안 사고란

침해사고란?
• 컴퓨터 시스템이나 네트워크의 보안과 관련된 실제 또는 의심되는 사건
• 명시적이거나 암시적인 보안 정책을 위반하는 행위
= 컴퓨터 시스템의 보안을 잠재적으로 위협하는 네트워크 또는 호스트 활동

1-3. 보안 사고 유형

  • 기밀성침해
  • 가용성침해
  • 무결성침해

1-4. 보안 사고 처리 동향

1-5. 보안 사고 분석 및 포렌식

  • 포렌식은 보안 사고 침해의 한영역
  • 디지털 포렌식 : 디지털 매체레 대한 과학적인 수사
  • 포렌식 : 법의학, 범죄의 관한 과학수사

2. 침해사고 분석 절차

2-1. 사고대응 주기

2-2. 준비

  • 사고를 처리할 준비
    • 사고 처리기 통신 및 시설
    • 사고 분석 하드웨어 및 소프트웨어
    • 사고 분석 리소스
    • 담당자 인터뷰를 통한 정확한 피해 확인
    • 분석팀 구성
  • 사고 예방
    • 위험 평가
    • 호스트 보안
    • 네트워크 보안
    • 멀웨어 방지
    • 사용자 인식 및 교육
  • 증거 수집 과정의 고려사항

2-3. 탐지 및 분석

  • live view 기능 : 복사한 image 덤프 파일을 가상 머신으로 view 할 수 있는 기능
  • 디스트 브라우징 기술 : 저장매체 또는 하드디스크 이미지의 내부 구조와 파일 시스템을 확인하고, 파일 시스템 내부에 존재하는 파일에 대응되는 응용 프로그램의 구동 없이 쉽고 빠르게 분석할 수 있도록 하는 기법
    • 복제한 이미지를 사용자가 수동으로 마운트해서 열람할 필요가 없어 분석 시간을 줄일 수 있음
    • ex_ EnCase, FTK, Final Forensic
  • 데이터 view 기술
  • 검색의 기술
    • 키워드 검색 = GREP : Unix 계열의 운영체제에서 검색을 위해 사용자가 정의할수있는 표현명령어
  • 타임라인 분석
  • 안티 포렌식 : 포렌식 기술에 대응하여 자신에게 불리하게 작용할 가능성이 있는 증거물을 차단
    • 웹로그, 시스템로그
  • File System 분석
    • 클러스터 : 여러개의 섹터(하드디스크의 물리적 최소 단위)를 묶은 단위
      • 클러스터 단위로 처리
    • 파티션 : 저장매체의 저장 공간을 논리적으로 분할한 것
    • 부트 코드 영역
    • 파티션 테이블 영역
    • NTFS구조 : 파일, 디렉토리 및 메타 정보까지 파일 형태로 관리
      • VBR(Volume Boot Rrcord) : 추가적인 부트코드가 저장되는 부분
      • MFT(Master File Table) : 파일을 관리하기 위한 mft entry의 집합체
      • DATA(Data Area) : 파일의 실제 내용이 저장되는 곳
    • carving 기법 : 파일 시스템 메타데이터 기반 복구

2-4. 격리, 분절 그리고 복구

  • 봉쇄 전략 선택
  • 공격 호스트 식별
  • 박멸 및 회복
  • 수집된 사건 데이터 사용, 증거 보존

2-5. post-사고 활동

2-6. 리포팅 샘플

3. 침해사고 분석 시나리오


Windows

1. 접근개념

1-1. 위협, 리스크, 취약성

1-2. overview

1-3. 시스템에 어떻게 들어왔는가?

• 내부 관점에서 볼 것인가 외부 관점에서 볼 것인가
• 내부-외부 관점, 내부-내부 관점에서 어떤 취약 포인트들이 있는가
• 최근 발생한 보안 위협(보안 이벤트)과 취약 포인트와의 교집합엔 무엇이 있나
• 침해 관련 증상이 처음 발생한 시점 이전 수일간 발생한 이벤트/로그 중 특이사항이 있는가
• 해당 서버에서의 사용자 행위가 존재하는가
• 이전에 침해사고를 당한 적이 있는가, 있었다면 당시에 발견된 취약점은 언제 패치 되었는가

1-4. 들어와서 어떤 행위를 했는가?

• 최초 침해 event 전후로 시스템 로그상 특이사항이 있는가
• 위 시점 전후로 파일 개체가 새로 생성되거나 변경된 이력이 있는가
• 확인되지 않은 시스템 계정이 생성되어 있다면, 해당 계정으로 무슨 행위를 했는가
• 시스템 로그 등이 변조되거나 삭제된 흔적이 있는가
• 공격자가 키로거나 백도어를 설치했는가

1-5. 무엇으로 어떤 행위를 유발했는가?

• 시스템에서 악성코드가 발견되었는가
• 발견된 악성코드의 기능은 무엇인가, 악성코드로 무엇을 할 수 있는가
• 위 악성코드가 실행된 흔적이 있는가
• 위에서 확인된 내용과 침해 증상이 직간접적으로 관련이 있는가
• 악성코드가 아닌 일반 툴이나 내부명령어 등으로 동일한 증상을 재현할 수 있는가
• 증상이 최초로 발생한 시점은 언제인가
• 동일한 증상이 다수 발생했다면매 시기마다 공통적으로 발견되는 특징이 있는가, 그 특징은 어디서 유래하는가

1-6. 추가적인 피해 가능성은 없는가?

• 네트워크 구성상 조사 대상 서버와 인접한 시스템에는 어떤 것들이 있는가
• 침해 증상이 발생한 시점 전후로 관련 시스템에서 발견된 특이 이벤트/로그가 있는가
• 악성코드 이슈라면 관련 시스템에 동일한 악성코드가 설치 되어 있지는 않은가
• 관련 시스템에서 동일한 증상이 발생한 적이 있는가
• 조사 대상 서버와 동일한 취약점을 가진 시스템이 있는가
• 조사 대상 서버가 해킹 경유지로 사용된 정황은 없는가

2. 사고분석 사례

  • MITRE ATT&CK : 사이버 공격자가 사용하는 전술(Tactics)기술(Techniques)을 체계적으로 정리한 위협 정보 프레임워크
  • MITRE ATT&CK 주요 구성 요소
    • 전술 : 공격자가 달성하려는 상위 목표
    • 기술 : 전술을 달성하기 위한 구체적인 방법
    • 절차 : 실제 공격 사례 및 공격자의 행위

3. 증적 분석

3-1. 아티팩트 모으기

  • 수집 순서 : 휘발성 정보 >> 비휘발성 정보
    • 메모리덤프(휘발성정보) > forecopy > 스토리지 덤프
    • 대부분의 휘발성 정보는 메모리 덤프에서 획득 가능
  • 휘발성 정보 : 시스템정보, 네트워크 정보
  • 메모리 덤프 : 가급적 시스템 재부팅을 하지 않은 상태에서 덤프할 것
  • Forecopy : 복수 옵션으로 artifacts를 일괄 수집
  • 스토리지 덤프
    • 서비스 중인 시스템이라 시스템 shutdown 할 수 없는 경우 live 상태에서 소프트웨어 툴로 덤프
    • RAID 구성인 경우에도가급적 Live 상태에서 소프트웨어 툴로 덤프
    • 가급적 physical drive 단위로 덤프할 것을 권장, 단편크기(fragment size)를 0으로 설정하여 단일 파일로 저장

3-2. overview

3-3. MFT(Master File Table)

: NTFS 파일 시스템에 존재하는 모든 폴더. 파일의 Metadata 정보 저장

  • MFT 파일은 %ROOT%$MFT로 존재

  • Binary 파일이므로 csv파일로 변환해서 열어야한다

  • 변환이후 excel 기능을 이용하여 타임라인 분석

    주요필드 설명
  • Active : 현재 폴더 또는 파일 존재 여부(Active : 존재, Inactive : 삭제)
  • Record type : 폴더, 파일 여부
  • Filename #1 : 폴더 또는 파일의 절대 경로
  • std Info : $Standard_Information에 저장되어 있는 시간 정보로, Windows API를 통해 쉽게 변경이 가능함
  • FN Info : $File_Name에 저장되어 있는 시간 정보로, 시스템 커널에 의해서만 변경 가능함
주요 점검 포인트
  • 시스템에 있는 모든 파일을 시간 순(MAC time)으로 일괄 정렬하여 선후 관계를 점검하여 일어난 행위를 간접적으로 추정
  • 아래 시점 등을 기준으로 점검
    √ 침해사고 인지 시각
    √ 발견된 악성코드(웹쉘 포함)이 생성(실행)된 시각
    √ 확인된 비정상 DB테이블 생성(수정) 시각
    √ 확인되지 않은 시스템 계정 생성(로그인) 시각
    √ 보안장비에서 탐지된 각종 scanning/injection 등의 이벤트 시각
  • 로그 파일의 경우 modify time과 마지막 로그의 시간 값을 비교함으로써 로그 파일 변조 여부를 간접적으로 검증 가능
▶공격자(Hacker)는 공격을 은닉하기 위해 다양한 경로에 악성코드를 생성

1) 탐지 회피: 보안 소프트웨어가 자주 모니터링하는 경로를 피하여 탐지 가능성 낮춤
2) 권한 우회: 접근 권한이 제한된 경로 대신 쉽게 접근할 수 있는 경로 선택
3) 지속성 확보: 시스템 부팅 시 자동으로 실행될 수 있는 경로에 악성코드 배치
4) 포렌식 분석 회피: 비정상적인 경로를 이용해 분석자가 악성코드를 발견하기 힘들게 함
5) 보안 도구 우회: 무해해 보이는 파일 이름과 경로를 사용해 보안 솔루션 감시 회피

3-4. 윈도우 이벤트로그

: Windows 운영체제의 전반적인 행위를 기록

주요 이벤트 로그 종류

• 보안(Security) : 파일이나 다른 개체 만들기, 열기 또는 삭제 등 리소스 사용 및 로그온 인증 관련 이벤트
• 시스템(System) : 윈도우 시스템 구성 요소에서 기록한 이벤트
• 응용프로그램(Application) : 응용 프로그램에서 기록한 이벤트, 예를 들어 MSSQL을 사용하는 경우 관련 이벤트 기록

주요 점검 포인트
  • 인증관련
  • 이벤트(계정 및 변조 관련)
  • 이벤트(악성코드 관련)
  • 이벤트(원격 명령 실행 관련)
  • 이벤트(원격 데스크톱 관련)
  • 이벤트(XP_cmdshell, Application)
분석도구
  • event log explorer

3-5. Registry Hive

Registry

• 윈도우시스템과 응용프로그램 운영에 필요한 정보 저장
• 계층형 데이터베이스
• 부팅 과정부터 로그인, 서비스, 응용프로그램 실행, 사용자 행위 등 모든 활동에 관여
• 시스템에서 행해졌던 많은 정보들이 존재
• 모든 레지스트리 정보는 최종 시간(Last Written Time)만 기록됨->최대 단점

  • Hive File
    • 레지스트리 정보를 저장하고 있는 물리적인 파일
    • 키 값들이 논리적인 구조로 저장
    • 커널에서 하이브 파일 관리 -> 일반적인 방법으로는 접근 불가

3-6. etc

3-7. memory

메모리분석의장점
• 암호화/패킹된 실행 파일의 경우 메모리상에서는 복호화되어 존재
• 실제 파일이 실행되어야 메모리에 로드되기 때문에 실행 여부 확인 가능
• 각종 정보를 확인할 때 윈도우 API에 의존하지 않기 때문에 결과의 신뢰성 보장
• 은닉된 프로세스나 네트워크 정보를 확인 가능
• 분석의 반복성 보장
• 기타 대부분의 휘발성 정보를 메모리 덤프를 통해 획득할 수 있음

Volatility : 메모리 분석용 open-source tool

4. 분석 방법론

4-1. 타임라인 분석

침해사고분석 측면에서의 효용
• 분석할 로그의 양을 한정시킴과 동시에 침해 관련 이벤트를 발견할 확률을 높임
• 침해 시나리오 재구성에 따른 논리적 근거 획득
적용사례
• 특히 취약점을 이용한 최초 침해 시점의 이벤트는 시스템 권한을 획득하거나 백도어를 설치하기까지 제한적인 시간 동안 이뤄짐
• 분석 기준 시점 획득의 예

4-2. malicious

• 악성코드로 의심되는 파일을 확인했을 때 해당 파일이 악성코드인지 아닌지 여부를 판단
• 실제 악성코드분석(리버싱) 단계로 넘어가기 전 수준에서 탐색 가능한 최대한의 정보를 획득하는 것이 목적
• 악성코드로 의심되는 파일에서 확인된 정보와 각종 침해 관련 이벤트, 증상간 상호 연관성이 있는지 검

4-3. 프로그램 실행 아티팩트

  • prefetch files
  • registry keys

5. 웹쉘 분석 실무

5-1. 웹로그 분석

5-2. 웹셸

: 웹해킹에 주로 사용되는 Backdoor 프로그램

  • 주로 파일업로드 검증이 취약한 게시판에 업로드

Linux

1. 리눅스 사고 대응


Linux Directory

Linux vs Window

  • Different file system = 다른 파일 시스템
    • 파일 삭제 시 주요 메타데이터가 와이핑
    • 파일의 생성시간이 존재하지 않음
    • 논리적인 볼륨을 구성가능
  • No Registry = 레지스트리가 존재하지 않음
    • 시스템 정보를 산재된 자료로부터 수집하여야 함
  • Files/data are mostly plain text = 텍스트 기반의 파일 데이터
    • 내장 명령어를 조합하여 작업 수행가능

2. Linux 시스템 증거 수집

Getting Memory Dump

dump memory tool

  • DD : 전통적인 dump tool
  • memdump
  • fmem : 가상의 장치 file /dev/fmem을 생성하는 Kernel Module
  • lime : fmem과 동일하게 Kernel Module로 동작, 네트워크 전송기능
  • ASO

Getting Physical Disk Dump

• 대부분 침해 사고 대상 서버의 Physical dump 수행 시 dump한 이미지 파일의 저장 이슈가 발생

Getting Network Information

• Linux에서의 증거 수집 시 기본 명령어의 수행 결과를 리다이렉션하여 텍스트로 저장

Getting Process Information

• Linux에서의 증거 수집 시 기본 명령어의 수행 결과를 리다이렉션하여 텍스트로 저장

Open File & Loaded Module Information

• Linux에서의 증거 수집 시 기본 명령어의 수행 결과를 리다이렉션하여 텍스트로 저장

Scheduled Task

• 특정 프로세스나 네트워크 커넥션 정보를 관리자가 쉽게 눈치 채지 못하게 하기 위해
스케쥴을 걸어서 특정 명령을 실행 함

Temporary Directory

• 악의적인 목적의 의해 업로드 되거나 사용되었던 file의 흔적을 확인 함

3. Linux 시스템 로그 증거 수집

Log Files

• Log files의 위치는 일반적으로 동일하나 배포 버전에 따라 또는 관리자 임의에 의해
저장 위치가 상이 할 수 있음

4. 리눅스 증거 분석 방법론

Linux MAC Time
• 침해 사고 조사 시 가장 중요한 부분은 시간으로 파일 속성에 MAC Time에 대한 이해가 필요

  • atime : 파일 접근 시간
  • mtime : 파일 내용 수정 시간
  • ctime : 파일 속성이 변경 된 시간
  • find와 ls 이 두 Linux 기본 유틸리티를 통한 시간 베이스 검색 방법
    • find : newer 옵션으로 reference file 보다 이후레 만들어진 파일을 검색ㄱㄴ
    • ls : 옵션으로 시간 검색 가능

확인해야 할 files

  • account file
  • statip scrtpt
  • .rhosts
  • /etc/hosts
  • /etc/resolv.conf

RootKit

: 탐지를 피하기 위해 사용 되는 프로그램의 종류

  • RootKit 현상 : syslogd 데몬 종료,시스템 기본 유틸리티 교체, ssh, telnet, finger 데몬 추가
  • 탐지 : 주로 chkrootkit 을 사용하며, chkproc를 통해 숨겨진 프로세스를 확인 가능
  • chkrootkit
    과 rkhunter의 경우 Detection 할 수 있는 rootkit 차이가 있으므로, 점검 시 두가지 모두 사용

volatility

5. 리눅스 파일 복구

file system recovery

• Ext2 파일 시스템은 Debugfs 툴을 이용하여 복구 가능
• Ext3 , Ext4 파일 시스템은 Journaling Transaction 기법을 사용하여 파일을 관리 함
• Ext3 파일 시스템은 ext3grep 툴을 이용하여 복구 가능
• Ext4 파일 시스템은 extundelete 툴을 이용하여 복구 가능

profile
시들시들한 올빼미

0개의 댓글