32bit 머신의 주소체계
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. 증거처리 절차
▶ 준비 - 식별수집 - 이송 - 획득분석 - 분석서작성 - 보존
댓글