Ochrona danych w systemach i sieciach komputerowych

background image

Ochrona danych w systemach i sieciach komputerowych

Temat: Steganografia

Do zakodowania informacji binarnej w obrazie wykorzystujemy bajty odpowiedzialne za

przechowywanie danych o pikselu. Oznacza to że wpisując szyfrant do obrazu zmieniamy obraz.

Jednak ilość informacji przechowywanej przez plik bitmapy – nawet przy jej dużej modyfikacji –

sprawi ze zmienione bajty pozostaną dla oka nie wychwycone.

Według teorii najbardziej niewidoczne zmiany są wtedy gdy operujemy na najstarszym bicie

bajtu składowej B piksela. Oznacza to, że w typowym obrazie gdzie występuje względnie duża ilość

kolorów (obraz nie jest monochromatyczny) praktycznie nie możliwe jest wychwycenie zmian w

obrazie. Najbardziej widoczne są zmiany wykonywane na składowej R kanałów RGB. W przypadku

zakodowania dużej informacji (duża część informacji na składowych zostanie zmieniona) na obrazie

może pojawić się widoczny szum (mniej lub bardziej zniekształcające kolor względnie losowe w

rozmieszczeniu kropki). Efekt ten jest szczególnie widoczny przy gładkich powierzchniach.

Ćwiczenie 1. Zapisywanie informacji do mapy bitowej za pomocą programu steganograficznego.

Uruchamiamy załączony program

Do uruchomienia tego programu niezbędne jest zainstalowanie Microsoft Framework w

wersji 2.0 lub wyższej.

background image

Otwieramy Nośnik (plik graficzny) // sugeruję (ze względu na używanie w kodzie

wolnychfunkcji GetPixel PutPixel operacje na względnie małych plikach graficznych.

(Plik/Otwórz Nośnik)

Oczom naszym powinien ukazać się podobny widok:

Testujemy plik w celu sprawdzenia czy przypadkiem nie nadpiszemy już istniejącej

zaszyfrowanej informacji w obrazie. (Steganografia/Testuj)

W przypadku nowo utworzonego pliku powinniśmy zobaczyć komunikat:

background image

Otwieramy plik binarny który będziemy chcieli zaszyfrować (Plik / Otwórz Binaria)

Dla pliku:

Podgląd w edytorze decymalnym wygląda
następująco:


A widok programu następująco:

background image

Widzimy, jakie jest potrzebne miejsce oraz czerwone światło (obok symboli RGB)

sygnalizujące, że dostępne miejsce jest zbyt małe. Zwiększamy więc ilość bitów wymienianych

podczas szyfrowania : w naszym wypadku wystarczy jeden bit na składowej B. Przesuwamy suwak

znajdujący się po lewej stronie symbolu składowej B o jedną pozycję w lewo. Proszę zauważyć, że gdy

program uzna, że wymieniliśmy względnie dużo informacji – zapali się żółte światło sygnalizujące

nam, że zmiany mogą być widoczne gołym okiem.

Przetestujmy pojemność nośnika (wizualizacje – Pojemność Nośnika)

Przykładowy otrzymany efekt:

Widzimy całe dostępne miejsce – miejsce zajęte przez składowe zarówno procentowo

(wykres tort) jak i liczbowo (wykres słupkowy).

Przetestujmy Zajęte Miejsce

Przykładowy uzyskany efekt:

background image

Przystąpmy do zaszyfrowania danych z pliku:

Oryginalne dane wymienione - podglądnięte w
edytorze decymalnym wyglądają następująco:

Te same tylko że już zmienione informacje w edytorze
decymalnym wyglądają następująco:

Możemy obserwować zmiany w obrazie przed i po szyfrowaniu. W głównym oknie programu.

Zapisujemy obraz i wyłączamy program. Teraz możemy na przykład przesłać mapę bitową z

zaszyfrowaną informacją do kolegi.

background image

Ćwiczenie 2. Odczytywanie informacji za pomocą programu steganograficznego.

Uruchamiamy załączony program

Otwieramy Nośnik (plik graficzny) odebrany od kolegi

background image

Oczom naszym powinien ukazać się podobny widok:

Testujemy plik w celu sprawdzenia czy nie zawiera zaszyfrowanej informacji (Steganografia/

Testuj)

Oczom naszym powinien ukazać się następujący widok:

Widzimy że program przechowuje w pliku niezbędne do odszyfrowania informacje – klucz –

weryfikujący – czy obraz posiada zakodowaną informację, Rozmiar piku szyfrowanego i ustawienia

programu (ustawienia dotyczące wartości suwaków znajdujących się obok symboli składowych

podczas szyfrowania).

background image

Odszyfrowujemy dane (Steganografia// Odszyfruj) – wybieramy plik i format do zapisu i

odczytujmy podgląd z edytora decymalnego :

Oraz otwieramy zapisany przed chwilą plik:

background image

Ćwiczenie nr 3. Analiza obrazu z zaszyfrowaną informacją.

Otwieramy otrzymany plik za pomocą np. programu Paint. Program nie zawiera żadnych

algorytmów haszujących i kodujących – po prostu zapisuje informacje w pliku graficznym – zapisuje je

od góry w dół w kolejnych kolumnach.

Powiększamy obraz:

Pierwszym i najprostszym testem jest „wylanie koloru” – Paint zamienia wszystkie identyczne

piksele na kolor którym wylewamy:

Wylałem kolor czarny na swój obrazek i otrzymałem następujący efekt:

background image

Widzimy, że program nie wypełnił całego „rogu” obrazu – niektóre piksele mają inny kolor

gdyż przechowują zakodowaną informację.

Spróbujmy zweryfikować jakość zmian używamy polecenia wybierz kolor i wybieramy piksel z

obszaru zakodowanego – tego na który kolor się nie wylał. (Zaznaczam że algorytm programu

zapisuje w rogu obrazu informację do dekodowania na 4 najmniej ważnych bitach składowej R).

Informacje z pliku szyfrowanego są zapisywane od drugiej kolumny w dół. By sprawdzić składowe

wybranego koloru klikamy w paincie na Kolory/edytuj kolory/definiuj kolory niestandardowe –

domyślnie będzie zaznaczony wybrany kolor. Biel ma składowe R255 G255 B255 jeśli któryś z

zaznaczonych pikseli będzie mieć R255 G255 B254 oznacza że został wymieniony ostatni bit

składowej B. Jeśli mamy np. zdjęcie bez „jednolitych” obszarów musimy porównać nasz nośnik z

oryginalnym obrazem piksel po pikselu.

Spróbujmy domalować kilka białych kropek na zakodowanym obszarze (proszę uważać na

pierwszą kolumnę w której ukrywają się dane dla dekodera) zapisać zmiany jako inny plik i

odszyfrować jako nośnik.

Widzimy, że zmieniliśmy jakieś przypadkowe dane ale informację dało się odczytać w

większości.

background image

Zadania do samodzielnego wykonania:

1 - Odszyfrować stały klucz, według którego program testuje czy program zawiera zakodowaną

informację. Porównać kilka Nośników by wykryć „co się nie zmienia”.

2 -Oszukać program – „namalować” obraz który nie będzie mieć informacji zapisanej w swoim

„wnętrzu” ale program odczyta go jako nośnik ukrytych Binariów.

3 – Zapisać różnej długości informacje na różnych składowych lub na kilku składowych z różnymi

parametrami. Przeanalizować pliki np. w Gimpie poprzez zmianę kontrastu czy jasności – w celu

wykrycia czy plik zawiera zaszyfrowaną informację czy nie.

4 – Zmieniać informacje w noośniku i sprawdzać w jakim stopniu wpływają na deszyfrację.

Życzę miłej zabawy. Program powstał w celach akademickich – nie jest profesjonalnym

oprogramowaniem, może zawierać błędy i niedociągnięcia (za które przepraszam) – załączam kod

programu. Do stworzenia programu wykorzystałem środowisko Visual Studio Express Edition. A

program powstał w języku C#.

Podpowiedź do zadania 1: (Informacja jest zapisana na pierwszych pikselach w kolumnie pierwszej – na 4 najmniej ważnych bitach

składowej R) – klucz zawiera 5 bajtów => 10 pikseli zawiera tą informację (wynik 1FACC)


Wyszukiwarka

Podobne podstrony:
Ochrona antywirusowa w systemach i sieciach komputerowych
Markowski M Ochrona danych w systemach komputerowych (2007)
Ochrona danych w lokalnej sieci komputerowej w ujęciu praktycznym
Bezpieczenstwo i ochrona danych w komputerach i sieciach
Zagrożenia danych w systemach informatycznych i sieciach komputerowych
Sieci komputerowe - super opracowanie, OCHRONA DANYCH
Metody ochrony informacji niejawnych przetwarzanych w systemach i sieciach teleinformatycznych sztan
ochrona danych to zespół takich właściwości systemu operacyj
BLD ochrona danych osobowych VI ppt
Rekord bibliograficzny, Studia INiB, Formaty danych w systemach informacyjno-wyszukiwawczych
GIODO, abi-ochrona danych osobowych
Sieci-komputerowe, Informatyka, Systemy i sieci komputerowe
Ochrona ogniowa w systemach suchej zabudowy, BHP i PPOŻ przygotowanie do szkoleń, PPOŻ
Administrowanie sieciami komputerowymi sieci

więcej podobnych podstron