File Forensic/File Analysis 4

[Digital Forensic] SQLite Journal & WAL Structure Analysis

SQLite JournalingJournaling: SQLite의 트랜잭션이 발생하면 SQLite의 일관성을 보장하기 위해 백업하는 기법을 의미한다. 트랜잭션 과정에서 예상치 못한 문제로 인해 트랜잭션이 비정상적으로 종료되면, 백업해 둔 임시 파일을 이용해 SQLite를 트랜잭션 이전으로 복원한다. 디지털 포렌식의 관점에서 journal 파일 분석은 SQLite의 특정 이벤트 이전의 Page를 확보할 수 있어 중요하다.SQLite의 journal 모드는 Rollback Journal 모드와 WAL 모드 두 가지가 있으며, 아래는 각 모드의 상세 설명이다. Rollback JournalRollback Journal 모드는 기본적으로 트랜잭션이 발생하면 journal 파일을 생성한다. 이후에 SQLite의 ..

[Digital Forensic] SQLite Recovery Analysis (Non-Secure Delete)

Event Analysis먼저 SQLite의 Record 생성, 삭제, 복구 이벤트 분석에 사용할 SQLite를 생성하였다. 아래는 SQLite 내부 테이블의 모습으로, 테이블은 하나만 존재한다.   SQLite의 Record 이벤트 분석 과정은 다음과 같다. Record의 생성, 삭제, 복구 이벤트 발생 이전의 SQLite 파일을 저장하고, 추가로 이벤트 발생 이후의 파일을 추가 저장하여 두 파일을 비교분석하였다.1. Record 생성기존의 1, 2, 3번 3개의 Record에 추가적으로 Record('Choi', '2023004', 'Software')를 생성하였다. 아래는 각각 Record 생성 전, 후의 Header Page 모습이다. 변화한 데이터는 색으로 표시하였다. 주요 확인 가능 정보Fil..

[Digital Forensic] SQLite Structure Analysis

SQLiteSQLite: 서버 없이도 동작하는 로컬 데이터베이스 관리 시스템으로, 오프라인 상황에서 저장되는 데부분의 데이터는 SQLite에 저장된다. 본 글은 SQLite의 구조를 디지털 포렌식의 관점(삭제, 복구, 복구 가능 여부)에서 바이너리 단위로 분석한 글이다.   SQLite StructureSQLite는 페이지의 집합으로, 페이지는 SQLite가 데이터를 저장하는 물리적인 단위이다. SQLite에서 Page는 크게 Header Page와 일반 Page로 나뉜다. Header Page는 1번 페이지로 SQLite DataBase 정보와 Schema Table 정보를 포함하고, 일반 Page는 1번 Page를 제외한 모든 페이지(Page 2 ~ N)로 Table Cell 정보를 포함한다.   P..

[Digital Forensic] Zip File Structure Analysis

압축 파일의 구조와 현대의 마이크로소프트 오피스 문서 파일(예: docx, xlsx, pptx, hwpx)의 구조는 동일하다. 이는 파일 크기를 줄이고, 텍스트, 이미지, 메타데이터와 같은 다양한 데이터를 보다 효율적으로 관리하기 위함이다. 이러한 이유로, 오피스 문서 파일을 압축 해제하면 파일의 내용을 직접 확인이 가능하다.   Zip File Structure압축 파일의 구조는 크게 File Area, Central Directory Area, End of Central Directory로 나뉜다.File Area: File Entry의 집합으로, 하나의 File Entry는 압축 파일에 포함된 하나의 파일 이름, 파일 데이터, 파일 메타 데이터 등을 포함한 Entry를 의미한다.Central Dir..