Challenges of SSD Forensic Analysis (37p)

Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

Nasir

Memon Polytechnic Institute of NYU

SSD Drive Technology Overview


SSD Drive Components
NAND FLASH
Microcontroller

SSD Drive Forensics


Challenges

Overview
SSDs are fairly new to the market
Whereas HDDs are well understood
SSDs propose new challenges to forensics

Purpose

Understand how SSDs function and understand

the challenges of performing a forensics


investigation.

Will replace HDD Drives


Faster reads
Faster writes
Are small

Use less energy


Create less heat
Are more expensive
The price has been decreasing

Source: http://www.samsung.com

2.5 SATA 3.8Gbps SSD

2.5 SATA 3.8Gbps HDD

Solid NAND Flash based

Mechanism type

Magnetic rotating platters

64GB

Density

80GB

73g

Weight

365g

Read: 100MB/s
Write: 80 MB/s

Performance

Read: 59MB/s
Write: 60MB/s

1W

Active Power Consumption

3.86W

20G (10~2000Hz)

Operating Vibration

0.5G (22~350Hz)

1500G for 0.5ms

Shock Resistance

170G for 0.5ms

0 C 70C

Operating temperature

5C 55C

None

Acoustic Noise

0.3 dB

MTBF > 2M hours

Endurance

MTBF < 0.7M hours

This can be Operating system File System


FAT
NTFS
Journaling File System

Can be implemented in Hardware or Software


SSDs do it in hardware (using Micro controller)
xD Memory Cards (do it in the Driver)
Interface to Hardware through SATA or IDE

Source: https://www.ibm.com/developerworks/linux/library/l-ash-lesystems/

Flash Memory

NOR Flash vs. NAND Flash


MLC vs. SLC
Limited Erase-write cycles
Read accuracy decreases after a certain number of
reads.

Implement techniques to overcome technology


dierences
COPYBACK (Read accuracy), ECC
Wear leveling (Limited Erase-write cycles)

NAND GATE

NOR GATE

SLC NAND Flash


(x8)

MLC NAND FLASH


(x8)

MLC NOR Flash


(x16)

Density

512Mb 4Gb

1Gbit to 16Gbit

16Mbit 1Gbit

Read Speed

24 MB/s

18.6 MB/s

103MB/s

Write Speed

8.0 MB/s

2.4 MB/s

0.47 MB/s

Erase Time

2.0 msec..

2.0 msec.

900 msec.

Interface

I/O indirect access I/O indirect access Random access

Application

Program/Data mass Program/Data mass eXectue In Place


storage
storage
(XIP)

1. http://www.toshiba.com/taec/components/Generic/Memory_Resources/NANDvsNOR.pdf

MLC

SLC

High Density

Lower Cost Per Bit

Higher Endurance

Greater Operating Temperature


Range

Lower Power Consumption

Better Write/Erase Speeds

Better Write/Erase Endurance

Implementation Overview

TSOP 48 PINS

LGA-52 PAD

BGA-100

TSOP 48 is most common in most electronics, such as MP3 Players,


USB sticks, Solid State Drives, Switches, Routers and the like.

Manufacturers can use any kind of interface

that they want, but a group of companies


created a consortium for NAND to
standardize the industry.
Open NAND Flash Interface Working Group
http://on.org/

ONFI Specication 2.1


http://on.org/wp-content/uploads/2009/02/

on-2_1-gold.pdf

Form Factor
Memory Addressing
Pin outs
Timing

Command Set
This is good for Forensics Analysis

Pages are basic


programmable
units of ash
512 bytes, but
likely 2048 bytes
16 bytes per 512

bytes for ECC and


management
2048 => 64 bytes

2112 bytes per


page, but only
2048 useable

Blocks are basic


erasable blocks
Generally 64x
pages per block
2048/64 *64
bytes
131072/4096

bytes per block

512 Bytes

16 Bytes

Data Information
Can be addressed by the OS

Management & ECC


Not seen by OS

2048 Bytes

Block:
64 Pages

Block:
64 Pages

64 Bytes

Flash Chip

Block:
64 Pages

Reading
Each read operation introduces a potential error
After several reads to the same location, there is some

chance of error for consecutive reads from that location.

Writing

Two types of operation to facilitate Writing


Set all bits to 1 (Erase)
Set bits from 1 to 0. (Program)
Cannot set bits from 0 to 1, must reset all bits to one (Erase)

To write a block, must erase (set all bits to 1), then

program (set appropriate bits to 0).


To rewrite, must always use the erase program cycle.

Basic Algorithms

Source: Micron TN-29-42: Wear-Leveling Techniques in NAND Flash Devices

Wear leveling helps reduce premature wear in

NAND Flash devices.


Each Erase operation reduces life of device
and makes it more vulnerable to read decay.
Generally: 10,000 or 100,000 erase cycles
Two primary wear leveling techniques
static
dynamic

Spread the drive wear across the entire drive


Ensure that all blocks fail at approximately

the same time


Dont allow some of the blocks to fail faster
than others.
Causes Severe Fragmentation
Can dramatically reduce read and write speed
of sequential reads.

LBA

PBA

0x00000000

0x00000000

0x00000001

0x00000001

0x00000002

0x20000002

0x00000003

0x00000003

0x00000004

0x20000004

0x0FFFFFFD

0x2FFFFFFD

0x0FFFFFFE

0x3FF000FE

0x0FFFFFFF

0x4FF000FF

Host

Use Logical Block Addressing (LBA)

Controller

Has Look Up Table


Translates between LBA and PBA

NAND Flash

Uses Physical Block Addressing (PBA)

Dynamic

When allocating blocks, choose a least erased block

from free list

Static

When allocating blocks, choose a least erased block

from free list


Occasionally

Move static non-free blocks with low erase count (below a


threshold) to a block with a high erase count

Hybrid

Allocate a portion of the drive for static wear leveling


Allocate a portion of the drive for dynamic wear

leveling

Method
Static

Advantages
Maximizes device life
Most robust wear-leveling method
Most ecient use of memory array

Dynamic Improves device life vs. no wear leveling


Easier to implement than static wear
leveling
No impact on device performance

Disadvantages
Requires more controller overhead
Can slow WRITE operations
Higher power consumption
More complicated to implement than
dynamic wear leveling
May not optimize device life

http://www.insidehw.com/Reviews/Storage/

Intel-X25-M-SSD.html
Certied for 25 MB/s read speed and 70 MB/s
write speed.
MLS SSD standard.
10-channel memory controller. Each channel
is responsible for two memory chips.
This controller works like a RAID 0 system but
with ash memory.

Solid State Drive


SATA Data
Interface

Internal Architecture
SPI Flash Cache

Permanent Storage

Microcontroller
Flash Flash Flash Flash Flash Flash Flash Flash Flash Flash
Chip Chip Chip Chip Chip Chip Chip Chip Chip Chip

SATA Power
Interface
NVRAM

IO Microcontroller
Intel PC29AS21AA0

(Unknown Chip Specication)


i0837
Description:
Possibly the Intel 8051 architecture
Possibly 8 bit architecture
Possibly like the SST

Flash Storage

Intel
29F32G08CAMCI

(Suspected Micron MT29F32G08)


i0838I5 (8/4) [front/back]
i0838I7 (2/6) [front/back]
Description:
Single Supply 32Gbx8 NAND Flash
2048 + 64 byte pages (2112)
64 pages per block
32 blocks per chip
(4GB storage with 8-bit access)

SPI Flash Cache

Winbond 25X40AVNIG
Description:
512KB SPI NAND Flash
Serial data access
8x64KB blocks
128x4KB sectors
2048x256B pages
256 pages per block
16 sectors per block

NV RAM
Samsung 843
K4S281632K-UC60
16MB SDRAM

Serial ATA
Serial ATA
Power

Quick Analysis

Microcontroller

Likely based on 8051 architecture by Intel


Probably has Internal ROM

SPI Flash most likely contains either

ROM
Tables for keeping track of Wear Leveling.

Flash Storage

More than likely Intel outsourced from Micron

NVRAM

Likely used for quick writes or writes to the same blocks.


A similar setup is recommended by Micron in one of its
whitepapers.

IDE interface allows logical data reads, but

hides the internal data structures.


Internals not well understood - may contain
hidden data useful in forensics.
No accepted standards
Every manufacturer does what it wants

Manufacturers protect their implementation

details to prevent data reads.

Wear leveling algorithms fragment data on

the drive, but in an unpredictable way (non-


standard)
NAND ash technology in SSDs, doesnt
allow for the same forensics tricks to be used
as with HDDs
Drive has spare blocks which cannot be read. X25 - 7% to

8%. Even more in enterprise version.


Mostly no slack space as entire block erased before write
Garbage collection clears blocks marked for deletion
Turn the hard drive o to prevent garbage collection

As soon as you do a write, a block gets

allocated and always stays allocated.


When you delete a le, it is only "deleted" in
the le system, but the hard drive block stays
allocated.
The trim command is proposed so that the
hard drive microcontroller knows to also
deallocate the block (free it.)

Once you DISCARD/UNMAP sector X, the

device can return any state on the next read


of that sector, but must continue to return
that data until sector is rewritten
Latest draft:
If TPRZ bit set then the return for an unmapped

block is always zero.


If TPRZ isn't set, it's undened but consistent.

Hard to read data o chips directly


Even if you do, hard to make sense of it

Requires some very sophisticated carving

technology
Needs to be content based
SmartCarving?

Recovers multi-fragmented les


Scales to millions of blocks
Keys to success:
Collation
Matching metrics
Linear time heuristics for reassembly

For more www.digital-assembly.com

You might also like