SlideShare una empresa de Scribd logo
1 de 73
HTCIA International Conference September 20-22, 2010 Atlanta, GA ,[object Object],September 20th, 2010 Robert Shullich  CPP, CISSP, CISM, CISA, CGEIT, CRISC, GSEC, GCFA
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
About Me ,[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Why do we need a new file system? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Relevance to Forensics Study ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
What happens when you have exFAT formatted media and no exFAT support? September 20th, 2010
Forensics Challenges ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Disclaimer ,[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Exponents ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
International System of Units (SI) Table ,[object Object],[object Object],September 20th, 2010 Shorthand Longhand Nth Bytes KiB Kibibyte 2 10 1024 MiB Mebibyte 2 20 1024 KiB GiB Gibibyte 2 30 1024 MiB TiB Tebibyte 2 40 1024 GiB PiB Pebibyte 2 50 1024 TiB EiB Exbibyte 2 60 1024 PiB ZiB Zebibyte 2 70 1024 EiB YiB Yobibyte 2 80 1024 ZiB
Features of exFAT 1.00 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Features of exFAT 1.00 (cont’d) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Future Features of exFAT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
MBR Partition Limitations ,[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Advantages of exFAT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Disadvantages of exFAT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Key Dates for exFAT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
More Key Dates for exFAT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
More Key Dates ,[object Object],[object Object],September 20th, 2010
SD Card Association ,[object Object],[object Object],[object Object],[object Object],September 20th, 2010
September 20th, 2010
SDXC Storage Capabilities ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Support for exFAT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Reference Standards ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Endian ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
File System Integrity ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
exFAT Limits ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Data Hide Alert! ,[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Volume Space Layout ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
September 20th, 2010
VBR – Volume Boot Record ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Boot Parameter Block (BPB) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Sectors & Clusters ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Executable Boot Code ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
More Bootable Code ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
VBR Checksum Sector ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
VBR Checksum Sector September 20th, 2010 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
FAT – File Allocation Table ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Cell Values in FAT Table ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
September 20th, 2010
FAT Table Example September 20th, 2010 Offset  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 0000  F8 FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  0010  FF FF FF FF 00 00 00 00  00 00 00 00 00 00 00 00 0020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 0040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 0060  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 0080  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 00A0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 00C0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 00E0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 0100  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 Media Reserved UP-Case Table Allocation Bit Map Root Directory
Allocation Bitmap ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Data Hide Alert! ,[object Object],[object Object],[object Object],September 20th, 2010
September 20th, 2010
Directories in exFAT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Data Hide Alert! ,[object Object],[object Object],September 20th, 2010
Entry Type September 20th, 2010 Type Field Offset (Bits) Size (Bits) In Use 7 1 Category 6 1 Importance 5 1 Code 0 5
Entry Type ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Volume Label Directory Entry ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Volume Label Directory Entry September 20th, 2010 Offset  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F 00000000  83 0A 65 00 78 00 46 00  41 00 54 00 2D 00 31 00  ƒ.e.x.F.A.T.-.1. 00000010  32 00 38 00 4B 00 00 00  00 00 00 00 00 00 00 00  2.8.K........... Type Volume Name Length (10) Volume Label (exFAT-128K)
Allocation Bitmap Directory Entry ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Allocation Bitmap Directory Entry September 20th, 2010 Offset  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F 0000  81 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  0010  00 00 00 00 02 00 00 00  3F 00 00 00 00 00 00 00   Type Cluster Address (Cluster 2) Size (63 bytes)
UP-Case Table Directory Entry ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
UP-Case Table Directory Entry September 20th, 2010 Offset  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F 0000  82 00 00 00 0D D3 19 E6  00 00 00 00 00 00 00 00  0010  00 00 00 00 03 00 00 00  CC 16 00 00 00 00 00 00 Type Cluster Address (3) Length (0x16CC = 5,836) Table Checksum
File Directory Entry Set ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
File Directory Entry ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Timestamps & Time Zones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Timestamp Accuracy ,[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Timestamp Reliability ,[object Object],[object Object],[object Object],[object Object],September 20th, 2010
File Attributes September 20th, 2010 Attribute Offset Size Mask Reserved2 6 10 Archive 5 1 0x20 Directory 4 1 0x10 Reserved1 3 1 System 2 1 0x04 Hidden 1 1 0x02 Read-Only 0 1 0x01
File Directory Entry September 20th, 2010 Offset  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F 0000  85 04 D4 92 20 00 00 00  44 62 86 3B F1 62 BA 3A  0010  44 62 86 3B A8 00 EC EC  EC 00 00 00 00 00 00 00 Type # Secondary Entries Set Checksum (0x92D4) Attributes (0x0020 = Archive) Create Modified TZ Offset CMA EC = GMT-5 Accessed Create 10ms Modified 10ms
Formatted File Directory Entry September 20th, 2010 Root Entry Type Read is: 85 Directory Entry Record Checksum:  92D4 Calculated Checksum is:  92D4 Size Directory Set (bytes):  160 Secondary Count  004 File Attributes:  0020 Archive  Create Timestamp:  3B866244  12/06/2009 12:18:08 Last Modified Timestamp: 3ABA62F1  05/26/2009 12:23:34 Last Accessed Timestamp: 3B866244  12/06/2009 12:18:08 10 ms Offset Create  A8 168 10 ms Offset Modified  00  0 Time Zone Create  EC 236 Value of tz is: GMT -05:00 Time Zone Modified  EC 236 Value of tz is: GMT -05:00 Time Zone Last Accessed  EC 236 Value of tz is: GMT -05:00
Stream Extension Directory Entry ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Stream Extension Directory Entry September 20th, 2010 Offset  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F 0000  C0 03 00 28 AD 3C 00 00  1F 46 1D 01 00 00 00 00 0010  00 00 00 00 05 00 00 00  1F 46 1D 01 00 00 00 00 Entry Flags (Alloc Possible/Fat Invalid) Length of File Name (0x28= 40) Name Hash (0x3CAD) Cluster (5) Data Length 0x011d461f = 18,695,711
Parameters for Samples September 20th, 2010 Bytes Per Sector: 2 to the 09 power is:  512 Sectors Per Cluster: 2 to the 08 power is: 256 Bytes per Cluster: 131072 (128K)
Formatted Stream Extension September 20th, 2010 Root Entry Type Read is: C0 Directory Entry Record, Stream Extension Secondary Flags:  03 Flag Bit 0: Allocation Possible Flag Bit 1: FAT Chain Invalid Length of UniCode Filename is: 40 Name Hash Value is:  AD3C Stream Extension First Cluster  5 Cluster  5 is Allocated Stream Extension Data Length  18695711 Bytes Slack:  83487 Clusters Used:  143 Stream Extension Valid Data Length  18695711 Bytes Slack:  83487 Clusters Used:  143
File Name Extension Directory Entry ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010
File Name Extension Directory Entry September 20th, 2010 Offset  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F 0000  C1 00 62 00 75 00 73 00  69 00 6E 00 65 00 73 00  Á.b.u.s.i.n.e.s. 0010  73 00 5F 00 6F 00 66 00  5F 00 73 00 65 00 63 00  s._.o.f._.s.e.c . 0000  C1 00 75 00 72 00 69 00  74 00 79 00 5F 00 5F 00  Á.u.r.i.t.y._._. 0010  62 00 75 00 73 00 2D 00  31 00 30 00 35 00 2D 00  b.u.s.-.1.0.5.-. 0000  C1 00 33 00 32 00 6B 00  62 00 70 00 73 00 2E 00  Á.3.2.k.b.p.s... 0010  6D 00 70 00 33 00 00 00  00 00 00 00 00 00 00 00  m.p.3........... File Name = business_of_security__bus-105-32kbps.mp3
Significance of “not in use” flag ,[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Summary ,[object Object],[object Object],[object Object],[object Object],September 20th, 2010
Q&A September 20th, 2010
Contact Information ,[object Object],[object Object],[object Object],September 20th, 2010
References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],September 20th, 2010

Más contenido relacionado

La actualidad más candente

Processor Specifications
Processor SpecificationsProcessor Specifications
Processor Specifications
Ali Usman
 

La actualidad más candente (20)

Hardware Abstraction Layer
Hardware Abstraction LayerHardware Abstraction Layer
Hardware Abstraction Layer
 
Ktvxl chuong 1 - tong quan
Ktvxl chuong 1 - tong quanKtvxl chuong 1 - tong quan
Ktvxl chuong 1 - tong quan
 
Sparc t4 1 system technical overview
Sparc t4 1 system technical overviewSparc t4 1 system technical overview
Sparc t4 1 system technical overview
 
Deploy STM32 family on Zephyr - SFO17-102
Deploy STM32 family on Zephyr - SFO17-102Deploy STM32 family on Zephyr - SFO17-102
Deploy STM32 family on Zephyr - SFO17-102
 
ECC memory : Notes
ECC memory : NotesECC memory : Notes
ECC memory : Notes
 
A Review on Privacy Preservation in Data Mining
A Review on Privacy Preservation in Data MiningA Review on Privacy Preservation in Data Mining
A Review on Privacy Preservation in Data Mining
 
Esm install guide_6.0c
Esm install guide_6.0cEsm install guide_6.0c
Esm install guide_6.0c
 
Naujo Bendrojo Vilniaus miesto plano koncepcijos pristatymas bendruomenei
Naujo Bendrojo Vilniaus miesto plano koncepcijos pristatymas bendruomeneiNaujo Bendrojo Vilniaus miesto plano koncepcijos pristatymas bendruomenei
Naujo Bendrojo Vilniaus miesto plano koncepcijos pristatymas bendruomenei
 
Microchip's 16-bit and 32-bit PIC MCUs
Microchip's 16-bit and 32-bit PIC MCUsMicrochip's 16-bit and 32-bit PIC MCUs
Microchip's 16-bit and 32-bit PIC MCUs
 
SATA Introduction
SATA IntroductionSATA Introduction
SATA Introduction
 
Processor Specifications
Processor SpecificationsProcessor Specifications
Processor Specifications
 
What are graphics cards
What are graphics cardsWhat are graphics cards
What are graphics cards
 
Usb 3.0 technology mindshare
Usb 3.0 technology mindshareUsb 3.0 technology mindshare
Usb 3.0 technology mindshare
 
windows CE
windows CEwindows CE
windows CE
 
SoM with Zynq UltraScale device
SoM with Zynq UltraScale deviceSoM with Zynq UltraScale device
SoM with Zynq UltraScale device
 
Linux SD/MMC Driver Stack
Linux SD/MMC Driver Stack Linux SD/MMC Driver Stack
Linux SD/MMC Driver Stack
 
DSP Processors versus ASICs
DSP Processors versus ASICsDSP Processors versus ASICs
DSP Processors versus ASICs
 
REQUISITOS DE LOS SO
REQUISITOS DE LOS SO REQUISITOS DE LOS SO
REQUISITOS DE LOS SO
 
ARMv8-M TrustZone: A New Security Feature for Embedded Systems (FFRI Monthly ...
ARMv8-M TrustZone: A New Security Feature for Embedded Systems (FFRI Monthly ...ARMv8-M TrustZone: A New Security Feature for Embedded Systems (FFRI Monthly ...
ARMv8-M TrustZone: A New Security Feature for Embedded Systems (FFRI Monthly ...
 
Adobe premiere (prirucnik)
Adobe premiere (prirucnik)Adobe premiere (prirucnik)
Adobe premiere (prirucnik)
 

Destacado

FP 202 - Chapter 5
FP 202 - Chapter 5FP 202 - Chapter 5
FP 202 - Chapter 5
rohassanie
 
Chapter 9: SCSI Drives and File Systems
Chapter 9: SCSI Drives and File SystemsChapter 9: SCSI Drives and File Systems
Chapter 9: SCSI Drives and File Systems
askme
 
03 Data Recovery - Notes
03 Data Recovery - Notes03 Data Recovery - Notes
03 Data Recovery - Notes
Kranthi
 
2.6 backup and recovery
2.6 backup and recovery2.6 backup and recovery
2.6 backup and recovery
mrmwood
 
Disaster Recovery Presentation
Disaster Recovery PresentationDisaster Recovery Presentation
Disaster Recovery Presentation
TimSchaefer
 
Disaster Recovery & Data Backup Strategies
Disaster Recovery & Data Backup StrategiesDisaster Recovery & Data Backup Strategies
Disaster Recovery & Data Backup Strategies
Spiceworks
 
Presentation on backup and recoveryyyyyyyyyyyyy
Presentation on backup and recoveryyyyyyyyyyyyyPresentation on backup and recoveryyyyyyyyyyyyy
Presentation on backup and recoveryyyyyyyyyyyyy
Tehmina Gulfam
 

Destacado (20)

Htcia an introduction to the microsoft ex fat file system 1.01 final
Htcia   an introduction to the microsoft ex fat file system 1.01 finalHtcia   an introduction to the microsoft ex fat file system 1.01 final
Htcia an introduction to the microsoft ex fat file system 1.01 final
 
training report
training reporttraining report
training report
 
How FAT Works
How FAT WorksHow FAT Works
How FAT Works
 
The Impact of Disk Fragmentation On Servers
The Impact of Disk Fragmentation On ServersThe Impact of Disk Fragmentation On Servers
The Impact of Disk Fragmentation On Servers
 
Data Backup (IT) Lecture Slide # 5
Data Backup (IT) Lecture Slide # 5Data Backup (IT) Lecture Slide # 5
Data Backup (IT) Lecture Slide # 5
 
FP 202 - Chapter 5
FP 202 - Chapter 5FP 202 - Chapter 5
FP 202 - Chapter 5
 
Backup and recovery
Backup and recoveryBackup and recovery
Backup and recovery
 
NTFS vs FAT
NTFS vs FATNTFS vs FAT
NTFS vs FAT
 
Chapter 9: SCSI Drives and File Systems
Chapter 9: SCSI Drives and File SystemsChapter 9: SCSI Drives and File Systems
Chapter 9: SCSI Drives and File Systems
 
03 backup-and-recovery
03 backup-and-recovery03 backup-and-recovery
03 backup-and-recovery
 
03 Data Recovery - Notes
03 Data Recovery - Notes03 Data Recovery - Notes
03 Data Recovery - Notes
 
2.6 backup and recovery
2.6 backup and recovery2.6 backup and recovery
2.6 backup and recovery
 
Backup And Recovery
Backup And RecoveryBackup And Recovery
Backup And Recovery
 
File System and File allocation tables
File System and File allocation tablesFile System and File allocation tables
File System and File allocation tables
 
Data recovery
Data recoveryData recovery
Data recovery
 
Backup And Recovery
Backup And RecoveryBackup And Recovery
Backup And Recovery
 
File system.
File system.File system.
File system.
 
Disaster Recovery Presentation
Disaster Recovery PresentationDisaster Recovery Presentation
Disaster Recovery Presentation
 
Disaster Recovery & Data Backup Strategies
Disaster Recovery & Data Backup StrategiesDisaster Recovery & Data Backup Strategies
Disaster Recovery & Data Backup Strategies
 
Presentation on backup and recoveryyyyyyyyyyyyy
Presentation on backup and recoveryyyyyyyyyyyyyPresentation on backup and recoveryyyyyyyyyyyyy
Presentation on backup and recoveryyyyyyyyyyyyy
 

Similar a Demystifying the Microsoft Extended FAT File System (exFAT)

NYC4SEC - An Introduction to the Microsoft exFAT File System (Draft 2.01)
NYC4SEC - An Introduction to the Microsoft exFAT File System (Draft 2.01)NYC4SEC - An Introduction to the Microsoft exFAT File System (Draft 2.01)
NYC4SEC - An Introduction to the Microsoft exFAT File System (Draft 2.01)
overcertified
 
nanoFlash Presentation - Flash Works
nanoFlash Presentation - Flash WorksnanoFlash Presentation - Flash Works
nanoFlash Presentation - Flash Works
camera department
 
Lame ps700 power 7 per sito
Lame ps700 power 7 per sitoLame ps700 power 7 per sito
Lame ps700 power 7 per sito
Lorenzo Corbetta
 
Inside ASUS ZENBOOK
Inside ASUS ZENBOOKInside ASUS ZENBOOK
Inside ASUS ZENBOOK
JJ Wu
 
Aplus essentials-exam-cram
Aplus essentials-exam-cramAplus essentials-exam-cram
Aplus essentials-exam-cram
Peter Sonko
 

Similar a Demystifying the Microsoft Extended FAT File System (exFAT) (20)

SUN主机产品介绍.ppt
SUN主机产品介绍.pptSUN主机产品介绍.ppt
SUN主机产品介绍.ppt
 
NYC4SEC - An Introduction to the Microsoft exFAT File System (Draft 2.01)
NYC4SEC - An Introduction to the Microsoft exFAT File System (Draft 2.01)NYC4SEC - An Introduction to the Microsoft exFAT File System (Draft 2.01)
NYC4SEC - An Introduction to the Microsoft exFAT File System (Draft 2.01)
 
HPE ProLiant DL360 Gen10 Server Data Sheet
HPE ProLiant DL360 Gen10 Server Data SheetHPE ProLiant DL360 Gen10 Server Data Sheet
HPE ProLiant DL360 Gen10 Server Data Sheet
 
Fujitsu Storage Days 2018 - Kontrollverlust vermeiden
Fujitsu Storage Days 2018 - Kontrollverlust vermeidenFujitsu Storage Days 2018 - Kontrollverlust vermeiden
Fujitsu Storage Days 2018 - Kontrollverlust vermeiden
 
Introduce: IBM Power Linux with PowerKVM
Introduce: IBM Power Linux with PowerKVMIntroduce: IBM Power Linux with PowerKVM
Introduce: IBM Power Linux with PowerKVM
 
nanoFlash Presentation - Flash Works
nanoFlash Presentation - Flash WorksnanoFlash Presentation - Flash Works
nanoFlash Presentation - Flash Works
 
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
 
Lame ps700 power 7 per sito
Lame ps700 power 7 per sitoLame ps700 power 7 per sito
Lame ps700 power 7 per sito
 
Product Roadmap iEi 2017
Product Roadmap iEi 2017Product Roadmap iEi 2017
Product Roadmap iEi 2017
 
Mshd
MshdMshd
Mshd
 
Advantech Cutting Edge Compute and Storage for Industrial IoT
Advantech Cutting Edge Compute and Storage for Industrial IoTAdvantech Cutting Edge Compute and Storage for Industrial IoT
Advantech Cutting Edge Compute and Storage for Industrial IoT
 
Blade Svr Comaprision sheet.pdf
Blade Svr Comaprision sheet.pdfBlade Svr Comaprision sheet.pdf
Blade Svr Comaprision sheet.pdf
 
Machbase_Edge_Edition_v2.pdf
Machbase_Edge_Edition_v2.pdfMachbase_Edge_Edition_v2.pdf
Machbase_Edge_Edition_v2.pdf
 
Geniatech 2023 Product Catalog
Geniatech 2023 Product CatalogGeniatech 2023 Product Catalog
Geniatech 2023 Product Catalog
 
NTFSFS.ppt
NTFSFS.pptNTFSFS.ppt
NTFSFS.ppt
 
Inside ASUS ZENBOOK
Inside ASUS ZENBOOKInside ASUS ZENBOOK
Inside ASUS ZENBOOK
 
Aplus essentials-exam-cram
Aplus essentials-exam-cramAplus essentials-exam-cram
Aplus essentials-exam-cram
 
Thinkpad p1 gen2 Laptops Trần Phát
Thinkpad p1 gen2 Laptops Trần PhátThinkpad p1 gen2 Laptops Trần Phát
Thinkpad p1 gen2 Laptops Trần Phát
 
1I386H
1I386H1I386H
1I386H
 
Presentation for IoT workshop at Sinhagad University (Feb 4, 2016) - 2/2
Presentation for IoT workshop at Sinhagad University (Feb 4, 2016) - 2/2Presentation for IoT workshop at Sinhagad University (Feb 4, 2016) - 2/2
Presentation for IoT workshop at Sinhagad University (Feb 4, 2016) - 2/2
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Demystifying the Microsoft Extended FAT File System (exFAT)

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. What happens when you have exFAT formatted media and no exFAT support? September 20th, 2010
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 41. FAT Table Example September 20th, 2010 Offset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0000 F8 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0010 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Media Reserved UP-Case Table Allocation Bit Map Root Directory
  • 42.
  • 43.
  • 45.
  • 46.
  • 47. Entry Type September 20th, 2010 Type Field Offset (Bits) Size (Bits) In Use 7 1 Category 6 1 Importance 5 1 Code 0 5
  • 48.
  • 49.
  • 50. Volume Label Directory Entry September 20th, 2010 Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 00000000 83 0A 65 00 78 00 46 00 41 00 54 00 2D 00 31 00 ƒ.e.x.F.A.T.-.1. 00000010 32 00 38 00 4B 00 00 00 00 00 00 00 00 00 00 00 2.8.K........... Type Volume Name Length (10) Volume Label (exFAT-128K)
  • 51.
  • 52. Allocation Bitmap Directory Entry September 20th, 2010 Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 81 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0010 00 00 00 00 02 00 00 00 3F 00 00 00 00 00 00 00 Type Cluster Address (Cluster 2) Size (63 bytes)
  • 53.
  • 54. UP-Case Table Directory Entry September 20th, 2010 Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 82 00 00 00 0D D3 19 E6 00 00 00 00 00 00 00 00 0010 00 00 00 00 03 00 00 00 CC 16 00 00 00 00 00 00 Type Cluster Address (3) Length (0x16CC = 5,836) Table Checksum
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60. File Attributes September 20th, 2010 Attribute Offset Size Mask Reserved2 6 10 Archive 5 1 0x20 Directory 4 1 0x10 Reserved1 3 1 System 2 1 0x04 Hidden 1 1 0x02 Read-Only 0 1 0x01
  • 61. File Directory Entry September 20th, 2010 Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 85 04 D4 92 20 00 00 00 44 62 86 3B F1 62 BA 3A 0010 44 62 86 3B A8 00 EC EC EC 00 00 00 00 00 00 00 Type # Secondary Entries Set Checksum (0x92D4) Attributes (0x0020 = Archive) Create Modified TZ Offset CMA EC = GMT-5 Accessed Create 10ms Modified 10ms
  • 62. Formatted File Directory Entry September 20th, 2010 Root Entry Type Read is: 85 Directory Entry Record Checksum: 92D4 Calculated Checksum is: 92D4 Size Directory Set (bytes): 160 Secondary Count 004 File Attributes: 0020 Archive Create Timestamp: 3B866244 12/06/2009 12:18:08 Last Modified Timestamp: 3ABA62F1 05/26/2009 12:23:34 Last Accessed Timestamp: 3B866244 12/06/2009 12:18:08 10 ms Offset Create A8 168 10 ms Offset Modified 00 0 Time Zone Create EC 236 Value of tz is: GMT -05:00 Time Zone Modified EC 236 Value of tz is: GMT -05:00 Time Zone Last Accessed EC 236 Value of tz is: GMT -05:00
  • 63.
  • 64. Stream Extension Directory Entry September 20th, 2010 Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 C0 03 00 28 AD 3C 00 00 1F 46 1D 01 00 00 00 00 0010 00 00 00 00 05 00 00 00 1F 46 1D 01 00 00 00 00 Entry Flags (Alloc Possible/Fat Invalid) Length of File Name (0x28= 40) Name Hash (0x3CAD) Cluster (5) Data Length 0x011d461f = 18,695,711
  • 65. Parameters for Samples September 20th, 2010 Bytes Per Sector: 2 to the 09 power is: 512 Sectors Per Cluster: 2 to the 08 power is: 256 Bytes per Cluster: 131072 (128K)
  • 66. Formatted Stream Extension September 20th, 2010 Root Entry Type Read is: C0 Directory Entry Record, Stream Extension Secondary Flags: 03 Flag Bit 0: Allocation Possible Flag Bit 1: FAT Chain Invalid Length of UniCode Filename is: 40 Name Hash Value is: AD3C Stream Extension First Cluster 5 Cluster 5 is Allocated Stream Extension Data Length 18695711 Bytes Slack: 83487 Clusters Used: 143 Stream Extension Valid Data Length 18695711 Bytes Slack: 83487 Clusters Used: 143
  • 67.
  • 68. File Name Extension Directory Entry September 20th, 2010 Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 C1 00 62 00 75 00 73 00 69 00 6E 00 65 00 73 00 Á.b.u.s.i.n.e.s. 0010 73 00 5F 00 6F 00 66 00 5F 00 73 00 65 00 63 00 s._.o.f._.s.e.c . 0000 C1 00 75 00 72 00 69 00 74 00 79 00 5F 00 5F 00 Á.u.r.i.t.y._._. 0010 62 00 75 00 73 00 2D 00 31 00 30 00 35 00 2D 00 b.u.s.-.1.0.5.-. 0000 C1 00 33 00 32 00 6B 00 62 00 70 00 73 00 2E 00 Á.3.2.k.b.p.s... 0010 6D 00 70 00 33 00 00 00 00 00 00 00 00 00 00 00 m.p.3........... File Name = business_of_security__bus-105-32kbps.mp3
  • 69.
  • 70.
  • 72.
  • 73.

Notas del editor

  1. exFAT is specifically designed for Removable media, but can be used for fixed media as well. NTFS is not recommended for removable media, especially because of the lazy write problem. Faster I/O through less file system overhead
  2. You need to be able to locate the evidence, just in general You also need to know the hiding places where it can be hidden You need to validate what you found is correct, in order, and complete.
  3. If the OS can’t recognize the file system, then it thinks the media is not formatted.
  4. Little to nothing available in these areas Exception: Tuxera is the first independent software vendor to sign an exFAT development agreement with Microsoft. Linux and Open Source is used a lot Commercial tools are lacking Encase 6.14.3 in Dec 2009 started logical support, some issues reported FTK 3.2 – Maybe? Little documentation or publications on exFAT internals.
  5. Microsoft published a patent that included the exFAT 1.00 specification. This presentation and the paper attempt to stick to the terminology used in the patent/specification as close as possible. Links to the patent and my paper will be on a later slide, and references to the paper will also be on my blog.
  6. In some cases you might see ZB or ZIB, technically they are really different, but are close.
  7. You never really see another sector size other than 512 bytes, but everyone just assumes that it is only 512 The 4096 size is special to support a device that is used for paging and supports 4K pages. But with the standard format, you can’t adjust sector size Clusters (or blocks) are 32K max in FAT32 Potential capacity, but the FAT can’t support 64Zib in its current configuration The volume label and file names are all 16 bit unicode Filenames to a maximum of 255 characters
  8. Microsoft in the KB for Windows XP support indicated a capacity to 64ZiB and a file size maximum to 64ZiB. In reality, the file system can only support up to 128PiB, and the file size up to 16EiB. The volume size is limited by a 32-bit FAT and a 25-bit cluster size giving a 57-bit addressable volume size The file size is limited by the 8-byte (64-bit) number that holds the filesize.
  9. With TexFAT there will be 2 FATS and 2 BITMAPS, with exFAT 1.0 – which does not have TexFAT (Transactional FAT) support, there is ony 1 FAT and 1 BITMAP, where previous FAT versions had 2 FATs.
  10. Any FS is limited, even FAT32 and NTFS. This is Windows only, we are not talking GUID Partition Table (GPT) Although a MBR uses a 4 byte sector count, remember that the FS can be larger is you make the sectors larger (512 vs. 4096) and this causes a lot of confusion on how big a FS fits.
  11. Windows would not format FAT32 beyond 32GB, it required using a FAT32 format on a different OS Some Windows utilities did not work properly with volume spaces GT 32GB, but you can mount a device that was GT 32GB Limitations of FAT32 File System: http://support.microsoft.com/kb/184006 SDXC predecessor (SDHC) had a max spec of 32GB. SDXC picks up from 32GB. SD 4.0 Specification – 300MB/s I/O speeds http://www.flashmemorysummit.com/English/Collaterals/Proceedings/2009/20090813_S204_Lin_Yee.pdf Starting at 104 mega bytes per second, and later to 300 mega bytes per second http://www.letsgodigital.org/en/20985/sdxc-cards/
  12. The SDXC media will not be backward compatible Cameras and other devices have been announced, but I haven’t actually seen any devices yet, so it sounds like media is being announced and shipped with nothing that can read them.
  13. New Devices may accept SDHC, but older devices will not.
  14. With Sony adopting the XC memory stick to exFAT, plus the SD market, is almost 90% of the market today.
  15. There are discussions of creation of exFAT on a Vista or Windows 7 machine that can’t be seen on Vista. This is usually a case of creating the media on a machine with exFAT support and then trying to read the media on a different machine without exFAT support. The common mistake is creation of the file system on removable media with a Vista SP1 (or higher machine) and trying to read it on a machine with Vista RTM.
  16. exFAT uses 16 bit Unicode strings
  17. It is important to note that Pentium processers use the little-endian format, so numbers stored in the file system are stored in little-endian. This can be significant because you need to change the order of the bytes in order to read the values from a hex dump.
  18. Currently use exFAT 1.00, but if a later version of exFAT is in use, it will check the version # and not mount the FS unless it can suppoort it Checksums protect against corruption and viruses If there is a problem with critical directory entries, the FS should not mount.
  19. FAT32 required a minimum of 65,525 clusters. exFAT does not have this restriction.
  20. 4 Regions defined on the volume The FAT tables reside outside the cluster heap
  21. Details follow in the next slides
  22. If there was no restriction, then the size of a cluster could be 4 255
  23. If the sector size is > 512 bytes, all space on the first sector of the VBR )Main Boot Sector) is not used.
  24. Unlike the first sector, the other 8 bot sectors can use the entire sector and the signature marker is moved to the last 8 bytes of the sector
  25. Repeats over and over again, 4 bytes = 32 bit checksum Can be used to determine if the VBR was modified 3 bytes in the VBR are not calculated in the checksum This sector does not have a signture
  26. The BITMAP is used to track cluster allocation, and the FAT is only required for re-assembling the original file. If the original file is contiguous, then the FAT isn’t needed for THAT file. We will see later that a flag in the directory record is used to tell the FS whether the FAT should be used or ignored.
  27. Because there is no floppy support, there is only one possible media descriptor value Cluster 0 and 1 are not defined, so 0 & 1 are not significant(Same as legacy FAT) Since the FAT is no longer used for cluster allocation, 0 (zero) is no longer significant (used to be unused)
  28. The 3 main critical records: Allocation Bitmap, UP-Case Table, and Root Directory will use FAT chains. The Root Directory can grow and since it is dynamic in its growth, most likely will fragment. The UP-CASE Table and Allocation bitmap should be static and not grow or change, although theoretically they could probably be relocated and moved somewhere else on the volume. The locations (cluster addresses) of the 3 special metadata files may change, this is based on one formatting and in reality these files could eventually end up in any cluster.
  29. If there are 2 FATs in a TexFAT Transactional Safe exFAT environment, then each FAT is paired with a allocation bitmap The allocation BITMAP is pointed to by a 0x81 entry.
  30. This is an eye chart, but the idea is to show how to get to the bitmap. You start at the VBR (BPB), go to the root directory, look up the 0x81 entry to get the cluster address, and then go into the BITMAP table.
  31. We will see details of the directory entry construction later, including what we mean by an entry type.
  32. The first byte of every directory entry is the “entry type” and describes the directory entry.
  33. When a file set is not in use, it is usually (but not always) a deleted file When a volume label is not in use, it means no volume label Only files have secondary entries so far Missing Benign entries usually won’t prevent the file system from being mounted. 0x80 is not defined.
  34. Primary and Critical
  35. Since we use 16 bit unicode without string termination, we need the length of the volume label – in unicode characters.
  36. Primary and Critical. If the FS can’t find the BITMAP table, it can’t mount the FS
  37. This was a small volume. 63 bytes can support maximum of 63x8 = 504 clusters.
  38. Filenames are stored case insensitive, so when a search is done, the filenames are converted to upper case (folded). The UP-CASE table is used to convert the filename to all uppercase.
  39. The UP-Case table is less than 6K – imagine if it was in a 32K cluster, now imagine if it was in a 32MB cluster, the amount of available slack space.
  40. File Entry Set would have a File, Stream Extensions, and up to 17 File Name Extension for a total of 19. Later, when a new exFAT version comes out, the ACL will be another secondary entry bringing this up to 20. As more file secondary entries are added, let’s say one for encryption, this increases to a max of 255 secondaries.
  41. Attributes and Timestamps in later slides Checksum is across the Primary and all secondaries in the set.
  42. Modified, Access, and Create. Timestamps are NOT stored in this order, but MAC is a common acronym in the literature. Timestamps are not one single field like NTFS which uses a 64 bit value. exFAT combines pieces to make a UTC value. TZ offset is absent in Vista SP1, and does not appear in the exFAT 1.00 spec.
  43. The standard DOS Date/Time, also used in the previous FAT versions, does not count to the second, but double seconds. To get seconds, a 33 bit number would have been needed.
  44. FAT and exFAT timestamp behavior varies, but is just not reliable as far as last accessed.
  45. These are pretty much the same as previous FAT versions. Since we have a separate volume label entry, there is no attribute for it, and since we don’t have 8.3 support, there is no LFN (Long File Name) attribute either.
  46. The update behavior on the 10ms Modified is also not predictable, sometimes it is just set to zero. Note that the create time is really 3B866244 (reversed because of little-endian)
  47. In order to validate the analysis in reverse engineering the FS, I had to write a C program to format the directory entries. This is an example of the output. All the timestamps are even because of the double seconds. But since the create is 168, this means that the create time was really 12:18:09.68 Secondary count is 4, meaning that this file set is 5 entries, 1 File, 1 Stream, and 3 filename.
  48. There is 2 file lengths, one is supposed to be te file length and the other the amount of data actually written into the file so far. Length of name is needed because there is no string termination, but the file name (max 255) may require multiple directory entries (we will see later). This is where the FS indicates whether the FAT is used, if the FAT Invalid flag is set, then the FAT is ignored.
  49. Since these values can vary based on the format parameters, for reference this is what the samples in this presentation is using.
  50. Another output from the C program. Allocation possible indicates that the directory entry specifies a cluster address field FAT invalid indicates that this file does not use the FAT This file is 18MB and required 143 clusters to store the file. As we said before, there are 3 filename entries (each holds 15 characters of the filename), and as we see above, the filename is 40 characters in length.
  51. Allocation not possible indicates that there is no cluster address in the entry. FAT Invalid has no meaning
  52. Filename is 40 characters (80 bytes) and takes 3 entries to store it.
  53. When the entries are not in use, some may be overwritten, and some ma not. This means that a complete set may not exist.
  54. I need followers
  55. My paper on exFAT and the Microsoft Patent that exposes the specification