Transcript slides
•Yinglei Wang, Wing-kei Yu, Sarah Q. Xu,
Edwin Kan, and G. Edward Suh
• Cornell University
• Tuan Tran
Introduction
Steganography? Yes
Presentation Outline
Overview
Flash Memory Background
Information Hiding Algorithm
Evaluation
Conclusion
3
Overview
The goal of the hiding technique is to make the detection,
retrieval, and removal of hidden information sufficiently time
consuming for an attacker.
4
Overview
Flash Interface Requirements for the technique
Work with flash and float-gate non-volatile memory which
can read, program and erase to specific memory location.
Can be implemented as a software update.
5
Flash Memory Background
Float Gate Transistors
The floating gate is an insulated conductor
surrounded by oxide.
Information is stored as the presence or
absence of trapped charge on the floating gate.
6
Flash Memory Background
Float Gate Transistors
Flash cells without charge are read as 1.
Flash cells have charge are read as 0.
Single-Level Cells: one bit is stored per cell.
Multi-Level Cells: multiple bits are stored per cell.
7
Flash Memory Background
Flash Organization and Operation
Read: transistor is turned on and the amount of current is detected.
Erase: pushes charge off the floating-gate by applying a large negative
voltage on the control gate.
Write: stores charge on the floating-gate
Page: the smallest unit in which data is read or written
Block: the smallest unit for an erase operation
Flash does not provide bit-level write or erase.
8
Flash Memory Background
Aging
The voltages involved place great stress on the device
oxide, wearing out the device.
The bit is rendered non-operational, leaving it in a stuck-at
state.
The program time that is required to flip a state from ‘1’ to
‘0’ for a cell tends to reduce.
9
Flash Memory Background
Partial Programming
Program time: the time it takes to program a Flash cell.
Flash memory interface requires all bits in a page to be
programmed together.
The program time only reveals how long programming the
entire page takes.
10
Flash Memory Background
Partial Programming
Partial program: aborting a program operation before completion.
Partial programs: will accumulate charge on the floating gate and
eventually result in the cell entering a stable programmed state.
The number of partial program operations to flip a bit from
1 to 0 represents the program time for the bit.
11
Information Hiding Algorithm
Overview
The program time is the time it takes for a bit to change
from the erased state (1) to the programmed state (0).
Need to be able to intentionally change and control each
bit’s program time.
Stress some bits within a page more than others by
controlling the value written to it.
12
Information Hiding Algorithm
Overview
The program times of individual bits vary significantly due
to manufacturing variations.
Encode one bit of hidden information using many bits in
Flash memory.
Use a key (hiding key) to select which Flash bits will be
grouped together.
13
Information Hiding Algorithm
Hiding Algorithm:
Choose set of page/block.
Divide the bits into fixed size group.
The algorithm determines which
value ( 0 or 1) need to be written.
14
Information Hiding Algorithm
Hiding Algorithm:
Decide on a N to exert on Flash.
N is chosen to ensure good BER.
Each page is programmed N time
to imprint the payload into Flash.
15
Information Hiding Algorithm
Recovery Algorithm:
Use partial programming to measure
the program time.
Choose M such that at the end of M
partial programs, more than half of
the bits, are programmed.
If bits do not flip, its program time is
set to constant.
16
Information Hiding Algorithm
Recovery Algorithm:
Compute the median program time.
If bit’s program time is above the
median, set it to 1.
If bit’s program time is below the
median, set it to 0.
X is chosen empirically.
17
Information Hiding Algorithm
Recovery Algorithm:
Divide bits into group.
Compute average program time for
each group.
Bit’s payload is set to 1 if the
average program time of the group is
below Th, 0 otherwise.
Th: the average program times of the
more-stressed and less-stressed
groups
18
Evaluation
Setup
Use custom Flash test board.
Use multiple types of memory flash chip.
Used the first 4,096 bits of 16,896-bit pages.
19
Evaluation
Robustness – Bit Error Rate
Bit Error Rate : metric for measuring robustness.
Hide a randomly generated message into Flash memory and
compared the retrieved message with the original.
Select 5120 groups and 5000 PE cycles: BER = 0.0029
20
Evaluation
Robustness
BER decreases as
the hiding stress increases.
More stress increases the program
time difference between
bits hiding 1s and 0s.
21
Evaluation
Robustness
BER decreases with
an increasing group size.
The capacity decreases as
more physical bits are included.
the statistical variations among
groups will decrease as the
group size increases.
22
Evaluation
Robustness
Neighboring pages have a strong
influence on each other.
Subset of pages with specific
interval K.
There is not much benefit to using a
group size beyond 128 and
a page interval beyond 4.
23
Evaluation
Effectiveness
Aim to simulate the normal usage
of the Flash chip.
In each program operation for the
initial stress, random data
are programmed.
As initial stress level increases,
the BER also increases
24
Evaluation
Performance
For hiding :
Throughput :16.6 bits/second.
Higher with smaller number of PE cycles or group.
For reading:
Throughput: 564 bit/second.
Higher if hiding scheme uses a smaller number of Flash bits
to encode each hidden bit.
25
Evaluation
Detectability
Information hiding scheme uses per-bit program time.
The hiding operation does not change normal Flash functions.
An attacker needs to rely on checking the analog properties of
the Flash memory.
26
Evaluation
Detectability
There is no visible pattern in
per-page program time.
The program time of a page
shows distinct values.
The program time values
for each chip stay the same.
27
Evaluation
Retrieval without the Hiding Key
10% of Correct Group Members
Group size is a security parameter
28
Evaluation
Erase Tolerance
Stress the chip after hiding info.
Program every bit of the page to 0.
BER is quite reasonable.
29
Evaluation
Different Flash Models
Tested several different Flash memory models.
Chips from the same manufacturer perform similarly.
In MLC chip:
Bits split into a fast group and a slow group.
Only the faster programming bits work for info hiding.
30
Conclusion
Demonstrate a technique to hide information using the
program time of individual bits in Flash memory.
Using groups of bits to store one bit of payload allows the
technique to effectively hide information robustly with low
bit error rates.
Without the key, measuring analog characteristics of the
Flash chip can not reveals whether the chip contains hidden
information.
31
Q&A
32