Theory/Forensic

32bit 머신의 주소체계

D4tai1 2019. 4. 27.

1. 32bit 머신의 주소체계
1) Virtual Address Space
▶ 실제 물리 메모리를 매핑한 가상주소를 사용
   + 가상주소를 사용하기 위해 Page Table을 사용


▶ 저장 불가능한 메모리 정보는 Page File로 저장
  하는 것을 paging이라 함. 저장장소 = C:\pagefile.sys


▶ 프로세스 메모리 공간은 다른 프로세스가 접근 불가
  + OS가 메모리 접근을 관리


▶ 32bit 환경에서 최대 VAS는 4GB이고, 64bit 환경에서 2의 64승만큼의 VAS를 가질 수 있다.
  + 4GB가 넘어가면 메모리에서 접근이 불가능


2) 용어
▶ 힙 = 동적메모리 할당
▶ 스택 = 복귀메모리주소, 매개변수
▶ 메모리 매핑 = 커널영역의 라이브러리 호출
▶ Static memory 할당 = 전역변수 선언과 비슷


3) 구조

▶ 커널메모리는 커널만 접근이 가능
▶ 사용자 프로세스가 커널 프로세스를 요청해서 커널프로세스 사용
▶ 4GB중 2GB는 프로세스, 2GB는 시스템에서 사용
▶ User memory 커널에 있는 변수는 내부에서 버퍼이동을 해야하지만 사용자 프로세스는 커널메모리에 있는 것을 접근할 수 없음.
▶ 커널 프로세스는 커널 메모리에 접근이 가능하므로 커널메모리에 있는 것을 유저메모리 영역에 저장
▶ 위 동작은 운영체제가 관여해서 실행
▶ 프로세스영역 Fopen을 Fn_open()의 커널프로세스가 읽고 커널메모리가 유저메모리에 저장해서 프로세스 사용
▶ 영역 확인방법
  + 커널 영역 = 주소 값이 높음
  + 프로세스 영역 = 주소 값이 낮음
  + 정보는 Debugging 시 확인 가능
  + 그러나 커널 영역 주소도 가상주소이고 실제주소는 아님

 

▶ 우측그림 2개의 메모리는 실제로 좌측 2번째 그림과 같이 유저메모리는 공유하지 않지만 커널 메모리는 공유
▶ 유저가 커널메모리에 접근할 수 없는 이유?
  + 다른사용자 영역의 메모리를 침범할 수 있음

 

▶ 16bit와 32bit 메모리 구조차이
  + 16bit는 메모리 주소가 같으면 같은 곳을 가리킴
  + 32bit는 메모리 주소가 같아도 가상의 주소로 판단
  하여 OS를 거치면 실제 메모리의 다른 곳을 가리킴


4) Page Table과 가상주소

▶ Virtual Memory의 일부 = Page table 전체
▶ Page table의 일부 = Page table entry[4byte]
  = 실제 물리적 주소가 저장되어 있는 곳
▶ ex) VAS(4GB, 2^32)의 0번 페이지의 실제 주소는
  + 0x0001100

 

2. 해시알고리즘
▶ md5 = 128bit
▶ sha1 = 160bit


3. MAC Time 변화
1) 파일복사, 파일압축해제
▶ 만든날짜, 접근날짜 = 복사한 시점으로 변경
▶ 수정한 날짜가 변경 안됨 - 시간의 역전현상

 

4. USB 레지스트리에서 얻을 수 있는 정보
▶ USB 제조사, 제품명, 버전
▶ 저장장치 사용 볼륨
▶ 마지막 부팅 후 최초 USB 연결 시간

 

5. 증거처리 절차
▶ 준비 - 식별수집 - 이송 - 획득분석 - 분석서작성 - 보존

'Theory > Forensic' 카테고리의 다른 글

파일시스템  (0) 2019.06.17
디지털포렌식  (0) 2019.04.27
실시간 대응  (0) 2019.04.27
레지스트리 분석  (0) 2019.01.19
메모리 수집 분석  (0) 2019.01.19

댓글