Upload
loreen-baker
View
219
Download
1
Tags:
Embed Size (px)
Citation preview
Steganography is sometimes called- Secret writing- Concealed writing- Covert communication- Stealth communication- Data hiding- Electronic invisible ink- The prisoners’ problem
Word origin
From Greek Steganos (covered) and graphia (writing)
Steganography
• ~470 B.C. First written evidence by Greek historian Herodotus.
• Term coined by Johannes Trithemius in 1499.
• Digital media provide ideal hideout.
• Steganography in its modern form is only ~15 years old.
Steganography
Cover object Stego-object
00101…1
CompressionEncryption
Image source
00101…1
DecryptionDecompression
Communication is monitored by a warden looking for suspicious
artifacts
Main requirement: Undetectability (no algorithm can decide about stego and cover objects with success better than random guessing)
Warden: passive, active, malicious
The prisoners’ problem, Simmons (1983)
Alice Bobencryption key
stego key
Secretmessage
Example of a steganographic channel
Alice pretends that shewants to sell her sofa atthe auction site eBay
BuyerNo. 1
BuyerNo. 2
…BuyerNo. 10,000…
Secretmessage
…
Both are privacy tools involving keys that enable two or more parties communicate privately
Crypto makes the message unintelligible to those not possessing the correct keys, but the existence of secret message is obvious (overt)
Stego conceals the very presence of message (covert), the communicated object is just a decoy.
Difference between steganography and cryptography
Three fundamental types of steganography
1. Steganography by cover selection
Sender selects a cover from a large set of available covers so that the required message is communicated.
2. Steganography by cover synthesis
Sender creates the cover that communicates the desired message.
3. Steganography by cover modification
Sender modifies an existing cover in order to convey the required message.
1. Steganography by cover selection
Secret shared codebook
A picture in landscape format means “yes”, portrait format means “no” If picture contains an animal, attack tomorrow.
Red T-shirt means 0, yellow 1,…
Steganography by hashing
Apply a pre-agreed message digest function (could depend on a key) to the cover and search for a cover till the digest
matches the message.
The recipient hashes the image to extract the message.
Advantage: The cover is “100% natural”
Disadvantage: Low payload, is it really secure?
2. Steganography by cover synthesis
Alice creates the cover
Mimic functions
SpamMimic (www.spammimic.com) encodes a message to resemble spam.
Acrostics (linguistic steganography)“Apparently neutral's protest is thoroughly discounted and ignored. Isman hard hit. Blockade issue affects pretext for embargo on byproducts, ejecting suets and vegetable oils”.
“Amorosa Visione” by Giovanni Boccaccio (1313–1375) contains three sonnets and poems, such that the initial letters of successive tercets correspond exactly to the sonnets.
Cardan’s grille (1501–1576)
3. Steganography by cover modification
: :
Emb C K M CExt C K M
( ( , , )) for all , ,Ext Emb C K M c k m m c k msuch that
Assume there are three sets
C … set of all cover objects
K … set of all keys
M … set of all messages that can be communicatedA steganographic embedding scheme is a pair of embedding and extractionfunctions Emb and Ext
Emb Extc
k
m
s … m
k
The problem of steganography
• We wish to embed as many bits in the cover object without introducing any statistically detectable artifacts.
• Statistical undetectability (no one should be able to tell whether an image contains secret message) -- can be formalized using Information Theory
Dhiren Barot, an Al Qaeda operative filmed reconnaissance video between Broadway and South Street and concealed it by splicing it into a copy of the Bruce Willis movie "Die Hard: With a Vengeance." Barot was sentenced to 40-to-life in Great Britain.
NY Times article available from http://www.nytimes.com/2006/11/08/world/europe/08britain.html?th&emc=th (Requires registration)
A tip of an iceberg?
Steganography program S-Tools was used to distribute child porn. This case occurred between 1998 and 2000. A person working at a government facility was using S-Tools to hide child porn in images and then distributing them through e-mail and postings from his work computer.
Steganography was detected by identifying color patterns in the GIF palette. The suspect was confronted the embedded images were retrieved.
Source: Neil Johnson, 2006 and N.F. Johnson and S. Jajodia, “Steganalysis of Images Created Using Current Steganography Software,” in D. Aucsmith (ed.): Information Hiding. 2nd International Workshop, LNCS vol.1525, Springer-Verlag Berlin Heidelberg, pp. 273289, 1998.
Considerable interest from Government and law enforcement
Major US agencies funding research in steganography– US Air Force and AFOSR– National Institute of Justice (NIJ)– Office of Naval Research (ONR)– National Science Foundation (NSF)– Defense Advanced Research Project Agency (DARPA)
Steganalysis is considered part of Computer Forensics
Important for protection against malware
Tools developed for steganalysis find applications in Digital Forensics in general (e.g., for detection of digital forgeries and integrity and origin verification)
Steganalysis in the wide sense
Traditional steganalysis: a steganography system is considered broken, when the mere presence of a hidden message is detected
Forensic analysis: detection of the message may not be sufficient; often, other information would be useful
• identification of the embedding algorithm (LSB, 1, …)• the stego software used (F5 , OutGuess, Steganos, …)• the stego key (StegoSuite © by Wetstones, Inc.)• the hidden bit-stream• the decrypted message
LSB embedding
c = imread(‘my_decoy_image.bmp’); % Grayscale cover image in BMP format% ‘b’ is a vector of m bits (secret message)
k = 1; % Counterfor i = 1 : 512 for j = 1 : 512 LSB = mod(c[i, j], 2); if LSB = b[k] | k m s[i, j] = c[i, j]; else
s[i, j] = c[i, j] + b[k] – LSB; end k = k + 1; endendimwrite(s, ‘stego_image.bmp’, ‘bmp’); % Stego image ‘s’ saved to disk
Embedding function Emb (Matlab syntax)
LSB embedding
s = imread(‘stego_image.bmp’); % Grayscale stego image in BMP formatk = 1;for i = 1 : 512 for j = 1 : 512 if k m b[k] = mod(s[i, j], 2); k = k + 1; end endend
% b is the extracted secret message
Extraction function Ext (Matlab syntax)
Why is LSB embeddig so popular?
General (can be applied to any digital file consisting of numerical data) Extremely simple Fast High capacity (1 bit per pixel, embedding efficiency 2) Does not require any software present on the computer
One command line in UNIX Perl script (source: A. Ker, Oxford University):
perl -n0777e ’$_=unpack"b*",$_;split/(\s+)/,<STDIN>,5;@_[8]=~s{.}{$&&v254|chop()&v1}ge;print@_’<input.pgm >output.pgm secrettextfile
LSB plane of images resembles random noise this method was believed to be undetectable.
Properties of LSB flipping
FlipLSB(x) is idempotent, e.g., LSBflip(LSBflip(x)) = x for all x
LSB flipping induces a permutation on {0, …, 255}
0 1, 2 3, 4 5, …, 254 255
LSB flipping is “asymmetrical” (e.g., 3 may change to 2 but never to 4)
| LSB(x) – x | = 1 for all x (embedding distortion is 1 per pixel)
LSBflip(x) = x + 1 – 2(x mod 2)
Effect of LSB embedding on histogram
parts untouchedby embedding
2i 2i+1
LSB flipping pair 2i, 2i+1
hc [2i] = number of occurrences of the value 2i in the cover imagehc [2i+1] = number of occurrences of the value 2i + 1 in the cover image
hs [2i] = (hc [2i] + hc [2i+1])/2hs [2i+1] = (hc [2i] + hc [2i+1])/2
For a fully embedded image:
2i 2i+1
hc [2i]
hc [2i+1]
hs [2i+1]
hs [2i]
“Twin peaks” in the histogram
• The peaks can be tested for using a chi-square test• By looking at the histogram of pixel pairs, an even more accurate attack can be built (Sample Pairs Analaysis – SPA).