본문 바로가기

디지털 포렌식 (Forensic)

(62)
[디지털포렌식전문가 2급 필기] 1-3-3. 하드디스크 드라이브의 이해 DMA (Direct Memory Access) - 하드디스크 같은 특정 하드웨어가 CPU의 개입 없이 독립적으로 컴퓨터 메모리에 접근할 수 있도록 해줌 - CPU의 작업 수행을 방해하지 않고 I/O 자료 전송을 수행할 수 있는 기술 하드디스크 - 순차 I/O 방식이 임의 I/O 방식보다 데이터를 더 빨리 처리 가능 - 디스크 컨트롤러는 캐쉬를 활용하여 읽기와 쓰기 시간을 모두 향상시킴 - 디스크에 저장된 데이터를 찾는 데 걸리는 시간을 접근 시간이라 함 - 다수의 플래터를 사용할 경우, 각 플래터의 동일한 트랙을 실린더라고 함 - 플래터 표면 상에 있는 자화물질을 자화시켜 정보를 기록 - 회전 지연 시간 중에는 데이터를 읽고 쓰지 못하기 때문에 시간이 짧을수록 좋음 하드디스크의 구조 - 대량의 데이터를..
[디지털포렌식전문가 2급 필기] 1-3-2. 디지털 기기의 종류 내장 메모리 - 휴대전화기의 운영체제가 저장됨 스마트폰에 사용하는 내장메모리 용량 - 16GB - 32GB - 64GB PMP 메모리에 저장되는 내용 - 전자책 (E-Book) - 인터넷 강의용 동영상 - mp3 음악 파일 메인 프레임 컴퓨터 - 단말기를 통하여 다수의 사용자가 작업할 수 있는 범용 목적의 대형 컴퓨터로 금융 기관, 정부 기관 등에서 사용됨 USIM - 유심은 소형 CPU와 메모리로 구성 - CPU는 암복호화 기능으로 사용자를 식별, 메모리는 부가서비스를 위한 저장 공간으로 이용 - 메모리에는 신용카드나 교통카드, 멤버십카드 등의 기능을 넣을 수 있음 - OTA 기술로 뱅킹이나 카드 서비스 승인만 받으면 별도의 칩을 발급받지 않고도 무선으로 서비스 탑재 가능 - 사용자 인증 모듈인 USI..
[디지털포렌식전문가 2급 필기] 1-3-1. 디지털 저장매체의 종류 및 특징 반도체를 이용한 저장매체 ROM (Read Only Memory) - 읽기만 가능한 기억 장치. (비휘발성 메모리) EEPROM - 전기적으로 읽고 쓰기가 가능한 기억 장치 RAM - 자유롭게 데이터를 읽고 쓸 수 있는 기억장치 - 주기억장치에 많이 사용 (휘발성의 특징) DRAM - 전원이 없으면 값을 유지할 수 없음 - 주기적으로 값을 refresh - 전원이 차단되지 않더라도 저장된 자료가 소멸되는 단점 - SRAM보다 느림 - 트랜지스터 1개 SRAM - 전원이 공급되는 한 기억된 데이터가 지워지지 않음 - DRAM보다 빠름 - 캐쉬 메모리를 구현할 때 많이 사용 - 트랜지스터 6개 SDRAM - DDR SDRAM은 클록 주파수를 높이지 않아도 SDR SDRAM에 비해 대역폭이 거의 두 배 증가 ..
[디지털포렌식전문가 2급 필기] 1-2-4. 데이터 인코딩 Base64 - 64진법으로 볼 수 있음 - 8비트 이진 데이터를 문자코드에 영향을 받지 않는 공통 아스키(ASCII) 영역의 문자로 바꿈 - 원본 데이터가 3바이트일 경우, 인코딩 결과는 총 4개의 문자가 나옴 - 인코딩 대상 문자를 6비트 단위로 쪼개 인코딩을 수행 - = 는 종료를 알리는 코드 - 인코딩 결과물은 원본보다 대략 4/3 정도 크기가 증가 - 인코딩된 문자열은 의미없어 보이는 문자열이 나열된 형태 - 전자우편에 관한 규격인 MIME에서 정하고 있는 부호화 방식의 하나 - 인코딩된 문자열은 알파벳 대소문자와 숫자, 그리고 +, / 기호를 사용한 64개로 이루어짐
[디지털포렌식전문가 2급 필기] 1-2-3. 문자 아스키 코드 (ASCII Code) - 미국 표준협회에서 제정한 자료 처리 및 통신 시스템 상호간이 정보 교환용 표준 코드 - 7비트로 구성된 128종의 기호를 표현 가능 - 아스키 코드가 7비트로 구성된 이유는 패리티 비트 때문임 - 1바이트로 하나의 문자를 표현 - 제어 부호 33자, 그래픽 기호 33자, 숫자 10자, 알파벳 대소문자 52자로 구성 - 제어 부호는 통신의 시작과 종료, 라인 피드 등을 표시 가능 (데이터 통신에 이용) 패리티 검사 코드 (Parity Check Code) - 코드에 오류가 발생하였는지 검사하기 위하여 크기가 1인 비트(bit)를 추가 - 짝수 패리티 (Even Parity) : 전체 비트에서 1의 개수가 짝수가 되도록 패리티 비트를 정함 - 홀수 패리티 (Odd Pa..
[디지털포렌식전문가 2급 필기] 1-2-2. 수 체계 고정 소수점 (Fixed Point) - 정수 데이터의 표현과 연산에 사용하는 방식 - 소수점이 고정된 형태 - 첫 비트는 부호 비트로 양수(+)는 0, 음수(-)는 1로 표시 표현방법 설명 부호화 절대치 부호 비트만 1로 가장 단순한 방법으로 2진수의 크기를 크기 비트에 할당 범위 : -(2^n-1 - 1) ~ (2^n-1 - 1) 1의 보수 0 -> 1, 1 -> 0 으로 변환 범위 : -(2^n-1 - 1) ~ (2^n-1 - 1) 2의 보수 1의 보수 + 1 범위 : -(2^n-1) ~ (2^n-1 - 1) 부동 소수점 (Floating Point) - 실수 데이터의 표현과 연산에 사용하는 방식 - 소수점의 위치를 고정하지 않음 - 소수점의 위치를 나타내는 수를 따로 작성 - 유효숫자를 나타내는 ..
[디지털포렌식전문가 2급 필기] 1-2-1. 데이터의 구성 단위 물리적 단위 - 실제 물리적 장치 (메모리, 저장 장치)에서 사용되는 단위 - 0, 1의 내용만 저장할 수 있는 비트(bit)가 최소 단위 단위 크기 비트 (bit) 데이터 구성의 최소 단위. 0과 1로 구성. 쿼터 (quarter) 1/4 바이트 (2 비트) 니블 (nibble) 1/2 바이트 (4 비트) 바이트 (byte) 1 바이트 (8 비트) 워드 (word) 2 바이트 (16 비트) 더블 워드 (double word) 4 바이트 (32 비트) 쿼드 워드 (quad word) 8 바이트 (64 비트) Kilobyte (KB) Megabyte (MB) Gigabyte (GB) Terabyte (TB) Petabyte (PB) Exabyte (EB) Zettabyte (ZB) Yottabyte (YB..
[디지털포렌식전문가 2급 필기] 1-1-2. 프로세스 구조 프로세스 - 60년대 Mulitics OS에서 처음 나와 IBM OS에서 Task로 정함 - 운영체제에서 작업의 단위로, 수행중인 프로그램을 의미 - 현재 실행중이거나 곧 실행가능한 프로그램 - 실행중인 프로그램, 비동기적 활동, 살아있는 프로그램, PCB를 가진 프로그램, 언제든 실행 가능한 프로그램 모두 프로세스라고 정의 - 프로세스는 살아 있는 동안 실행 상태, 블록 상태, 준비 상태의 3가지 상태변화를 가짐 - 프로세스의 블록 상태는 입출력 종료와 같은 외부 신호를 기다리고 있는 상태를 의미 프로세스 제어 블록 (PCB : Process Control Block) - 프로세스의 현재 상태, 이름, 우선순위, 메모리 주소, 할당된 자원 목록, PC 정보, 프로그램 카운터 값, 프로그램 상태 정보, ..
[디지털포렌식전문가 2급 필기] 1-1-1. 컴퓨터 구조의 발전 컴퓨터 구조 하드웨어 하드웨어 예시 입력장치 마우스, 키보드, 웹캠, 터치패드 등 출력장치 모니터, 스피커, 프린터, 프로젝터 등 중앙처리장치 CPU (Central Processing Unit) 주기억장치 ROM (Read Only Memory), RAM (Random Access Memory) 보조기억장치 HDD, SSD, CD, USB, 플래시메모리 등 소프트웨어 소프트웨어 예시 시스템 소프트웨어 운영체제 (Operating System), 컴파일러 (Compiler) 응용 소프트웨어 워드프로세서, 구글 크롬, 인터넷 익스플로러 세대별 컴퓨터 특징 주요 소자 소프트웨어 특징 1세대 진공관 (Tube) 일괄 처리 시스템 (Batch Processing System) 2세대 트랜지스터 (TR) 다중 프..
[메모리 포렌식] Volatility 프레임워크 pslist, psscan, pstree, psxview 플러그인 이번에는 메모리 포렌식에 사용되는 Volatility 프레임워크의 프로세스 정보를 보여주는 플러그인을 알아보겠습니다. 플러그인을 사용하기 위해 앞에서 배운 imageinfo 플러그인을 사용하여 구한 메모리 파일의 profile 정보가 필요합니다. 먼저 vol.py -h 명령어로 플러그인들의 설명을 읽어보겠습니다. 그럼 vol.py -f 1.vmem --profile=Win7SP1x64 pslist 명령어로 pslist 플러그인을 살펴보겠습니다. pslist 플러그인은 설명처럼 현재 작동중인 모든 프로세스들을 출력해줍니다. Offset 주소와 PID, PPID 등과 같은 정보도 함께 출력됩니다. 다음으로 vol.py -f 1.vmem --profile=Win7SP1x64 psscan 명령어로 psscan ..