Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Video Steganography

17,762 views

Published on

Steganography is the art and science of sending covert messages such that the existence and nature of such a message is only known by the sender and intended recipient.

Steganography has been practised for thousands of years, but in the last two decades steganography has been introduced to digital media. Digital steganography techniques typically focus on hiding messages inside image and audio files; in comparison, the amount of research into other digital media formats (such as video) is substantially limited.

In this talk we will discuss the history of steganography and the categories of steganographic technique before briefly discussing image and audio steganography and how to build such tools. The main body of our talk will focus on how video files are coded and the steganographic techniques that can be used to hide messages inside video files.

The principles discussed in this talk will be illustrated with live demos.

Video Steganography

  1. 1. Video SteganographyJames RidgwaySteganosaurus…a video steganography project…http://www.steganosaur.us
  2. 2. Overview• Introduction• History and literature• Steganographic techniques• Audio steganography• Image steganography• Video coding• Video steganographyCopyright James Ridgway 2013
  3. 3. IntroductionCopyright James Ridgway 2013
  4. 4. SteganographyThe art and science of writing covert messages such thatthe presence of the message is only known to the senderand recipient.Derived from Greek words:• SteganosMeaning: “covered or protected”• GraphiaDefinition: “writing”First appears in the literature in Steganographia byJohannes Trithemius, published 1606.Copyright James Ridgway 2013
  5. 5. Steganography vs. CryptographyCryptography is the practice and study of securecommunication.Steganography is the art and science of covertcommunication.There are some transferrable concepts such asKerckhoffs principle.Copyright James Ridgway 2013
  6. 6. Origin• Message tattooed on the scalppersuading Aristagoras to revolt againstthe Persian King.• Demeratus used a wax tablet to warnSparta of the invasion of Greece by thePersians.• Aeneas the Tactician– Womens earings– PigeonsHerodotus. The Histories. Penguin Books, 1996.D. Whitehead. How to survive under siege. Clarendon ancient history series. Clarendon Press, 1990.Herodotus484 – 425 BCMaster: Histiaeus.Copyright James Ridgway 2013
  7. 7. Linguistic Steganography• Giovanni Boccaccio– 14th Century– 1500 letters embedded in his poem, AmorosaVisione.• Francis Bacon– Normal or italic font.• Brewster, 1857– Photographic technique.Copyright James Ridgway 2013
  8. 8. Linguistic SteganographyWorld War II telegram sent by a German spy:Copyright James Ridgway 2013Apparently neutrals protest is thoroughly discounted andignored. Isman hard hit. Blockade issue affects pretext forembargo on by-products, ejecting suets and vegetable oils.
  9. 9. Apparently neutrals protest is thoroughly discounted andignored. Isman hard hit. Blockade issue affects pretext forembargo on by-products, ejecting suets and vegetable oils.Linguistic SteganographyWorld War II telegram sent by a German spy:Pershing sails from NY June 1This is an example of a null cipher.Copyright James Ridgway 2013
  10. 10. Linguistic Steganography• Invisible ink– Milk, vinegar, diluted honey, sugar solution.• Hiding information in document images (J.Brassil et al.)– Shift lines of text up or down by 1/300th of aninch.Copyright James Ridgway 2013
  11. 11. Watermarking• Information about the buyer and seller isembedded in the file.• Watermarks can be easy to detect, but theyshould be difficult to remove.• Traceability and public knowledge acts as apiracy deterrent.Copyright James Ridgway 2013
  12. 12. Printer Steganography• Brother• Canon• Dell• Epson• HP• IBM• Konica Minolta• Kyocera• Lanier• Lexmark• Ricoh• Toshiba• XeroxThese brands have beenknown to include watermarksof the printer serial numberand timestamps.Embedding technique takesthe form of small printeddots.Copyright James Ridgway 2013
  13. 13. SteganalysisThe process of detecting the presence of amessage that has been hidden usingsteganography.Approaches:• Targeted Steganalysis• Blind SteganalysisCopyright James Ridgway 2013
  14. 14. Prisoners’ ProblemCopyright James Ridgway 2013G. J. Simmons. The Prisoners Problem and the Subliminal Channel. In CRYPTO, pages 51-67, 1983.Alice BobWarden
  15. 15. Wardens• Passive WardenObservation only• Active WardenDetermine the presence of the message andprevent the exchange• Malicious WardenAttempt to catch the prisoners communicating.Sometimes involves impersonating parties andfabricating entire messages.Copyright James Ridgway 2013
  16. 16. WardensDuring World War II the U.S Post Office censoredtelegrams to prevent the exchange of hiddenmessages.Post Office changed “father is dead” to “father isdeceased”Recipient replied: “is father dead or deceased?”This is an example of an active warden.Copyright James Ridgway 2013
  17. 17. Steganographic TechniquesCopyright James Ridgway 2013
  18. 18. Steganographic Techniques• Injection• Substitution• Generation• Transform Domain• Streaming and Real TimeCopyright James Ridgway 2013
  19. 19. Injection• Inject data into redundant parts of a file.• Files suitable for injection techniques:– EXE files– WAV files• Injection is generally deemed to be less securethan substitution or generation techniques.Copyright James Ridgway 2013
  20. 20. Substitution• Modifies pre-existing data of the containerfile.• The file size of the container object ispreserved.• Limits the steganographic capacity of thecontainer file.Copyright James Ridgway 2013
  21. 21. 1101011001110100 01100101 01110011 01110100Least Significant Bit (LSB) ManipulationCopyright James Ridgway 2013
  22. 22. Least Significant Bit (LSB) ManipulationCopyright James Ridgway 20131101011001110100 01100101 01110011 01110100
  23. 23. Least Significant Bit (LSB) Manipulation1101011001110100 01100101 01110011 01110100Copyright James Ridgway 20131101011001110100 01100101 01110011 0111010001110101
  24. 24. Least Significant Bit (LSB) Manipulation1101011001110100 01100101 01110011 0111010001110101Copyright James Ridgway 20131101011001110100 01100101 01110011 0111010001110101 01100101
  25. 25. Least Significant Bit (LSB) Manipulation1101011001110100 01100101 01110011 0111010001110101 01100101Copyright James Ridgway 20131101011001110100 01100101 01110011 0111010001110101 01100101 01110010
  26. 26. Least Significant Bit (LSB) Manipulation1101011001110100 01100101 01110011 0111010001110101 01100101 01110010Copyright James Ridgway 20131101011001110100 01100101 01110011 0111010001110101 01100101 01110010 01110101
  27. 27. Generation• Generates a container file based on the covertdata.• There is no original container file.• Considerations:– Relevance to those communicating– Complex and time consuming to developCopyright James Ridgway 2013
  28. 28. Transform Domain• Discrete Cosine Transform (DCT)– JPEG• Discrete Wavelet Transform (DWT)– JPEG 2000• Discrete Fourier Transform (DFT)Copyright James Ridgway 2013
  29. 29. Audio SteganographyCopyright James Ridgway 2013
  30. 30. Audio Steganography• Data is hidden bymodifying sample data.• Uncompressed audioformats– WAV (Waveform AudioFile Format)– BWF (Broadcast WaveFormat)– MBWF (MultichannelBroadcast Wave Format)• Compressed audioformats– Lossy• MP3• Advanced Audio Coding(AAC)– Lossless• Free Lossless Audio Codec(FLAC)• Direct Stream Transfer(DST)Copyright James Ridgway 2013
  31. 31. Audio SteganographyPosition Description Example Value01-04 Indicate that the file is a RIFF file “RIFF”05-08 Size of the entire file. Integer09-12 File Type “WAVE”13-16 Format chunk marker, includes trailing null character “fmt “17-20 Size of format chunk 1621-22 Type of format 123-24 Number of channels 225-28 Sample rate 4410029-32 Byte rate = (SampleRate * NoChannels * BitsPerSample) / 8 17640033-34 Block alignment = (NoChannels * BitsPerSample) / 8 435-36 Bits per sample 1637-40 Data section indicator “data”41-44 Size of the data section IntegerCopyright James Ridgway 2013
  32. 32. WAV Audio Steganography ExamplesCopyright James Ridgway 2013Original Every byteA B C
  33. 33. WAV Audio SteganographyJava implementation:1. Requirements: java.io.*2. Read bits per sample from the header3. Convert to bytes4. Move to the beginning of the data portion5. Embed in the LSB of every sample (size ofsample is known from step 3).Copyright James Ridgway 2013
  34. 34. WAV Audio SteganographyCopyright James Ridgway 2013
  35. 35. Image SteganographyCopyright James Ridgway 2013
  36. 36. JPEG• Transformation from RGB into Y’CBCR.• Downsampling• Block splitting• Discrete cosine transform• Quantisation• Entropy CodingCopyright James Ridgway 2013
  37. 37. RGB to Y’CBCR• Y’– Luma component• CBCR– Croma components– Scalar difference from Y’• Receptors of the humaneyes:– Can see more fine detailin brighter images(higher Y’)– Less sensitive to:• Hue (CB)• Saturation (CR)Copyright James Ridgway 2013
  38. 38. RGB to Y’CBCRCopyright James Ridgway 2013
  39. 39. Downsampling/Chroma Subsampling• 4:4:4No downsampling, full resolution• 4:2:21/2 horizontal, full vertical resolution• 4:2:0½ horizontal, ½ vertical resolutionCopyright James Ridgway 2013+ =+ =+ =Y’(CR, CB) Y’CrCb
  40. 40. Block Splitting• Splitting process is based on downsampling ratio:– 4:4:416x8– 4:2:216x8– 4:2:016x16• (Y, CB, CR) values are shift from [0, 255] to [-128,127] and then transformed to the frequencydomain.Copyright James Ridgway 2013
  41. 41. Discrete Cosine TransformThe 2-dimensional DCT, F (m, n), of an M x N pixelimage is defined as follows:where:And f(x, y) is the intensity of the pixel at the xth rowand yth.Copyright James Ridgway 2013
  42. 42. Quantization and Entropy Coding• Human eye is not verysensitive to changes inhigh frequencybrightness.• Quantization process:– Divide DCT coefficientsby a constant– Round the DCTcoefficients (lossy!)• Entropy coding is alossless form of datacompression.• Encoding occurs in azigzagCopyright James Ridgway 2013http://en.wikipedia.org/wiki/File:JPEG_ZigZag.svg
  43. 43. Image Steganography• Lossy compression techniques– Embed data in the quantised DCT coefficients ofJPEG images.• Lossless compression techniques– PNG palette based (24-bit RGB, 32-bit ARGB).– GIF fixed 256 colour paletteCopyright James Ridgway 2013
  44. 44. PNG Image Steganography• Modify the LSB each pixel of a PNG– 3-bytes for 24-bit palette (RGB)– 4-bytes for 32-bit palette (ARGB)Copyright James Ridgway 2013Original ModifiedOriginalA B C
  45. 45. PNG Image SteganographyCopyright James Ridgway 2013
  46. 46. PNG Image Steganography• Built in Java (Encoding Process):1. Read image into a BufferedImage.2. Raster BufferedImage.3. Cast DataBuffer from the raster image to aDataBufferByte4. Get the data (byte) array fromDataBufferByte.5. Manipulate the byte array6. Use ImageIO to write the modified byte arrayof colour values to a PNG file.Copyright James Ridgway 2013
  47. 47. Image SteganalysisOriginal ModifiedCopyright James Ridgway 2013
  48. 48. Image SteganalysisOriginal Modified (Encrypted)Copyright James Ridgway 2013
  49. 49. Video CodingCopyright James Ridgway 2013
  50. 50. Container FormatContainer FileCopyright James Ridgway 2013Audio StreamVideo StreamData Stream
  51. 51. FramesCopyright James Ridgway 2013Frame: 1
  52. 52. FramesCopyright James Ridgway 2013Frame: 25
  53. 53. FramesCopyright James Ridgway 2013Frame: 1
  54. 54. FramesCopyright James Ridgway 2013Frame: 25
  55. 55. FramesCopyright James Ridgway 2013
  56. 56. Frame Types• Intra FrameEncoded using the same principles of lossyJPEG compression.• Predicted FrameCoded with reference to a previous frame.• Bidirectional FramePredicted from past and future referenceframes.Copyright James Ridgway 2013
  57. 57. Frame TypesCopyright James Ridgway 2013TimeGroup of PicturesI-frameP-frameB-frame
  58. 58. Video SteganographyCopyright James Ridgway 2013
  59. 59. Streaming and Real Time• A. J. Mozo and M. E. Obien and C. J. Rigor and D. F. Rayel andK. Chua and G. Tangonan. (2009). Video Steganography usingFlash Video (FLV).Copyright James Ridgway 2013A A V A V V A V A V A V V AA A A A A A A V V V V V V VA V A V A V A V A V A V A V
  60. 60. MPEG and DCT• I-frames are coded similarly to JPEG images,therefore have DCT coefficients.• Can use LSB manipulation to hide informationin the DCT coefficients.– T. Shanableh. (2012). Matrix encoding for data hiding using multilayervideo coding and transcoding solutions.Copyright James Ridgway 2013
  61. 61. LSB techniques• S. Singh and G. Agarwal. (2010). Hiding imageto video: A new approach of LSB replacement.– Discuss hiding an image in video by modifying theLSB of each pixel.– Implemented in Matlab 7a.– No mention of video format/codecs usedCopyright James Ridgway 2013
  62. 62. TPVD• A. P. Sherly and P. P. A. Amritha (2010).Compressed Video Steganography using TPVD.– Tri-way pixel-value differencing– Data is hidden in the I-frame.– Uses motion vectors to determine maximumscene change.Copyright James Ridgway 2013
  63. 63. Macro Block Techniques• S.K. Kapotas, E.E. Patras Varsaki, A.N. Skodras(2007). Data Hiding in H. 264 Encoded VideoSequences– Discussion of a technique for hiding information in thetype of macro block used.• 16x16 = 00• 8 x 16 = 01• 8x16 = 10• 8x8 = 11• 8x4• 4x8• 4x4Copyright James Ridgway 2013
  64. 64. SteganosaurusCopyright James Ridgway 2013
  65. 65. Software Solution• Command line tool– Written in C– Uses FFmpeg• Java GUI– Interfaces with the command line tool– Uses Xuggler• Capable of embedding in MPEG4/H.264 usingmotion vector techniques.Copyright James Ridgway 2013
  66. 66. In the beginning…1. Attempted to write our solution entirely inJava using Xuggler.2. Investigated Java Media Framework (JMF).3. Could have used Java Native Interface (JNI).4. Attempted to use FFmpeg and modify avideo file by linking to the libraries (avcodec,avformat, …)Copyright James Ridgway 2013
  67. 67. Findings• Modify FFmpeg source code and incorporatethis in our solution.• Modify the motion vectors (but after thequantization process).• Avoid macro blocks based on macro blocktype.Copyright James Ridgway 2013
  68. 68. Techniques ImplementedAll techniques use 256-bit FIPS-197 compliantCBC AES encryption:1. Encode in the X-component of the firstmacroblock motion vector.2. Encode in the Y-component of the firstmacroblock motion vector.Copyright James Ridgway 2013
  69. 69. AES Cryptography• Derived from Rijndael.Developed by Belgiancryptographers:– Joan Daemen– Vincent Rijmen• AES later defined in FIPS-197http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf• Key Expansion/KeySchedule• Initial Round– AddRoundKey• Rounds– SubBytes– ShiftRows– MixColumns– AddRoundKey• Final Round– SubBytes– ShiftRows– AddRoundKeyCopyright James Ridgway 2013http://en.wikipedia.org/wiki/File:AES-SubBytes.svg
  70. 70. Cryptography Block ModesCopyright James Ridgway 2013
  71. 71. Cryptography Block ModesCopyright James Ridgway 2013http://en.wikipedia.org/wiki/Block_cipher_modes_of_operationOriginal ECB CBC
  72. 72. Steganalysis Tools1. Visual comparison of frames.2. Comparison of motion vectors of frames.3. Video stream frame type overviewCopyright James Ridgway 2013
  73. 73. DemonstrationCopyright James Ridgway 2013
  74. 74. Video SteganographyJames RidgwayJMRidgway1@sheffield.ac.ukSteganosaurus…a video steganography project…http://www.steganosaur.us

×