TTY / Tietoturvallisuuden jatkokurssi / Tutkielma 2013

Riitta Hietaranta

Kuvien steganalyysi

Johdanto

Viestinnän digitalisoituminen on luonut steganografiaan eli salakirjoitukseen uusia kommunikointikanavia. Yksi näistä kanavista on digitaaliset kuvat, joita voidaan välittää ja levittää lukuisissa eri medioissa. Steganalyysi on steganografisten viestien eli salakirjoituksen etsintää. Sen päälimmäisenä tarkoituksena ei ole purkaa useimmiten myös kryptografialla salattujen piiloviestien sisältöä, vaan pyrkimys on osoittaa piiloviestin olemassaolo tutkittavassa kohteessa. Kun viestin olemassaolo on todistettu, se voidaan toki yrittää purkaa, mutta se kuuluu kryptoanalyysin piiriin.

Tässä tutkielmassa kerrotaan joistakin keskeisistä menetelmistä, joita voidaan käyttää piiloviestinnän etsintään.

Miksi steganalyysia tarvitaan?

Steganografiaa digitaalikuvissa on väitetty hyödynnetyn muun muassa 9/11-terrori-iskujen suunnittelussa. Tällaisen pahantahtoisen viestinnän paljastamiseen on tottakai intressejä. Myös vakoojat voivat viestiä steganografian avulla [7]. Täten erilaiset valtiolliset tahot tarvitsevat steganalyysia turvallisuutensa ylläpitämiseen. Steganografia on myös pätevä keino vuotaa tietoja ulos yrityksestä, joten myös teollisuusvakoilun kannalta steganalyysimenetelmien kehittäminen on mielekästä.

Steganalyysin aloittaminen

Steganalyysia ei ole mielekästä suorittaa laajoille joukoille dataa, joten järkevä ensimmäinen askel steganalyysissa onkin tutkittavien materiaalien rajaaminen. Tarvitaan siis ensinnäkin epäily siitä, että steganografiaa on käytetty. Steganografiaepäilyn jälkeen täytyy vielä onnistua jotenkin rajaamaan tiedostojoukko, joiden epäillään sisältävän steganografiaa. Tyhmä rikollinen saattaa säilyttää sekä alkuperäisen että piiloviestin sisältävän version tiedostosta, jolloin kyseinen tiedosto on erittäin hyvä ehdokas steganalyysille.

Steganalyysimenetelmien jaottelu


Swaroop Kumar Pedda Reddy on tehnyt steganalyysin menetelmiä vertailevan tutkimuksen. Hän viittaa steganalyysiin hyökkäyksenä steganografiaa, mikä pitääkin paikkansa samassa mielessä, kuin kryptoanalyysi on hyökkäys kryptografiaa vastaan. Tutkimuksen [COMP] mukaan hyökkäysmenetelmiä eli steganalyysin menetelmiä voidaan lajitell seuraavasti:

Visuaaliset

Vertaillaan alkuperäistä ja carrieriksi, kantajaksi, epäiltyä kuvaa visuaalisesti ja yritetään löytää eroavaisuuksia.

Rakenteelliset

Kun viesti piilotetaan kuvaan, tiedoston ja kuvan rakenteet voivat muuttua. Vuoden 2004 Black Hat -seminaarissa on pidetty esitelmä, jossa on annettu hyvin esimerkkejä analysoitavis t a rakennemuutoksista [2]. Näistä mainittakoon tässä muutokset tiedostojen luontiajoissa tai tarkistussummissa.

Tilastolliset

Kuvia analysoidaan jonkin matemaattisen kaavan avulla. Tilastoista voi käydä ilmi poikkeamia, jotka paljastavat piiloviestin olemassaolon. Reddyn mukaan piilotettu viesti on yleensä satunnaisempaa, kuin kuvien data muuten on.

Rakenteellisia steganalyysimenetelmiä

Stego-ohjelman jälkien etsintä

Stego-ohjelma eli viestejä piilottava ohjelma saattaa jättää kuviin, joihin se on jonkin viestin piilottanut, sille ominaisen ”allekirjoituksen”. Kun tutkittavia tiedostoja on useampia, tällaista tiedostosta toiseen samana toistuvaa kaavaa voidaan etsiä, ja sen perusteella voidaan tunnistaa ohjelma, jolla piiloviesti on lisätty. Edellä mainitussa seminaariesitelmässä [2] on esimerkki, jossa tällainen stego-ohjelman allekirjoitus löydetään avaamalla tiedosto hexaeditorissa. Piilottaneen ohjelman tunnistamisesta on hyötyä piiloviestin purkamisessa, koska kyseisellä ohjelmalla voidaan sitten yrittää stego-tiedoston avaamista arvailemalla salasanoja.

Steganalyysiohjelmat

Steganalyysia ei suinkaan tarvitse tehdä manuaalisesti, vaan steganografian tunnuspiirteiden etsimiseen kuvatiedostoista on paljon valmiita työkaluja. Erityisesti Least Significant Bit Plane (LSBP) korvaus menetelmällä piilotetut viestit on helppo jäljittää automaattisesti.

Tyypillisin menetelmä, jota ilmaiset stego-ohjelmatkäyttävät viestien piilottamiseen, on LSBP Replacement eli vähiten merkitsevän bittitason korvaaminen [3]. Bittitasojen Wikipedia artikkelista [4] saa hyvin käsityksen siitä, miksi tämä menetelmä, ja muutkin LSBP muuntelut toimivat hyvin piilopaikkoina. Alla olevassa kuvakoosteessa ylhäällä oleva kuva on 8 bittinen ja alla esitetty sarja on esitys kuvan eri bittitasoista siten, että vasemmalla ylhäällä on merkitsevimmän bitin taso ja alhaalla oikealla vähiten merkitsevä, LSBP.

Jokainen taso merkitsee puolet edeltäjäänsä vähemmän kokonaiskuvassa eli tuo vähemmän lisätietoa kuvaan. Täten LSB taso ei tuo hyvin vähän kontribuutiota kuvaan, joten sitä on helppo muokata ilman, että kuvaan tulee silmin nähden mitään eroa.

Lisäksi steganalyysiohjelmat voivat jäljittää edellä esiteltyjä stego-ohjelmien allekirjoituksia. Eri steganalyysiohjelmat osaavat jäljittää eri stego-ohjelmien allekirjoituksia.

Tilastolliset steganalyysimenetelmät

Histogrammianalyysi

Wikipedian mukaan h istogrammi on graafinen esitys tilastollisesta jakaumasta. Digitaalisten valokuvien yhteydessä histogrammi tarkoittaa esitystä kuvan pikseleiden jakautumisesta eri vär eille eli esimerkiksi kuinka monta pikseliä kuvassa on värisävyä #FFFFFF, #000000 jne. Steganografia kuvassa voi vääristää kuvan histogrammia, joten histrogrammien vertailua voidaankin käyttää yhtenä steganalyysin menetelmänä.

Alla olevassa kuvassa on alkuperäinen, piiloviestitön kuva ja sen histogrammi. Histogrammi on tehty GIMP 2 ohjelmalla.

Käytin OpenPuff?-steganografiatyökalua piilottaakseni kuvaan 506 tavua tekstidataa. Alla on esitetty tuloksena saatu stegokuva ja sen histogrammi.

A inakin ympyröidyllä alueella on silmin nähtävissä pieniä eroja histogrammeissa. Tarkemmalla tutkimuksella eroja löytyisi varmasti monessa muussakin kohdassa. Sivuhuomautuksena sanottakoon, että itse valokuvissa ei ole silminnähtäviä eroja.

Discrete Cosine Transformation (DCT) kertoimet

Discrete Cosine Transformation kuvaa rajallisen joukon datapisteitä eri taajuuksilla värähtelevien kosinifunktioiden summana [5]. Digitaalinen valokuva on käytännössä rajallinen joukko datapisteitä, joten sillekin voidaan tehdä DCT-operaatio. Yksi digitaalisten kuvien steganographiamenetelmistä onkin DCT-kertoimien muunteleminen. Jos alkuperäinen kuva on saatavissa, valokuvien DCT-tuloksia voidaan vertailla ja havaita kertoimiin tehdyt muutokset.

Visuaaliset steganalyysimenetelmät

LSBP vertailu

Kun viestin piilottamiseen on käytetty edellä esiteltyä LSBP-korvausmenetelmää, steganografian käyttöä voidaan koittaa todistaa myös vertailemalla alkuperäisen ja epäillyn stegokuvan alhaisinta bittitasoa silmämääräisesti. Hans Georg Schaathun [6] antaa aihetta käsittelevillä luentokalvoillaan hyviä esimerkkejä siitä, miltä steganografia näyttää kuvan LSBP:lla. Alla on yksi esimerkeistä. Luentokalvoilla ei kerrota kumpi kuvista sisältää stegoviestin, mutta oma arvioni on, että vasemman puoleinen on stegokuva.

Huonosti steganografiaan soveltuvat kuvat

Steganografia edellyttää, että kantajamediassa, tämän tutkielman tapauksessa kuvassa, on tarpeeksi toisteisuutta, jotta steganografian aiheuttamia pieniä muutoksia ei pystytä havaitsemaan. On siis selvää, että huonon kuvavalinnan tuloksena steganografian olemassaolo voidaan erottaa silmillä. Steganografian kannalta huonoja kuvia ovat kuvat, joissa on laajoja tasaisen värin alueita tai toisaalta selkeitä rajoja. Myös esimerkiksi JPEG-pakkauksessa tyypillisesti esiintyvä reunojen pyöristyminen (esim. musta teksti valkoisella pohjalla vääristää tekstin ympäristöä pakattuna) voi vääristyä silmin havaittavasti, jos kuvaan on sopivaan kohtaan piilotettu viesti.

Steganalyysia hankaloittavia tekijöitä

Encoding density

Encoding density eli koodaustiheys ei varsinaisesti ole erillinen steganografinen menetelmä, mutta sillä on kuitenkin tärkeä merkitys steganalyysin onnistumisessa. Se tarkoittaa piiloviestin bittimääräisen koon suhdetta koko kuvan bittimääräiseen kokoon. Luonnollisestikin, jos kantajana on monen megapikselin kameralla otettu valokuva, johon on piilotettu pelkkää tekstiä eli pieni bittimäärä dataa, joka on tasaisesti jaettu tasaisesti koko kuvaan, piiloviestin olemassaoloa on vaikeampi todistaa. Jos taas koodaustiheys on liian suuri, piiloviestin olemassaolon voi huomata jo paljaalla silmällä.

Saatavissa oleva materiaali ja tiedot

Steganalyysiohjelmia lukuunottamatta, kaikilla tässä mainituilla steganalyysimenetelmillä on sama ongelma: yksi kuva ei riitä. Vertailuun perustuvat menetelmät vaativat alkuperäisen kuvan olemassaolon ja tilastolliset menetelmät voivat vaatia paljonkin materiaalia, jotta steganografian käyttö voidaan osoittaa.

Reddy luokittelee steganalyysin hyökkäystavat myös hyökkääjälle saatavilla olevien tietojen perusteella [1] (vrt. kurssin kryptoanalyysiluokittelu)

1. Vain stegokuva: vain steganografiaa sisältävä kuva on saatavilla

2. Tunnettu kanta: sekä kantaja että stegokuva tunnetaan.

3. Tunnettu viesti: piilotettu viesti tunnetaan, ja stegokuvan ja viestin noudattamaa kaavaa analysoimalla voidaan saada apua muiden samanlaisten systeemien kanssa

4. Valittu stegokuva: käytetty steganografian algoritmi ja stegokuva tunnetaan

5. Valittu viesti: steganalyysin tekijä luo stegokuvia monilla steganografiatyökaluilla ja vertailee näitä kuvia epäillyn stegokuvan kanssa, ja yrittää löytää epäillyssä kuvassa käytetyn algoritmin.

6. Tunnettu stegokuva: kantaja ja käytetty steganografiatyökalu tunnetaan.

Mitä enemmän tietoja ja stegomateriaalia steganalyysin tekijällä on saatavissa, sitä helpompaa steganalyysin tekeminen on.

Yhteenveto

Kuten Reddy ilmaisee tutkimuksessaan, ei ole olemassa mitään yhtä steganalyysimenetelmää, joka pystyisi jäljittämään kaiken steganografian [1], joten mikään steganalyysimenetelmä ei ole yksiselitteisesti parempi kuin muut. Lisäksi sitä mukaan, kun uusia steganalyysimenetelmiä löydetään, steganografian käyttäjillä on luonnollisesti tarve etsiä uusia steganografiamenetelmiä. Kun olen lukenut eri steganografia- ja steganalyysimenetelmistä tutkielman tekemisen aikana, olen saanut sellaisen käsityksen, että kyseessä on jonkinlainen matemaatikkojen mielikuvituksellisuuden kilpailu; toiset keksivät uusia tapoja piilottaa tietoa ja toiset yrittävät rikkoa ne.

Lähteet

[1] http://scholarworks.uno.edu/cgi/viewcontent.cgi?article=1562&context=td

[2] http://www.blackhat.com/presentations/bh-usa-04/bh-us-04-raggo/bh-us-04-raggo-up.pdf

[3] http://www.cs.ox.ac.uk/andrew.ker/docs/ADK10E.pdf

[4] http://en.wikipedia.org/wiki/Bit_plane

[5] http://en.wikipedia.org/wiki/Discrete_cosine_transform

[6] http://www.computing.surrey.ac.uk/teaching/2007-08/csm25/03visual/slides.pdf

[7] http://en.wikipedia.org/wiki/Steganography#Alleged_use_by_intelligence_services

SivuTiedotLaajennettu edit

Vaativuus Jatko
Valmius Valmis
Tyyppi Esitys
Luokitus Muu
Mitä Muu
Miltä Tahallinen uhka
Missä Muu
Kuka Titu-ammattilainen
Milloin Ennakolta
Miksi Muu
Print version |  PDF  | History: r5 < r4 < r3 < r2 | 
Topic revision: r5 - 27 Nov 2013 - 13:10:46 - RiittaHietaranta?
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback