Preface |
|
xiii | |
Dedication and Acknowledgment |
|
xv | |
Author |
|
xvii | |
Acronyms |
|
xix | |
|
1 An Overview of Digital Forensics |
|
|
1 | (20) |
|
|
1 | (1) |
|
1.2 Practical Exercises Included in This Book |
|
|
1 | (1) |
|
1.3 A Brief History of Digital Forensics |
|
|
2 | (1) |
|
1.4 What Is Digital Forensics? |
|
|
3 | (4) |
|
|
5 | (1) |
|
1.4.2 Collection and Preservation |
|
|
5 | (1) |
|
1.4.3 Examination and Analysis |
|
|
6 | (1) |
|
|
6 | (1) |
|
1.5 Artificial Intelligence for Digital Forensics |
|
|
7 | (1) |
|
1.6 Digital Forensics and Other Related Disciplines |
|
|
8 | (1) |
|
1.7 Different Types of Digital Forensics and How They Are Used |
|
|
8 | (3) |
|
1.7.1 Types of Digital Evidence |
|
|
9 | (1) |
|
1.7.1.1 Cloud Forensics in IoT |
|
|
9 | (2) |
|
1.7.1.2 Digital Forensics and Artificial Intelligence |
|
|
11 | (1) |
|
1.8 Understanding Law Enforcement Agency Investigations |
|
|
11 | (2) |
|
1.8.1 Understanding Case Law |
|
|
12 | (1) |
|
1.9 Significant Areas of Investigation for Digital Forensics |
|
|
13 | (1) |
|
1.10 Following Legal Processes |
|
|
14 | (1) |
|
1.11 The Cyber Kill Chain |
|
|
15 | (2) |
|
|
17 | (4) |
|
|
18 | (1) |
|
|
18 | (3) |
|
2 An Introduction to Machine Learning and Deep Learning for Digital Forensics |
|
|
21 | (20) |
|
|
21 | (1) |
|
2.2 History of Machine Learning |
|
|
22 | (1) |
|
2.3 What Is Machine Learning? |
|
|
23 | (7) |
|
2.3.1 Supervised Learning |
|
|
23 | (1) |
|
|
24 | (1) |
|
2.3.1.2 Support Vector Machine |
|
|
24 | (2) |
|
2.3.1.3 K-Nearest Neighbours |
|
|
26 | (1) |
|
|
27 | (1) |
|
|
28 | (1) |
|
2.3.2 Unsupervised Learning |
|
|
29 | (1) |
|
2.4 What Is Deep Learning |
|
|
30 | (2) |
|
2.4.1 Discriminative Deep Learning |
|
|
30 | (1) |
|
2.4.1.1 Recurrent Neural Network (RNN) |
|
|
31 | (1) |
|
2.4.1.2 Convolutional Neural Network (CNN) |
|
|
31 | (1) |
|
2.4.2 Generative Deep Learning |
|
|
32 | (1) |
|
2.4.2.1 Deep Auto Encoder |
|
|
32 | (1) |
|
2.4.2.2 Recurrent Neural Network (RNN) |
|
|
32 | (1) |
|
2.5 Evaluation Criteria of Machine and Deep Learning |
|
|
32 | (2) |
|
2.6 Case Study of Machine Learning-Based Digital Forensics |
|
|
34 | (4) |
|
|
38 | (3) |
|
|
39 | (2) |
|
3 Digital Forensics and Computer Foundations |
|
|
41 | (12) |
|
|
41 | (1) |
|
3.2 Digital Investigation Process |
|
|
41 | (2) |
|
3.2.1 System Preservation Phase |
|
|
42 | (1) |
|
3.2.2 Evidence Searching Phase |
|
|
42 | (1) |
|
3.2.3 Evidence Reconstruction Phase |
|
|
43 | (1) |
|
3.3 Common Phases of Digital Forensics |
|
|
43 | (1) |
|
3.4 Numbering Systems and Formats in Computers |
|
|
44 | (4) |
|
|
44 | (1) |
|
|
45 | (3) |
|
|
48 | (1) |
|
|
48 | (1) |
|
|
49 | (1) |
|
|
49 | (1) |
|
|
49 | (1) |
|
3.6 Data Nature and State |
|
|
49 | (1) |
|
|
50 | (1) |
|
|
50 | (3) |
|
|
50 | (3) |
|
4 Fundamentals of Hard Disk Analysis |
|
|
53 | (20) |
|
|
53 | (1) |
|
|
53 | (3) |
|
4.2.1 Rigid Platter Disk Technology |
|
|
53 | (2) |
|
4.2.2 Solid State Technology |
|
|
55 | (1) |
|
4.3 Hard Disk Forensic Features |
|
|
56 | (1) |
|
|
56 | (1) |
|
|
56 | (1) |
|
4.3.3 Methods of Accessing Hard Disk Addresses |
|
|
57 | (1) |
|
4.3.3.1 Cylinder-Head-Sector (CHS) |
|
|
57 | (1) |
|
4.3.3.2 Zone-Bit Recording |
|
|
57 | (1) |
|
4.3.3.3 Logical Block Addressing (LBA) |
|
|
57 | (1) |
|
|
57 | (5) |
|
|
58 | (1) |
|
4.4.2 Partition Architectures |
|
|
58 | (1) |
|
|
59 | (1) |
|
4.4.2.2 Primary and Extended Partitions |
|
|
59 | (1) |
|
4.4.2.3 Volumes and Partitions |
|
|
59 | (1) |
|
|
59 | (1) |
|
|
60 | (1) |
|
|
60 | (1) |
|
|
61 | (1) |
|
4.5 Essential Linux Commands for Digital Forensics Basics |
|
|
62 | (5) |
|
|
62 | (1) |
|
|
62 | (2) |
|
|
64 | (1) |
|
4.5.4 Managing Packages and Services |
|
|
65 | (1) |
|
4.5.5 Managing Networking |
|
|
66 | (1) |
|
4.6 Python Scripts for Digital Forensics Basics |
|
|
67 | (1) |
|
4.6.1 Executing a DoS Attack |
|
|
67 | (1) |
|
|
68 | (5) |
|
|
68 | (5) |
|
5 Advanced Hard Disk Analysis |
|
|
73 | (18) |
|
|
73 | (1) |
|
5.2 Hard Disk Forensic Concepts |
|
|
73 | (1) |
|
|
74 | (2) |
|
|
75 | (1) |
|
|
76 | (2) |
|
5.5 Forensic Implications |
|
|
78 | (1) |
|
5.6 Practical Exercises for Computer Foundations (Windows) |
|
|
79 | (8) |
|
|
79 | (4) |
|
5.6.2 Recovering Deleted Partitions |
|
|
83 | (2) |
|
5.6.3 Investigating Cyber Threat and Discovering Evidence |
|
|
85 | (1) |
|
|
85 | (1) |
|
5.6.4.1 Logical Access to C Drive |
|
|
86 | (1) |
|
5.6.4.2 Accessing Drive as Physical Media |
|
|
87 | (1) |
|
|
87 | (4) |
|
|
88 | (3) |
|
6 File System Analysis (Windows) |
|
|
91 | (16) |
|
|
91 | (1) |
|
6.2 What Is a File System? |
|
|
91 | (5) |
|
6.2.1 File System Reference Model |
|
|
93 | (1) |
|
|
94 | (1) |
|
6.2.3 Free and Inter-Partition Space |
|
|
94 | (1) |
|
|
95 | (1) |
|
6.3 Methods for Recovering Data from Deleted Files |
|
|
96 | (2) |
|
6.3.1 Data Carving and Gathering Text |
|
|
96 | (1) |
|
6.3.2 Metadata Category Analysis |
|
|
97 | (1) |
|
6.3.3 File Name and Application Category Analysis |
|
|
98 | (1) |
|
6.4 Practices for Using Hashing and Data Acquisition |
|
|
98 | (7) |
|
6.4.1 Prerequisite Steps for Doing the Following Practical Exercises |
|
|
99 | (1) |
|
|
99 | (1) |
|
6.4.2.1 The FTK Imager Tool |
|
|
99 | (3) |
|
6.4.2.2 Hard Disk Analysis Using the Autopsy Tool |
|
|
102 | (3) |
|
|
105 | (2) |
|
|
105 | (2) |
|
7 Digital Forensics Requirements and Tools |
|
|
107 | (14) |
|
|
107 | (1) |
|
7.2 Computer Forensic Requirements |
|
|
107 | (1) |
|
7.3 Evaluating Needs for Digital Forensics Tools |
|
|
108 | (3) |
|
7.3.1 Types of Digital Forensics Tools |
|
|
108 | (1) |
|
7.3.2 Tasks Performed by Digital Forensics Tools |
|
|
109 | (1) |
|
7.3.3 Data Acquisition Tools and Formats |
|
|
110 | (1) |
|
|
111 | (1) |
|
7.5 Evidence Processing Guidelines |
|
|
112 | (1) |
|
7.6 Implementation of Data Validation and Acquisition Phases |
|
|
113 | (5) |
|
|
114 | (1) |
|
7.6.2 Authentication and Validation in Digital Forensics |
|
|
114 | (1) |
|
7.6.2.1 Python Scripts for Hashing |
|
|
115 | (1) |
|
|
115 | (1) |
|
|
116 | (1) |
|
7.6.2.4 Example of Hashing Passwords |
|
|
116 | (1) |
|
7.6.3 Hashing and Data Acquisition |
|
|
117 | (1) |
|
7.6.3.1 Data Acquisition Using WinHexs |
|
|
117 | (1) |
|
|
118 | (3) |
|
|
119 | (2) |
|
8 File Allocation Table (FAT) File System |
|
|
121 | (16) |
|
|
121 | (1) |
|
8.2 File Allocation Table (FAT) |
|
|
121 | (2) |
|
8.2.1 Common Types of FAT |
|
|
122 | (1) |
|
|
122 | (1) |
|
|
123 | (7) |
|
|
126 | (2) |
|
8.3.2 Disk Editor for FAT Analysis |
|
|
128 | (1) |
|
8.3.3 WinHex Tool for FAT Analysis |
|
|
129 | (1) |
|
8.4 Implementation of Data Acquisition and Analysis in Windows |
|
|
130 | (5) |
|
8.4.1 Prerequisites for Doing These Exercises |
|
|
130 | (1) |
|
8.4.2 Data Acquisition and Analysis of FAT |
|
|
130 | (1) |
|
8.4.2.1 The FTK Imager Tool |
|
|
131 | (2) |
|
|
133 | (2) |
|
|
135 | (2) |
|
|
135 | (2) |
|
|
137 | (14) |
|
|
137 | (1) |
|
9.2 New Technology File System (NTFS) |
|
|
137 | (1) |
|
|
138 | (6) |
|
9.3.1 Master File Table (MFT) |
|
|
139 | (5) |
|
9.4 NTFS Analytical Implications |
|
|
144 | (1) |
|
9.5 Analysis and Presentation of NTFS Partition |
|
|
145 | (4) |
|
9.5.1 Disk Editor for NTFS Analysis |
|
|
145 | (1) |
|
9.5.2 WinHex Tool for NTFS Analysis |
|
|
145 | (1) |
|
9.5.3 The Autopsy Tool for FAT and NTFS Analysis |
|
|
146 | (3) |
|
|
149 | (2) |
|
|
149 | (2) |
|
|
151 | (14) |
|
|
151 | (1) |
|
10.2 FAT and NTFS File Recovery |
|
|
151 | (3) |
|
10.2.1 Deleting and Recovering Files in FAT File System |
|
|
152 | (2) |
|
10.2.2 Deleting and Recovering Files in NTFS File System |
|
|
154 | (1) |
|
10.3 Recycle Bin and Forensics Insights |
|
|
154 | (4) |
|
10.4 Mounting Partitions Using SMB over Network |
|
|
158 | (1) |
|
10.5 File Recovery and Data Carving Tools for File Systems |
|
|
159 | (4) |
|
|
159 | (1) |
|
|
159 | (3) |
|
10.5.3 Bulk Extractor Tool |
|
|
162 | (1) |
|
|
163 | (2) |
|
|
163 | (2) |
|
11 Basic Linux for Forensics |
|
|
165 | (18) |
|
|
165 | (1) |
|
11.2 Overview of Linux Operating System |
|
|
165 | (1) |
|
|
166 | (1) |
|
|
167 | (4) |
|
11.4.1 Linux Hard Drives and Styles |
|
|
169 | (2) |
|
11.5 Hard Disk Analysis in Linux |
|
|
171 | (3) |
|
11.5.1 Hard Disk Analysis Using wxHexEditor |
|
|
171 | (1) |
|
11.5.2 Crime Investigation: Adding/Changing Files' Content Using wxHexEditor |
|
|
172 | (2) |
|
11.5.3 Analysis of Hard Disk Using the Disk Editor Tool |
|
|
174 | (1) |
|
11.6 Mount File Systems in Linux |
|
|
174 | (4) |
|
11.6.1 Remote Connection Using SSHFS |
|
|
175 | (1) |
|
11.6.2 Remote Connection Using SSH |
|
|
176 | (1) |
|
11.6.3 Sharing and Mounting Files/Images between Various Virtual Machines |
|
|
177 | (1) |
|
11.7 Data Acquisition in Linux |
|
|
178 | (2) |
|
|
178 | (1) |
|
11.7.2 The dcfldd Command |
|
|
179 | (1) |
|
|
180 | (3) |
|
|
181 | (2) |
|
12 Advanced Linux Forensics |
|
|
183 | (20) |
|
|
183 | (1) |
|
12.2 Examining File Structures in Linux |
|
|
183 | (1) |
|
12.3 Generic Linux File System Layout (EXT2, 3, 4) |
|
|
184 | (1) |
|
12.4 Accessing Block Group Information in Linux |
|
|
185 | (3) |
|
12.5 EXT File System Versions and Characteristics |
|
|
188 | (2) |
|
|
188 | (1) |
|
|
189 | (1) |
|
|
190 | (1) |
|
12.6 Forensic Implications of EXT File Systems |
|
|
190 | (2) |
|
12.6.1 Case Study: Linux's Accounts |
|
|
191 | (1) |
|
12.7 Data Analysis and Presentation in Linux |
|
|
192 | (5) |
|
12.7.1 Examining Superblock and Inode Information in Disk Editor |
|
|
192 | (1) |
|
12.7.2 Data Preparation Using Autopsy |
|
|
193 | (1) |
|
12.7.2.1 Create a New Case in Autopsy Browser |
|
|
193 | (4) |
|
12.8 Case Analysis Using Autopsy |
|
|
197 | (4) |
|
|
199 | (2) |
|
|
201 | (2) |
|
|
201 | (2) |
|
|
203 | (16) |
|
|
203 | (1) |
|
13.2 What Is Network Forensics? |
|
|
203 | (3) |
|
13.2.1 Benefits and Challenges of Network Forensics |
|
|
204 | (2) |
|
|
206 | (3) |
|
13.3.1 Open System Interconnection (OSI) Model |
|
|
206 | (2) |
|
13.3.2 TCP/IP Protocol Stack |
|
|
208 | (1) |
|
13.4 Network Forensic Investigations |
|
|
209 | (3) |
|
13.4.1 Practical TCP/IP Analysis |
|
|
211 | (1) |
|
13.5 Levels of Network Traffic Capture for Forensics Analysis |
|
|
212 | (1) |
|
13.6 NetworkMiner Tool for Network Forensics |
|
|
213 | (4) |
|
13.6.1 Applying the Network Forensic Investigation Process |
|
|
213 | (1) |
|
13.6.2 Examples of Network Forensic Investigation |
|
|
213 | (4) |
|
|
217 | (2) |
|
|
218 | (1) |
|
14 Machine Learning Trends for Digital Forensics |
|
|
219 | (16) |
|
|
219 | (1) |
|
14.2 Why Do We Need Artificial Intelligence in Digital Forensics? |
|
|
219 | (5) |
|
14.2.1 Artificial Intelligence for Digital Forensics |
|
|
220 | (2) |
|
14.2.2 Machine Learning for Digital Forensics |
|
|
222 | (1) |
|
14.2.3 Machine Learning Basics |
|
|
223 | (1) |
|
14.3 Machine Learning Process |
|
|
224 | (4) |
|
14.3.1 Data Collection and Pre-Processing |
|
|
224 | (2) |
|
14.3.2 Training and Testing Phases |
|
|
226 | (2) |
|
14.4 Applications of Machine Learning Models |
|
|
228 | (1) |
|
14.4.1 Machine Learning Types |
|
|
228 | (1) |
|
14.5 Case Study: Using the TON_IoT Dataset for Forensics |
|
|
229 | (4) |
|
|
233 | (2) |
|
|
233 | (2) |
Index |
|
235 | |