데이터의 구성단위(물리적 단위)
•
워드는 컴퓨터에서 연산의 단위로 사용, 이 때 메모리에 저장된 순서에서 작은 자리수의 숫자가 먼저 나오면 little-endian, 반대가 bigendian
•
니블(Nibble) : 4bit
•
바이트(Byte) : 8bit
논리적 단위
•
RDBMS (무결성)
◦
Oracle, MySQL, MSSQL, MongoDB
◦
스키마에 따라 데이터를 저장해야함 → 명확한 데이터 구조 보장
◦
관계는 각 데이터를 중복없이 한 번만 저장
•
NoSQL
◦
스키마가 없음 → 유연하며 자유로운 데이터 구조 가짐 → 언제든 저장된 데이터 조정 및 새로운 필드 추가 가능
스키마 : 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합
엔디안
※시험 : 빅 엔디안, 리틀 엔디안
•
빅 엔디안 : 큰 쪽 (바이트 열에서 가장 큰 값) 먼저 저장
•
리틀 엔디안 : 작은 쪽 (바이트 열에서 가장 작은 값) 먼저 저장
•
바이트 내의 비트 배열은 빅 엔디안
16진수
컴퓨터 시스템의 모든 데이터 → 2진수
사람이 분석할 땐 → 16진수 → 디지털 포렌식 분석에 매우 중요
아스키 코드 (ASCII : American Standard Code for Information Interchange)
•
영문 표기 코드, 128종 기호
•
제어 부호 33자, 그래픽 기초 33자, 숫자 10자, 알파벳 대소문자 52자
한글 문자 코드
•
조합형, 완성형, 확장 완성형, 유니코드 (Unicode)
•
최근은 대부분 유니코드
유니 코드
•
전 세계 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준
•
구성
◦
31비트 문자 셋 but 특수 문자 제외 전 세계 모든 문자들은 하위 16비트(2Byte)의 영역 안에 정의
•
UCS-2 UCS-4
◦
2 Byte - 16비트 이하 부분만 표현
◦
4 Byte - 31비트의 모든 유니코드 영역 표현
•
UTF - 8
◦
일반적 유니코드 포맷
◦
31비트 유니코드를 1~6개의 바이트에 나누어 저장
◦
상위 아스키 코드 영역은 1바이트, 한글은 보통 3바이트
•
UTF - 16
◦
UCS-2의 확장 버전
◦
UCS-2 문자열 안에 유니코드의 21비트 영역의 문자를 표현하기 위해서 도입
•
UTF - 32
◦
UCS-4의 확장 버전
◦
각 문자를 4바이트로 표현
한글 시간 정보의 표현 방식
•
디지털 포렌식에서 시간 정보
◦
시간 정보 - 범죄가 발생한 시점에 대한 행위를 가늠하는 잣대
•
시간 정보의 표현 방식
•
컴퓨터의 시간 저장 형식
◦
MS-DOS Date/TIme
▪
각각 2바이트로 저★장
◦
time_t, time64_t
◦
FIMETIME
•
휴대폰의 시간 저장 형식
◦
10진수, 16진수, ASCII
◦
Qualcomm TimeStamp, Anycall TimeStamp etc
•
DECODE APP : https://www.digital-detective.net/dcode/
데이터 인코딩
•
Base 64
◦
8비트 바이너리 데이터를 아스키(ASCII) 영역의 문자들로만 이루어진 일련의 문자열로 변환
◦
임의의 바이너리 데이터를 64개 아스키 문자의 조합으로 표현
파일
•
응용프로그램의 처리 단위
•
파일은 파일 시스템(file system)에 저장되는 기본 단위
◦
파일 시스템 내에 존재하는 파일은 일반적으로 이름과 확장자(extensions)를 부여
파일 분석
•
파일의 종류를 판단하기 위한 확장자(extensions)와 시그니처(signatures)를 이용
◦
파일 시그니처 모음 : http://forensic-proof.com/archives/300
•
파일 분석 - 헥스 뷰어(hex viewer) 이용 - 구조와 데이터 유형 파악
bad signature : 시그니처 잘못
alias : 모르는 시그니처
unknown : 알지 못하는 시그니처
match : 알맞은 시그니처
파일 포맷
•
데이터를 저장하기 위한 고유 저장 형식 사용
•
내부 구조
◦
헤더(header) : 해당 파일의 타입을 나타내는 시그니처 포함, 그 외 전체 파일 크기, 메타데이터의 시작 위치 등의 부가 정보가 저장
◦
메타데이터(metadata) : 사용자가 입력한 데이터를 설명, 관리하기 위한 데이터 - 응용프로그램에서 자동적 생성
◦
데이터(body data) : 파일의 본문(body)을 구성하는 실제 데이터 저장 영역