본문 바로가기

해킹 강의/포렌식

[책 요약] 이제 시작이야! 디지털 포렌식 2장

포렌식을 하기 위해서는 컴퓨터 내부 환경에 대한 깊은 지식이 핵심이라고 한다. 하지만 컴퓨터에 대한 모든 지식이 포렌식에 유용하지는 않다. 메모리와 저장장치는 매우 중요하지만, CPU나 프로세서는 큰 도움이 되지 않는다.

비트, 바이트 그리고 수의 체계 : 컴퓨터는 0과 1을 가지는 비트를 단위로 표현을 한다. 8개의 비트는 바이트라고 한다. 이 이진수를 쉽게 보기 위해 16진수를 이용한다.

바이너리 데이터인 이진수를 문자로 해석하기 위해서 크게, ASCII와 유니코드라는 인코딩 방식을 이용한다. ASCII는 영어 알파벳과 몇개의 특수문자, 그리고 숫자를 표현하기 위한 것이고, 유니코드는 세상의 모든 문자를 표현하기 위한 방식이다. 

파일 카빙(carving)이란, 특정한 형태가 없는 데이터를 바탕으로 파일의 위치를 확인하고 복원하는 방법이다. 보통 header와 footer의 시그니처를 이용하여 파일을 추출한다. 다만 이런 파일이 조각나 있다면 복원하기는 훨씬 어렵다. 바이너리와 헥스를 읽을 줄 알아야, 파일 카빙이 가능하다.

파일은 연속적인 비트와 바이트로 이루어져 있는데, 파일 확장자를 이용하면 파일을 식별할 수 있다. 근데 파일의 확장자는 조작이 쉽기 때문에, 시그니처 분석을 통해 식별하는 것이 효과적이다.

자기 디스크와 플래시 메모리, 광 저장장치 등의 데이터 저장장치가 있다. 자기 디스크는 자기물질로 코팅된 알루미늄 플래터를 이용하여, 플래터를 빠르게 회전시킨다. 이때 자기물질들을 자화시키면서 데이터를 저장한다. 플래시 메모리는 다른 메모리와 다르게 전기가 차단되어도 데이터가 지워지지 않는다. 광 저장장치는 CD, DVD, 블루레이를 의미한다. 빛의 반사되는 정도를 미세한 흠을 만들어서 조절하여 데이터를 표현한다. 그러므로 한번 데이터를 작성하면 다른 데이터를 덮어쓰기는 하지 못한다.

RAM은 휘발성 메모리이다. 

컴퓨터 환경 : 컴퓨터 환경에는 독립형, 네트워크, 메인 프레임, 클라우드 등 4가지가 있다. 독립형 컴퓨터의 경우 다른 컴퓨터와 연결되어 있지 않은 컴퓨터로, 가정집에서 흔하며 다루기 쉽고, 조사하기도 용이하다. 네트워크 컴퓨터는 주로 비지니스 환경에서 볼 수 있지만, 요즘은 가정집에서 사용하는 경우도 늘어나는 추세이다. 메인프레임 시스템은 모든 컴퓨터 능력을 한 위치에 집중시킨다. 클라우드 컴퓨팅은 Infra나 Platfrom 그리고 Software등을 제공하는 서비스 등을 말한다. IaaS, PaaS, SaaS라는 용어가 있다. 이렇다 보니 클라우트 컴퓨팅 환경에서는 관련 데이터가 다른 도시에 있거나 지구 반대편에 있을 수도 있다. 

데이터의 종류는 활성 데이터, 숨은 데이터, 아카이브 데이터로 나뉜다. 활성 데이터는 그냥 우리가 쓰는 데이터고, 숨은 데이터는 삭제되었거나 부분적으로 덮어씌어진 데이터이다. 아카이브 데이터는 외장 하드, DVD, 백업 테이프 등으로 백업된 데이터이다. 아카이브 데이터를 확보하는 것은, 데이터의 저장 방식이나 백업 매체의 종류에 따라 매우 간단할 수도 매우 복잡할 수도 있다. 예를 들어 오래된 방식으로 데이터를 복원할 수 있는 백업 테이프가 있다고 할 때 백업 테이프를 생산한 업체가 사라졌다면 복원하기 매우 어려울 것이다. 가끔은 중고 사이트에서 대박을 터뜨릴때도 있다고 한다.

파일 시스템이란 파일들을 관리하기 위한 방법이다. FAT, NTFS, HFS+ 등이 있다. FAT는 요즘은 잘 안쓰고 플래시 메모리에는 종종 쓴다. NTFS는 FAT보다 많은 기능을 가지는 윈도우의 FS이다. HFS+는 애플 제품에서 사용한다. 

할당된 공간은 파일이 운영체제에 의하여 할당되어 사용가능한 영역이고 할당되지 않은 공간은 운영체제가 데이터를 볼 수 없다. 하지만 비어있는 공간은 아니다. 

데이터의 영속성 : 하드에는 sector 라는 것이 있는데, 이 sector에 데이터가 저장되고, sector가 512MB라면 1024MB크기의 파일은 저장될 때 정확히 2개의 sector를 사용할 것이다. 만약 513MB의 파일을 저장한다면, 이 경우에도 2개의 sector에 저장되지만, 하나의 sector는 512MB의 여유 공간이 남을 것이다. 이 때 512MB를 slack space라고 하며, 이 공간의 데이터는 복구될 수도 있다.

페이지 파일 또는 스웝 공간 : 컴퓨터의 RAM이 부족하면 가상 메모리를 이용하는데 이 가상 메모리는 페이지 파일 또는 스웝 공간이라고 불리면서, RAM의 정보를 담게 된다. 그래서 이 페이지 파일의 데이터를 복구하거나 조사하면 유용한 데이터를 얻어낼 수도 있다.

 

후 요약끝~