SlideShare a Scribd company logo
FORENSIC INSIGHT;
DIGITAL FORENSICS COMMUNITY IN KOREA
SQL Server Forensic
AhnLab A-FIRST
Rea10ne
unused6@gmail.com
Choi Jinwon
forensicinsight.org Page 2
Contents
1. SQL Server Forensic
2. SQL Server Artifacts
3. Database Files
4. Recovering Deleted Data From Data Files
forensicinsight.org Page 3
SQL Server Forensic
- What is SQL Server Forensic
- SQL Server Forensic Methodology
forensicinsight.org Page 4
What is the SQL Server Forensic
 Database 내에서 발생한 침해사고에 대한 입증 혹은 반증
 Database 침해사고에 대한 영향 분석
 사용자 DML 혹은 DDL 사용 행위 추적
 Database에서 이전 혹은 이후에 발생하는 Transaction 식별
 삭제된 데이터 복원
forensicinsight.org Page 5
SQL Server Forensic Methodology
 Investigation Preparedness
 Incident Verification
 Artifacts Collection
 Artifacts Analysis
Incident
Verification
Artifacts
Collection
Artifacts
Analysis
Investigation
Preparedness
forensicinsight.org Page 6
SQL Server Artifacts
- Resident Artifacts
- Non-Resident Artifacts
- SQL Server Artifacts
- SQL Server Artifacts Category
forensicinsight.org Page 7
Resident Artifacts
 SQL Server를 관리하는 목적으로, 시스템 설치 시 기본적으로 설정되는 Artifacts
• 예) SQL Server Error Log, Data Files 등
• System의 Version에 따라 차이가 발생할 수 있음
• 휘발성 데이터(Volatility Data)와 비휘발성 데이터(Non-Volatility Data) 모두 존재함
forensicinsight.org Page 8
Non-Resident Artifacts
 SQL Server를 운용하기 위한 필수적인 요소는 아니지만, 연관성을 갖고 동작하는
Artifacts
• 예) System Event Log, Web Server Log 등
• 대부분의 Non-Resident Artifacts는 비휘발성 데이터로 구성되어 있음
forensicinsight.org Page 9
SQL Server Artifacts
SQL Server Artifacts
Resident Artifacts
Non-Resident Artifacts
Volatility Non-Volatility
Data Cache
Plan Cache
Cache Clock Hands
Active VLFs
Server State
Ring Buffer
Database
SQL Server Error Logs
Data Files
Authentication Setting
Authorization Catalogs
Database User
Database Objects
Server Versioning
SQL Server Logs
Jobs
Triggers
Native Encryption
CLR Libraries
Reusable VLFs
…
System Event Logs
External Security Controls
Web Server Logs
SQL Server Forensic – Kevvie Fowler
forensicinsight.org Page 10
SQL Server Artifacts Category
분류 Artifacts
행위 재구성
Data Cache, Plan Cache, Active VLFs, Reusable VLFs, Server State,
Database Objects, AutoEXEC Procedures, Cache Hands, Jobs, Triggers,
Trace Files, Server Error Logs
데이터 복구 Active VLFs, Reusable VLFs, Table Statistics, Data Files
인증 및 권한
Authentication Settings, SQL Server Logins, Authorization Catalogs,
Database User, Trace Files, Server Error Logs
서버 설정 및 버전
Server Configuration, Collation Settings and Data Types, Native Encryption,
Server Versioning
연관성 자료 Database, Data Page, End Points, Schema
SQL Server Forensic – Kevvie Fowler
forensicinsight.org Page 11
Database Files
- Database Files
- Data Storage
- Data Rows & Data Tables
- Data Page
- Extents
forensicinsight.org Page 12
Database Files
 기본적으로 모든 SQL Server는 Data File과 Log이 구성되어 있음
• Data File : Database Object 들을 저장하고 있는 파일 (*.mdf)
• Log File : DML(Database Manipulation Language)과 몇몇 DDL(Database Definition Language)
의 동작을 기록하는 파일 (*.ldf)
 Database의 로그는 이벤트 단위의 로그가 아닌 Transaction 단위의 로그로 기록됨 (Transaction
Log)
Database
Data Files
Log Files
File1.mdf File1.mdf File1.mdf
Log1.ldf Log2.ldf
SQL Server Forensic – Kevvie Fowler
forensicinsight.org Page 13
Data Storage
 SQL Server는 많은 양의 데이터를 관리하기 위해서 여러 단위의 논리적인 구조를 사용함
• Records
• Columns
• Rows
• Tables
• Pages
• Extents
forensicinsight.org Page 14
Data Rows & Data Tables
 Data Rows
• 각 Column에 속해 있는 Record들의 집합으로 이루어진 간단한 구조체
 Data Row는 고정적인 사이즈의 데이터를 포함하고 있는 Fixed Rows와 가변적인 사이즈의 데이터
를 포함하고 있는 Variable Rows로 나누어 짐
 Data Tables
• 동일한 Column으로 구성된 Row 들의 집합으로 이루어진 간단한 구조체
Data Row
Record
Column
Table
forensicinsight.org Page 15
Data Page
 Data Pages
• Data Row의 집합으로 되어진 8192 Byte 크기의 구조체
• Page Header, Data Rows, Rows Offset Array로 구성되어 있음
• 각 Page들은 Page ID(PID)로 구분되어 짐
Page Header
Data Row 1
Data Row 2
Free Space
SQL Server Data Page
123
Data Row 3
http://msdn.microsoft.com
forensicinsight.org Page 16
Extents
 Extent
• 8개의 연속된 Page로 구성된 64KB 크기의 구조체
• Extent를 구성하는 Table과 Index에 따라 Uniform Extent, Mixed Extent로 구분됨
 Uniform Extent : 동일한 종류의 Page로 구성된 Extent
 Mixed Extent : 서로 다른 종류의 Page로 구성된 Extent
Table
Page
Table
Page
Table
Page
Table
Page
Table
Page
Table
Page
Table
Page
Table
Page
Table
Page
Table
Page
Table
Page
Index
Page
Table
Page
Index
Page
Table
Page
01:07
Index
Page
forensicinsight.org Page 17
Recovering Deleted Data From Data Files
- Data Recovery
- Identifying Data Rows Offset
- Extract the Delete Data Row
- Data Row Reconstruction
forensicinsight.org Page 18
Data Recovery
 SQL Server Data Recovery
• Identifying Deleted Data
• Data Geometry
• Data Writing mechanism
• Overwriting (First Available or Next Available)
• Data Row Internal Structure
forensicinsight.org Page 19
Identifying Deleted Data Rows
 조사하고자 하는 Table이 포함되어 있는 Data Page를 식별함
• MS-SQL의 DBCC(Database Console Command)를 통해 식별하도록 함
• 조사하려는 Table의 PageFID와 PagePID를 확인함
• 확인된 ID들을 통해 해당 Page의 내용을 확인함
DBCC TRACEON (3604)
DBCC IND (DB_Name, Table_Name , -1 ) -- 해당 테이블에 할당된 모든 PageID를 출력
DBCC TRACEON (3604)
DBCC IND (DB_Name, Table_Name , 0 ) –- 해당 테이블의 내용이 포함된 PageID를 출력
DBCC TRACEON (3604)
DBCC PAGE (DB_Name, File_ID, Data_Page, 1) -- 각 Row의 메타데이터를 포함하여 출력
DBCC TRACEON (3604)
DBCC PAGE (DB_Name, File_ID, Data_Page, 2) –- Page File의 내용을 Raw Data로 출력
forensicinsight.org Page 20
Extract the Delete Data Row
 Data Rows Offset Array에서 삭제된 데이터의 ID와 Offset 정보를 확인할 수 있음
• 삭제된 데이터는 Data Rows Offset Array 필드의 값이 0x00으로 변경됨
• Offset Array에서 0x00으로 변경된 Rows의 Offset 정보를 확인함
 Offset Array에는 삭제된 Row의 Offset 정보는 초기화 됨
 삭제된 Row 앞에 존재하는 Row의 Offset과 Size 정보를 통해 삭제된 Row의 Offset 정보를 확인함
Deleted Rows!!
Deleted Rows!!
forensicinsight.org Page 21
 Offset Array에서 0x00으로 변경된 Rows의 Offset 정보를 확인함
• Offset Array에는 삭제된 Row의 Offset 정보는 초기화 됨
• 삭제된 Row 앞에 존재하는 Row의 Offset과 Size 정보를 통해 삭제된 Row의 Offset 정보를 확인
함
forensicinsight.org Page 22
Data Row Reconstruction
 Data Row Structure
Status
Bits A
Status
Bits B
Position of
Number of
Columns
Fixed-length
Column Data
Number
of
Columns
Null
Bitmap
Column Offset
Array
Variable
Length
Column Data
1 Byte 1 Byte 2 Byte Variable 2 Bytes Variable 2 Bytes Variable
Component Description
Status Bits A Data row 속성을 표현하는 status bit A
Status Bits B SQL 2000, 2005, 2008에서는 사용하지 않음
Position of Number of Columns Number of Columns의 Offset
Fixed-length Column Data 고정 길이 데이터 필드
Number of Columns 해당 Data Row에 있는 Column 들의 전체 개수
Null Bitmap Column Data의 사용 현황
Column Offset Array 각 가변 길이 데이터의 Offset 정보 (끝 지점을 나타냄)
Variable Length Column Data 가변 길이 데이터 필드
forensicinsight.org Page 23
Question and Answer

More Related Content

PDF
(140625) #fitalk sq lite 삭제된 레코드 복구 기법
PDF
(141031) #fitalk plaso 슈퍼 타임라인 분석 도구 활용 방안
PDF
(150124) #fitalk advanced $usn jrnl forensics (korean)
PDF
(130202) #fitalk trends in d forensics (jan, 2013)
PDF
(120128) #fitalk sql server forensics
PDF
(130525) #fitalk ntfs log tracker (korean)
PDF
(120128) #fitalk sql server anti-forensics
PDF
(Fios#02) 7. 윈도우 10 포렌식 분석
(140625) #fitalk sq lite 삭제된 레코드 복구 기법
(141031) #fitalk plaso 슈퍼 타임라인 분석 도구 활용 방안
(150124) #fitalk advanced $usn jrnl forensics (korean)
(130202) #fitalk trends in d forensics (jan, 2013)
(120128) #fitalk sql server forensics
(130525) #fitalk ntfs log tracker (korean)
(120128) #fitalk sql server anti-forensics
(Fios#02) 7. 윈도우 10 포렌식 분석

What's hot (17)

PDF
(130216) #fitalk reverse connection tool analysis
PDF
(140407) #fitalk d trace를 이용한 악성코드 동적 분석
PDF
(120513) #fitalk a dig into the $log file
PDF
(160820) #fitalk fileless malware forensics
PDF
(130119) #fitalk all about physical data recovery
PDF
(130622) #fitalk the stealing windows password
PDF
(120325) #fitalk web browser forensics - part ii
PDF
(120107) #fitalk mft and indx slacks
PDF
(Fios#03) 4. 파워셸 포렌식 조사 기법
PDF
(121013) #fitalk ie 10 forensics
PPT
sqlserver7.0 데이타베이스
PDF
(130316) #fitalk trends in d forensics (feb, 2013)
PDF
(120804) #fitalk advanced mac os forensics (hfs+ filesystem)
PDF
(130928) #fitalk cloud storage forensics - dropbox
PPTX
오라클 DB 아키텍처와 튜닝
PDF
(130330) #fitalk codegate 2013 write-ups
PDF
리눅스 커널 기초 태스크관리
(130216) #fitalk reverse connection tool analysis
(140407) #fitalk d trace를 이용한 악성코드 동적 분석
(120513) #fitalk a dig into the $log file
(160820) #fitalk fileless malware forensics
(130119) #fitalk all about physical data recovery
(130622) #fitalk the stealing windows password
(120325) #fitalk web browser forensics - part ii
(120107) #fitalk mft and indx slacks
(Fios#03) 4. 파워셸 포렌식 조사 기법
(121013) #fitalk ie 10 forensics
sqlserver7.0 데이타베이스
(130316) #fitalk trends in d forensics (feb, 2013)
(120804) #fitalk advanced mac os forensics (hfs+ filesystem)
(130928) #fitalk cloud storage forensics - dropbox
오라클 DB 아키텍처와 튜닝
(130330) #fitalk codegate 2013 write-ups
리눅스 커널 기초 태스크관리
Ad

Viewers also liked (8)

PDF
An extended database reverse engineering v a key for database forensic invest...
PDF
The implementation of ldrp (with rear)
PDF
Recovery database sql server
PPTX
Db forensics for sql rally
PDF
Database forensics
ODP
The care and feeding of a MySQL database
PDF
Got database access? Own the network!
PDF
Recovery Database SQL Server
An extended database reverse engineering v a key for database forensic invest...
The implementation of ldrp (with rear)
Recovery database sql server
Db forensics for sql rally
Database forensics
The care and feeding of a MySQL database
Got database access? Own the network!
Recovery Database SQL Server
Ad

Similar to (130119) #fitalk sql server forensics (20)

PDF
MariaDB 마이그레이션 - 네오클로바
PDF
[2016 데이터 그랜드 컨퍼런스] 6 1(전략,솔루션). 지티원 dw 및 bi 환경에서의 효율적 데이터 흐름 관리 및 모니터링 방안
PDF
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
PDF
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
PDF
[Week2] 데이터 스크래핑
PPSX
Cubrid Inside 5th Session 4 Replication
PDF
Azure Databases for PostgreSQL MYSQL and MariaDB
PDF
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
PDF
02.실행환경 교육교재(데이터처리)
PPTX
Mongo db 최범균
PPTX
Windows 성능모니터를 이용한 SQL Server 성능 분석
PPTX
폴라리스오피스 운영시스템
PPTX
DEVIEW 2013 Presentation
PDF
블루캣Ddi솔루션표준제안서
PPTX
마이크로서비스 아키텍처로 개발하기
PDF
손쉬운 데이터 연결 방법(라이브바인딩 활용)
PPTX
정보검색의개요
PDF
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
PPTX
Logstash, ElasticSearch, Kibana
PPT
2006 03 15_pe & api hook
MariaDB 마이그레이션 - 네오클로바
[2016 데이터 그랜드 컨퍼런스] 6 1(전략,솔루션). 지티원 dw 및 bi 환경에서의 효율적 데이터 흐름 관리 및 모니터링 방안
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
[Week2] 데이터 스크래핑
Cubrid Inside 5th Session 4 Replication
Azure Databases for PostgreSQL MYSQL and MariaDB
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
02.실행환경 교육교재(데이터처리)
Mongo db 최범균
Windows 성능모니터를 이용한 SQL Server 성능 분석
폴라리스오피스 운영시스템
DEVIEW 2013 Presentation
블루캣Ddi솔루션표준제안서
마이크로서비스 아키텍처로 개발하기
손쉬운 데이터 연결 방법(라이브바인딩 활용)
정보검색의개요
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
Logstash, ElasticSearch, Kibana
2006 03 15_pe & api hook

More from INSIGHT FORENSIC (20)

PDF
(150124) #fitalk advanced $usn jrnl forensics (english)
PDF
(140118) #fitalk detection of anti-forensics artifacts using ioa fs
PDF
(140118) #fitalk 2013 e-discovery trend
PDF
(141031) #fitalk os x yosemite artifacts
PDF
(140716) #fitalk 전자금융사고에서의 디지털 포렌식
PDF
(140716) #fitalk digital evidence from android-based smartwatch
PDF
(140625) #fitalk sq lite 소개와 구조 분석
PDF
(130216) #fitalk potentially malicious ur ls
PDF
(130202) #fitalk china threat
PDF
(130119) #fitalk apt, cyber espionage threat
PDF
(130105) #fitalk trends in d forensics (dec, 2012)
PDF
(130105) #fitalk criminal civil judicial procedure in korea
PDF
(131116) #fitalk extracting user typing history on bash in mac os x memory
PDF
(131102) #fitalk get windows logon password in memory dump
PDF
(130907) #fitalk generating volatility linux profile
PDF
(130727) #fitalk rp log tracker
PDF
(130727) #fitalk pfp (portable forensic platform), #2 story
PDF
(130727) #fitalk anonymous network concepts and implementation
PDF
(130720) #fitalk trends in d forensics
PDF
(130622) #fitalk trend of personal information protection
(150124) #fitalk advanced $usn jrnl forensics (english)
(140118) #fitalk detection of anti-forensics artifacts using ioa fs
(140118) #fitalk 2013 e-discovery trend
(141031) #fitalk os x yosemite artifacts
(140716) #fitalk 전자금융사고에서의 디지털 포렌식
(140716) #fitalk digital evidence from android-based smartwatch
(140625) #fitalk sq lite 소개와 구조 분석
(130216) #fitalk potentially malicious ur ls
(130202) #fitalk china threat
(130119) #fitalk apt, cyber espionage threat
(130105) #fitalk trends in d forensics (dec, 2012)
(130105) #fitalk criminal civil judicial procedure in korea
(131116) #fitalk extracting user typing history on bash in mac os x memory
(131102) #fitalk get windows logon password in memory dump
(130907) #fitalk generating volatility linux profile
(130727) #fitalk rp log tracker
(130727) #fitalk pfp (portable forensic platform), #2 story
(130727) #fitalk anonymous network concepts and implementation
(130720) #fitalk trends in d forensics
(130622) #fitalk trend of personal information protection

(130119) #fitalk sql server forensics

  • 1. FORENSIC INSIGHT; DIGITAL FORENSICS COMMUNITY IN KOREA SQL Server Forensic AhnLab A-FIRST Rea10ne unused6@gmail.com Choi Jinwon
  • 2. forensicinsight.org Page 2 Contents 1. SQL Server Forensic 2. SQL Server Artifacts 3. Database Files 4. Recovering Deleted Data From Data Files
  • 3. forensicinsight.org Page 3 SQL Server Forensic - What is SQL Server Forensic - SQL Server Forensic Methodology
  • 4. forensicinsight.org Page 4 What is the SQL Server Forensic  Database 내에서 발생한 침해사고에 대한 입증 혹은 반증  Database 침해사고에 대한 영향 분석  사용자 DML 혹은 DDL 사용 행위 추적  Database에서 이전 혹은 이후에 발생하는 Transaction 식별  삭제된 데이터 복원
  • 5. forensicinsight.org Page 5 SQL Server Forensic Methodology  Investigation Preparedness  Incident Verification  Artifacts Collection  Artifacts Analysis Incident Verification Artifacts Collection Artifacts Analysis Investigation Preparedness
  • 6. forensicinsight.org Page 6 SQL Server Artifacts - Resident Artifacts - Non-Resident Artifacts - SQL Server Artifacts - SQL Server Artifacts Category
  • 7. forensicinsight.org Page 7 Resident Artifacts  SQL Server를 관리하는 목적으로, 시스템 설치 시 기본적으로 설정되는 Artifacts • 예) SQL Server Error Log, Data Files 등 • System의 Version에 따라 차이가 발생할 수 있음 • 휘발성 데이터(Volatility Data)와 비휘발성 데이터(Non-Volatility Data) 모두 존재함
  • 8. forensicinsight.org Page 8 Non-Resident Artifacts  SQL Server를 운용하기 위한 필수적인 요소는 아니지만, 연관성을 갖고 동작하는 Artifacts • 예) System Event Log, Web Server Log 등 • 대부분의 Non-Resident Artifacts는 비휘발성 데이터로 구성되어 있음
  • 9. forensicinsight.org Page 9 SQL Server Artifacts SQL Server Artifacts Resident Artifacts Non-Resident Artifacts Volatility Non-Volatility Data Cache Plan Cache Cache Clock Hands Active VLFs Server State Ring Buffer Database SQL Server Error Logs Data Files Authentication Setting Authorization Catalogs Database User Database Objects Server Versioning SQL Server Logs Jobs Triggers Native Encryption CLR Libraries Reusable VLFs … System Event Logs External Security Controls Web Server Logs SQL Server Forensic – Kevvie Fowler
  • 10. forensicinsight.org Page 10 SQL Server Artifacts Category 분류 Artifacts 행위 재구성 Data Cache, Plan Cache, Active VLFs, Reusable VLFs, Server State, Database Objects, AutoEXEC Procedures, Cache Hands, Jobs, Triggers, Trace Files, Server Error Logs 데이터 복구 Active VLFs, Reusable VLFs, Table Statistics, Data Files 인증 및 권한 Authentication Settings, SQL Server Logins, Authorization Catalogs, Database User, Trace Files, Server Error Logs 서버 설정 및 버전 Server Configuration, Collation Settings and Data Types, Native Encryption, Server Versioning 연관성 자료 Database, Data Page, End Points, Schema SQL Server Forensic – Kevvie Fowler
  • 11. forensicinsight.org Page 11 Database Files - Database Files - Data Storage - Data Rows & Data Tables - Data Page - Extents
  • 12. forensicinsight.org Page 12 Database Files  기본적으로 모든 SQL Server는 Data File과 Log이 구성되어 있음 • Data File : Database Object 들을 저장하고 있는 파일 (*.mdf) • Log File : DML(Database Manipulation Language)과 몇몇 DDL(Database Definition Language) 의 동작을 기록하는 파일 (*.ldf)  Database의 로그는 이벤트 단위의 로그가 아닌 Transaction 단위의 로그로 기록됨 (Transaction Log) Database Data Files Log Files File1.mdf File1.mdf File1.mdf Log1.ldf Log2.ldf SQL Server Forensic – Kevvie Fowler
  • 13. forensicinsight.org Page 13 Data Storage  SQL Server는 많은 양의 데이터를 관리하기 위해서 여러 단위의 논리적인 구조를 사용함 • Records • Columns • Rows • Tables • Pages • Extents
  • 14. forensicinsight.org Page 14 Data Rows & Data Tables  Data Rows • 각 Column에 속해 있는 Record들의 집합으로 이루어진 간단한 구조체  Data Row는 고정적인 사이즈의 데이터를 포함하고 있는 Fixed Rows와 가변적인 사이즈의 데이터 를 포함하고 있는 Variable Rows로 나누어 짐  Data Tables • 동일한 Column으로 구성된 Row 들의 집합으로 이루어진 간단한 구조체 Data Row Record Column Table
  • 15. forensicinsight.org Page 15 Data Page  Data Pages • Data Row의 집합으로 되어진 8192 Byte 크기의 구조체 • Page Header, Data Rows, Rows Offset Array로 구성되어 있음 • 각 Page들은 Page ID(PID)로 구분되어 짐 Page Header Data Row 1 Data Row 2 Free Space SQL Server Data Page 123 Data Row 3 http://msdn.microsoft.com
  • 16. forensicinsight.org Page 16 Extents  Extent • 8개의 연속된 Page로 구성된 64KB 크기의 구조체 • Extent를 구성하는 Table과 Index에 따라 Uniform Extent, Mixed Extent로 구분됨  Uniform Extent : 동일한 종류의 Page로 구성된 Extent  Mixed Extent : 서로 다른 종류의 Page로 구성된 Extent Table Page Table Page Table Page Table Page Table Page Table Page Table Page Table Page Table Page Table Page Table Page Index Page Table Page Index Page Table Page 01:07 Index Page
  • 17. forensicinsight.org Page 17 Recovering Deleted Data From Data Files - Data Recovery - Identifying Data Rows Offset - Extract the Delete Data Row - Data Row Reconstruction
  • 18. forensicinsight.org Page 18 Data Recovery  SQL Server Data Recovery • Identifying Deleted Data • Data Geometry • Data Writing mechanism • Overwriting (First Available or Next Available) • Data Row Internal Structure
  • 19. forensicinsight.org Page 19 Identifying Deleted Data Rows  조사하고자 하는 Table이 포함되어 있는 Data Page를 식별함 • MS-SQL의 DBCC(Database Console Command)를 통해 식별하도록 함 • 조사하려는 Table의 PageFID와 PagePID를 확인함 • 확인된 ID들을 통해 해당 Page의 내용을 확인함 DBCC TRACEON (3604) DBCC IND (DB_Name, Table_Name , -1 ) -- 해당 테이블에 할당된 모든 PageID를 출력 DBCC TRACEON (3604) DBCC IND (DB_Name, Table_Name , 0 ) –- 해당 테이블의 내용이 포함된 PageID를 출력 DBCC TRACEON (3604) DBCC PAGE (DB_Name, File_ID, Data_Page, 1) -- 각 Row의 메타데이터를 포함하여 출력 DBCC TRACEON (3604) DBCC PAGE (DB_Name, File_ID, Data_Page, 2) –- Page File의 내용을 Raw Data로 출력
  • 20. forensicinsight.org Page 20 Extract the Delete Data Row  Data Rows Offset Array에서 삭제된 데이터의 ID와 Offset 정보를 확인할 수 있음 • 삭제된 데이터는 Data Rows Offset Array 필드의 값이 0x00으로 변경됨 • Offset Array에서 0x00으로 변경된 Rows의 Offset 정보를 확인함  Offset Array에는 삭제된 Row의 Offset 정보는 초기화 됨  삭제된 Row 앞에 존재하는 Row의 Offset과 Size 정보를 통해 삭제된 Row의 Offset 정보를 확인함 Deleted Rows!! Deleted Rows!!
  • 21. forensicinsight.org Page 21  Offset Array에서 0x00으로 변경된 Rows의 Offset 정보를 확인함 • Offset Array에는 삭제된 Row의 Offset 정보는 초기화 됨 • 삭제된 Row 앞에 존재하는 Row의 Offset과 Size 정보를 통해 삭제된 Row의 Offset 정보를 확인 함
  • 22. forensicinsight.org Page 22 Data Row Reconstruction  Data Row Structure Status Bits A Status Bits B Position of Number of Columns Fixed-length Column Data Number of Columns Null Bitmap Column Offset Array Variable Length Column Data 1 Byte 1 Byte 2 Byte Variable 2 Bytes Variable 2 Bytes Variable Component Description Status Bits A Data row 속성을 표현하는 status bit A Status Bits B SQL 2000, 2005, 2008에서는 사용하지 않음 Position of Number of Columns Number of Columns의 Offset Fixed-length Column Data 고정 길이 데이터 필드 Number of Columns 해당 Data Row에 있는 Column 들의 전체 개수 Null Bitmap Column Data의 사용 현황 Column Offset Array 각 가변 길이 데이터의 Offset 정보 (끝 지점을 나타냄) Variable Length Column Data 가변 길이 데이터 필드