디지털 포렌식 맛보기#2
DFIR/기타 개념

디지털 포렌식 맛보기#2

빅 엔디안과 리틀 엔디안(Big endian & Little endian)

 

데이터는 저장 장치에 저장이 될 때 "빅 엔디안"과 "리틀 엔디안" 두 가지 방법을 사용하게 됩니다.

 

 

빅 엔디안 방식은 그림 1과 같이 데이터를 읽을 때 평소 우리가 읽는 방식대로 왼쪽에서 오른쪽으로 읽는 방식입니다.

리틀 엔디안 방식은 그림 2와 같이 우리가 읽는 반대 방향인 오른쪽에서 왼쪽으로 읽는 방식입니다.

리틀 엔디안은 컴퓨터 연산이 단순해지고 빨라진다는 장점이 있습니다.

모든 x86_64 프로세서(Intel/AMD)는 리틀 엔디안을 사용하는 반면 IP/TCP는 빅 엔디안을 사용합니다. 분석하는 데이터가 어떤 엔디안 방식을 사용하는지 파악하는 것이 중요합니다.

 


 

시간 정보

 

디지털 포렌식의 관점에서 시간 정보는 사건이 발생한 시점에 대한 행위를 파악할 수 있는 매우 중요한 척도입니다.

시간 정보를 분석할 때에는 데이터를 현지시각의 정보로 변환하여 분석해야 합니다.

미국에 있는 시스템을 분석하는데 한국 시간을 기준으로 분석하면 타임라인이 엉망이 되는 것입니다.

 

GMT(그리니치 표준시)

GMT는 런던의 그리니치 천문대를 기준으로 한 평균 태양시를 의미합니다.

GMT 시간은 1925년 2월 5일부터 1972년 1월 1일까지 거의 반 세기 동안 세계 표준시로 사용이 되었습니다.

 

UTC(세계 협정시)

지구 자전 주기의 영향을 받는 GMT의 단점을 보완하여 1972년 1월 1일 세계 표준시로 규정된 세슘 원자의 진동수에 기반하여 시간을 측정하는 방법입니다.

 

KST(한국 표준시)

Korea Standard Time(KST)는 한국의 표준시로 UTC 기준 시에서 9시간을 더한 UTC+9가 한국의 표준시입니다.

 

Epoch 시간, POSIX 시간, Unix 시간

위의 세 가지 용어는 같은 말입니다. 1970년 1월 1일 00:00:00(UTC) 부터의 경과 시간을 초로 환산하여 정수로 나타낸 것입니다. 유닉스 계열 운영 체제나 여러 다른 운영 체제 혹은 파일 형식에서 사용이 됩니다.

 

유닉스 시간 변환 사이트

 

위와 같은 사이트에서 유닉스 시간을 쉽게 변환할 수 있습니다. (https://time.is/ko/Unix_time_converter)

 


 

하드디스크 구조

 

하드디스크 구조

 

  • 전원 커넥터 : 하드디스크에 전원을 공급해주는 단자
  • 데이터 커넥터 : 컴퓨터로 데이터가 전송되는 단자
  • 플래터 : 하드디스크에 실제 데이터가 저장되는 부분
  • 스핀들 모터 : 플래터를 회전시키는 역할
  • 액츄에이터 암 : 헤드를 필요한 데이터 위치로 이동
  • 헤드 : 플래터에 저장되어 있는 데이터를 읽는 역할

 

플래터 구조

 

  • 트랙(A) : 섹터 단위의 모음, 원심 전체가 트랙
  • 섹터(B) : 하드디스크의 물리적인 최소 단위, 일반적으로 512byte
  • 트랙섹터(C) : 같은 구역에 있는 섹터 집합
  • 클러스터(D) : 섹터를 묶은 데이터의 입출력 단위, 일반적으로 4,096 byte (8 sector)

 


 

주소 지정방식

 

하드디스크는 CHS(Cylinder-Head-Sector)와 LBA(Logical Block Address) 방식의 주소지정방식을 사용합니다.

  • CHS : 하드디스크의 물리적인 구조에 기반을 둔 주소지정방식, 시간이 지나면서 디스크가 점차 고용량화되자 사용할 수 없게 됨(현재는 사용하지 않는 방식)
  • LBA : 물리적인 구조에 대한 정보가 불필요하며, 섹터 단위로 디스크의 마지막까지 차례대로 주소를 지정하는 방식, 현재 48bit 주소방식을 사용하여 고용량 디스크도 지원(현재 사용중인 방식)

 


 

디지털 포렌식 프로그램

 

디지털 포렌식 프로그램의 필요조건

  • 유용성 : 분석 도구는 조사관이 데이터를 정확하게 해석할 수 있도록 평문으로 나타내며, 정확한 포맷으로 데이터를 제시해야 한다.
  • 포괄성 : 모든 증거를 식별할 수 있기 위해 조사관이 모든 출력 데이터에 접근할 수 있어야 한다.
  • 정확성 : 오류 문제를 해결하기 위해 분석 도구는 출력 데이터가 정확하고 결과가 적절하게 해석될 수 있도록 오류 한계가 계산된다는 것을 보장해야 한다.
  • 동일성 : 정확성을 보장하기 위해 변형 규칙 집합과 입력이 주어지면 항상 동일한 출력을 산출해야 한다.
  • 입증 가능 : 수동으로 또는 보조의 독립적인 도구 집합을 사용하여 결과를 입증할 수 있어야 한다.
  • 읽기 전용 : 데이터의 손상을 방지하기 위해 읽기 전용 특성을 지원할 수 있어야 한다.
  • 건전도 검사 : 유효한 출력과 유효하지 않은 출력을 구별할 수 있는 기능을 갖추고 있어야 한다.

 

수집/분석도구 보고서 기재요령

 

도구명 제조사 버전 다운로드 경로 용도
WinHex X-Ways 18.4.2 http://www.x-ways.net/winhex 데이터 분석
FTK Imager AccessData 3.3.1 http://accessdata.com/product-download 이미지 생성
Volatility     https://code.google.com/p/volatility 메모리 분석

 

상업적으로 널리 사용되는 프로그램의 경우 프로그램의 정보만을 기재하면 족하지만 새로 만든 프로그램의 경우 구체적 입증방법을 따로 기재해야 합니다.

 


 

디지털 포렌식 맛보기#1 포스팅에서 살인 사건의 결정적인 단서가 된 피해자가 소지하고 있던 물건에 대해 얘기를 했었습니다. 그 답은 스마트 워치 입니다. 피해자가 착용하고 있던 스마트 워치의 데이터를 분석해서 심박수가 급격히 높아졌던 시점을 특정하여 용의자의 알리바이를 검증할 수 있었던 것입니다.

이처럼 디지털 포렌식 기술을 사용해서 각종 범죄 사건에서 사건을 해결할 수 있는 결정적인 단서를 찾을 수 있습니다.

'DFIR > 기타 개념' 카테고리의 다른 글

VMware Drag and Drop File 경로  (0) 2022.05.27
Falcon NEO 디스크 이미징 수행 과정  (0) 2022.01.10
디지털 포렌식 맛보기#1  (0) 2021.06.27
클러스터(Cluster)  (0) 2021.06.22
디지털 포렌식과 해시(Hash)  (0) 2021.06.21