paper

advertisement
AMLAN CHAKRABORTY
0440954
amlan@cs.washington.edu
Steganography and Digital Watermarking -- Applications,
Attacks and Countermeasures
Introduction
Steganography is the science of hiding information in data. Normally steganography is done
intelligently such that it is difficult for an adversary to detect the existence of a hidden message in
the otherwise innocuous data. The piece of data that has the message embedded in it is visible to
the world in the clear and appears as harmless and normal. This is in stark contrast with
cryptography where the message is scrambled to make it extremely difficult or impossible for an
adversary to put together. A message in ciphertext arouses some sort of suspicion whereas
invisible message embedded in clear text does not. This is the advantage of steganography.
Generally, a steganographic message will appear to be something else: a picture, an audio file, a
video file or a message in clear text - the covertext. Historically, messages were written using
hidden invisible ink between the visible lines of innocuous documents, or even written onto
clothing. Other techniques used were writing messages in Morse code in knitting yarn, or
marking particular words or letters in the message, using invisible ink or pin prick that form the
secret message. During WWII Germans used the microdot technology, where an image the size of
a period had the clarity of typewritten pages. In this case the period was the covertext and the
image is the message. Though smart hiding and innocuous hiding techniques are used to hide the
stegotext, the algorithm itself is secure and only known to the communicating parties and not to
the world. This is in slight contrast to classical cryptography where the algorithm is well known
and only the key(s) are secret. Though data is not encrypted in steganography, authenticity of a
message is normally established by using a MAC or a signature.
Steganography can be used to code messages in any transport layer – an image (GIF/BMP/JPEG),
a MP3 file, a communications protocol like UDP etc. Steganogrpahic information can also be
added to richer multimedia content like DVDs. There are normally two motivations – to send a
secret message or to establish authenticity of a piece of information – usually a multimedia file.
The later is a major application of modern steganography and known as Digital Watermarking
and Fingerprinting. Watermarks establish ownership of an artifact while fingerprints or labels
help to identify intellectual property violators. They are different protocol implementation of the
same basic idea.
Information theory and human sensory perception
Steganography is possible for the same reasons that compression is – a combination of
information theory and human perception of vision and audio. Digital signal contains
redundancy which manifests itself as noise. Humans cannot detect all levels of noise; in other
words, humans often cannot tell an image or an audio clip from another with slight difference in
levels of noise. The larger the cover message is (in data content terms — number of bits) relative
to the hidden message, the easier it is to hide the latter. For example, a 24 bit bitmap image has 8
bits representing three colors – Red, green and blue at each pixel – 256 shades of each basic color.
So changing the least significant bit of any of these basic colors would make an extremely
negligible change on that pixel – and possibly less on the image. So the least significant bit can be
easily used to store the steganographic message. So, if we change the LSB of each basic color of
three adjacent pixels, we get 9 bits -- enough space to store an ASCII character. This is called LSB
manipulation and a very conventional and simple steganographic implementation. It can also be
noted that the actual message itself can be compressed using some compression coding
methodologies like run length coding. Historically, a lot of invisible ink steganographic messages
were encoded using Polybius squares or similar text to integer mapping schemes.
Stated somewhat more formally, the objective for making steganographic encoding difficult to
detect is to ensure that the changes to the carrier/container (the original signal) due to the
injection of the payload (the signal to covertly embed) are visually and ideally, statistically
negligible; that is to say, the changes are indistinguishable from the Gaussian noise of the carrier.
From an information theoretical point of view, this means that the channel must have more
capacity than the 'surface' signal requires (entropy), i.e., there is redundancy. For a digital image,
this may be noise from the imaging element; for digital audio, it may be noise from recording
techniques – amplitude or frequency modulation. Any system with an analog (signal)
amplification stage will also introduce thermal noise, which can be exploited as a noise cover.
Steganographic channel is a covert channel in Information theory terms since it transfers some
kind of information using a method originally not intended to transfer this kind of information.
Steganography also supports both storage and timing covert channels. This report primarily
discusses storage covert channels where a covert message is communicated by manipulating a
stored object like an image. Ron Rivest’s “Chaffing and Winnowing” protocol discussed later can
be argued as an example of timing covert channel.
It is fairly obvious that more the data content of the cover message, the easier it is to hide the
message. In case of images, bitmaps are better fits that GIFs and JPEGs because GIF is 8 bits per
pixel and JPEG is a lossy compression technique. But on the flipside, bigger images will attract
more attention than smaller images as suspect stego-images. Subtlety in changes is a very
important feature and stego-images should only have subtle changes. An image with large areas
of solid colors would be a bad fit since large variances created by the embedded message would
cause drastic differences easily spotted by the human eye. The spatial frequency distribution of
the image (spatio- temporal in case of audio or video content) is also a determining factor in the
efficiency of the hiding process. As we will see later, we have techniques for both Gaussian and
LaPlacian distribution using maximum likelihood estimators for the stego-messages.
Often the embedded message is itself encrypted using a key that may or may not be known to the
adversary. Since steganography requires that communicating parties have some prior shared
information, symmetric key is a natural fit. However, public steganography with steganographic
key exchanges is also possible.
Prisoner’s problem and subliminal channel
The study of steganography in machine cryptography was first stated in the prisoner’s problem
by Simmons. Two inmates Alice and Bob are accomplices in a crime and are sent to the prison.
They need to communicate with each other but they have to use a public channel which is
monitored by the Warden of the jail. The warden will only forward the messages if they are
intelligible. The prisoners accept this condition and find a way to communicate secretly in
exchanges --- establishing a subliminal channel even though the messages themselves are not
encrypted. The warden will also try to deceive them, so they will authenticate each other’s
messages before accepting them – authentication without secrecy.
Thethe situation is paradoxical because the warden demands access and the prisoner’s need to
authenticate each other. Authentication without secrecy channels achieve that by placing a pre
arranged condition on all messages. It is this capability that creates a subliminal channel for the
prisoners. If ‘m’ redundant bits are allowed to establish authenticity, then these redundant bits
create a bit by bit subliminal channel which can be used to transmit extra information.
Null ciphers and “Chaffing and Winnowing”
A null cipher is a form of encryption where the plaintext is mixed with a large amount of noncipher material. Null ciphers are used to hide the actual ciphertext by introducing nulls to
confuse the cryptanalyst. Classical steganography can also be thought of as an extension of this
concept where the carrier / container data are actually the null ciphers – data that create
confusion and diffuse the actual payload.
Ron Rivest extended this concept to an idea of “Chaffing and Winnowing” to create
steganographic communication channels. The concept is analogous to separating (winnowing)
wheat from chaff where wheat is the actual payload and chaff is the null ciphers. In a two step
process, the transmitter introduces chaff to the wheat i.e. intersperse the actual payload with
meaningless data. The receiver “winnows” the actual payload from the non-interesting data. As
with most steganographic transfers, the transmitters add a MAC to establish authenticity of the
communication to any message that is sent. MACs are calculated over the entire message and a
serial number of the message using a secret symmetric authentication key. The transmitter
attaches bogus MACs for the chaff packets instead of calculating it. This is what distinguishes the
“chaff” from the “wheat”. The receiver now doesn’t have to do anything special since the normal
protocol of a receiver is to discard packets that do not have correct MACs. Though the adversary
can see the entire communication, it cannot tell chaff from wheat as the MAC will look like a
random function. However, weak MAC functions can potentially leak information in this
protocol. It is also important to note that it is not possible to use digital signatures here since
anyone will be then able to compare the signatures and tell “chaff” from “wheat”. However,
“designated verifier signature” schemes where only signature designates can verify a signature
would work fine. The other key idea is that since the creation of “chaff” involves generation of a
bad MAC and not the knowledge of a secret key, any entity can play the role of a “chaffer”.
Digital Watermarking and Fingerprinting
Digital watermarking is the technique of adding identifying information to digital artifacts using
steganographic principles i.e. hiding the information cleverly so that extraction is difficult by any
adversary. Watermarks can be visible or invisible in the context of images. There are various
techniques of placing digital watermarks on images but they can conceptually be divided into
two categories –
1. Spatial techniques. These methods are based on hiding the messages on geometric
characteristics of the image. These are highly susceptible to signal alteration algorithms.
Even simple signal manipulation like zooming, cropping, smoothing would obliterate
watermarks.
2. Frequency Domain techniques. These methods are used to hide messages along the
frequency distribution of hues, intensities, luminance etc of the images. These are
comparatively robust to simple image manipulations but can fall prey to statistical
steganalysis.
In strict terms, visible digital watermarks are really not steganographic object – they enhance
information instead of hiding.
Fingerprinting is a slight different implementation of digital watermarks. When an artifact is
sold to an entity, information about that entity is hidden in the artifact. If illegitimate copies of
the artifact are sold, the watermark information would reveal the violator. A slight modification
of this would be using the canary trap protocol where unique alterations are made to each copy
of artifact sold. The illegitimate copy has a tell-a-tale that traces back to the violator.
Some digital watermarking algorithms
It is not too difficult to formulate algorithms that can cleverly hide information in images. The
key idea to avoid detection is to hide the message in such a way that statistically it comes across
like normal distribution making pattern detection very difficult.
Masking and filtering
These are some basic techniques to create visible watermarks by altering the luminance or colors
of certain regions in the image. These can be detected very easily by simple statistical analysis but
these are fairly resistant to lossy compression and image cropping. It doesn’t hide the data in
noise but embed it in significant areas – just the reverse of LSB manipulation.
LSB Manipulation
This is the manipulation described in the Introduction that is susceptible to even slight image
modification. It is very efficient in hiding a GIF or BMP image in another but a linear analysis is
enough to figure this out. It is fairly easy to hide an image in 3 or even 4 least significant bits of
another image without causing major noticeable change. The motivation for steganography is
important here. If the intention is to covertly pass messages, this can still work unless all artifacts
are sniffed for steganographic information. But if this is meant for digital watermarks, it is very
easy to extract and /or get rid of the info.
Spread Spectrum methods
In spread spectrum methods, the message is scattered across the image making it harder for
cropping, rotation and other basic image manipulation techniques to obliterate the watermark.
This is also somewhat resistant to statistical steganalysis because it gives it the impression of
noise in an image. Patchwork is a tool from IBM uses this technique to scatter hidden information
based on statistical distribution of luminance in the image. It iteratively selects two patches on the
image, brightens one and darkens one. It then calculates the standard deviation, S between light
and dark patches over the sample patches. To encode, it picks up two patches up in random and
then brightens one by S and darkens one by S. This process is iterated and the whole image
palette is laid in a mosaic of bright and dark patches one of which is used to hide data. This patch
information is vital to decode the hidden message later. This is clearly a frequency distribution
method. Patchwork makes the assumption that the image has a Gaussian distribution.
Texture Block coding
In this method, pairs of areas of similar texture are found and one area is copied over the other.
Thus we have identical blocks of texture in the image. Iterating a few times, we can get two large
blocks of identical textures. These two blocks would get altered identically for all non-geometric
alterations of the image. These two blocks can then contain information about these images.
M-Sequences using linear shift registers
M-sequences are based on starting vectors of a Fibonacci recursion relation which form a Galois
field of finite cardinality. Mathematically and statistically these numbers are known to have
desirable autocorrelation functions; the distribution of Galois field numbers is known to be of
normal distribution thus resembling Gaussian noise in an image. So images encoded using msequences are statistically impossible to distinguish from the original as they are similar to noise
in a normal distribution. If the stego message is encoded using m-sequences, it can easily be
embedded in the image by a LSB substitution. A more secure implementation would be to use
LSB addition instead to embed the watermark. So it will require the examination of the complete
bit pattern and the current linear shift register implementation. This is more secure because to
crack this, the adversary would have to do the same computations without any apriori
knowledge.
Frequency hopping
In this method scattering of the message is done on the basis of rules that change cumulatively.
The idea is similar to DES block encryption; bits are swapped according to rules that are dictated
by the stego-key and random data from the previous round. White noise storm, an
implementation of this methodology, creates a message space of 8 channels where each channel
has a window of W bytes, where W is a random number. Each channel however carry only one
bit of the message and a lot of unused bits. The bits inside a window permutate and rotate
according to an algorithm that is regulated by the previous window’s operations and the stegokey. Finally this encoded message is embedded in the image using LSB substitution. The idea
again is to simulate a distribution that is similar to a Gaussian distribution.
Steganalysis and Digital Watermarking Attacks
Steganalysis is analogous to cryptanalysis in the context of steganography. Steganalysis is
composed of three steps:1. Detection of hidden message (Passive Steganalysis)
2. Extracting of hidden message (Active Steganalysis)
3. Disabling/ Destruction of hidden message.
It is important to note here that it is not necessary to extract a message to disable or destruct a
message. It is often very difficult to extract a hidden message and at times even to detect one
because they are scattered and show up as noise. The case of visible watermarks is obviously
different. But the problem lies in the fact – detection is also not important if we have a
“suspicious attitude”. We can run algorithms that are known to destruct digital watermarks in
messages. On top of that there are algorithms that instead of disabling watermarks, either
overwrite watermarks or create exact replicas – rendering the watermark useless either way. Luis
Von Ahn et al formulates and proposed “universal robustness” for steganographic information.
They prove that “robust steganography” is as secure as the underlying crypto used to encrypt the
message that is hidden in the clear. But this just ensures extraction is hard and likens it to
cryptography. But their algorithm doesn’t prove that obliteration of the steganographic secret is
not possible.
Some common types of attacks on Digital Watermarking are
1. Removal attacks – Denoising, Remodulation, Lossy Compression
These attacks attempt at completely removing watermark from the data. Since a lot of
steganography algorithms try to hide data as noise, removal of noise should obliterate
the watermark. These algorithms they try to estimate the cover data using a given
statistic for the noise in it. It assumes the noise to be the watermark. Langelaar et al
proposes a sequence of filtering operations( median filtering, highpass filtering) on the
image to denoise the image that will likely get rid of the digital watermark. There are
several other watermark estimator algorithms that uses either Maximum Aposteriori
Probability (MAP) if we know the image statistics or Maximum likelihood (ML)
Classifier algorithms if we do not know anything about the images, to find an estimate of
the digital watermark. Voloshoynovisky proposed an algorithm where he used the MAP
estimator and then remodulates the image to find the least favorable noise distribution.
This is guessed to be the watermark.
Often lossy compression of uncompressed image data like JPEG, would completely wipe
out the watermark since the raw data would be replaced by Direct Cosine Transforms of
the data. However, this is mitigated by algorithms that can hide information directly in
compressed data.
2.
Geometric Attacks – Warping, transforming, jittering etc.
These attacks are the easiest to implement and often very effective. Instead of removing
the watermark, these stress on distortion of embedded data by spatial or temporal
alterations (in case of audio and video data). The result of these attacks is to scatter and
alter the way the watermark is laid out in the image. For a simple attack, if an image is
rotated by a slight angle, say 1 degree and the edges filled by the texture of the average of
adjacent pixels, there is a high likelihood that the watermark would fall out of sync with
the watermark detector. The key idea here is though the digital watermark data exists in
the artifact, it has moved in such a way that the watermark detector can no longer detect
the data.
Jittering is another effective attack that works extremely well for audio data. An audio
signal is chunked up into “n” chunks and then either one chunk is deleted or a copy is
made and then assembled back together ending up in either (n -1) or (n +1) samples. This
introduces a jitter in the signal that is not detectable by humans. Digital watermarks
would totally get destroyed in this attack. Unzign implements a pixel jittering algorithm
that works well on spatial domain watermarks.
Another important observation is that though some algorithms survive basic geometric
attacks like rotation, shearing, resizing etc., they succumb to a combination of different
attacks. StirMark is an implementation based on these principles that simulates an
iterative resampling process – where the image is slightly resized, sheared and rotated by
a random small amount. However, repeated iterations of StirMark degrade the image to
the point that humans can detect the difference between the original and the processed.
3.
Crypto attacks – Exhaustive key search, Collusion, Averaging, Oracle attack
These are similar to normal cryptographic attacks where the steganographic key is
searched exhaustively. Statistical averaging attacks involve taking the same data set with
different instances of watermarks and then averaging them to find the attacked data set.
A modification of the averaging algorithm is the collusion attack where smaller portions
of the data set are taken and attacked data set found using averaging algorithms. These
smaller datasets are then combined to get a new attacked data set.
4.
Protocol attacks – Watermark inversion, Copy Attack.
These attacks do not aim to detect, destroy or disable the watermark, but to attack the
basic tenets of watermarking e.g. watermarks cannot be extracted from non watermarked
data.
The Watermark inversion attack uses the feature of overmarking that is the ability to
mark an image more than once. Bob gets an image from Alice that has her watermark.
Bob subsequently generates his own watermark and subtracts his watermark from the
image he got from Alice. Due to overmarking, Alice’s signature would still be readable
from this image making it almost identical to the image Alice circulated. Bob can now
argue that Alice has removed his signature and added hers to generate this image. This
will establish that Bob was the actual owner of the image.
The Copy Attack gets an estimate of the watermark using a MAP or a ML estimator. It
then processes this watermark using the least favorable noise function (mentioned in
replacement attacks) to smoothen the watermark. It then adds the watermark to a new
document. Copy attack allows anyone to identify his own document as being
watermarked by a well known entity by placing a watermark copied from a document
published by that entity on it. This is a very serious attack that Kutter et al
experimentally succeeded to accomplish.
Defenses against Steganalysis
We noticed that most steganographic algorithms pretty cleverly hide data to avoid
detection by --- blending in as Gaussian noise, embedding in significant areas, scattering
across the frequency spectrum etc. It has also been seen that it is often not easy to extract
a digital watermark. Luis von Ahn et al propose robust steganographic algorithms as
well as new advances to public key steganography etc. But this often doesn’t safeguard
against attacks to destroy or replace watermarks on images, audio files etc. We have also
notices that watermarks are particularly susceptible to attacks that are combination of
more than one attack. There have been mitigations suggested to particular types of
attacks e.g. error correction of coding theory using hamming distance (or some other
distance measuring algorithm like Euclidean algorithm ) for statistical steganalysis. But
the problem is that attacks are preceding mitigations. Barr et al from DigiMarc are
suggesting the concept of image signature to mitigate the copy attack where perpetually
similar images would produce the same signature whereas perpetually different image
would produce very different signatures. While this would successfully mitigate the
copy attack, one can still launch a geometric attack and obliterate the watermark. Since
the image would be perpetually similar the signature would be the same, and image
signature would not mitigate the attack. Additionally the problem here is that there is an
additional burden on the watermark detector to verify the signature of the image. This is
double verification and needs additional security.
The key idea is to make the digital watermark such that destruction of the watermark
would destroy the image itself. One idea proposed by Neil Johnson is to use a gradual
mask instead of a sharp mask for the visible watermark, so that the watermark is not
visible until the luminance of the image is significantly increased. This makes it more
robust against changes of lower bits. Though extensive image processing and spatially
selective alteration of luminance based on the luminance distribution may make the
digital watermark vulnerable, the image would also be distorted enough by so much
processing.
Conclusion
The challenges in digital watermarking stem from the fact that the attacks derive from
the same phenomenon as the watermarking technology itself -- small noise insertion
doesn’t create humanly noticeable changes to an artifact. Clearly right now the
watermarking technology is not robust enough to mitigate combination of attacks.
Introduction of new authentication schemes as proposed by public key steganography
would attach another layer of security but does not in itself guarantee universal absolute
robustness of watermarks. I think the solution may very well lie in better statistical
models based on information theory. We can mitigate some attacks using authentication
and authorization – but pattern detection and obfuscation should be mitigated by better
scattering algorithms.
References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Neil Johnson and Sushil Jajodia, Exploring Steganography: Seeing the Unseen.
Gustavus J Simmons, The Prisoner’s Problem and the Sublimimal channel
Ronald L. Rivest, Chaffing and Winnowing: Confidentiality without Encryption
Fabien A Petitcolas, Ross J Anderson and Markus Kuhn, Information Hiding a
Survey.
Pierre Moulin and Joseph O’ Sullivan, Information-Theoritic Analysis of information
Hiding
Nicholas J Hopper, John Langford and Luis Von Ahn, Provably Secure
Steganography
Neil Johnson and Sushil Jajodia, Steganalysis : The investigation of hidden
information
Bender, Gruhl, Morimoto and Lu, Techniques for data hiding.
Neil F Johnson, An Introduction to Watermark recovery from Images
Fabien A Petitcolas, Ross J Anderson and Markus Kuhn, Attacks on copyright
marking systems.
Martin Kutter and Sviatoslav Voloshynoviskiy, The Watermark Copy attack
Niels Provos, Defending against Statistical Steganlysis
Barr, Bradley and Hannigan, Using Digital watermarks to mitigate the threat of copy
attacks.
Karen Su, Deepa Kundur and Dmitrios Hatzinakoa, A novel approach to collusion
resistant Video watermarking.
Stefan Katzenbeiser and Helmut Beith, Securing symmetric watermarking schemes
against protocol attacks.
Download