표제지
목차
약어표 9
논문요약 10
제1장 서론 11
제2장 배경지식 및 레코드 삭제 원리 13
제1절 모바일 포렌식 13
1. 모바일 포렌식 개요 13
2. 모바일 포렌식 현황 14
제2절 SQLite 16
1. SQLite 개요 16
2. SQLite와 모바일 포렌식 17
제3절 SQLite 파일 구조 18
1. SQLite Database Header 구조 19
2. SQLite Schema Table 구조 20
3. SQLite B Tree 구조 22
4. SQLite B+Tree Page 구조 23
제4절 레코드 삭제 원리 28
1. 정상 레코드 분석 30
2. 삭제 레코드 분석 31
제3장 삭제 레코드 복원 방법 33
제1절 기존 복원 방법 33
제2절 제안한 효율적인 방법 34
1. Case 1 : 레코드 길이(Length of Record) 일부만 손실된 경우 35
2. Case 2 : 레코드 길이(Length of Record)가 모두 손실된 경우 36
3. Case 3 : Row ID 일부만 손실된 경우 36
4. Case 4 : Row ID가 모두 손실된 경우 37
5. Case 5 : 데이터 헤더 길이(Length of Data Header) 일부만 손실된 경우 37
6. Case 6 : 데이터 헤더 길이(Length of Data Header)가 모두 손실된 경우 38
7. Case 7 : 첫 데이터 일부만 손실된 경우 38
8. Case 8 : 첫 데이터가 모두 손실된 경우 39
제4장 실험 및 비교분석 41
1. 구현한 복원 도구를 이용한 실험 44
2. 타 방식과의 비교 45
제5장 결론 47
참고문헌 49
ABSTRACT 51
[표 2-1] 디지털 증거 분석 현황 14
[표 2-2] SQLite Schema 구성요소 21
[표 2-3] Variable-length integer 27
[표 2-4] Data Type 정보 28
[그림 2-1] 가구 정보통신기기 보유율의 변화 15
[그림 2-2] SQLite 데이터베이스 파일 구조 18
[그림 2-3] SQLite Database Header 구조 19
[그림 2-4] SQLite Schema Table 구조 21
[그림 2-5] SQLite B+Tree 구조 23
[그림 2-6] SQLite B+Tree Page 구조 24
[그림 2-7] Internal Page Header 25
[그림 2-8] Leaf Page Header 25
[그림 2-9] Cell 구조 26
[그림 2-10] 데이터 삭제 원리 29
[그림 2-11] 정상 레코드 Page 구조 30
[그림 2-12] 삭제 레코드 Page 구조 31
[그림 3-1] 정상 레코드 Cell 구조 34
[그림 3-2] Cell 구조 - 레코드 길이 일부만 손실된 경우 35
[그림 3-3] Cell 구조 - 레코드 길이가 모두 손실된 경우 36
[그림 3-4] Cell 구조 - Row ID 일부만 손실된 경우 36
[그림 3-5] Cell 구조 - Row ID가 모두 손실된 경우 37
[그림 3-6] Cell 구조 - 데이터 헤더 길이 일부만 손실된 경우 37
[그림 3-7] Cell 구조 - 데이터 헤더 길이가 모두 손실된 경우 38
[그림 3-8] Cell 구조 - 첫 데이터 일부만 손실된 경우 38
[그림 3-9] Cell 구조 - 첫 데이터가 모두 손실된 경우 39
[그림 4-1] 안드로이드 모바일 기기의 Data 디렉터리 구조 41
[그림 4-2] 후후 어플리케이션의 databases 디렉터리 구조 42
[그림 4-3] TBL_CONTACT_LAST 테이블 내용 43
[그림 4-4] 구현한 복원 도구로 복원한 테이블 내용 44
[그림 4-5] Oxygen Forensic SQLite Viewer로 확인한 테이블 내용 45