Top Banner
Hiding Information in Flash Memory •Yinglei Wang, Wing-kei Yu, Sarah Q. Xu, Edwin Kan, and G. Edward Suh • Cornell University • Tuan Tran
32

Hiding Information in Flash Memory

Jan 05, 2016

Download

Documents

cheung

Hiding Information in Flash Memory. 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. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

TouchDevelop Program Analysis Tool Inception

Hiding Information in Flash MemoryYinglei Wang, Wing-kei Yu, Sarah Q. Xu, Edwin Kan, and G. Edward Suh Cornell University

Tuan TranIntroduction

Steganography? Yes Tyler and Dave are in prison. They are trying to communicate an escape plan, but unfortunately have one major problem: Warden Julie has access to ALL correspondence that passes between the two prisoners. Relying solely on encryption is out of the question since it would arouse Julie's suspicion and result in Dave and Tyler eating only bread and water for six weeksPresentation OutlineOverview

Flash Memory Background

Information Hiding Algorithm

Evaluation

Conclusion

3OverviewThe goal of the hiding technique is to make the detection, retrieval, and removal of hidden information sufficiently time consuming for an attacker.4

OverviewFlash 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.5Flash Memory BackgroundFloat 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 BackgroundFloat 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.7on the floating-gate allow full current flow in the channelon the floating-gate discourage the presence of current in the channelFlash Memory BackgroundFlash Organization and OperationRead: 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 writtenBlock: the smallest unit for an erase operation

Flash does not provide bit-level write or erase.

8Flash Memory BackgroundAgingThe 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.

9Flash Memory BackgroundPartial 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.

10the number of partial program operations to flip a bit from 1 to 0 represents the program time for the bit.Flash Memory BackgroundPartial 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.

11Information Hiding AlgorithmOverview

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 bits program time.

Stress some bits within a page more than others by controlling the value written to it.

12Information Hiding AlgorithmOverview

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.

13Information Hiding AlgorithmHiding 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 AlgorithmHiding 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

N: a set number of stresses.Information Hiding Algorithm16

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.

Information Hiding Algorithm17

Recovery Algorithm:Compute the median program time.

If bits program time is above the median, set it to 1.

If bits program time is below the median, set it to 0.

X is chosen empirically.

Information Hiding Algorithm18

Recovery Algorithm:Divide bits into group.

Compute average program time for each group.

Bits 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

gap between the average programtimes of the more-stressed and less-stressed groupsEvaluationSetupUse custom Flash test board.Use multiple types of memory flash chip.Used the first 4,096 bits of 16,896-bit pages.19

EvaluationRobustness 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.002920Select multiple pages and blocks across a Flash chip to form 5,120groups, which represent 5,120 hidden bits, and stored bitsusing 5,000 program and erase (PE) cycles in the encodingprocessEvaluationRobustness

BER decreases as the hiding stress increases.

More stress increases the program time difference between bits hiding 1s and 0s.21

blue line shows the average BER using a single Micron 4Gbit chip

the red triangles show the average BER and the error bars show the maximumand minimum BERs across the 15 chips.EvaluationRobustness

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

EvaluationRobustness

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

If K is 4, then only page 0, page 4, page 8, and soon are used to hide information while the rest is not used.EvaluationEffectiveness

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 increases24

the BER at the initial stress level of 10 PE cycles shows the error ratewhen bits are hidden after 10 PE cycles of programmingrandom data.EvaluationPerformance

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.25EvaluationDetectability

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.

26EvaluationDetectability

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

EvaluationRetrieval without the Hiding Key

10% of Correct Group Members

Group size is a security parameter28

EvaluationErase Tolerance

Stress the chip after hiding info.

Program every bit of the page to 0.

BER is quite reasonable.

29

EvaluationDifferent Flash ModelsTested 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.

30ConclusionDemonstrate 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.31Q & A32