보안 조아

[메모리 포렌식] PC의 물리적 구조

코도리조림 2022. 1. 20. 20:29

메모리 분석에 영향을 주는 PC의 물리적 구조에 대해서

물리적 구조

PC는 다양한 구성요소가 연결되고 주변 디바이스와 연결할 수 있는 인쇄회로 기반(PCB)들로 구성되어있으며 이러한 시스템 내에 메인보드를 마더보드라고 합니다. 마더보드를 통해 시스템 구성요소들을 활성화할 수 있는 연결을 제공합니다 .

 

마더보드의 구성요소

마더보드 : 컴퓨터 시스템의 메인보드로, 프로그램을 실행하는 프로세서와 실행된 프로그램과 결합된 데이터를 저장하는 메인메모리로 구성됨

(1) CPU(Central Processing Unit 중앙 프로세싱 유닛 ) : 마더보드에서 프로세스를 담당하는 부분

데이터 처리를 위한 명령어 실행을 위해서 주 메모리에 접근한다.

+주 메모리에서 데이터를 읽어오는것은 cpu가 가진 메모리에서 읽는것보다 느리므로, 캐쉬를 여러계층으로 사용합니다.

(2) MMU(Memory Management Unit 기억관리 장치) : CPU에 저장된 데이터를 찾기위해 의존

주소변환을 관리하기 위한 데이터또한 주 메모리에 저장된다. 여기서는 해석이 다양한 메모리 읽기 동작을 요구하기 때문에 TLB( Translation Lookaside BUffer 변환색인버퍼) 라는 캐쉬를 이용한다.

 

메모리 컨트롤러

CPU의 주 메모리에서 통신을 관리하기 위한 메모리 컨트롤러 : 프로세서와 디바이스로부터 시스템 메모리에 대한 잠재적인 동시요청에 대한 중재 책임을 담당한다.

구형 PC에서의 CPU는 front-side-bus를 통해서 **노스브릿지(메모리 제어허브)**와 연결되며 노스브릿지는 이를 통해 주 메모리와 연결된다.

네트워크 카드와 디스크 제어기와 같은 디바이스들은 마더보드의 요소들에게 접근하기 위해서 노스브릿지에 단일 공유연결을 갖는 사우스브릿지, 또는 입출력 제어기 허브라고 불리는 칩에 의해서 연결된다.

-최근에는 성능 개선과 비용을 줄이기 위해서 메모리 컨트롤러 허브와 연관된 기능들은 프로세서에 통합되어있고, 이전에 사우스브릿지에 구현되어있던 기능중 남아있는 *칩셋기능플랫폼 컨트롤러 허브라고 알려진 칩에 집중되어 있다.

*칩셋기능 : 연결된 여러 저장 장치 및 확장 장치와 CPU간의 소통을 중계하는 역할

 

직접 메모리 접근

최근 시스템들은 성능향상을 위해 프로세스의 개입 없이 시스템 메모리 내 저장된 데이터를 직접 전송할 수 있는 입출력 디바이스를 제공한다. 이러한 기능을 DMA(Direct Memory Access,직접 메모리 접근)이라고 한다. (도입되기 이전에는 CPU가 입출력 전송 중 점유되거나 중개역할을 했음)

최근 :

(1) CPU가 데이터 전송을 시작하고 DMA 제어기가 전송을 관리

(2) 입출력 디바이스가 CPU와 독립적으로 데이터전송을 시작하기도 한다.

DMA는 컴퓨터에서 신뢰하지 않는 소프트웨어의 실행없이 주변 기기로부터 물리적 메모리의 콘텐츠에 접근할 수 있는 방법을 제공한다는 점에서 메모리 포렌식에서 중요한 역할을 한다.

 

 

휘발성 메모리(RAM)

대부분의 PC의 주 메모리는 DRAM( Dynamic Random Access Meory 동적램) 이다. 한 비트의 데이터를 저장하기 위해서 캐패시터 방전과 충전상태의 차이를 이용하기 떄문에 동적이라고한다.

따라서 *콜드부팅공격을 제외하고 전원이 차단될 시 휘발성 메모리는 손실된다.

그렇기 때문에, 우리가 시스템의 현재 상태에 대한 증거를 보존하기 위해서 기기의 전원을 차단하는 대응 방법은 권장되지 않는다.

*콜드리부트 공격이란? 특정 장비에 물리적인 접근을 할 수 있는 공격자들이 하드 리부트 이후에 잠시 메모리에 남아있는 암호화 키를 훔쳐내는 것을 말한다. 이 공격 기법이 알려진 후 IT 전문가들은 티시지(TCG : Trusted Compting Group)라는 걸 개발해 콜드 부트 공격을 막을 수 있었다. 컴퓨터가 리부트 될 때 데이터를 덮어쓰기 함으로써 제3자가 가로채지 못하게 하는 것을 말한다.