11.04.2014 Views

hakin9

hakin9

hakin9

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CYKL SZKOLEŃ<br />

Z OBSZARU<br />

ZARZĄDZANIA<br />

BEZPIECZEŃSTWEM IT


2/2011 (69)<br />

DRODZY CZYTELNICY<br />

Idzie luty szykuj... minifiltry. Pokonując nie tak duże<br />

w tym roku zaspy śnieżne oraz nie zwalniając<br />

na oblodzonych zakrętach oddajemy w Wasze ręce<br />

kolejny numer naszego magazynu. Mamy nadzieję,<br />

że każdy z Was znajdzie w nim coś dla siebie.<br />

W tym wydaniu przygotowaliśmy między innymi artykuły<br />

o minifiltrach systemu Windows czy pierwszą<br />

część artykułu pod tajemniczym tytułem – Oszukać<br />

napastnika. Strzeżcie się zatem potencjalni intruzi!<br />

Ponadto mamy dla Was teksty o bazach danych<br />

– ich bezpieczeństwie oraz o zasadach korzystania<br />

z nich w świetle przepisów prawnych. Na deser<br />

w naszym mroźnym numerze polecamy wziąć<br />

udział w gorącym konkursie, w którym do wygrania<br />

jest pięć egzemplarzy oprogramowania antywirusowego<br />

Kaspersky Internet Security 2011.<br />

Zachęcamy zatem do lektury i życzymy szczęścia<br />

w konkursie!<br />

Redakcja<br />

6 Aktualności<br />

9 Konkurs Hakin9 i Kaspersky<br />

OBRONA<br />

SPIS TREŚCI<br />

10 Nadzorowanie dostępu do zawartości<br />

woluminów w systemie Windows za pomocą<br />

minifiltrów<br />

Piotr Gawron<br />

Czytelnicy zainteresowani modyfikowaniem swojego<br />

Windowsa na pewno znają wiele sposobów na osiąganie<br />

„odmiennego” zachowania systemu. W tym artykule<br />

chciałbym zająć się zmodyfikowaniem odczytu zawartości<br />

nośników danych. Zapewne zdarzają się sytuacje,<br />

kiedy nie chcemy, aby możliwy był dostęp do pewnych<br />

informacji na nim zawartych. Atrybut read i prawa<br />

dostępu? Może czasami ta kombinacja wystarczy, ale<br />

dlaczego do realizacji tego zadania nie zaprząc technologii<br />

używanej między innymi przez... programy antywirusowe?<br />

16 Oszukać napastnika – cz. 1.<br />

Poznaj podstawowe metody ukrywania<br />

informacji o swoim systemie<br />

Sebastian Fyda<br />

Każdy dostępny publicznie serwer świadczy zwykle jedną<br />

lub więcej usług. Każda z tych usług to pewien fragment<br />

oprogramowania, które jak każde oprogramowanie<br />

ma swoje błędy. Każda z usług ma też swoją charakterystyczną<br />

sygnaturę, która pozwala na określenie,<br />

jaki software i w jakiej wersji realizuje usługę. Dzięki<br />

publicznemu udostępnieniu tych informacji zwiększamy<br />

ryzyko skutecznego ataku na nasz serwer. Czasami<br />

samo ukrycie informacji wystarczy do zniechęcenia<br />

Miesięcznik <strong>hakin9</strong> (12 numerów w roku)<br />

jest wydawany przez Software Press Sp. z o.o. SK<br />

Prezes wydawnictwa: Paweł Marciniak<br />

Dyrektor wydawniczy: Ewa Łozowicka<br />

Redaktor prowadzący:<br />

Adrian Gajewski adrian.gajewski@software.com.pl<br />

Skład i łamanie:<br />

Tomasz Kostro www.studiopoligraficzne.com<br />

Kierownik produkcji:<br />

Andrzej Kuca andrzej.kuca@software.com.pl<br />

Wyróżnieni betatesterzy: Łukasz Przyjemski<br />

Adres korespondencyjny:<br />

Software Press Sp. z o.o. SK, ul. Bokserska 1,<br />

02-682 Warszawa, Polska tel. +48 22 427 32 85,<br />

+48 22 427 36 46, fax +48 22 224 24 59<br />

www.<strong>hakin9</strong>.org/pl<br />

Dział reklamy: adv@software.com.pl<br />

Redakcja dokłada wszelkich starań, by publikowane w<br />

piśmie i na towarzyszących mu nośnikach informacje<br />

i programy były poprawne, jednakże nie bierze<br />

odpowiedzialności za efekty wykorzystania ich; nie<br />

gwarantuje także poprawnego działania programów<br />

shareware, freeware i public domain.<br />

Wszystkie znaki firmowe zawarte w piśmie są<br />

własności odpowiednich firm.<br />

Zostały użyte wyłącznie w celach informacyjnych.<br />

Osoby zainteresowane współpracą<br />

prosimy o kontakt z Redakcją.<br />

4 2/2011


HAKIN9 2/2011<br />

SPIS TREŚCI<br />

tzw. Script-kiddies, którzy z reguły poszukują serwerów<br />

z konkretną wersją oprogramowania i niezdradzających<br />

jakichkolwiek działań w kierunku hardeningu, jako<br />

celi swoich ataków.<br />

20 Bezpieczeństwo baz danych<br />

Michał Sajdak<br />

Bazy danych często stanowią jeden z głównych elementów<br />

systemów IT: przechowują oraz udostępniają<br />

informacje. Sama definicja bazy nie narzuca określonego<br />

sposobu organizacji danych, jednak obecnie najbardziej<br />

rozpoznawana na rynku jest baza relacyjna oraz<br />

związany z nią język SQL. Implementacji „SQL-owych<br />

baz danych” są zapewne setki, choć zaledwie kilka<br />

z nich cieszy się dużą popularnością. Takimi systemami<br />

są: Oracle Database, SQL Server, DB2, MySQL czy<br />

Postgresql. Przy okazji, warto wspomnieć, że istnieją<br />

również inne rozwiązania – oferujące alternatywne do<br />

wspomnianych powyżej sposoby organizacji informacji,<br />

jak choćby obiektowa baza danych (np. ZODB) czy baza<br />

danych XML (np. eXist).<br />

26 Zarządzanie bezpieczeństwem danych<br />

osobowych. Kwestie prawne e-commerce<br />

Marcin Engelmann<br />

Dane osobowe klientów sklepu internetowego – na co<br />

powinien zwrócić uwagę właściciel sklepu, żeby nie tylko<br />

działać w zgodzie z ustawą o ochronie danych osobowych,<br />

ale również budować zaufanie swoich klientów.<br />

Czym są dane osobowe, jak je zabezpieczyć, na<br />

co zwrócić uwagę?<br />

32 Bazy danych i zasady korzystania z nich<br />

w świetle przepisów prawa polskiego<br />

Dariusz Łydziński<br />

Bazy danych i korzystanie z nich stanowią przedmiot<br />

działalności wielu podmiotów gromadzących i przetwarzających<br />

dane, dlatego też często są poddawane<br />

zagrożeniom ze strony przestępców działających wewnątrz<br />

firmy oraz napastników zewnętrznych, którzy<br />

nie szukają już hakerskiej sławy, lecz są głównie zainteresowani<br />

korzyściami finansowymi. W każdej organizacji<br />

dane są drugim najcenniejszym zasobem, zaraz<br />

po pracownikach. Firmy są zobowiązane do ochrony<br />

własnego personelu i klientów poprzez dołożenie należytej<br />

staranności i zapewnienie maksymalnych możliwych<br />

zabezpieczeń.<br />

BEZPIECZNA FIRMA<br />

37 Narzędzia do automatycznego audytu<br />

bezpieczeństwa<br />

Maciej Karmoliński<br />

Wprowadzanie systemu automatycznego wykrywania<br />

i zarządzania podatnościami w złożonych sieciach, jest<br />

nowo przyjętym podejściem dużych i średnich przedsiębiorstw<br />

na rynku europejskim. Ocena stosowanych<br />

zabezpieczeń uległa znacznej poprawie dzięki kwartalnym,<br />

miesięcznym a nawet codziennym audytom,<br />

dzięki którym mamy możliwość szybszego reagowania<br />

na powstałe luki systemu, bądź zmianę istniejącego<br />

zagrożenia. Narzędzia służące automatycznemu<br />

wykrywaniu podatności, pozwalają na łatwą i precyzyjną<br />

kontrolę bezpieczeństwa informacji poufnych,<br />

która może być prowadzona przez jedną osobę dla całej<br />

firmy.<br />

KLUB TECHNICZNY<br />

41 Klub Techniczny<br />

TriGeo SIM oraz ATOS<br />

FELIETON<br />

45 Odzyskiwanie danych po polsku, czyli jak<br />

nie stracić danych odzyskując je<br />

Artur Skrouba<br />

www.<strong>hakin9</strong>.org 5


AKTUALNOŚCI<br />

Zatruwanie P2P<br />

Firmy zajmujące się walką z piractwem<br />

(takie jak chociażby Media-<br />

Defender) od lat zalewają sieci<br />

peer-to-peer fałszywymi danymi.<br />

Mimo że techniki tego typu różnią<br />

się od siebie, cel jest ten sam - zniechęcić<br />

ściągających pliki tak skutecznie,<br />

aby ci poszukali sobie legalnej<br />

alternatywy.<br />

Działania te rozpoczęły cichą wojnę<br />

pomiędzy “wymieniaczami plików”,<br />

a grupami antypirackimi.<br />

Ci pierwsi rozpoczęli blokować<br />

znane adresy IP, które serwują fałszywe<br />

pliki. Serwisy, takie jak The Pirate<br />

Bay, filtrowały zawartość, blokując<br />

konta użytkowników wrzucających<br />

niewłaściwe treści.<br />

Pomimo takich działań, sieci P2P<br />

w dalszym ciągu zalane są fałszywymi<br />

plikami. Z najnowszych analiz<br />

wynika, że prawie jedna trzecia treści<br />

dostępnych w sieci BitTorrent jest<br />

fałszywa. Najwyższe statystyki (30<br />

procent fałszywych plików) notują<br />

tak popularne portale, jak The Pirate<br />

Bay i Mininova - podają prowadzący<br />

badania naukowcy z Uniwersytetu<br />

Carlosa III z Madrytu.<br />

Amazon pomaga łamać<br />

hasła WPA<br />

Webhostingowa oferta Amazona<br />

może pomóc cyberprzestępcom<br />

w łamaniu haseł sieci bezprzewodowych<br />

- uważa niemiecki ekspert ds.<br />

bezpieczeństwa.<br />

Thomas Roth twierdzi, że chmura<br />

serwerów EC2 Amazona znacznie<br />

ułatwia pracę narzędziom do łamania<br />

haseł sieci bezprzewodowych.<br />

Stworzone przez Rotha oprogramowanie<br />

zainstalowane w chmurze<br />

komputerów Amazona jest w stanie<br />

przetestować w ciągu sekundy 400<br />

tysięcy haseł.<br />

Ekspert pragnie ujawnić wyniki<br />

swojej pracy nad łamanie standardu<br />

WPA-PSK podczas konferencji Black<br />

Hat, która odbędzie się w tym miesiącu.<br />

“Ludzie mówią mi, że nie da się złamać<br />

WPA, a jeśli jest to możliwe, kosztować<br />

to może sporo czasu i pieniędzy”<br />

- twierdzi Roth. “Z taką mocą obliczeniową<br />

jest to łatwe, nawet korzystając<br />

z metody brute force” - dodaje.<br />

Złamanie jednego hasła WPA-PSK za<br />

pomocą chmury Amazona trwa średnio<br />

około sześć minut.<br />

Polacy ostrzegali IBM-a<br />

Przeznaczony dla deweloperów serwis korporacji IBM padła ofiarą cyberprzestępców,<br />

którzy podmienili zawartość niektórych stron - poinformował<br />

amerykański koncern.<br />

IBM nazwał włamanie aktem wandalizmu. Korporacja odzyskała zawartość<br />

oryginalnych stron w ciągu kilku godzin, mimo tego kopia pracy cyberprzestępców<br />

została przekopiowana w inne miejsce.<br />

Nie utracono żadnych danych, nie doszło także do przejęcia danych osobowych<br />

oraz haseł - uspokaja IBM.<br />

Jak się okazuje, o słabych zabezpieczeniach serwisu korporację IBM informowała<br />

już siedem miesięcy temu firma Ariko Security z Oświęcimia.<br />

Tymczasowe obejście na lukę w CSS<br />

Microsoft opublikował przejściową łatę krytycznej luki w zabezpieczeniach<br />

Internet Explorera, która wystawiała komputery na ryzyko ataku poprzez<br />

zdalne wykonanie kodu.<br />

Gigant oprogramowania otrzymał do tej pory niewielką liczbę zgłoszeń<br />

dotyczących ataków z wykorzystaniem tej luki.<br />

“Błąd związany jest z niewłaściwym zwalnianiem pamięci podczas pracy<br />

funkcji CSS w Internet Explorerze” - poinformował Microsoft. “Specjalnie<br />

spreparowana strona internetowa może przejąć część pamięci aby wstrzyknąć<br />

tam zdalny kod” - informuje dalej.<br />

Nowa poprawka zabezpiecza przed rekurswnym ładowaniem styli CSS<br />

w Internet Explorerze. Firma z Redmond sugeruje, aby administratorzy IT,<br />

którzy podejrzewają atak, powinni się zastosować do zaleceń. Jest to na razie<br />

jedyny sposób ominięcia zagrożenia.<br />

SMS-y nie są już bezpieczne<br />

RSA przewiduje w tym roku wzrost intensywności ataków na telefony komórkowe<br />

- celem cyberprzestępców ma być przechwytywanie SMS-ów autoryzujących<br />

operacje bankowe.<br />

Tokeny tego typu maja uzupełniać autoryzację użytkownika, który oprócz<br />

podania loginu i hasła musi wprowadzić kod otrzymany od banku SMS-em.<br />

Często w ten sposób autoryzowane są operacje bankowe.<br />

Tego typu autoryzacja staje się coraz popularniejsza - Commonwealth<br />

Bank of Australia ujawnia, że z takiego mechanizmu korzysta 80 procent<br />

klientów tego banku (bank nie namawia zbytnio na takie rozwiązanie).<br />

“Przestępca może przeprowadzić telefoniczny atak typu ‘denial-of-service’,<br />

który unieruchomi komórkę ofiary” - tłumaczy RSA. “Wysyłany przez<br />

bank SMS może być przechwycony i przekazany bezpośrednio to telefonu<br />

cyberprzestępcy”. Raport RSA wyjaśnia, że póki co nie ma efektywnego<br />

sposobu ochrony przed tzw. “smishingiem”.<br />

Facebook wstrzymuje nową funkcjonalność<br />

Facebook “tymczasowo zawiesił” wprowadzenie kontrowersyjnej funkcjonalności<br />

swojego portalu, która miała udostępniać deweloperom aplikacji dane<br />

osobowe użytkowników korzystających z niewielkich dodatków do FB.<br />

Serwis społecznościowy wstrzymał wprowadzenie funkcjonalności trzy<br />

dni po oficjalnym anonsie. Decyzja spowodowana została gwałtownym protestem<br />

użytkowników oraz krytyką firm zajmujących się bezpieczeństwem.<br />

Aby uzyskać dostęp do aplikacji użytkownik musi udzielić na to zgodę.<br />

Jednakże spora grupa internautów bardzo często klika w różnego rodzaju<br />

przyciski, nie zwracając uwagi na znajdujący się obok opis. To właśnie dlatego<br />

nowa funkcjonalność zwraca uwagę takich firm, jak chociażby Sophos,<br />

który sądzi, że teraz łatwiej szerzyć się będą złośliwe aplikacje.<br />

6<br />

2/2011


Aktualności<br />

Stuxnet mógłby być bardziej efektywny<br />

Robak Stuxnet, który zaatakował kluczowe systemy związane z irańskim<br />

programem nuklearnym, niszcząc sprzęt oraz opóźniając prace, jest “pełen<br />

błędów” - uważa jeden z ekspertów ds. bezpieczeństwa.<br />

Konsultant Tom Parker zasugerował podczas swego wystąpienia na konferencji<br />

Black Hat DC, że kod robaka nie został raczej stworzony przez jeden<br />

elitarny zespół, jak wcześniej sądzono, lecz dwie niezależne grupy.<br />

Parker wykorzystał do analizy kodu robaka odpowiednie narzędzie, które<br />

wykazało znaczące różnice w jakości kodu.<br />

Stuxnet ukrył się w systemie nuklearnym w bardzo sprytny sposób, zapisując<br />

wcześniej telemetrię normalnych operacji, a następnie odtwarzał ją<br />

zespołowi monitorującemu podczas swej właściwej pracy.<br />

Takie działania nie przekonują eksperta Neila Lawsona, który uważa, że<br />

zastosowane metody maskowania są amatorskie. “Mam nadzieję, że robak<br />

nie został stworzony w USA, bo oznaczałoby to, że nasze elitarne cybersłużby<br />

reprezentują poziom bułgarskich nastolatków z lat 90-tych”.<br />

Przestępcy dbają o prawa autorskie<br />

Autorzy złośliwego oprogramowania stosują w swoich najpopularniejszych<br />

produktach zabezpieczenia antypirackie chroniące ich własną pracę - informuje<br />

Symantec. Zabezpieczenia takie posiadają bardziej skomplikowane<br />

zestawy narzędziowe. “Używają tej samej technologii DRM (Digital Rights<br />

Management), co legalne, poważne produkty” - tłumaczy Craig Scroggie,<br />

dyrektor zarządzający Symantec Pacific. “Tworzą swoje systemy DRM,<br />

kradną te już dostępne, albo łączą oba rozwiązania” - dodaje.<br />

Większość klientów kupujących hakerskie zestawy narzędziowe nie posiada<br />

wystarczająco dużo wiedzy, aby poradzić sobie z zabezpieczeniami<br />

DRM. A cena za tego typu produkty wzrosła dramatycznie - z 11 w 2006 roku<br />

do 5800 euro obecnie. “Wysoka cena uzależniona jest od skuteczności<br />

malware” - wyjaśnia Scroggie.<br />

Złamano zabezpieczenia aplikacji<br />

na Windows Phone 7<br />

FreeMarketplace to koncept aplikacji pozwalający na darmowe pobranie i zainstalowanie<br />

dowolnej aplikacji systemu operacyjnego Windows Phone 7.<br />

Chociaż aplikacje Marketplace są chronione przez DRM, FreeMarketplace<br />

usuwa te blokady, pozwalając na korzystanie z programów bez potrzeby<br />

dokonywania opłat.<br />

Już wkrótce po pojawieniu się platformy na rynku okazało się, że można<br />

łatwo pobrać pakiety instalacyjne - pliki XAP. Klient Zune pobiera pliki<br />

XML zawierające wszystkie lokalizacje pakietów, zaś zarówno pliki XML, jak<br />

i XAP są oferowane bez restrykcji.<br />

Niedawno na forum deweloperów XDA pojawił się post informujący w jaki<br />

sposób można pobrać i przerobić plik XAP, aby udało się go zainstalować.<br />

Pomimo skasowania przez admininistrację forum posta, okazał się<br />

on inspiracją dla pewnego dewelopera,<br />

który stworzył aplikację modyfikującą<br />

pliki XAP. Autor kodu<br />

nie dystrybuuje aplikacji, nie opisuje<br />

też w szczegółach jej działania.<br />

Jego intencją jest zademonstrowanie<br />

problemu, a nie promocja<br />

piractwa.<br />

Microsoft został poinformowany<br />

o pojawieniu się aplikacji.<br />

Bomba od The Pirate Bay?<br />

Zespół portalu The Pirate Bay przygotowuje<br />

nową usługę wymiany<br />

plików muzycznych.<br />

TPB zarejestrował kilka lat temu<br />

domenę themusicbay.org, która do<br />

tej pory nie była wykorzystywana.<br />

Obecnie przekierowuje ona ruch na<br />

stronę The Pirate Bay.<br />

Zastanawia natomiast pojawienie<br />

się nowego adresu - fear.themusicabay.org<br />

- pusta witryna zawiera w nagłównku<br />

tag title o treści “Coming<br />

soon”.<br />

“Przemysł muzyczny nie ma pojęcia<br />

co przygotowujemy i zaprezentujemy<br />

w ciągu najbliższych miesięcy. Od<br />

lat zawzięcie tłumaczą nam o piractwie,<br />

ale jeśli kiedykolwiek mieliby się<br />

czegoś wystraszyć, ten czas nadchodzi”<br />

- ujawnił rzecznik The Pirate Bay.<br />

“To będzie niespodzianka na 78 urodziny<br />

IFPI [International Federation of<br />

the Phonographic Industry]” - dodaje.<br />

Botnet dla smartfonów<br />

Georgia Weidman to sprytna dziewczyna<br />

- dzięki jej pracy mamy do czynienia<br />

z erą nowego typu malware<br />

dla komórek.<br />

Weidman planuje prezentację swojej<br />

pracy podczas najbliższej imprezy<br />

Schmoocon w Waszyngtonie - podczas<br />

wystąpienia wykorzysta ona<br />

trzy telefony z systemem Android.<br />

Cóż takiego stworzyła Weidman?<br />

Metodę stworzenia ze smartfonów<br />

węzłów botnetu.<br />

Do zainfekowania telefonu służy<br />

stworzony przez Weidman rootkit,<br />

który po zainstalowaniu odpowiada<br />

za wysyłanie spamu lub przeprowadzanie<br />

ataku DoS bez wiedzy właściciela<br />

telefonu.<br />

“Gdy zainfekowałam telefon w swoim<br />

laboratorium, smartfon był w stanie<br />

odbierać sms-y z instrukcjami, które<br />

po odebraniu ulegały skasowaniu.<br />

Dzięki temu użytkownik nie ma świadomości,<br />

że jego telefon jest częścią<br />

botnetu” - wyjaśnia.<br />

www.<strong>hakin9</strong>.org 7


AKTUALNOŚCI<br />

Użytkownicy Twittera w niebezpieczeństwie<br />

Wykryto szkodnika rozprzestrzeniającego<br />

się na Twitterze. Robak wykorzystuje<br />

usługę Google pozwalającą<br />

na skracanie odsyłaczy (goo.gl)<br />

i nakłania niczego niepodejrzewających<br />

użytkowników do instalowania<br />

fałszywych programów antywirusowych<br />

na swoich komputerach.<br />

Robak przekierowuje użytkowników<br />

Twittera na stronę WWW oferującą<br />

fałszywe rozwiązanie antywirusowe<br />

o nazwie „Security Shield”. Cyberprzestępcy<br />

użyli specjalnych technik,<br />

aby ukryć prawdziwy kod strony<br />

przed bardziej wnikliwymi osobami.<br />

„Szkodliwe odsyłacze w wiadomościach<br />

na Twitterze przekierowują<br />

użytkowników na różne domeny,<br />

w obrębie których znajduje się strona<br />

o nazwie ‘m28sx.html’” - mówi Nicolas<br />

Brulez, ekspert z Kaspersky Lab.<br />

„Ta strona z kolei przerzuca użytkowników<br />

jeszcze dalej, pod adres w domenie<br />

zlokalizowanej na Ukrainie”.<br />

Jakby tego było mało, domena ta<br />

przekierowuje na inny adres IP, który<br />

był już wcześniej wykorzystywany<br />

przez cyberprzestępców do oferowania<br />

użytkownikom fałszywych<br />

programów antywirusowych. „Ten<br />

adres wykonuje ostatnie przekierowanie,<br />

które prowadzi wprost do strony<br />

zawierającej szkodliwy kod”, tłumaczy<br />

Nicolas Brulez.<br />

W efekcie atakowany użytkownik<br />

widzi sfałszowaną informację o tym,<br />

że na komputerze działają podejrzane<br />

aplikacje i otrzymuje propozycję<br />

uruchomienia skanowania antywirusowego.<br />

Jak zwykle w takich<br />

przypadkach, po uruchomieniu „skanowania”<br />

komputer jest infekowany<br />

prawdziwymi szkodliwymi programami,<br />

a użytkownik otrzymuje<br />

ofertę zakupu programu antywirusowego<br />

w atrakcyjnej cenie. Program<br />

ten oczywiście jest fałszywy,<br />

a jego instalacja prowadzi wyłącznie<br />

do dalszych infekcji.<br />

Więcej newsów znajduje się<br />

na stronie serwisu<br />

informacyjnego Hacking.pl<br />

http://hacking.pl.<br />

Estonia chce mieć cyberoddział<br />

Estonia chce rekrutować specjalistów do swojej tworzonej cyberarmii.<br />

Niewielkie nadbałtyckie państwo tworzy kadrę komputerowych specjallistów<br />

- ochotników, którzy mają bronić komputerowej infrastruktury kraju.<br />

Znany pod nazwą Cyber Defense League oddział ma składać sie ze specjalistów<br />

IT oraz inżynierów, którzy w czasie wojny będą dowodzeni przez<br />

przedstawicieli armii.<br />

Estonia ma dobry powód, by stworzyć tego typu oddział - jako pierwszy<br />

kraj w historii padła ofiarą zmasowanego cyberataku. Sprawcami ataku byli<br />

Rosjanie, którzy wyrazili swój sprzeciw w kwestii przenoszenia pomników<br />

pamięci żołnierzy poległych w czasie II Wojny Światowej.<br />

Nadchodzą czasy cyberwojen<br />

Głównodowodzący brytyjskich sił zbrojnych, generał Sir David Richards,<br />

pragnie stworzyć specjalną jednostkę, która ma chronić Zjednoczone Królestwo<br />

przed cyberatakami.<br />

Richards przewiduje swego rodzaju kulturową zmianę w działaniach wojennych<br />

- Internet ma odgrywać równie istotne znaczenie na polu walki, co<br />

wojska konwencjonalne. “Musimy nauczyć się bronić, przeszkadzać, atakować<br />

i manewrować w cyberprzestrzeni, tak jak robimy to na lądzie, morzu,<br />

czy w powietrzu” - tłumaczy Sir Richards.<br />

“Wojny przyszłości zawsze będą dotyczyć cyberprzestrzeni, aby stać się<br />

potem dominującym polem walki” - dodaje.<br />

Sony odpowiada na złamanie PS3<br />

Minął już ponad miesiąc od pojawienia się informacji o złamaniu przez grupę<br />

Fail0verflow klucza prywatnego dla konsoli PS3.<br />

Odkrycie to pozwala domowym deweloperom podpisywać swoje aplikacje<br />

i uruchamiać je na PlayStation 3. Przedstawiciele Sony przez tydzień<br />

nie komentowali odkrycia - możliwe, że nie zwrócili uwagi na raport, albo<br />

też uważali, że jest to luka, którą w łatwy sposób można wkrótce załatać.<br />

Japoński producetnt wysłał do magazynu Edge swoje oficjalne stanowisko:<br />

“Zostaliśmy poinformowani o fakcie złamania klucza i przyglądamy<br />

się tej kwestii. Dokonamy naprawy oprogramowania poprzez odpowiednie<br />

aktualizacje sieciowe, jednakże ze względu na to, że mamy do czynienia<br />

z kwestiami bezpieczeństwa, nie możemy podać dalszych szczegółów”<br />

- wyjaśnia przedstawiciel Sony.<br />

Jednakże grupa Fail0verflow twierdzi, że tym razem prosta aktualizacja<br />

oprogramowania nie będzie w stanie załatać dziury, podobnie jak miało to<br />

miejsce w przypadku kluczy USB typu PS Jailbreak.<br />

“Cała konsola została skompromitowana<br />

- nie ma już sposobu<br />

na naprawę. To bardzo<br />

poważna kwestia i ktoś w Sony<br />

będzie miał kłopoty” - tłumaczą<br />

przedstawiciele grupy. Według<br />

nich jedyna rada to wymiana<br />

sprzętu.<br />

Jeśli informacje podane przez<br />

Fail0verflow okażą się prawdziwe,<br />

po wydaniu przez Sony nowej<br />

wersji PS3 cena “starej”<br />

konsoli może wzrosnąć na różnego<br />

rodzaju aukcjach.<br />

8<br />

2/2011


KONKURS<br />

KONKURS<br />

Hakin9 i Kaspersky<br />

Do wygrania Kaspersky Internet Security 2011<br />

W najbliższym newsletterze Hakin9<br />

zamieścimy pytanie odnoszące się do<br />

jednego z tekstów z tego numeru. Wśród<br />

prawidłowych odpowiedzi rozlosujemy<br />

pięć programów antywirusowych<br />

Kaspersky Internet Security 2011.<br />

Na odpowiedzi nadesłane na adres<br />

konkurs@software.com.pl czekamy do<br />

8 lutego. Zwycięzców poinformujemy<br />

drogą mailową.<br />

Powodzenia!<br />

www.<strong>hakin9</strong>.org 9


OBRONA<br />

Nadzorowanie dostępu do<br />

zawartości woluminów w systemie<br />

Windows za pomocą minifiltrów<br />

Piotr Gawron<br />

Czytelnicy zainteresowani modyfikowaniem swojego Windowsa<br />

na pewno znają wiele sposobów na osiąganie „odmiennego”<br />

zachowania systemu. W tym artykule chciałbym zająć się<br />

zmodyfikowaniem odczytu zawartości nośników danych. Zapewne<br />

zdarzają się sytuacje, kiedy nie chcemy, aby możliwy był dostęp<br />

do pewnych informacji na nich zawartych. Atrybut read i prawa<br />

dostępu? Może czasami ta kombinacja wystarczy, ale dlaczego do<br />

realizacji tego zadania nie zaprząc technologii używanej między<br />

innymi przez... programy antywirusowe?<br />

Dowiesz się:<br />

• jak działają sterowniki urządzeń trybu jądra<br />

• co to są filtry systemu plików Windows<br />

• jak modyfikować w locie zawartość woluminu<br />

Powinieneś wiedzieć:<br />

• podstawy wewnętrznej architektury systemu operacyjnego<br />

• różnice pomiędzy trybami jądra i użytkownika<br />

• podstawy programowania w C/C++<br />

Dane przedstawiane na ekranie komputera są<br />

wynikiem przetwarzania wykonywanego przez<br />

komputer na podstawie załadowanych do niego<br />

programów. Ikona pliku z jego nazwą w oknie eksploratora<br />

Windows świadczy o tym, że całe oprogramowanie<br />

realizujące jej wyświetlenie na ekranie zostało<br />

zrealizowane w sposób dający właśnie taki wynik.<br />

Proces generacji wyniku graficznego zaczyna się<br />

każdorazowo na poziomie sprzętu i przechodzi przez<br />

wszystkie warstwy oprogramowania zwanego systemem<br />

operacyjnym, swoją drogę kończąc gdzieś w karcie<br />

graficznej i potem na ekranie monitora. Co można<br />

w takim razie osiągnąć, jeśli istnieje możliwość zmodyfikowania<br />

nieco tego procesu gdzieś na początkowym<br />

jego etapie?<br />

Sterowniki a bezpieczeństwo<br />

Powszechnie znanym faktem dotyczącym zabezpieczania<br />

urządzeń elektronicznych przed niepożądanymi<br />

zdarzeniami i zachowaniami użytkowników jest to, że<br />

w im niższej warstwie architektury ochrona ta jest zaimplementowana,<br />

tym prawie zawsze jest skuteczniejsza.<br />

W przypadku komputerów nie mamy zazwyczaj<br />

możliwości lub umiejętności modyfikacji sprzętu, który<br />

w przypadku produktów masowych nie jest projektowany<br />

z myślą o bezpieczeństwie (wyjątkiem niech będzie<br />

tutaj sprzętowy moduł TPM, Trusted Platform Module).<br />

Dla programisty, jedną z pierwszych warstw, na której<br />

można implementować zabezpieczenia, są sterowniki<br />

urządzeń trybu jądra systemu. O ile zagadnienie<br />

nie jest banalne, to na szczęście firma Microsoft ułatwiła<br />

nieco zadanie i w zakresie instalowalnych sterowników<br />

systemu plików (Installable File System Drivers,<br />

IFSD) udostępniła architekturę minifiltrów. Minifiltrom<br />

właśnie poświęcony jest ten tekst.<br />

Podniesiony w artykule temat dość mocno wiąże się<br />

z zagadnieniami zapewniania bezpieczeństwa informacji<br />

przechowywanych na stacjach klienckich w środowisku<br />

nadzorowanym. Początkowo był jedynie częścią<br />

opracowywanej architektury monitora bezpieczeństwa<br />

dla stacji klienckiej (komputera), jednak sam<br />

okazał się na tyle ciekawy i daje na tyle dużo możliwości,<br />

że doczekał się osobnej publikacji.<br />

Sterowniki systemu plików<br />

Ilustrując kolejne warstwy jądra Windows jako struk-<br />

10<br />

2/2011


Nadzorowanie dostępu do zawartości woluminów w systemie Windows za pomocą minifiltrów<br />

turę pionową (gdzie dół to sprzęt, a góra - interfejs<br />

użytkownika), sterowniki trybu jądra (kernel mode) od<br />

spodu „rozmawiają” z warstwą abstrakcji sprzętu (Hardware<br />

Abstraction Layer, HAL), skąd już tylko jeden<br />

krok w dół do elektroniki na płytkach drukowanych.<br />

Oznacza to, że w przeciwieństwie do „zwykłych” aplikacji<br />

działających w trybie użytkownika (user mode),<br />

oprogramowanie to ma bezpośredni i nieograniczony<br />

dostęp do zasobów systemowych. Wprowadzenie błędu<br />

do sterowników kończy się najczęściej nie informacją<br />

o niespodziewanym zakończeniu programu, lecz<br />

natychmiastowym restartem komputera.<br />

Istnieją cztery kategorie instalowalnych sterowników<br />

systemu plików Windows:<br />

1. Sterowniki systemu plików (File System Drivers)<br />

– kompletny sterownik, obsługujący wszystkie<br />

operacje umożliwiające interakcję systemu z zawartością<br />

dysku,<br />

2. Sterowniki sieciowego przekierowania (Network<br />

Redirector Drivers) – sterownik ukrywa brak bezpośredniego<br />

połączenia z zasobami (dysk, drukarka,<br />

skaner), oferując użytkownikowi funkcjonalność<br />

nierozróżnialną względem tej oferowanej<br />

przez odpowiadające zasoby lokalne,<br />

3. Filtry systemu plików (File System Filter Drivers)<br />

– opcjonalna nakładka na zainstalowany sterownik<br />

systemu plików. W zależności od implementacji,<br />

filtr może logować, obserwować, modyfikować<br />

lub zabraniać wybranych operacji dyskowych. Ponieważ<br />

filtry wpinane są bezpośrednio do stosu I/<br />

O bez uczestnictwa elementu pośredniczącego,<br />

ich implementacja wymaga przygotowania kompletnego<br />

rozwiązania współpracującego z każdym<br />

typem żądań systemowych występującym w stosie<br />

sterowników systemu plików,<br />

4. Minifiltry systemu plików (File System Minifilter Drivers)<br />

– upraszcza osiągnięcie funkcjonalności filtrów<br />

poprzez wprowadzenie do stosu I/O operacji<br />

dyskowych generycznego Menedżera filtrów (Filter<br />

Manager) i umożliwienie ładowania do niego również<br />

generycznych minifiltrów. Poprzez zastoso-<br />

Listing 2. Skrypt run.cmd, start usługi, start klienta, usunięcie<br />

usługi<br />

Rem Uruchamiam zainstalowaną usługę<br />

sc start minispy<br />

Rem Uruchamiam aplikację kliencką i czekam na jej<br />

minispy.exe<br />

pause<br />

zakończenie<br />

Rem Zatrzymuję i usuwam usługę minispy<br />

sc stop minispy<br />

sc delete minispy<br />

wanie swoistego proxy, oszczędza żmudnej implementacji<br />

kompletnego sterownika, pozwalając jednocześnie<br />

skupić się na implementacji konkretnej<br />

funkcjonalności.<br />

Na rysunku 1 widać uproszczoną strukturę stosu<br />

systemu plików z załączonymi trzema minifiltrami.<br />

Atrybut wysokości definiuje wzajemne zależności<br />

pomiędzy kolejnymi minifiltrami. Jego wartość deklaruje<br />

się w pliku *.inf służącym do instalacji sterownika<br />

w systemie. Zdefiniowano ponad dwadzieścia<br />

przedziałów adresowych wysokości dla różnego rodzaju<br />

oprogramowania (antywirusowego, szyfrującego<br />

dane na dysku, przezroczystego kopiowania danych<br />

i inne).<br />

Należy pamiętać, że (mini-)filtry nie są stricte sterownikami<br />

urządzeń. Mają one za zadanie jedynie monitorować<br />

dyskowe operacje wejścia/wyjścia. Operacje<br />

te to w szczególności:<br />

• Tworzenie, otwieranie, zamykanie, wyliczanie plików<br />

i folderów,<br />

• Pobieranie i ustawianie właściwości plików, folderów<br />

i woluminów,<br />

• Czytanie i pisanie danych z i do pliku.<br />

Oprócz monitorowania, minifiltry mają bezpośredni<br />

dostęp do danych (zawartości plików) przesyłanych<br />

Listing 1. Skrypt postbuild.cmd, należy uruchomić po każdorazowej kompilacji<br />

Rem Usuwam stare binaria<br />

if exist del %PROJECT_ROOT%\filesys\miniFilter\minispy\bin\minispy.exe<br />

if exist del %PROJECT_ROOT%\filesys\miniFilter\minispy\bin\minispy.sys<br />

Rem Kopiuje nowe binaria do katalogu bin<br />

copy %PROJECT_ROOT%\filesys\miniFilter\minispy\filter\objchk_win7_x86\i386\minispy.sys %PROJECT_ROOT%\filesys\<br />

miniFilter\minispy\bin\minispy.sys<br />

copy %PROJECT_ROOT%\filesys\miniFilter\minispy\user\objchk_win7_x86\i386\minispy.exe %PROJECT_ROOT%\filesys\<br />

miniFilter\minispy\bin\minispy.exe<br />

www.<strong>hakin9</strong>.org 11


OBRONA<br />

w żądaniach. Otwiera to całkiem spore możliwości<br />

implementacyjne.<br />

Narzędzie fltmc służy do zarządzania systemem mini-filtrów.<br />

Za jego pomocą podejrzeć można aktualnie<br />

zainstalowane w systemie mini-filtry. Rysunek 2 pokazuje<br />

mini-filtry zainstalowane na maszynie testowej.<br />

Są to między innymi: minispy (opisany dalej) i dwa mini-filtry<br />

programu antywirusowego AVG Anti-Virus Free<br />

Edition 2011 (AVGIDSFilter i Avgmfx86). Liczba wystąpień<br />

oznacza ilość woluminów, które dany minifiltr śledzi,<br />

natomiast Ramka oznacza instancję Menedżera<br />

filtrów, do którego minifiltr jest dołączony. Fltmc wymaga<br />

podniesionych uprawnień.<br />

Przygotowanie środowiska<br />

Pracę z minifiltrami rozpocząć należy od pobrania i instalacji<br />

pakietu Windows Driver Kit (WDK). Aby sprawdzić,<br />

czy wszystko działa poprawnie, należy uruchomić<br />

odpowiednią wersję dostarczonej w pakiecie konsoli<br />

(niech będzie to x86 Checked Build Environment<br />

dla systemu Windows 7), wpisać BCZ i wcisnąć [Enter].<br />

Jeśli uruchomiona kompilacja zakończy się powodzeniem,<br />

komputer jest gotowy do pracy. W tym momencie<br />

otrzymujemy pełny zestaw narzędzi potrzebnych<br />

do napisania, skompilowania i uruchomienia własnego<br />

minifiltra.<br />

WDK dostarcza obfity zestaw przykładowych sterowników<br />

wraz z kodem źródłowym. W tym artykule zajmiemy<br />

się katalogiem [root]\7600.16385.1\src\filesys\<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Rysunek 1. Uproszczony stos IFSD<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

miniFilter\, gdzie [root] to ścieżka instalacji WDK. Dla<br />

celów edukacyjnych warto zapoznać się z przykładem<br />

minispy. Opisane dalej oprogramowanie bazuje właśnie<br />

na tym kodzie. Minispy monitoruje i raportuje do<br />

programu poziomu użytkownika wszystkie operacje<br />

dyskowe, czyli jest elementem pasywnym. Modyfikacja<br />

będzie polegała na wprowadzeniu do przykładu kodu<br />

zmieniającego analizowane dane.<br />

Kod minispy należy zaimportować jako projekt do<br />

dowolnego IDE (najlepiej obsługującego podpowiadanie<br />

składni). IDE służyć ma jedynie do pisania kodu,<br />

ze względu na import zmiennych środowiskowych<br />

kompilacji najłatwiej dokonuje się w dostarczonej<br />

z WDK konsoli: należy przejść bezpośrednio do katalogu<br />

z projektem i tam uruchamiać makro BCZ. Jako<br />

IDE wykorzystano program Eclipse Helios Service Release<br />

1 z wtyczką CDT instalującą w Eclipse perspektywę<br />

C/C++.<br />

Pierwszy krok to utworzenie w Eclipse pustego projektu<br />

C++. Następnie należy podlinkować (nie importować)<br />

źródła minispy do projektu. W tym celu klikamy<br />

opcję Import... z menu kontekstowego utworzonego<br />

projektu. W otwartym oknie dialogowym wybieramy<br />

importowanie plików (File System), a dalej wskazujemy<br />

ścieżkę do katalogu, w którym znajduje się minispy<br />

([root]\7600.16385.1\src\filesys\miniFilter\minispy).<br />

W zaawansowanych opcjach wybieramy utworzenie<br />

linków zamiast skopiowania źródeł do przestrzeni<br />

pracy (workspace). Dzięki temu modyfikacje zapisywane<br />

będą w oryginalnym katalogu, co ułatwi kompilację.<br />

Aby IDE potrafiło podpowiadać składnię, należy<br />

jeszcze importować do projektu pliki nagłówkowe<br />

WDK. W tym celu otwieramy właściwości utworzonego<br />

projektu, rozwijamy węzeł C/C++ General, wybieramy<br />

Paths and Symbols, a na końcu wybieramy zakładkę<br />

Includes. Do opcji Assembly dodajemy ścieżkę [root]\<br />

7600.16385.1\inc\, natomiast do GNU C i C++ dodajemy<br />

\api, \crt i \ddk poprzedzone [root]\7600.16385.1\<br />

inc\. W tym momencie można już dość komfortowo<br />

pracować z kodem. Przed wprowadzeniem jakichkolwiek<br />

zmian zaleca się skopiowanie całego folderu minispy<br />

do innej lokalizacji, aby można było bez problemu<br />

wrócić do oryginalnej wersji.<br />

Plik .inf<br />

Plik instalacyjny .inf (minispy.inf) jest tekstowym plikiem<br />

wiążącym instalowany w systemie plik sterownika<br />

(minispy.sys) i plik programu użytkownika (minispy.exe)<br />

z tym systemem.<br />

Jedną z ważniejszych sekcji pliku instalatora jest ta<br />

określająca tryb uruchamiania minifiltra (StartType).<br />

Dla celów testowych należy stosować tryb SERVI-<br />

CE_DEMAND_START, wymuszenie dołączania wraz<br />

ze startem systemu może w razie błędów całkowicie<br />

unieruchomić system.<br />

12<br />

2/2011


Nadzorowanie dostępu do zawartości woluminów w systemie Windows za pomocą minifiltrów<br />

Pozostałe sekcje są dość zrozumiałe, podczas modyfikacji<br />

pliku instalacyjnego należy sprawdzać dostępną<br />

na stronie MSDN dokumentację.<br />

Uruchamianie minispy<br />

W celu instalacji i uruchomienia minispy po kompilacji<br />

należy utworzyć katalog (np. bin/), w którym<br />

znajdą się następujące pliki: minispy.inf (dostarczony<br />

ze źródłami), minispy.sys (sterownik, w katalogu<br />

[root]\7600.16385.1\src\filesys\miniFilter\minispy\filter\<br />

objchk_win7_x86\i386) i minispy.exe (program użytkownika,<br />

[...]\user\objchk_win7_x86\i386). Aby ułatwić<br />

sobie odświeżanie plików po każdorazowej kompilacji,<br />

można użyć prostego skryptu jak na listingu 1.<br />

Po przejściu do utworzonego katalogu bin wybieramy<br />

opcję Zainstaluj z menu kontekstowego pliku minispy.inf.<br />

Uruchomienie można zautomatyzować skryptem<br />

jak na listingu 2 (utworzonym w katalogu bin/). Po<br />

każdorazowym usunięciu usługi należy ją ponownie<br />

zainstalować. Konsola, w której wykonujemy opisane<br />

operacje, powinna być uruchomiona z podniesionymi<br />

uprawnieniami.<br />

Uwaga: w fazie rozwojowej nie zaleca się dołączania<br />

minifiltra do partycji systemowej. W razie błędów<br />

może to powodować duże problemy z systemem.<br />

Po uruchomieniu klienta (minispy.exe) i wejściu do<br />

interaktywnego menu możemy na przykład zamontować<br />

minispy do dowolnej partycji (polecenie /a d: załącza<br />

minispy do woluminu d:, zakładam jego istnienie,<br />

można użyć dowolnego innego). Wyjście minifiltra<br />

można przekierować do pliku (/f output.log). Otwórzmy<br />

teraz w eksploratorze partycję d, następnie kilka plików<br />

i folderów. Na koniec zaleca się odłączenie minifiltra<br />

(/d d:). Otwieramy utworzony plik output.log. Każda<br />

zarejestrowana operacja na partycji d została tam<br />

zaraportowana jako osobny wiersz. Należy zwrócić<br />

uwagę na kolumnę Major Operation. Występują tam<br />

wartości typu: IRP_MJ_CREATE, IRP_MJ_CLEANUP,<br />

IRP_MJ_CLOSE, IRP_MJ_DIRECTORY_CONTROL<br />

i wiele innych. Od tych informacji zaczniemy modyfikację<br />

naszego minifiltra.<br />

Rysunek 2. Obecne w systemie miniltry<br />

Listing 3. Tablica rozszerzeń blokowanych plików<br />

const UNICODE_STRING ExtensionsToScan[] = {<br />

RTL_CONSTANT_STRING(L"blocked"), { 0, 0, NULL}};<br />

Listing 4. Funkcja sprawdzająca rozszerzenia<br />

BOOLEAN CheckExtension(__in PUNICODE_STRING<br />

}<br />

Extension) {<br />

const UNICODE_STRING *ext;<br />

if (Extension->Length == 0)<br />

return FALSE;<br />

// Sprawdzanie listy rozszerzeń<br />

ext = ExtensionsToScan;<br />

while (ext->Buffer != NULL) {<br />

}<br />

if (RtlCompareUnicodeString(Extension, ext,<br />

}<br />

ext++;<br />

return FALSE;<br />

TRUE) == 0) {<br />

// Plik posiada "nasze" rozszerzenie<br />

return TRUE;<br />

Listing 5. Uniemożliwianie czytania pliku<br />

FltCancelFileOpen(FltObjects->Instance, FltObjects-<br />

>FileObject);<br />

Data->IoStatus.Information = 0;<br />

Data->IoStatus.Status = STATUS_ACCESS_DENIED;<br />

Modyfikowanie minispy<br />

Wróćmy do projektu w Eclipse. Jak widać, projekt podzielony<br />

jest na trzy główne sekcje: filter, inc i user.<br />

Filter to oczywiście kod minifiltra, user to program trybu<br />

użytkownika, natomiast inc zawiera współdzieloną<br />

bibliotekę. Przyjęta architektura jest tylko przykładem,<br />

minifiltr nie musi komunikować się z żadnym elementem<br />

użytkownika. Zapoznanie się z kodem jest doskonałym<br />

sposobem na wdrożenie do tej technologii, bowiem<br />

użyty przykład zawiera implementację kompletnego<br />

szkieletu architektury minifiltrów.<br />

Inicjalizacja minifiltra dokonuje się w procedurze DriverEntry<br />

(minispy.c). Wywołana tam funkcja FltRegisterFilter<br />

rejestruje minifiltr do nasłuchiwania na listę<br />

wybranych rodzajów operacji dyskowych<br />

(podane wcześniej wartości<br />

Major Operation). Lista rejestracyjna<br />

dla minispy znajduje się w tablicy<br />

CONST FLT_OPERATION_REGI-<br />

STRATION Callbacks[] (Registration-<br />

Data.c). Pierwszą modyfikacją będzie<br />

pozostawienie na tej liście jedynie<br />

pozycji IRP_MJ_CREATE (resztę<br />

www.<strong>hakin9</strong>.org 13


OBRONA<br />

należy wykomentować). Po kompilacji<br />

i uruchomieniu minispy okaże się,<br />

że logujemy już tylko zdarzenia typu<br />

IRP_MJ_CREATE.<br />

Jak widać w liście Callbacks[], prawie<br />

każdy typ operacji dyskowej posiada<br />

procedurę wstępną (SpyPre-<br />

OperationCallback) i kończącą (Spy-<br />

PostOperationCallback). Pierwsza<br />

wykonywana jest przy wykonywaniu<br />

zapytania do woluminu, druga przy<br />

zwracaniu wyników ale tylko jeśli<br />

operacja wstępna zwróciła wartość<br />

FLT_PREOP_SUCCESS_WITH_<br />

CALLBACK.<br />

Dla celów demonstracyjnych zakłada<br />

się, że modyfikowanym kodem<br />

blokujemy dostęp tylko do plików<br />

z rozszerzeniem .blocked. W tym celu<br />

deklarujemy tablicę jak na listingu<br />

3 (możemy podać więcej rozszerzeń).<br />

Dodatkowo, potrzebujemy funkcji,<br />

która będzie sprawdzać, czy odczytywany<br />

plik posiada blokowane rozszerzenie<br />

(listing 4). Należy pamiętać<br />

o wcześniejszej deklaracji funkcji<br />

tak, aby była ona widoczna w pliku<br />

minispy.c.<br />

Poprzez odpowiednie dodanie<br />

w funkcji wstępnej filtrowania rozszerzeń<br />

zmodyfikowany minifiltr będzie<br />

raportował już tylko funkcję IRP_<br />

MJ_CREATE na plikach posiadających<br />

jedno z zadeklarowanych w tablicy<br />

ExtensionsToScan rozszerzeń.<br />

Jest to równoznaczne z tym, że tylko<br />

w takich przypadkach wywoływana<br />

jest funkcja kończąca (SpyPostOperationCallback).<br />

Wykorzystajmy ten<br />

fakt do naszych celów.<br />

Dodatkowe trzy linie zaraz przed<br />

ostatnim return funkcji kończącej pozwalają<br />

osiągnąć nam całkowitą blokadę<br />

czytania pliku (listing 5). Analizę<br />

kodu pozostawiam dociekliwemu<br />

Czytelnikowi.<br />

Listing 6 prezentuje ciało zmodyfikowanej<br />

funkcji SpyPreOperation-<br />

Callback.<br />

Rysunek 3 pokazuje wynik próby<br />

otwarcia dokumentu w eksploratorze<br />

Windows. Taki sam wynik otrzymujemy<br />

w Total Commanderze (rysunek<br />

4). Zaprezentowany mecha-<br />

Listing 6. Zmodykowana funkcja SpyPreOperationCallback<br />

FLT_PREOP_CALLBACK_STATUS SpyPreOperationCallback(<br />

__inout PFLT_CALLBACK_DATA Data, __in PCFLT_RELATED_OBJECTS FltObjects,<br />

__deref_out_opt PVOID *CompletionContext) {<br />

PRECORD_LIST recordList;<br />

PFLT_FILE_NAME_INFORMATION nameInfo = NULL;<br />

PUNICODE_STRING nameToUse;<br />

NTSTATUS status;<br />

// Pobierz listę logów<br />

recordList = SpyNewRecord();<br />

// Nie udało się<br />

if (recordList == NULL)<br />

return FLT_PREOP_SUCCESS_NO_CALLBACK;<br />

// Brak referencji do pliku<br />

if (FltObjects->FileObject == NULL)<br />

return FLT_PREOP_SUCCESS_NO_CALLBACK;<br />

// Pobierz informacje o nazwie pliku<br />

status = FltGetFileNameInformation(Data, FLT_FILE_NAME_NORMALIZED<br />

| MiniSpyData.NameQueryMethod, &nameInfo);<br />

// Sprawdź nameInfo<br />

if (nameInfo == NULL)<br />

return FLT_PREOP_SUCCESS_NO_CALLBACK;<br />

// Nie udało się pobrać nazwy<br />

if (NT_SUCCESS( status ))<br />

nameToUse = &nameInfo->Name;<br />

else<br />

return FLT_PREOP_SUCCESS_NO_CALLBACK;<br />

// Przygotuj nazwę do formy z której łatwo pobrać rozszerzenie<br />

FltParseFileNameInformation(nameInfo);<br />

// Sprawdź rozszerzenie<br />

if (CheckExtension(&nameInfo->Extension) == FALSE) {<br />

FltReleaseFileNameInformation(nameInfo);<br />

return FLT_PREOP_SUCCESS_NO_CALLBACK;<br />

}<br />

// Obsługiwany typ pliku, zapisz w logu<br />

SpySetRecordName(&(recordList->LogRecord), nameToUse);<br />

// Zwolnij strukturę z nazwą pliku<br />

FltReleaseFileNameInformation(nameInfo);<br />

// Ustaw wpis w logach<br />

SpyLogPreOperationData(Data, FltObjects, recordList);<br />

*CompletionContext = recordList;<br />

return FLT_PREOP_SUCCESS_WITH_CALLBACK;<br />

}<br />

14<br />

2/2011


Nadzorowanie dostępu do zawartości woluminów w systemie Windows za pomocą minifiltrów<br />

nizm jest usytuowany na tyle nisko<br />

w systemie, że działa niezależnie od<br />

zastosowanego sposobu dostępu.<br />

Oczywiście próba dostępu do pliku<br />

jako Administrator również nie przynosi<br />

skutku.<br />

Debugowanie<br />

Ze względu na niskopoziomowy charakter<br />

prezentowanego oprogramowania<br />

również kwestia debugowania<br />

wygląda trochę inaczej niż zazwyczaj.<br />

WDK zapewnia zestaw debuggerów<br />

(katalog [root]\7600.16385.1\<br />

Debuggers). Cytując dokument debugger.chm<br />

z podanego katalogu:<br />

„Kernel-mode debugging requires<br />

a target computer and a host computer.<br />

The target computer is used to<br />

run the kernel-mode application. The<br />

host computer is used to run the debugger<br />

[...]”. Dużo prostszą (ale i bardziej<br />

ograniczoną) techniką jest używanie<br />

w kodzie makr raportujących<br />

wiadomości do jądra i przechwytywanie<br />

ich na przykład programem<br />

DebugView (jako Administrator). Listing<br />

7 przedstawia kod umożliwiający<br />

to zadanie. Funkcja DbgPrint posiada<br />

taką samą składnię, jak popularny<br />

printf.<br />

Na rysunku 5 widać wiadomości<br />

z minifiltra przechwycone przez program<br />

DebugView.<br />

Problemy<br />

Stworzenie w pełni przewidywalnego minifiltra modyfikującego<br />

operacje na plikach jest dużo bardziej złożone<br />

niż wstęp zaprezentowany w artykule. Przykładowym<br />

problemem z przygotowaną implementacją jest<br />

to, że nie da się usunąć folderu, w którym znajduje się<br />

blokowany plik. Z jednej strony może być to pożądane<br />

zachowanie. Jeśli jednak tak nie jest, należy pochylić<br />

się nad dokumentacją do minifiltrów i zaimplementować<br />

odpowiednią modyfikację do każdego możliwego<br />

scenariusza operacji dyskowych w ramach tych<br />

nas interesujących.<br />

W Sieci<br />

Rysunek 3. "Nowy" minispy w eksploratorze<br />

Rysunek 4. "Nowy" minispy w Total Commander<br />

Rysunek 5. Wiadomości z miniltra w DebugView<br />

Listing 7. Wiadomości debugujące<br />

DbgPrint("Moja wiadomosc"); //Logowanie zwyklego ciagu znakow<br />

UINT wartosc = 4;<br />

DbgPrint("wartosc = %u", wartosc); //Logowanie wartosci zmiennej<br />

• IFSD http://msdn.microsoft.com/en-us/library/ff551834(VS.85).aspx<br />

• WDK http://www.microsoft.com/whdc/Devtools/wdk/default.mspx<br />

• Eclipse http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/heliossr1<br />

• DebugView http://technet.microsoft.com/en-us/sysinternals/bb896647<br />

Co dalej?<br />

Mam nadzieję, że w tym miejscu Czytelnik ma już<br />

świadomość, że przedstawiona technologia umożliwia<br />

osiągnięcie dużo ciekawszych efektów, niż ukrywanie<br />

przed systemem zawartości wybranych plików. A co by<br />

było, gdyby tak w pierwszej kolejności te pliki po prostu...<br />

nie były widoczne?<br />

PIOTR GAWRON<br />

Kończy studia magisterskie na Wydziale Elektroniki i Technik<br />

Informacyjnych Politechniki Warszawskiej. Specjalizuje się<br />

w bezpieczeństwie systemów komputerowych.<br />

Kontakt: polishcode@gmail.com.<br />

www.<strong>hakin9</strong>.org 15


OBRONA<br />

Oszukać napastnika – cz. 1.<br />

Podstawowe metody ukrywania<br />

informacji o systemie<br />

Sebastian Fyda<br />

Każdy dostępny publicznie serwer świadczy zwykle jedną lub więcej<br />

usług. Każda z tych usług to pewien fragment oprogramowania, które<br />

jak każde oprogramowanie ma swoje błędy. Każda z usług ma też swoją<br />

charakterystyczną sygnaturę, która pozwala na określenie, jaki software<br />

i w jakiej wersji realizuje usługę. Dzięki publicznemu udostępnieniu tych<br />

informacji zwiększamy ryzyko skutecznego ataku na nasz serwer. Czasami<br />

samo ukrycie informacji wystarczy do zniechęcenia tzw. Script-kiddies,<br />

którzy z reguły poszukują serwerów z konkretną wersją oprogramowania<br />

i niezdradzających jakichkolwiek działań w kierunku hardeningu, jako celi<br />

swoich ataków.<br />

Dowiesz się:<br />

• jak ukryć informacje o wersjach i parametrach usług działających<br />

na Twoim serwerze<br />

Powinieneś wiedzieć:<br />

• podstawowa znajomość usług w systemach Linux<br />

Większość demonów usług dostarczanych<br />

wraz z Debianem, w domyślnej konfiguracji<br />

dość ochoczo dzieli się informacjami z potencjalnym<br />

napastnikiem. Warto nieco poprawić dostarczone<br />

z dystrybucją pliki konfiguracyjne, tak aby udostępniały<br />

one możliwie małą ilość informacji.<br />

Serwer WWW – Apache2<br />

Najpopularniejszą obecnie usługą jest serwer http, a dominującą<br />

pozycję ma tutaj software Fundacji Apache.<br />

Rzućmy okiem, co zwraca serwer w domyślnej konfiguracji,<br />

jeśli wywołamy nieistniejący url (Rysunek 1).<br />

Dodatkowo, jeśli zajrzymy w nagłówki<br />

odpowiedzi, znajdziemy dodatkowe<br />

informacje:<br />

Connection: Keep-Alive<br />

Content-Encoding: gzip<br />

Content-Length: 180<br />

Content-Type: text/html; charset=iso-8859-1<br />

Date: Mon, 24 Jan 2011 15:23:44<br />

GMT<br />

Keep-Alive: timeout=15, max=100<br />

Server: Apache/2.2.16 (Debian) PHP/5.3.3-7 with Suhosin-Patch<br />

mod_ssl/2.2.16 OpenSSL/0.9.8o<br />

Vary: Accept-Encoding<br />

Łatwo zauważyć, że serwer podzielił się nie tylko<br />

swoją nazwą i wersją, ale również wersją interpretera<br />

PHP zainstalowanego w systemie (o ile w konfiguracji<br />

PHP nie została ustawiona wartość expose_php<br />

= Off) oraz wersją biblioteki OpenSSL. Potencjalny<br />

napastnik wie teraz, że może szukać podatności<br />

dotyczących powyższego oprogramowania.<br />

Ukrycie tych informacji jest sprawą dość trywialną.<br />

Rysunek 1. Apache2 z włączonym Server Signature<br />

16<br />

2/2011


Oszukać napastnika – cz. 1. Podstawowe metody ukrywania informacji o systemie<br />

Zajrzyjmy do fragmentu pliku /etc/apache2/conf.d/<br />

security (Listing 1).<br />

Jeżeli jednak zmienimy Server Tokens na Prod oraz<br />

ServerSignature na Off, to w oknie przeglądarki zobaczymy<br />

(Rysunek 2). A w nagłówkach:<br />

Connection: Keep-Alive<br />

Content-Encoding: gzip<br />

Content-Length: 180<br />

Content-Type: text/html; charset=iso-8859-1<br />

Date: Mon, 24 Jan 2011 16:15:44 GMT<br />

Keep-Alive: timeout=15, max=98<br />

Server: Apache<br />

Vary: Accept-Encoding<br />

Łatwo zauważyć, że ilość ujawnionych informacji została<br />

znacznie ograniczona. Dodatkowo, skoro już edytujemy<br />

plik /etc/apache2/conf.d/security warto dokonać<br />

jeszcze jednej zmiany. Odnajdujemy blok (Listing 2).<br />

I zmieniamy TraceEnabled na Off. Nie jest to de facto<br />

zdradzanie informacji, ale jest to w 99% przypadków<br />

funkcjonalność zbędna, a wręcz może być wykorzystana<br />

do ataków cross-site (polecam dokument: http:<br />

//www.cgisecurity.com/whitehat-mirror/WH-WhitePaper_XST_ebook.pdf).<br />

Kolejnym elementem w Apache, który możemy dodatkowo<br />

zabezpieczyć, to nagłówki ETag. Służą one<br />

do jednoznacznej identyfikacji zasobu będącego plikiem.<br />

Dzięki temu, jeśli przeglądarka zechce sprawdzić<br />

czy plik nie został zmieniony, prześle w nagłówku jego<br />

ETag. Jeśli plik na serwerze posiada ten sam ETag, to<br />

zostanie zwrócony kod HTTP/1.1 304: Not modified,<br />

zamiast normalnego kodu HTTP/1.1 200 OK. i treści<br />

pliku w ciele odpowiedzi. Domyślnie w Apache ETag<br />

przyjmuje następującą postać np. ETag: "10c24bc-4ab-<br />

457e1c1f" a kolejne bloki odpowiadają wartościom inode-size-timestamp.<br />

Informacja o numerze I-nodu nie<br />

pomoże w ataku na serwer Apache, ale może pomóc<br />

w ataku na inne usługi sieciowe – np. usługa NFS (ang.<br />

Network File System) używa numerów I-node do generowania<br />

uchwytów do plików.<br />

Istnieją dwa rozwiązania problemu:<br />

• Całkowita eliminacja ETag i zastąpienie go nagłówkami<br />

Expires lub Cache-Control<br />

• Konfiguracja ETag eliminująca numery węzłów I-node<br />

Pierwsza opcja wymaga użycia modułu mod_headers,<br />

który jest standardowo dołączany z serwerem Apache.<br />

Wówczas na końcu pliku /etc/apache2/conf.d/security<br />

możemy dodać następujące linie:<br />

Header unset Etag<br />

FileETag none<br />

W przypadku opcji drugiej, w tym samym pliku ustawiamy<br />

po prostu:<br />

FileETag MTime Size<br />

Na koniec restartujemy serwer Apache.<br />

Listing 1.<br />

# ServerTokens<br />

# This directive configures what you return as the Server HTTP response<br />

# Header. The default is 'Full' which sends information about the OS-Type<br />

# and compiled in modules.<br />

# Set to one of: Full | OS | Minimal | Minor | Major | Prod<br />

# where Full conveys the most information, and Prod the least.<br />

#ServerTokens Minimal<br />

#ServerTokens OS<br />

ServerTokens Full<br />

# Optionally add a line containing the server version and virtual host<br />

# name to server-generated pages (internal error documents, FTP directory<br />

# listings, mod_status and mod_info output etc., but not CGI generated<br />

# documents or custom error documents).<br />

# Set to "EMail" to also include a mailto: link to the ServerAdmin.<br />

# Set to one of: On | Off | EMail<br />

#<br />

#ServerSignature Off<br />

ServerSignature On<br />

www.<strong>hakin9</strong>.org 17


OBRONA<br />

Serwer DNS – Bind9<br />

Bind jest z reguły pierwszym serwerem<br />

DNS, z jakim początkujący<br />

administrator ma do czynienia. Domyślnie<br />

skonfigurowany, może nie<br />

zwraca, aż tylu przydatnych informacji<br />

co Apache, ale nawet numer (Listing<br />

3).<br />

Informacja, która jest nam zwracana,<br />

to wersja serwera Bind. Informację<br />

tę możemy łatwo ukryć edytując<br />

plik /etc/bind/named.conf.options<br />

i dodając w sekcji options następującą<br />

linijkę:<br />

Rysunek 2. Apache2 po wyłączeniu Server Signature<br />

version "Windows 3.11 DNS Service";<br />

W cudzysłowie możemy podać dowolny ciąg znaków<br />

zgodny z ISO-8859-1. Po takiej operacji i zrestartowaniu<br />

Binda, wykonując ponownie zapytanie dig, otrzymamy<br />

następujący wynik (Listing 4).<br />

Jak widać, ukrycie wersji powiodło się. Dobrym pomysłem<br />

jest podanie jakiegoś dosyć starego numeru wersji,<br />

gdyż dla początkujących napastników, może podziałać<br />

to jak lep na muchy, powodując tym samym, że będą<br />

oni wypróbowywali stare, dawno zabezpieczone exploity,<br />

nie wysilając się specjalnie szukaniem nowych.<br />

Serwer FTP – ProFTPd<br />

Usługa FTP trzyma się nad wyraz dobrze, jak na element<br />

systemu niegwarantujący żadnego bezpieczeństwa<br />

transmisji. Warto zastanowić się nad użyciem protokołu<br />

sftp zamiast ftp, co jak najbardziej serwer Pro-<br />

FTPd z pomocą modułu mod_sftp potrafi obsłużyć. Jak<br />

każda opisana tutaj usługa, domyślnie skonfigurowany<br />

sewer ProFTPd informuje o swojej wersji i rodzaju dystrybucji<br />

systemu, na której został zainstalowany:<br />

user@localhost:~$ telnet localhost 21<br />

Trying 127.0.0.1...<br />

Connected to localhost.<br />

Escape character is '^]'.<br />

220 ProFTPD 1.3.0 Server (Debian) [127.0.0.1]<br />

Drobna zmiana w /etc/proftpd/proftpd.conf. Zmieniamy<br />

linie, lub dodajemy, jeśli nie istnieją, aby uzyskać następującą<br />

postać:<br />

ServerName "SomeFunnyFTPServer"<br />

ServerIdent on "FTPD most bugged version ever"<br />

Teraz, jeśli ponownie odpytamy serwer FTP, przedstawi<br />

się on nam zupełnie inaczej.<br />

user@localhost:~$ telnet localhost 21<br />

Trying 127.0.0.1...<br />

Connected to localhost.localdomain.<br />

Escape character is '^]'.<br />

220 FTPD most bugged version ever<br />

To tyle na początek.<br />

Część druga<br />

1. NMap i NStat – dwa przydatne narzędzia<br />

2. Honeypots - wprowadzenie<br />

Listing 2.<br />

# Allow TRACE method<br />

#<br />

# Set to "extended" to also reflect the request body (only for testing and<br />

# diagnostic purposes).<br />

#<br />

# Set to one of: On | Off | extended<br />

#<br />

#TraceEnable Off<br />

TraceEnable On<br />

SEBASTIAN FYDA<br />

Autor jest Starszym Administratorem<br />

Systemów w rmie Janmedia Interactive<br />

z Wrocławia.<br />

Kontakt z autorem:<br />

sfyda@janmedia.com<br />

18<br />

2/2011


Oszukać napastnika – cz. 1. Podstawowe metody ukrywania informacji o systemie<br />

Listing 3.<br />

user@localhost:~$ dig @localhost version.bind txt chaos<br />

; DiG 9.7.2-P3 @localhost version.bind txt chaos<br />

; (1 server found)<br />

;; global options: +cmd<br />

;; Got answer:<br />

;; ->>HEADERHEADER


OBRONA<br />

Bezpieczeństwo<br />

baz danych<br />

Michał Sajdak<br />

Bazy danych często stanowią jeden z głównych elementów systemów IT:<br />

przechowują oraz udostępniają informacje. Sama definicja bazy nie narzuca<br />

określonego sposobu organizacji danych, jednak obecnie najbardziej<br />

rozpoznawana na rynku jest baza relacyjna oraz związany z nią język SQL.<br />

Implementacji „SQL-owych baz danych” są zapewne setki, choć zaledwie kilka<br />

z nich cieszy się dużą popularnością. Takimi systemami są: Oracle Database, SQL<br />

Server, DB2, MySQL czy Postgresql. Przy okazji, warto wspomnieć, że istnieją<br />

również inne rozwiązania – oferujące alternatywne do wspomnianych powyżej<br />

sposoby organizacji informacji, jak choćby obiektowa baza danych (np. ZODB)<br />

czy baza danych XML (np. eXist).<br />

Dowiesz się:<br />

• o przykładowych celach w jakich zabezpieczane są bazy danych<br />

• o podstawowych zasadach zabezpieczania baz danych<br />

• poznasz zewnętrzne źródła informacji, umożliwiające poszerzenie<br />

wiedzy z zakresu bezpieczeństwa baz danych<br />

Powinieneś wiedzieć:<br />

• ogólna wiedza z dziedziny baz danych<br />

W<br />

poniższym tekście zajmiemy się tematyką<br />

ochrony baz danych – głównie w kontekście<br />

baz relacyjnych. Poruszymy takie zagadnienia,<br />

jak:<br />

• ekspozycja bazy na poziomie sieci,<br />

• poprawki bezpieczeństwa,<br />

• użytkownicy, z których wykorzystaniem działa baza<br />

danych,<br />

• uprawnienia do plików bazodanowych – na poziomie<br />

systemu plików,<br />

• ograniczenie funkcjonalności oferowanych przez<br />

bazę danych,<br />

• logowanie (księgowanie) dostępu do bazy danych,<br />

• ochrona kryptograficzna (szyfrowanie),<br />

• bezpieczeństwo po stronie aplikacji korzystających<br />

z bazy danych,<br />

• miejsce składowania danych w systemie plików,<br />

• kopie zapasowe.<br />

Zanim przejdziemy do szczegółów zastanowimy się<br />

wcześniej nad poniższym pytaniem.<br />

Dlaczego chronimy bazę danych?<br />

Odpowiedź na to pytanie może wydać się prosta: aby<br />

realizować odpowiednie cele biznesowe, tj. aby system,<br />

który wykorzystuje bazę danych, generował odpowiednie<br />

zyski dla organizacji. Zilustrujmy to na następującym<br />

przykładzie:<br />

Prywatna placówka medyczna posiada system<br />

umożliwiający rejestrację pacjentów on-line. W bazie<br />

danych przechowywane są również informacje o pacjencie<br />

oraz historia jego chorób.<br />

Zyskiem z posiadania takiej bazy może być: wygoda<br />

pacjenta, ograniczenie dokumentacji papierowej oraz<br />

szybsze dodarcie do określonych informacji (oszczędność<br />

czasu pracowników kliniki). Ten cel biznesowy<br />

może być zagrożony np. przez:<br />

• czasowy brak dostępności bazy (pacjenci nie mogą<br />

się rejestrować, lekarze nie mają wglądu w historię<br />

choroby),<br />

• utratę poufności bazy (dane dostają się w niepowołane<br />

ręce; istnieje ryzyko np. złamania zapisów<br />

Ustawy o Ochronie Danych Osobowych),<br />

20<br />

2/2011


Bezpieczeństwo baz danych<br />

• nieuprawnioną zmianę informacji w bazie (może to<br />

spowodować chaos w działaniu placówki medycznej,<br />

czy wręcz zagrozić bezpieczeństwu pacjentów).<br />

W omówionym powyżej przykładzie odpowiednie zabezpieczenie<br />

bazy danych tego typu może zminimalizować<br />

wymienione zagrożenia, a tym samym pozytywnie<br />

wpłynąć na zysk kliniki. Jako rodzaj informacji<br />

wymagającej ochrony wskazaliśmy dane osobowe<br />

/ dane medyczne. Jakie jeszcze inne dane mogą<br />

być traktowane jako wrażliwe i wymagające ochrony?<br />

Odpowiedź na to pytanie pozostawiamy Czytelnikowi,<br />

jednocześnie wskazując kilka możliwości:<br />

• Dane o charakterze finansowym (np. salda kont<br />

bankowych, informacje płacowe, numery kart kredytowych).<br />

• Hasła dostępowe do systemów (często użytkownicy<br />

posiadają takie same hasła dostępowe do wielu<br />

systemów – zatem uzyskanie informacji o hasłach<br />

z jednej bazy danych może prowadzić do uzyskania<br />

dostępu do wielu innych systemów).<br />

• Informacje stanowiące o przewadze konkurencyjnej<br />

firmy (np. dane klientów czy dostawców).<br />

• Jakiekolwiek inne dane firmowe o charakterze poufnym.<br />

Niejako podsumowując dotychczas opisane kwestie,<br />

spójrzmy ramowo na następujące zagadnienie dotyczące<br />

planowania prac, dotyczących bezpieczeństwa<br />

baz danych.<br />

Planowanie prac związanych z bezpieczeństwem<br />

bazy danych<br />

Planowanie to może wyglądać następująco:<br />

• Inwentaryzacja baz danych oraz przechowywanych<br />

w nich informacji (np. opisana w powyższym<br />

przykładzie baza przechowująca dane medyczne).<br />

• Określenie wartości skatalogowanych baz danych<br />

(istotne dane będziemy chcieli objąć szczególną<br />

ochroną).<br />

• Określenie czynników mogących zagrozić poprawnemu<br />

funkcjonowaniu bazy (np. zewnętrzny atak<br />

z poziomu Internetu, awaria sprzętowa serwera,<br />

atak z sieci LAN, itd.) wraz z prawdopodobieństwem<br />

wystąpienia (tzw. ryzykiem).<br />

• Określenie odporności naszej bazy na wszelakie<br />

zagrożenia określone powyżej (tym zagadnieniem<br />

w głównej mierze zajmiemy się w naszym artykule).<br />

• Rekonfiguracja bazy danych, jeśli jej odporność na<br />

wskazane wcześniej zagrożenia jest niska.<br />

Czytelnikowi może nasunąć się pytanie, ile czasu warto<br />

poświęcić na realizację całego opisanego powyżej<br />

procesu? Możemy odpowiedzieć – adekwatnie do<br />

wartości przechowywanych przez nas danych. Co to<br />

dokładnie oznacza, Czytelnik powinien sam, we własnym<br />

zakresie i analizując swój kontekst, ocenić. Zainteresowanych<br />

takimi szacowaniami odsyłamy do zagadnień<br />

związanych z analizą ryzyka, a tu przechodzimy<br />

już do konkretnych działań, które można wykonać<br />

przy weryfikacji bezpieczeństwa bazy danych.<br />

Weryfikacja bezpieczeństwa bazy danych<br />

Bezpieczeństwo bazy danych może być zagrożone<br />

w różny sposób. Poniżej omówimy kilka kategorii zagrożeń,<br />

na które – naszym zdaniem – warto zwrócić<br />

uwagę. Pamiętajmy, że kompromitacja zabezpieczeń<br />

należących do jednej grupy jest w stanie poważnie zagrozić<br />

bezpieczeństwu całej bazy danych – zatem weryfikacja<br />

bezpieczeństwa takiego systemu powinna<br />

być wykonywana całościowo.<br />

Każda z poniższych kategorii zawiera wypunktowane<br />

w formie pytań zalecenia, umożliwiające zaplanowanie<br />

we własnym zakresie audytu bezpieczeństwa<br />

czy testów penetracyjnych bazy danych.<br />

Ekspozycja na poziomie sieci<br />

Baza danych często udostępniana jest w sieci (czy to<br />

lokalnej, czy np. Internecie) – na bezpieczeństwo bazy<br />

danych można więc spojrzeć tak jak na bezpieczeństwo<br />

każdej innej usługi sieciowej (np. serwer webowy,<br />

serwer poczty, serwer DNS, itd.).<br />

Zalecenia<br />

Sugerujemy zweryfikowanie takich elementów:<br />

• Na jakich interfejsach sieciowych / portach nasłuchują<br />

usługi bazodanowe? – Niekiedy nie jest konieczne<br />

nasłuchiwanie bazy danych na wszystkich<br />

interfejsach sieciowych albo na interfejsie dostępnym<br />

do Internetu.<br />

• Czy istnieje możliwość ataku na usługę z poziomu<br />

sieci? – Mamy tu na głównie myśli podatności<br />

w obsłudze protokołu komunikacyjnego: w lokalizacji<br />

tego typu podatności przydatny może być<br />

tzw. skaner podatności; skuteczne ataki w tym<br />

miejscu często są związane z brakiem aktualizacji<br />

bezpieczeństwa bazy danych, o czym piszemy<br />

w dalszej części tekstu.<br />

• Czy w wykorzystywanej przez nas bazie znane są<br />

inne specyficzne elementy charakterystyczne dla<br />

komponentu nasłuchującego? – Np. ochrona za<br />

pomocą hasła komponentu nasłuchującego.<br />

Przykładowe dalsze informacje<br />

• Bezpieczeństwo komponentu Listener w Oracle<br />

(do wersji 9 Oracle, domyślnie komponent ten<br />

posiada puste hasło dostępowe umożliwiające<br />

www.<strong>hakin9</strong>.org 21


OBRONA<br />

przejęcie kontroli nad listenerem): http://www.netsecurity.org/dl/articles/Integrigy<br />

_OracleDB_Listener_Security.pdf<br />

• Weryfikację nasłuchiwania na określonych interfejsach<br />

sieciowych można wykonać np. linuksowym<br />

poleceniem: # netstat-tulpn. W tym<br />

przypadku poniżej, usługa mysqld nasłuchuje<br />

jedynie na interface loopback (127.0.0.1):<br />

tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 28852/<br />

mysqld.<br />

• Informacje o robaku Slammer (atakującego SQL<br />

Server): http://en.wikipedia.org/wiki/SQL_Slammer<br />

• Przykład alertu zgłaszanego przez oprogramowanie<br />

klasy IDS (intrusion detection system) – snort:<br />

[**] [1:2003:8] MS-SQL Worm propagation attempt [**]<br />

[Classification: Misc Attack] [Priority: 2]<br />

04/19-23:16:14.032636 202.x.x.x:3352 -> x.x.x.x:1434<br />

UDP TTL:116 TOS:0x0 ID:55339 IpLen:20 DgmLen:404<br />

Len: 376<br />

[Xref => http://vil.nai.com/vil/content/<br />

v_99992.htm][Xref => http:<br />

//cgi.nessus.org/plugins/<br />

dump.php3?id=11214][Xref =><br />

http://cve.mitre.org/cgi-bin/<br />

cvename.cgi?name=2002-0649][Xref<br />

=> http://www.securityfocus.com/<br />

bid/5311][Xref => http://<br />

www.securityfocus.com/bid/5310].<br />

Poprawki bezpieczeństwa<br />

Jak wspomnieliśmy wyżej, często udane ataki na bazę<br />

danych związane są z brakiem jej aktualizacji. W tym<br />

przypadku idea ataku może być następująca:<br />

• W oprogramowaniu bazy danych znajdowana jest<br />

krytyczne luka, umożliwiająca z poziomu sieci<br />

uzyskanie pełnej kontroli nad bazą danych.<br />

• W Internecie udostępniony jest exploit.<br />

• Producent bazy danych udostępnia aktualizację.<br />

Po jej wgraniu, ewentualne uruchomienie ww.<br />

exploitu nie zakończy się sukcesem, jednak gdy<br />

aktualizacja nie zostanie wykonana, wrogi kod<br />

może umożliwić przejęcie kontroli nad bazą.<br />

Zalecenia<br />

Rozważając kwestię aktualizacji bazy danych warto<br />

zadać sobie pytania:<br />

• Czy posiadamy wykupiony pakiet umożliwiający<br />

instalowanie tego typu poprawek? – W przypadku<br />

niektórych baz danych – np. Oracle – stanowić to<br />

może spory koszt).<br />

• Czy aktualizacje bazy danych są wykonywane?<br />

• Czy baza instalowana jest jako pakiet systemu<br />

operacyjnego czy niezależnie?<br />

• Czy weryfikowana jest integralność aktualizacji?<br />

– Czy wiemy skąd pochodzą aktualizacje? Jeśli<br />

udałoby się dostarczyć nam wrogą aktualizację<br />

– istnieje możliwość zdalnego przejęcia kontroli<br />

nad bazą.<br />

• Czy aktualizacje wykonywane są ręcznie czy automatycznie?<br />

– Niekiedy same aktualizacje mogą<br />

spowodować niepoprawne działanie całej bazy<br />

danych: manualne aktualizacje pozostawiają administratorowi<br />

możliwość szybkiej reakcji na ewentualne<br />

problemy.<br />

• Czy aktualizacje sprawdzane są wcześniej na serwerach<br />

testowych?<br />

Przykładowe dalsze informacje<br />

• Informacje o wprowadzeniu poprawek do bazy danych<br />

Oracle, w tym łatających luki umożliwiające<br />

pełen, nieuwierzytelniony dostęp z poziomu<br />

sieci: http://www.oracle.com/technology/deploy/<br />

security/pdf/2004alert68.pdf.<br />

Użytkownicy z wykorzystaniem, których działa baza<br />

danych<br />

Aby ograniczyć wpływ negatywnych skutków naruszenia<br />

bezpieczeństwa na cały system, warto rozważyć<br />

uprawnienia użytkownika systemu operacyjnego,<br />

z którego wykorzystaniem uruchamiana jest baza.<br />

Przykład:<br />

W Internecie dostępna jest aplikacja umożliwiająca<br />

dostęp do poczty elektronicznej w firmie. System<br />

działa w oparciu o bazę danych MySQL. Baza działa<br />

z uprawnieniami użytkownika systemu operacyjnego<br />

root (administrator), a aplikacja wykorzystuje użytkownika<br />

bazodanowego posiadającego uprawnienia administracyjne<br />

w bazie danych. Skuteczny atak z poziomu<br />

Internetu na aplikację prowadzi do:<br />

• możliwości odczytu e-maili dowolnego użytkownika,<br />

• możliwości odczytu innych danych znajdujących<br />

się w bazie danych na tym serwerze,<br />

• możliwości pełnego dostępu do systemu operacyjnego<br />

(uprawnienia administracyjne) oraz atakowanie<br />

dalszych systemów.<br />

Zalecenia<br />

• Czy użytkownik systemu operacyjnego, z którego<br />

wykorzystaniem uruchamiana jest usługa bazodanowa,<br />

posiada uprawniania administracyjne?<br />

– Należy unikać takiej sytuacji.<br />

• Czy powyższy użytkownik posiada dodatkowe<br />

uprawnienia niekoniecznie wymagane do działa-<br />

22<br />

2/2011


Bezpieczeństwo baz danych<br />

nia bazy danych? – Np. uprawniania od odczytu /<br />

zapisu plików, które nie są używane przez system<br />

bazodanowy.<br />

• Czy istnieje możliwość interaktywnego zalogowania<br />

się na użytkownika bazodanowego, np. z wykorzystaniem<br />

SSH? – Nie powinniśmy stwarzać takiej<br />

możliwości.<br />

Przykładowe dalsze informacje<br />

• Unikanie uruchamiania usług SQL Server<br />

z uprawnieniami kont administracyjnych: http://<br />

www.sqlservercentral.com/blogs/brian_kelley/<br />

archive/2008/06/12/avoid-domain-admin-level-accounts-for-sql-server.aspx<br />

• Konfiguracja środowiska chroot w celu ograniczania<br />

ekspozycji systemu operacyjnego po<br />

ewentualnym ataku na usługę sieciową: http://<br />

www.securitum.pl/baza-wiedzy/publikacje/chrootw-praktyce<br />

Użytkownicy bazodanowi<br />

Kolejnym istotnym elementem przy weryfikacji bezpieczeństwa<br />

bazy danych jest określenie uprawnień użytkowników<br />

definiowanych na poziomie bazy danych.<br />

Dobrą praktyką jest stosowanie tutaj zasady least privileges,<br />

to znaczy uprawnienia użytkowników bazodanowych<br />

powinny być najmniejszymi, które są wymagane<br />

do prawidłowego działania całości systemu.<br />

Zalecenia<br />

• Czy wybrani użytkownicy bazodanowi nie posiadają<br />

nadmiernych uprawnień? – Np. uprawnienia<br />

administracyjne na bazie dla użytkownika bazodanowego<br />

skonfigurowanego w aplikacji webowej.<br />

• Czy w systemie wykonane jest mapowanie użytkowników<br />

bazodanowych na użytkowników systemu operacyjnego<br />

(popularne szczególnie w systemach Windows).<br />

Jeśli tak, to czy mapowanie jest poprawne?<br />

• Jakie konta bazodanowe mają uprawnienia administracyjne?<br />

• Którzy użytkownicy posiadają dostęp anonimowy<br />

do bazy danych? – użytkownicy demo / guest / itp.<br />

• Czy możliwy jest dostęp do bazy za pomocą użytkowników<br />

/ haseł domyślnych? – Np. kombinacja<br />

DBSNMP/DBSNMP w bazie Oracle.<br />

• Czy użytkownicy bazodanowi posiadają wystarczająco<br />

złożone hasła dostępowe?<br />

Przykładowe dalsze informacje<br />

• Zbiór informacji dotyczący tematyki haseł – baza<br />

Oracle http://www.red-database-security.com/<br />

whitepaper/oracle_passwords.html<br />

• Oprogramowanie cain & abel umożliwiające m.in.<br />

łamanie hashów haseł dla wybranych baz SQL:<br />

http://www.oxid.it/cain.html<br />

Ograniczenie funkcjonalności oferowanych przez<br />

bazę danych<br />

Zgodnie z wspomnianą wcześniej zasadą least privileges<br />

zaleca się minimalizację instalowanych oraz<br />

uruchamianych usług i funkcjonalności bazodanowych.<br />

W wielu przypadkach takie domyślne funkcjonalności<br />

nie są wymagane do prawidłowego działania<br />

bazy.<br />

Zalecenia<br />

Zalecenia zależą od konkretnej implementacji bazy<br />

danych. Dodatkowymi funkcjonalnościami mogą być<br />

przykładowo:<br />

• Całe usługi: np. serwer http apache, w przypadku<br />

Oracle.<br />

• Konkretne procedury czy grupy procedur i funkcji<br />

bazodanowych, np. procedura xp_cmdshell w systemie<br />

SQL Server umożliwiająca wykonanie polecenia<br />

systemu operacyjnego, użytkownikowi bazodanowemu.<br />

• Domyślnie instalowane bazy o charakterze „demo”.<br />

Przykładowe dalsze informacje<br />

• Dokumentacja hardeningowa dla SQL Server<br />

2005 (rozdział SQL Server Settings): https:<br />

//www.cisecurity.org /tools2 /sqlser ver/ CIS _<br />

SQL2005_Benchmark_v1.2.0.pdf<br />

Logowanie (księgowanie) dostępu do bazy danych<br />

Aby zapewnić systemowi właściwość zwaną rozliczalnością,<br />

należy w odpowiedni sposób logować (księgować)<br />

operacje wykonywane na bazie danych. Tego typu<br />

logi mogą okazać się przydatne, gdy będziemy potrzebowali<br />

prześledzić ewentualną historię zdarzeń<br />

przy naruszeniu bezpieczeństwa bazy danych. W takim<br />

przypadku będziemy wiedzieć jaka operacja, kiedy<br />

oraz przez kogo została wykonana na bazie.<br />

Zalecenia<br />

• Czy próby uwierzytelnienia (udane, nieudane) są<br />

logowane?<br />

• Czy logowane są operacje (zapytania SQL) na bazie<br />

danych?<br />

• W jakim miejscu składowane są logi zawierające<br />

ww. informacje? Kto ma do nich dostęp? Jak zapewniona<br />

jest ich integralność? Czy są wykonywane<br />

kopie zapasowe logów?<br />

www.<strong>hakin9</strong>.org 23


OBRONA<br />

• Czy logowanie następuje do bazy danych czy na<br />

poziomie systemu operacyjnego?<br />

• Czy księgowanie wykonywane jest jedynie lokalnie<br />

czy również na zdalny system?<br />

Szyfrowanie<br />

Jako „szyfrowanie” rozumiemy w tym przypadku mechanizmy<br />

zapewniające poufność, integralność (transmisji<br />

oraz samych przechowywanych danych) a także<br />

bezpieczne uwierzytelnienie użytkowników łączących<br />

się z bazą. Zastosowane mechanizmy kryptograficzne<br />

zależą od typu danych, które chronimy, a także specyfiki<br />

systemu IT, w którym dane te są przetwarzane.<br />

Mechanizmy te możemy rozważać co najmniej w kilku<br />

perspektywach.<br />

Zalecenia<br />

• Czy proces uwierzytelnienia do bazy jest odpowiednio<br />

zabezpieczony? – Czy dane uwierzytelniające<br />

– np. hasło przesyłane są w sieci w bezpieczny<br />

sposób?<br />

• Czy wszystkie dane przesyłane pomiędzy klientem<br />

bazodanowym a serwerem są zaszyfrowane?<br />

– Zapewnienie poufności i integralności transmisji.<br />

• Czy szyfrowany dostęp do bazy jest wymuszany<br />

na klientach bazodanowych?<br />

• Czy dane znajdujące się w bazie danych przechowywane<br />

są w formie zaszyfrowanej? – Zapewnienie<br />

poufności i integralności danych.<br />

Przykładowe dalsze informacje<br />

• Wymuszanie szyfrowania (komunikacji klient-serwer)<br />

na bazie SQL Server:<br />

h t t p : / / msdn.microsof t .c o m / e n - us / l i br a r y/<br />

ms189067.aspx,<br />

h t t p : / / m s d n . m i c r o s o f t . c o m / e n - u s / l i b r a r y/<br />

ms191192.aspx.<br />

Bezpieczeństwo w warstwie aplikacji korzystających<br />

z bazy danych<br />

Tematyka związana z zagadnieniem bezpieczeństwa<br />

aplikacji jest bardzo szeroka. W tekście jedynie zaznaczamy<br />

jej pewne powiązanie z bezpieczeństwem<br />

baz danych.<br />

Jednym z częstych błędów bezpieczeństwa w aplikacjach<br />

wpływających na bezpieczeństwo bazy danych<br />

jest podatność SQL injection. Istota problemu<br />

polega na możliwości nieautoryzowanej zmiany zapytania<br />

SQL generowanego po stronie aplikacji. Takie<br />

działanie umożliwia często atakującemu na pełen dostęp<br />

do bazy danych – zarówno w trybie odczytu jak<br />

i zapisu. Niekiedy również ta droga prowadzi do otrzymania<br />

dostępu na poziomie systemu operacyjnego.<br />

Dla porządku, warto również w tym momencie wspomnieć<br />

o innych, często spotykanych problemach, mogących<br />

prowadzić do naruszenia bezpieczeństwa bazy<br />

danych:<br />

• Przechowywanie po stronie klienckiej informacji<br />

dostępowych do serwera bazodanowego. Problem<br />

występuje często w aplikacjach desktopowych korzystających<br />

z bazy danych– na lokalnych stacjach<br />

użytkowników (np. w rejestrze systemu Windows)<br />

przechowywane są login/hasło użytkownika<br />

mającego pełen dostęp do bazy danych.<br />

• Brak odpowiednich mechanizmów kryptograficznych<br />

służących do zabezpieczenia połączenia pomiędzy<br />

klientem a serwerem (więcej informacji<br />

w punkcie: „szyfrowanie” w niniejszym artykule).<br />

Zalecenia<br />

• Czy w aplikacji następuje odpowiednia walidacja<br />

danych otrzymywanych od użytkowników?<br />

• Czy aplikacja korzysta z jednego użytkownika<br />

bazodanowego w celu łączenia się do bazy danych?<br />

– W przypadku wystąpienia SQL injection<br />

taka konfiguracja umożliwia atakującemu dostęp<br />

do całej bazy – jest to szczególnie groźne, gdy taki<br />

użytkownik ma uprawnienia administracyjne na<br />

bazie.<br />

• Czy aplikacja korzysta z tzw. zapytań parametryzowanych<br />

w celu dostępu do danych? – Mechanizm<br />

ten odpowiednio wykorzystany potrafi niemal<br />

w 100% ochronić przed SQL injection.<br />

• Czy po stronie klienckiej przechowywane są dane<br />

dostępowe do serwera bazodanowego?<br />

Przykładowe dalsze informacje<br />

• SQL injection wg OWASP: http://www.owasp.org/<br />

index.php/SQL_Injection<br />

• Przykład bardziej zaawansowanych rozważań<br />

o SQL injection: http://www.securitum.pl/bazawiedzy/publikacje/sql-injection-nietypowy-wariantataku<br />

Miejsce składowania danych w systemie plików<br />

Ostatecznie baza danych przechowuje informacje na<br />

systemie plików (choć w określonych przypadkach<br />

dane te mogą być przechowywane np. jedynie w pamięci).<br />

Dostęp do tych plików uzyskujemy zazwyczaj nie<br />

bezpośrednio (dostęp do pliku) tylko przy pomocy zapytania<br />

SQL (łącząc się z tzw. RDBMS, który między<br />

innymi dba o uwierzytelnienie/autoryzację użytkowników<br />

łączących się z bazą). Użytkownicy (zazwyczaj<br />

lokalni) mający dostęp do plików przetwarzanych<br />

24<br />

2/2011


Bezpieczeństwo baz danych<br />

przez RDBMS mogą spróbować uzyskać do nich dostęp<br />

bezpośredni, omijając tym samym mechanizmy<br />

uwierzytelnienia i autoryzacji oferowane przez bazę.<br />

Kolejną kwestią związaną z umiejscowieniem plików<br />

bazodanowych jest nieprzerwany dostęp do całej<br />

bazy. Jeśli dostęp do danych w systemie plików (np.<br />

z powodu awarii dysku twardego) zostanie utracony,<br />

tracony jest również dostęp do konkretnych przetwarzanych<br />

w bazie danych. Warto zatem rozważyć wdrożenie<br />

odpowiednich mechanizmów zapewniających<br />

nieprzerwane działanie bazy w przypadku tego typu<br />

awarii.<br />

Na koniec poruszymy jeszcze jedną kwestię związaną<br />

z dostępnością całego systemu. Otóż niekiedy<br />

przetwarzane w bazie informacje składowane są na<br />

tej samej partycji, co pliki wchodzące w skład systemu<br />

operacyjnego, na którym uruchomiona jest baza<br />

danych. W przypadku zapełnienia takiej partycji często<br />

przestaje działać poprawnie cały system operacyjny.<br />

Warto może zatem wydzielić osobną partycję przechowującą<br />

pliki bazodanowe – niezależną od partycji<br />

systemowej.<br />

Zaznaczmy jeszcze, że tematyka wysokiej dostępności<br />

bazy jest bardzo szeroka – w niniejszym tekście<br />

jedynie ją wskazujemy w kontekście plików bazodanowych.<br />

Zalecenia<br />

• Czy pliki bazodanowe znajdują się na odpowiednim<br />

typie systemu plików? – Umożliwiającym<br />

nadanie odpowiednich uprawnień? np. NTFS,<br />

a nie FAT?<br />

• Czy pliki bazodanowe na poziomie systemu plików<br />

są dostępne (odczyt/zapis) tylko dla użytkownika<br />

z wykorzystaniem którego działa baza danych?<br />

• Czy awaria miejsca przeznaczonego na składowanie<br />

danych bazy powoduje niedostępność do bazy<br />

danych? – Czy mamy wdrożone mechanizm typu<br />

RAID? Czy wykorzystujemy redundantnie podłączoną<br />

macierz zewnętrzną?<br />

• Czy dane składujemy na partycji oddzielnej od<br />

systemowej?<br />

Kopie zapasowe<br />

Z uwagi na najczęściej dość wysoką wartość informacji<br />

przetwarzanych w bazach danych koniecznością<br />

jest wykonywanie okresowych kopii bezpieczeństwa<br />

bazy. Przy wykonywaniu backupów warto rozważyć<br />

kwestie łączące się z realizacją kopii zapasowych<br />

w ogóle, a także elementy specyficzne dla samej bazy<br />

danych.<br />

Zalecenia<br />

• Czy wykonywane są kopie zapasowe wszystkich<br />

instancji baz danych?<br />

• Czy wykonywana jest kopia zapasowa bazy systemowej?<br />

– Często brak takiej kopii może oznaczać<br />

problemy przy próbie przywrócenia danych z backupu.<br />

• Czy wykonywane są testy poprawności wykonywania<br />

kopii zapasowych? – Próba pełnego odtworzenia<br />

bazy z wykonanej wcześniej wykonanej kopii.<br />

• Na jakie nośniki wykonywane są kopie zapasowe?<br />

• Czy dane na zużytych nośnikach usuwa się w sposób<br />

trwały?<br />

• W jaki sposób chroni się nośniki zawierające backupy<br />

przed dostępem osób nieuprawionych?<br />

Podsumowanie<br />

W artykule przedstawiliśmy, naszym zdaniem, najistotniejsze<br />

elementy dotyczące bezpieczeństwa bazy danych.<br />

Pewne aspekty – np. bezpieczeństwo fizyczne,<br />

dostępność bazy, bezpieczeństwo sieci czy systemu<br />

operacyjnego, na którym przetwarzane są informacje<br />

– zostały wskazane jedynie hasłowo. Jednakże wskazując<br />

zalecania, staraliśmy się formułować je w na tyle<br />

ogólnej formie, aby każdy z czytelników mógł dostosować<br />

i rozszerzyć je pod własne, specyficzne potrzeby<br />

– każda bowiem baza danych wymaga dedykowanego<br />

spojrzenia na bezpieczeństwo przechowywanych<br />

w niej informacji.<br />

MICHAŁ SAJDAK<br />

Prowadzi testy penetracyjne oraz szkolenia z zakresu bezpieczeństwa.<br />

Posiadacz certykatu CISSP.<br />

Obecnie pracuje w rmie Securitum.<br />

Kontakt: michal.sajdak@securitum.pl<br />

Polecana Literatura<br />

• Implementing Database Security and Auditing: Includes Examples for Oracle, SQL Server, DB2 UDB, Sybase - Digital Press (May 2, 2005)<br />

• The Database Hacker's Handbook: Defending Database Servers - Wiley (July 14, 2005)<br />

• Dokumentacje hardeningnowe The Center for Internet Security - http://cisecurity.org/<br />

www.<strong>hakin9</strong>.org 25


OBRONA<br />

Zarządzanie bezpieczeństwem<br />

danych osobowych.<br />

Kwestie prawne e-commerce<br />

Marcin Engelmann<br />

Dane osobowe klientów sklepu internetowego – na co<br />

powinien zwrócić uwagę właściciel sklepu, żeby nie tylko<br />

działać w zgodzie z ustawą o ochronie danych osobowych,<br />

ale również budować zaufanie swoich klientów. Czym są<br />

dane osobowe, jak je zabezpieczyć, na co zwrócić uwagę?<br />

Dowiesz się:<br />

• jakie przepisy prawne wpływają na przetwarzanie danych w sklepie internetowym?<br />

• jakie wymagania musi spełniać oprogramowanie sklepu internetowego<br />

• w jaki sposób zabezpieczyć sklep internetowy przed atakami z zewnątrz<br />

• co należy zrobić z nośnikami danych, na których znajduje się baza SQL sklepu,<br />

a które nie są już potrzebne<br />

Powinieneś wiedzieć:<br />

• podstawowa wiedza o prowadzeniu<br />

sklepu internetowego<br />

Czy właściciele sklepów internetowych są świadomi<br />

przepisów prawnych, które regulują kwestię<br />

ochrony danych osobowych ich klientów?<br />

Przedsiębiorcy prowadzący sklepy internetowe są,<br />

a przynajmniej powinni być, świadomi regulacji prawnych,<br />

którym podlegają prowadząc taką działalność.<br />

Jest to oczywiście kodeks cywilny oraz między innymi<br />

ustawa z 2 marca 2000 r. o ochronie niektórych praw<br />

konsumentów oraz odpowiedzialności za szkodę wyrządzoną<br />

przez produkt niebezpieczny, czy też ustawa<br />

z dnia 27 lipca 2002 r. o szczególnych warunkach<br />

sprzedaży konsumenckiej. Dotyczy ich również w pewnym<br />

stopniu ustawa z dnia 18 lipca 2002 r. o świadczeniu<br />

usług drogą elektroniczną.<br />

Istotną różnicą między prowadzeniem sprzedaży detalicznej<br />

w normalnym sklepie a sprzedażą przez Internet<br />

jest utrata przez klienta anonimowości. W pierwszym<br />

przypadku sprzedawca zwykle nie pozyskuje danych<br />

osobowych kupującego, jedynym dowodem zakupu<br />

jest paragon „na okaziciela”. Przy sprzedaży na<br />

odległość niezbędne jest uzyskanie przynajmniej danych<br />

adresowych potrzebnych do dostarczenia towaru,<br />

a często gromadzone są również dane pomocnicze takie<br />

jak adres e-mail, numer telefonu czy różnego rodzaju<br />

informacje o preferencjach zakupowych klienta.<br />

Z pewnym niepokojem można zauważyć, że kwestia<br />

ochrony danych osobowych klientów jest bardzo często<br />

traktowana przez właścicieli sklepów z dużą pobłażliwością.<br />

Wniosek taki można wyciągnąć między innymi<br />

na podstawie badania przeprowadzonego przez serwis<br />

Sklepy24.pl w ramach raportu „e-Handel Polska<br />

2009”. Ankiety zebrane z ponad 600 sklepów internetowych<br />

pokazują, że tylko co dziesiąty sklep zarejestrował<br />

zbiór danych osobowych u Generalnego Inspektora<br />

Danych Osobowych, a jedynie połowa właścicieli ma<br />

pewność, że centrum przetwarzania danych, w którym<br />

znajdują się serwery obsługujące sklep jest dobrze zabezpieczona<br />

przed włamaniami, pożarem czy problemami<br />

z zasilaniem.<br />

Co ciekawe, badanie Eurobarometru z 2008 r. wskazuje,<br />

że właścicielowi sklepu internetowego powinno<br />

szczególnie zależeć na wzbudzeniu zaufania i zapewnieniu<br />

rzeczywistego bezpieczeństwa danych osobowych<br />

swoich klientów. Polacy są na pierwszym miejscu<br />

w Unii Europejskiej jako deklarujący najwyższą świadomość<br />

praw związanych z danymi osobowymi (43% badanych).<br />

Ponad połowa ankietowanych (55%) deklarowała<br />

troskę o dane osobowe ujawniane w Internecie.<br />

W dalszej części artykułu omówię najważniejsze,<br />

z punktu widzenia przedsiębiorcy prowadzącego sklep<br />

internetowy, zagadnienia związane z ochroną danych<br />

osobowych klientów. Skupimy się przede wszystkim na<br />

zagadnieniach praktycznych, z naciskiem na kwestie<br />

techniczne (sklep internetowy to w znakomitej większo-<br />

26<br />

2/2011


Zarządzanie bezpieczeństwem danych osobowych. Kwestie prawne e-commerce<br />

Zbiór danych osobowych kojarzy się<br />

z koniecznością jego rejestracji w GIODO, czy<br />

dotyczy to każdego zbioru?<br />

Zbiór danych osobowych to zestaw danych dostępnych<br />

według określonych kryteriów, niezależnie od tego czy<br />

zestaw ten jest rozproszony lub podzielony funkcjonalnie.<br />

Typowym zbiorem danych osobowych będzie baza<br />

klientów, która jest wykorzystywana w celach marketingowych.<br />

Jeden zbiór danych może tworzyć nawet kilka<br />

baz danych.<br />

Z założenia każdy zbiór danych osobowych podlega<br />

obowiązkowi rejestracji w rejestrze prowadzonym<br />

przez Generalnego Inspektora Danych Osobowych<br />

(GIODO). Od tego obowiązku jest 14 wyjątków określonych<br />

w ustawie.<br />

W przypadku sklepu internetowego jedyny wyjątek,<br />

który można byłoby rozważać to zwolnienie z obowiązku<br />

rejestracji danych administratorów danych osobowych<br />

przetwarzanych wyłącznie w celu wystawienia<br />

faktury, rachunku lub prowadzenia sprawozdawczości<br />

finansowej. Ten przypadek może być jednak trudny do<br />

zastosowania, jeśli dane są wykorzystywane na przykład<br />

w celach marketingowych (wysyłka newslettera)<br />

czy w celu obsługi reklamacji. Wystarczy jednak, że dane<br />

o historii zakupów są wykorzystywane do przedstawienia<br />

spersonalizowanej oferty i nie ma już możliwości<br />

skorzystania ze zwolnienia z obowiązku rejestracji.<br />

Rejestracja zbioru danych w GIODO jest stosunkowo<br />

prosta, należy jednak pamiętać, że niepoprawne wyści<br />

przypadków system informatyczny z niewielką ilością<br />

dokumentów papierowych). Przyjąłem również założenie,<br />

że właściciel sklepu internetowego jest równocześnie<br />

administratorem danych osobowych klientów,<br />

choć w szczególnych przypadkach należałoby również<br />

rozpatrywać ten aspekt.<br />

Jakie przepisy prawne wpływają<br />

na przetwarzanie danych w sklepie<br />

internetowym?<br />

Najistotniejsze przepisy prawne regulujące kwestię<br />

przetwarzania danych osobowych to ustawa oraz rozporządzenie<br />

poświęcone wymaganiom stawianym systemom<br />

informatycznym:<br />

• Ustawa z dnia 29 sierpnia 1997 r. o ochronie danych<br />

osobowych,<br />

• Rozporządzenie Ministra Spraw Wewnętrznych<br />

i Administracji z dnia 29 kwietnia 2004 r. w sprawie<br />

dokumentacji przetwarzania danych osobowych<br />

oraz warunków technicznych i organizacyjnych, jakim<br />

powinny odpowiadać urządzenia i systemy informatyczne<br />

służące do przetwarzania danych osobowych.<br />

W marcu 2011 r. wchodzi w życie nowelizacja ustawy<br />

o ochronie danych osobowych, nie ulegają jednak<br />

zmianie interesujące nas zagadnienia.<br />

W dalszej części artykułu zarówno ustawa jak i związane<br />

z nią rozporządzenia wykonawcze nazywane są<br />

wspólnie UODO.<br />

Czy dane osobowe to tylko imię i nazwisko<br />

oraz adres dostawy?<br />

Definicja danych osobowych zawarta w ustawie<br />

o ochronie danych osobowych mówi, że dane osobowe<br />

to wszelkie informacje dotyczące zidentyfikowanej<br />

lub możliwej do zidentyfikowania osoby fizycznej,<br />

a więc takiej osoby, której tożsamość można określić<br />

bezpośrednio lub pośrednio, w szczególności przez powołanie<br />

się na numer identyfikacyjny albo jeden lub kilka<br />

specyficznych czynników określających jej cechy fizyczne,<br />

fizjologiczne, umysłowe, ekonomiczne, kulturowe<br />

lub społeczne. Istotne jest dodatkowe założenie, że<br />

informacji nie uważa się za umożliwiającą określenia<br />

tożsamości osoby, jeżeli wymagałoby to nadmiernych<br />

kosztów lub działań.<br />

W efekcie bezspornie typowymi danymi osobowymi,<br />

które mogą pojawić się w sklepie internetowym będą<br />

na przykład:<br />

• imię i nazwisko,<br />

• adres zamieszkania,<br />

• przypisany numer (na przykład PESEL lub NIP),<br />

• adres e-mail, który zawiera imię i nazwisko lub jed-<br />

noznacznie pozwala określić tożsamość jego posiadacza,<br />

• informacje na temat stanu zdrowia czy nałogach.<br />

Danymi osobowymi nie są informacje ogólne – na<br />

przykład samodzielnej informacji „Jan, Wrocław” nie<br />

można uznać za daną osobową, ponieważ zidentyfikowanie<br />

osoby wymagałoby poniesienia istotnych kosztów<br />

lub podjęcia nadmiernych działań.<br />

Co ciekawe, pewne dane, które same w sobie nie są<br />

danymi osobowymi, w powiązaniu z typowymi danymi<br />

osobowymi stają się ich częścią. Klasyczny przypadek to<br />

lista zamówionych przez klienta towarów. Przykładowo:<br />

• informacja o tytule książki, liczbie sztuk i cenie nie<br />

jest daną osobową,<br />

• informacja o tytule książki, liczbie sztuk i cenie powiązana<br />

z imieniem i nazwiskiem klienta wraz z adresem<br />

dostawy staje się daną osobową.<br />

Reasumując, może się okazać, że duża część bazy<br />

danych sklepu internetowego stanowi zbiór danych<br />

osobowych w rozumieniu UODO. Zwłaszcza jeśli między<br />

poszczególnymi tabelami występują powiązania<br />

typowe dla relacyjnej bazy danych SQL.<br />

www.<strong>hakin9</strong>.org 27


OBRONA<br />

pełnienie formularza rejestracji może nie tylko doprowadzić<br />

do odmowy zarejestrowania zbioru, ale może<br />

wzbudzić zainteresowanie inspektorów GIODO i sprowokować<br />

kontrolę firmie przedsiębiorcy prowadzącego<br />

sklep.<br />

Należy pamiętać, że zwolnienie z obowiązku rejestracji<br />

zbioru danych w GIODO nie zwalnia przedsiębiorcy<br />

z obowiązku przestrzegania innych przepisów UODO.<br />

Jakie wymagania musi spełniać<br />

oprogramowanie sklepu internetowego?<br />

Oprogramowanie sklepu internetowego, wraz z serwerem<br />

na którym działa, to – zgodnie z definicją z ustawy<br />

– system informatyczny. Wymagania stawiane systemowi<br />

informatycznemu nie zależą od rodzaju oprogramowania<br />

i dotyczą:<br />

• oprogramowania komercyjnego i darmowego (np.<br />

Open Source),<br />

• gotowych pakietów i programów stworzonych na<br />

lub dostosowanych do indywidualnych potrzeb sklepu,<br />

• platform hostujących sklepy internetowe.<br />

Zgodnie z wymaganiami UODO, każdy system informatyczny,<br />

który służy do przetwarzania danych osobowych,<br />

musi spełniać następujące wymagania:<br />

• zapewniać kontrolę dostępu do danych osobowych<br />

(na przykład wymagać podania identyfikatora użytkownika<br />

i hasła oraz wprowadzać poziomy uprawnień,<br />

jeśli można je wyodrębnić),<br />

• każdy użytkownik musi posiadać odrębny identyfikator<br />

(nie może mieć miejsca sytuacja, w której<br />

użytkownicy korzystają ze wspólnego loginu),<br />

• system musi być zabezpieczony przed działaniem<br />

oprogramowania, którego celem jest uzyskanie nieuprawnionego<br />

dostępu,<br />

• zmiana hasła następuje przynajmniej raz na 30 dni,<br />

• hasło składa się z co najmniej 8 znaków, zawiera<br />

małe i wielkie litery oraz cyfry lub znaki specjalne,<br />

• dostęp do systemu powinien być zabezpieczony<br />

przed zagrożeniami pochodzącymi z Internetu poprzez<br />

wdrożenie fizycznych lub logicznych zabezpieczeń<br />

chroniących przed nieuprawnionym dostępem<br />

(na przykład zapora ogniowa firewall) i zapewniają<br />

kontrolę przepływu informacji pomiędzy systemem<br />

informatycznym a Internetem oraz kontrolę<br />

działań inicjowanych z Internetu i systemu informatycznego,<br />

• system musi automatycznie odnotowywać datę<br />

wprowadzenia danych osobowych, osobę, która je<br />

wprowadziła, źródło danych, informację o udostępnieniu<br />

danych oraz informację czy osoba wyraziła<br />

sprzeciw wobec przetwarzania jej danych,<br />

• system musi umożliwiać wyświetlenie na ekranie<br />

oraz wydrukowanie raportu zawierającego w powszechnie<br />

zrozumiałej formie (czyli np. bez specyficznych<br />

dla tego programu skrótów i kodów) dane<br />

osobowe oraz informację o dacie ich wprowadzenia<br />

do systemu informatycznego, osobie, która je wprowadziła,<br />

źródle danych, informacji o udostępnieniu<br />

danych oraz o tym czy osoba wyraziła sprzeciw<br />

wobec przetwarzania jej danych.<br />

Przynajmniej część z powyższych zaleceń warto wprowadzić<br />

w życie dla każdego serwisu internetowego (w<br />

szczególności sklepu internetowego), ponieważ poprawią<br />

jego ogólną niezawodność i bezpieczeństwo.<br />

Czy cała komunikacja między klientem<br />

a sklepem internetowym powinna być<br />

szyfrowana?<br />

Ustawa o ochronie danych osobowych nie nakłada tak<br />

szerokiego obowiązku zapewnienia bezpiecznego, szyfrowanego<br />

połączenia HTTPS i certyfikatów SSL. Nie<br />

ma też praktycznego uzasadnienia, żeby w przypadku<br />

każdego sklepu wymagać szyfrowania całej komunikacji<br />

między komputerem klienta a serwerem.<br />

UODO mówi jednak, że należy bezwzględnie stosować<br />

bezpieczne połączenia HTTPS wobec danych<br />

wykorzystywanych do uwierzytelnienia, które są przesyłane<br />

przez Internet (będzie to na przykład operacja<br />

logowania się klienta do własnego konta lub obsługi<br />

sklepu do panelu administracyjnego). Dodatkowo właściciel<br />

sklepu ma obowiązek dochowania szczególnej<br />

staranności w zabezpieczeniu wszelkich danych osobowych.<br />

Warto więc zastosować szyfrowane połączenie<br />

HTTPS i certyfikat SSL przynajmniej w obrębie:<br />

• logowania się klienta do konta w sklepie internetowym<br />

(informacja o identyfikatorze użytkownika i haśle),<br />

• obsługi koszyka i składania zamówienia (informacje<br />

o zamówionych produktach, cena),<br />

• obsługi historii zamówień oraz informacji osobistych<br />

(zamówione produkty, adres dostawy),<br />

• całego panelu administracyjnego, który służy do<br />

zarządzania sklepem i jest wykorzystywany przez<br />

jego obsługę.<br />

Wykorzystanie certyfikatu SSL na serwerze pozwala<br />

na spełnienie tych wymagań. Dane przesyłane przez<br />

Internet nie tylko nie będą mogły zostać podsłuchane,<br />

ale połączenie HTTPS zapewni również, że nie zostaną<br />

one zmodyfikowane. Orientacyjny koszt certyfikatu<br />

SSL to 120zł rocznie, a więc jest niski w porównaniu<br />

do kosztów jednego skutecznego wyłudzenia nawet<br />

w małych sklepach.<br />

28<br />

2/2011


Zarządzanie bezpieczeństwem danych osobowych. Kwestie prawne e-commerce<br />

Jakie wymagania powinna spełniać firma<br />

hostingowa lub centrum przetwarzania<br />

danych, w którym znajdują się serwery<br />

obsługujące sklep internetowy?<br />

Wymagania dotyczące hostingu sklepu internetowego<br />

to ciekawe zagadnienie. Oprócz wspomnianych wcześniej<br />

wymagań stawianych przede wszystkim oprogramowaniu,<br />

administrator danych osobowych ma obowiązek<br />

zapewnienia bezpieczeństwa fizycznego i środowiskowego<br />

przetwarzanym danym osobowym. Sklepy internetowe<br />

są najczęściej utrzymywane na:<br />

• typowym współdzielonym hostingu (zwykle sklepy<br />

małe lub z krótkim stażem),<br />

• wirtualnych serwerach prywatnych VPS (sklepy<br />

średnie),<br />

• dedykowanych serwerach fizycznych (sklepy większe,<br />

z dłuższym stażem),<br />

• platformie oferującej sklepy internetowe w modelu<br />

Software as a Service (SaaS).<br />

W większości przypadków firma obsługująca sklep internetowy<br />

nie posiada własnego centrum przetwarzania<br />

danych (potocznie nazywanego serwerownią),<br />

w którym znajdują się serwery obsługujące sklep internetowy<br />

i obsługa sprzętowa jest powierzana firmie hostingowej.<br />

Centrum przetwarzania danych, w których znajdują<br />

się serwery powinno co najmniej zapewniać:<br />

• zabezpieczenie przed dostępem osób nieupoważnionych<br />

(fizyczne zabezpieczenia takie jak odpowiednie<br />

drzwi, zamki, kontrola dostępu, system<br />

alarmowy, całodobowy monitoring, agencja ochrony),<br />

• zabezpieczenie przed pożarem, zalaniem i innymi<br />

zagrożeniami środowiskowymi (odpowiednie czujniki,<br />

system gaszenia bezpieczny dla ludzi i sprzętu<br />

elektronicznego),<br />

• zabezpieczenie serwerów przed utratą danych<br />

spowodowaną awarią zasilania lub zakłóceniami<br />

w sieci zasilającej (czyli powinno być wyposażone<br />

w zasilacze awaryjne UPS oraz opcjonalnie generatory<br />

prądu).<br />

Jeśli sklep internetowy nie jest utrzymywany na serwerach<br />

dedykowanych, ale korzysta ze zwykłego konta<br />

hostingowego lub platformy udostępniającej sklepy<br />

w modelu SaaS, warto jednoznacznie określić za jakie<br />

elementy zabezpieczenia odpowiada firma świadcząca<br />

usługę, a za które właściciel sklepu. Typowym przykładem<br />

jest na przykład kwestia wykonywania kopii zapasowych<br />

– częstotliwość lub sposób dostępu oferowany<br />

przez firmę hostingową może nie być wystarczający<br />

dla zapewnienia bezpieczeństwa danych osobowych.<br />

W jaki sposób zabezpieczyć sklep<br />

internetowy przed atakami z zewnątrz?<br />

Ustawa o ochronie danych osobowych nakłada na administratora<br />

danych osobowych obowiązek zabezpieczenia<br />

systemu informatycznego, między innymi przed<br />

zagrożeniami pochodzącymi z Internetu.<br />

W celu zabezpieczenia sklepu internetowego przed<br />

atakami z zewnątrz warto między innymi:<br />

• korzystać z oprogramowania, które jest ciągle rozwijane<br />

i jego autorzy lub producent reaguje na powstawanie<br />

nowych ataków i odkrywanie błędów,<br />

• zadbać o aktualność oprogramowania, które jest<br />

zainstalowane zarówno na serwerach (system operacyjny,<br />

oprogramowanie systemowe, aplikacja<br />

sklep) obsługujących sklep, jak i na komputerach<br />

„biurowych” (chociażby przeglądarka internetowa),<br />

• stosować firewalle, które pozwolą na zablokowanie<br />

dostępu do serwera komputerom, które służą do<br />

przeprowadzania ataków,<br />

• wykorzystać „firewalle aplikacyjne” (ang. Web Application<br />

Firewall), które stanowią dodatkową warstwę<br />

ochrony,<br />

• zainstalować oprogramowanie antywirusowe na<br />

komputerach osób obsługujących sklep internetowy.<br />

Oczywiście właściciel typowego sklepu nie będzie<br />

w stanie zabezpieczyć go przed każdym rodzajem ataku.<br />

W celu zapewnienia kompleksowej ochrony musi<br />

współdziałać lub wręcz w całości polegać na firmie<br />

dostarczającej platformę hostingową, serwer lub łącze<br />

do serwera. Wiele sieciowych, siłowych ataków wymaga<br />

zastosowania zabezpieczeń na najniższych poziomach<br />

sieci (na przykład odcięcie ataku DDoS, ochrona<br />

przed atakami polegającymi na „zatruciu” DNSów).<br />

Warto również wykorzystać bezpieczne, szyfrowane<br />

połączenie HTTPS i certyfikaty SSL w celu uniemożliwienia<br />

podsłuchania lub modyfikacji komunikacji między<br />

sklepem internetowym a klientem lub obsługą sklepu.<br />

Zabezpiecza to przed poznaniem poufnych informacji<br />

przez osoby nieupoważnione lub ich zmianę.<br />

Na co zwrócić uwagę, jeśli do bazy<br />

klientów ma dostęp administrator serwera,<br />

zewnętrzna agencja interaktywna i osoba<br />

współpracująca z właścicielem sklepu na<br />

podstawie umowy o dzieło?<br />

Przede wszystkim każda osoba, niezależnie od rodzaju<br />

umowy, na podstawie której współpracuje z właścicielem<br />

sklepu internetowego, nawet jeśli jest pracownikiem<br />

innej firmy, powinna posiadać pisemne upoważnienie<br />

do przetwarzania danych osobowych klientów<br />

sklepu. Osoba taka powinna zobowiązać się do zachowania<br />

w tajemnicy danych osobowych, do których ma<br />

www.<strong>hakin9</strong>.org 29


OBRONA<br />

dostęp oraz informacji na temat sposobów w jaki dane<br />

są zabezpieczone. Lista upoważnień powinna zostać<br />

zapisana w Ewidencji osób upoważnionych do przetwarzania<br />

danych, również prowadzonej przez właściciela<br />

sklepu.<br />

W przypadku, kiedy dostęp do danych osobowych<br />

uzyskuje inna firma (na przykład firma hostingowa,<br />

agencja interaktywna, programista prowadzący własną<br />

działalność gospodarczą, firma udostępniająca aplikację<br />

internetową do wysyłania mailingów), to koniecznie<br />

należy podpisać umowę powierzenia przetwarzania danych<br />

osobowych.<br />

Ustawa o ochronie danych osobowych stawia dwa<br />

wymagania umowie powierzenia przetwarzania danych<br />

osobowych. Umowa taka musi koniecznie:<br />

• zostać zawarta w formie pisemnej,<br />

• określać cel i zakres przetwarzania danych.<br />

W praktyce podpisanie umowy powierzenia przetwarzania<br />

danych osobowych zabezpiecza interesy właściciela<br />

sklepu. Taka umowa nakłada bowiem na współpracującą<br />

firmę obowiązek zabezpieczenia zbioru danych osobowych<br />

(oczywiście w zależności do tego jakie operacje<br />

na nim wykonuje) i odpowiada za poprawną realizację<br />

tych działań tak samo jak właściciel sklepu.<br />

Brak podpisanej umowy powierzenia przetwarzania<br />

danych osobowych mógłby sprowadzić na właściciela<br />

sklepu zarzut udostępnienia danych osobowych innemu<br />

podmiotowi bez posiadania jakiejkolwiek podstawy<br />

prawnej.<br />

Jakie są wymagania UODO dla kopii<br />

zapasowych?<br />

Przepisy UODO wymagają wykonywania kopii zapasowych<br />

przetwarzanych danych osobowych oraz programów<br />

i narzędzi programowych służących do ich przetwarzania.<br />

Nie precyzują jednak częstotliwości czy sposobu<br />

ich wykonywania – decyzje w tej sprawie pozostawione<br />

są w gestii administratora danych. Warto pamiętać,<br />

że macierz RAID nie zastępuje kopii bezpieczeństwa.<br />

Zestaw płyt DVD lub kaset do streamera wypełnionych<br />

ważnymi danymi nie stanowi jeszcze kopii bezpieczeństwa.<br />

Niezbędne jest opracowanie procedury<br />

pozwalającej na odzyskanie danych, przeszkolenie<br />

pracowników i wyznaczenie osób odpowiedzialnych za<br />

cały proces. Należy również zadbać, aby dostęp do nośników<br />

z danymi był możliwy w określonym, maksymalnym<br />

czasie.<br />

Kopie zapasowe muszą być przechowywane w miejscach<br />

zabezpieczających je przed nieuprawnionym<br />

przejęciem, modyfikacją, uszkodzeniem lub zniszczeniem.<br />

Bezwzględnie należy zapewnić przynajmniej tak<br />

samo dobre zabezpieczenia dla nośników danych, na<br />

których znajdują się kopie zapasowe jak dla działającego<br />

systemu informatycznego. Czyli nie powinna mieć miejsca<br />

sytuacja, w której serwery znajdują się w centrum<br />

przetwarzania danych spełniającego wymagania UODO,<br />

natomiast płyty DVD z kopiami zapasowymi przechowywane<br />

są w niezabezpieczonej szafie w biurze.<br />

Należy również pamiętać, że UODO wymaga, aby kopie<br />

zapasowe zostały usunięte niezwłocznie po ustaniu<br />

ich użyteczności. Ma to na celu zapewnienie, że dane<br />

osobowe, które nie są już do niczego potrzebne, nie będą<br />

przechowywane nadmiernie długo.<br />

Co należy zrobić z nośnikami danych, na<br />

których znajduje się baza SQL sklepu, a które<br />

nie są już potrzebne?<br />

W trakcie działania serwisu internetowego normalne<br />

jest, że pojawiają się nośniki danych, które zawierają<br />

dane (niekoniecznie osobowe), które nie są już do niczego<br />

potrzebne. Mogą to być stare kopie zapasowe albo<br />

stary serwer, który nie jest już wykorzystywany.<br />

Przepisy UODO w jasny sposób mówią co należy zrobić<br />

z nośnikami danych przeznaczonych do: likwidacji,<br />

przekazania podmiotowi nieuprawnionemu do przetwarzania<br />

danych (np. przekazanie komputera innej osobie<br />

czy firmie) lub naprawy. Należy pozbawić nośnik wcześniej<br />

zapisu danych osobowych, a w przypadku gdy nie<br />

jest to możliwe, należy nośnik uszkodzić w sposób uniemożliwiający<br />

jego odczytanie. W przypadku oddania do<br />

naprawy oczywiście nie należy uszkadzać nośnika, zamiast<br />

tego naprawa powinna odbywać się pod nadzorem<br />

osoby upoważnionej przez administratora danych.<br />

W przypadku usuwania informacji z dysków twardych<br />

należy skorzystać ze specjalnego programu, który wielokrotnie<br />

zapisze obszary dysku, na których znajdowały<br />

się pliki, co uniemożliwi (lub znacząco utrudni) ich odzyskanie<br />

nawet w profesjonalnej firmie zajmującej się odzyskiwaniem<br />

danych. Płyty CD lub DVD najłatwiej jest<br />

połamać lub skorzystać z biurowej niszczarki potrafiącej<br />

niszczyć również płyty.<br />

Warto zauważyć, że wymagania UODO warto stosować<br />

nie tylko do danych osobowych, ale do wszelkich<br />

dysków czy płyt DVD na których znajdują się dane<br />

związane z działaniem przedsiębiorstwa.<br />

Czy z punktu widzenia ochrony danych<br />

osobowych istotne jest państwo, w którym<br />

znajdują się serwery obsługujące sklep<br />

internetowy?<br />

Ustawa o ochronie danych osobowych rozróżnia przypadek<br />

przekazania danych osobowych do państwa<br />

trzeciego. „Państwo trzecie” to państwo nienależące<br />

do Europejskiego Obszaru Gospodarczego (kraje Unii<br />

Europejskiej oraz Norwegia i Islandia). Przekazanie danych<br />

osobowych do państwa trzeciego może nastąpić<br />

jeżeli państwo docelowe daje gwarancję ochrony danych<br />

osobowych na swoim terytorium przynajmniej ta-<br />

30<br />

2/2011


Zarządzanie bezpieczeństwem danych osobowych. Kwestie prawne e-commerce<br />

kiej, jaka obowiązuje w Polsce oraz w kilku innych przypadkach<br />

szczegółowo określonych w ustawie.<br />

Przekazanie danych należy traktować dość szeroko<br />

i obejmuje ono również przekazywanie danych na<br />

serwery właściciela sklepu zlokalizowane w państwie<br />

trzecim.<br />

Bez żadnych problemów można przetwarzać dane<br />

osobowe klientów sklepu na serwerach zlokalizowanych<br />

w dowolnym z państw Unii Europejskiej. Ze<br />

względów praktycznych wygodnie jest, jeśli nie ma<br />

bariery językowej między właścicielem sklepu a firmą<br />

świadczącą usługę hostingu, dzierżawy czy kolokacji<br />

serwera i nie ma problemu z różnicami w przepisach<br />

między różnymi państwami.<br />

Jakie mogą być konsekwencje dla<br />

przedsiębiorcy, który przetwarza dane<br />

osobowe niezgodnie z UODO?<br />

Jednym z zadań Generalnego Inspektora Ochrony Danych<br />

Osobowych jest kontrola zgodności przetwarzania<br />

danych z przepisani o ochronie danych osobowych.<br />

Realizując to zadanie inspektorzy GIODO mają prawo<br />

do przeprowadzania kontroli podmiotów, które przetwarzają<br />

dane osobowe.<br />

Warto wiedzieć, że inspektorzy GIODO pracują w zespołach,<br />

w skład których wchodzą zarówno prawnicy<br />

jak i informatycy. Oznacza to, że kontrolujący mają<br />

kompetencje i uprawnienia pozwalające na zbadanie<br />

systemów informatycznych i poprawności zabezpieczenia<br />

serwerów.<br />

Właściciel sklepu internetowego, który nie wypełnia<br />

obowiązków nałożonych na niego przez UODO, między<br />

innymi w zakresie rejestracji zbioru danych osobowych,<br />

legalności przetwarzania informacji oraz zabezpieczeń<br />

technicznych i organizacyjnych, może zostać<br />

pociągnięty do odpowiedzialności:<br />

• karnej - grzywna, ograniczenie lub pozbawienie<br />

wolności do lat 3,<br />

• administracyjnej - wymóg poprawienia błędów,<br />

a nawet usunięcia zgromadzonych danych,<br />

• dyscyplinarnej - dotyczy pracowników i może doprowadzić<br />

do zwolnienia dyscyplinarnego,<br />

• odszkodowawczej - odszkodowanie w przypadku<br />

naruszenia praw osoby lub wyrządzenia szkody<br />

majątkowej lub krzywdy.<br />

Z punktu widzenia biznesu najbardziej dotkliwe dla<br />

sklepu internetowego może być nakazanie usunięcia<br />

danych osobowych, które zostały zgromadzone niezgodnie<br />

z wymaganiami UODO. Paraliżująco na działanie<br />

sklepu może również wpłynąć nakazanie przez<br />

GIODO usunięcia uchybień lub też uzupełnienia, uaktualnienia<br />

danych lub zastosowania dodatkowych środków<br />

zabezpieczających zgromadzone dane osobowe.<br />

Czy połączenie e-sklepu z innymi portalami<br />

zagraża bezpieczeństwu danych osobowych<br />

użytkowników?<br />

Przede wszystkim należy ustalić czy w trakcie połączenia<br />

sklepu internetowego z innymi serwisami dojdzie do<br />

transferu danych osobowych klientów tego sklepu.<br />

Jeśli na stronie internetowej sklepu osadzany jest jedynie<br />

„widget” (na przykład serwisu Facebook) z innego<br />

serwisu internetowego, raczej nie spowoduje to zagrożenia<br />

dla bezpieczeństwa danych osobowych klientów<br />

sklepu.<br />

W przypadku, kiedy następuje przekazanie danych<br />

osobowych klienta do innego serwisu internetowego,<br />

dochodzi do udostępnienia danych w rozumieniu przepisów<br />

UODO i konieczne jest zastosowanie się do specyficznych<br />

wymagań. W szczególności oznacza to, że<br />

użytkownik przede wszystkim powinien zgodzić się<br />

na udostępnienie swoich danych. Oprócz tego powinien<br />

zostać poinformowany o fakcie udostępnienia, celu<br />

i zakresie przekazanych danych oraz o firmie, której<br />

dane zostały udostępnione.<br />

W szczególnych przypadkach, jeśli integrowany serwis<br />

ma specyficzne błędy, możliwe może być wykonanie<br />

skutecznego ataku na klienta sklepu internetowego<br />

nawet przez „widget”. Może to doprowadzić do wycieku<br />

danych osobowych konkretnej osoby, która jednocześnie<br />

korzysta z tego serwisu i sklepu internetowego.<br />

Podsumowanie<br />

Zapewnienie bezpieczeństwa przetwarzania danych<br />

osobowych klientów sklepu internetowego z pewnością<br />

wymaga wiedzy i poświęcenia pewnej ilości czasu, żeby<br />

poprawnie zorganizować cały proces. Nakłady te powinny<br />

jednak zwrócić się nie tylko w postaci spełnienia<br />

wymagań ustawy o ochronie danych osobowych, ale jako<br />

konkretna korzyść biznesowa - w postaci zdobycia<br />

większego zaufania klientów oraz poprawienia stabilności<br />

i bezpieczeństwa całej platformy do e-handlu, z której<br />

korzysta przedsiębiorca. Oznacza to wymierne zyski<br />

dzięki mniejszej liczbie awarii i przerw w działaniu sklepu<br />

czy uniknięcie zagrożeń i szkód związanych z włamaniami.<br />

MARCIN ENGELMANN<br />

Od 10 lat zajmuje się bezpieczeństwem informacji i systemów<br />

informatycznych oraz ochroną danych osobowych. Posiada<br />

doświadczenie w przeprowadzaniu audytów IT oraz wdrażaniu<br />

polityk bezpieczeństwa (ISO 27001), jest również Certykowanym<br />

Audytorem Systemów Informatycznych (CISA) międzynarodowej<br />

organizacji ISACA. Jest właścicielem i wiodącym<br />

audytorem rmy IMAGIN IT zajmującej się doradztwem<br />

w zakresie bezpieczeństwa informacji i systemów komputerowych<br />

oraz projektowaniem infrastruktury dla systemów wysokiej<br />

wydajności i niezawodności.<br />

www.<strong>hakin9</strong>.org 31


OBRONA<br />

Bazy danych i zasady<br />

korzystania z nich w świetle<br />

przepisów prawa polskiego<br />

Dariusz Łydziński<br />

Bazy danych i korzystanie z nich stanowią przedmiot działalności<br />

wielu podmiotów gromadzących i przetwarzających dane, dlatego też<br />

często są poddawane zagrożeniom ze strony przestępców działających<br />

wewnątrz firmy oraz napastników zewnętrznych, którzy nie szukają<br />

już hakerskiej sławy, lecz są głównie zainteresowani korzyściami<br />

finansowymi. W każdej organizacji dane są drugim najcenniejszym<br />

zasobem, zaraz po pracownikach. Firmy są zobowiązane do<br />

ochrony własnego personelu i klientów poprzez dołożenie należytej<br />

staranności i zapewnienie maksymalnych możliwych zabezpieczeń.<br />

Dowiesz się:<br />

• o wymaganiach dotyczących baz danych, wynikających z regulacji<br />

prawnych<br />

• o zakresie stosowanych zabezpieczeń baz danych osobowych<br />

i przechowywanych w nich informacji<br />

• o zasadach korzystania z baz danych osobowych<br />

Powinieneś wiedzieć:<br />

• znać podstawowe zasady ochrony danych osobowych, wynikające<br />

z aktów prawnych<br />

Ochrona baz danych w świetle przepisów prawa<br />

polskiego opiera się na przepisach prawa autorskiego<br />

(ustawa z 4 lutego 1994 r. o prawie autorskim)<br />

oraz regulacjach ustawy o ochronie baz danych.<br />

Ustawa o prawie autorskim znajduje zastosowanie do<br />

baz, których dobór, układ i zestawienie ma charakter<br />

twórczy. Pozbawia to możliwości objęcia ochroną zbiorów,<br />

w których elementy zostały ułożone alfabetycznie<br />

czy też chronologicznie. Z uwagi na to ograniczenie,<br />

uzupełnienie ochrony baz danych stanowią przepisy<br />

Ustawy z dnia 27 lipca 2001 r. o ochronie baz danych.<br />

Umożliwiają one ochronę baz danych, które nie spełniają<br />

przesłanek umożliwiających uznanie ich za przedmiot<br />

prawa autorskiego.<br />

Rodzaj podjętych przedsięwzięć oraz zakres stosowanych<br />

środków ochrony jest bardzo szeroki, dlatego<br />

też treści zawarte w artykule nie stanowią całościowej<br />

problematyki wchodzącej w jej zakres. Są jedynie<br />

zwróceniem szczególnej uwagi na jeden z elementów<br />

ochrony baz, którym są bazy danych osobowych.<br />

Bazy danych osobowych są podstawą działania działów<br />

marketingu i reklamy. Są one wykorzystywane do<br />

prowadzenia reklamy personalnej, badań zachowań<br />

klientów, wysyłania personalizowanych materiałów reklamowych<br />

i innych działań z zakresu Public Relation.<br />

Dlatego celem artykułu jest przedstawienie elementów<br />

ochrony baz danych osobowych oraz zasad korzystania<br />

z nich.<br />

WYMAGANIA DOTYCZĄCE OCHRONY<br />

BAZ DANYCH OSOBOWYCH W AKTACH<br />

PRAWNYCH<br />

Ustawa z dnia 27 lipca 2001 r.<br />

o ochronie baz danych.<br />

Podstawowe zasady ochrony baz danych w prawie polskim<br />

zawarto w ustawie z dnia 27 lipca 2001 r. o ochronie<br />

baz danych. Przedmiotem ochrony jest baza danych<br />

niespełniająca cech utworów. Ustawa dotyczy baz<br />

danych przechowywanych w dowolny sposób.<br />

32<br />

2/2011


Bazy danych i zasady korzystania z nich w świetle przepisów prawa polskiego.<br />

Należy zwrócić uwagę, na fakt, iż baza danych to<br />

„zbiór danych lub innych elementów zgromadzonych<br />

wedle określonej systematyki lub metody indywidualnie<br />

dostępnych w jakikolwiek sposób”. Jest to ważne,<br />

gdyż nie ma znaczenia sposób jej sporządzenia i utrwalenia.<br />

Ochronie podlegają nie tylko elektroniczne bazy<br />

danych, ale również fizyczne.<br />

Ustawa chroni interesy producenta bazy, którym może<br />

być osoba fizyczna, osoba prawna lub jednostka organizacyjna<br />

nie posiadająca osobowości prawnej, która<br />

ponosi nakłady inwestycyjne przy tworzeniu bazy.<br />

Producentem bazy powstałej w wyniku stosunku pracy<br />

jest pracodawca, producentem bazy powstałej o umowę<br />

o dzieło lub zlecenie jest zleceniodawca. Ochrona<br />

przysługuje bazom danych, których producent:<br />

• Jest obywatelem RP albo ma na jej terytorium swoją<br />

siedzibę lub<br />

• Jest obywatelem państwa członkowskiego Unii Europejskiej<br />

albo ma miejsce stałego pobytu na terytorium<br />

Wspólnoty Europejskiej lub<br />

• Jest osobą prawną założoną zgodnie z prawem<br />

państwa członkowskiego Unii europejskiej, posiadającą<br />

siedzibę i zakład główny wykonywania działalności<br />

na terytorium Wspólnoty Europejskiej.<br />

Ustawa określa także czas obowiązywania ochrony<br />

bazy danych na 15 lat od momentu jej utworzenia<br />

lub od momentu jej udostępnienia publicznie,<br />

o ile udostępnienie to nastąpiło w ciągu 15 lat od jej<br />

utworzenia.<br />

Ustawa pozwala na korzystanie z baz danych na zasadzie<br />

tzw. dozwolonego użytku. Zgodnie z art. 8 Ustawy<br />

możliwe jest korzystanie z istotnej, co do jakości lub<br />

ilości, części rozpowszechnionej bazy danych:<br />

• Do własnego użytku osobistego, ale tylko z zawartości<br />

nieelektronicznej bazy danych,<br />

• W charakterze ilustracji, w celach dydaktycznych<br />

lub badawczych, ze wskazaniem źródła, jeżeli takie<br />

korzystanie jest uzasadnione niekomercyjnym celem,<br />

dla którego wykorzystano bazę,<br />

• Do celów bezpieczeństwa wewnętrznego, postępowania<br />

sądowego lub administracyjnego.<br />

Ustawodawca docenił rolę tych, którzy zbierają informacje,<br />

gromadzą i przetwarzają lub udostępniają przetwarzanie<br />

dla określonych osób i celów.<br />

W przypadku bezprawnego korzystania z chronionej<br />

bazy danych zgodnie z art. 11 Ustawy producent<br />

ma prawo wezwać do zaprzestania z korzystania z bazy,<br />

zwrotu uzyskanych korzyści finansowych, lub żądać<br />

naprawienia wyrządzonej szkody na prawach ogólnych.<br />

Osoba korzystająca z bazy danych chronionej podlega<br />

karze grzywny.<br />

Ustawa z dnia 29 sierpnia 1997 r.<br />

o ochronie danych osobowych.<br />

Zasady przetwarzania danych osobowych w zbiorach<br />

danych a za takie możemy uznać bazy danych osobowych,<br />

określa ustawa z dnia 29 sierpnia 1997 r.<br />

o ochronie danych osobowych oraz wydane na jej podstawie<br />

akty wykonawcze – rozporządzenia Ministra<br />

Spraw Wewnętrznych i Administracji.<br />

Ustawa określa zasady postępowania przy przetwarzaniu<br />

danych osobowych oraz prawa osób, których dane<br />

są przetwarzane, niezależnie od sposobu przetwarzania<br />

danych.<br />

Ustawa narzuca na administratorów danych konkretne<br />

wymagania organizacyjne i techniczne, w tym dla<br />

baz danych osobowych. W zakresie zabezpieczeń baz<br />

danych i przechowywanych w nich informacji Ustawa<br />

definiuje następujące kwestie:<br />

• Określenie pojęcia danych osobowych (art. 6).<br />

• Określenie organów ochrony danych osobowych,<br />

w tym wyszczególnienie praw i obowiązków Generalnego<br />

Inspektora Ochrony Danych Osobowych (GIO-<br />

DO) i obowiązków podmiotów względem GIODO.<br />

• Określenie zasad przetwarzania danych osobowych<br />

(rozdział 3).<br />

• Wskazanie praw osoby, której dane są przetwarzane<br />

(rozdział 4).<br />

• Aspekty zabezpieczania danych osobowych (rozdział<br />

5).<br />

• Obowiązek rejestrowania zbiorów danych osobowych<br />

(rozdział 6).<br />

• Zasady przekazywania danych osobowych do państwa<br />

trzecich (rozdział 7).<br />

Zasady zabezpieczenia baz danych osobowych zarówno<br />

w sposób techniczny, jak i organizacyjny zawiera<br />

rozdział 5.<br />

Najogólniej wymagania dotyczące zabezpieczeń danych<br />

osobowych określa Art. 36 ust. 1 Ustawy, który<br />

mówi, że „Administrator danych jest obowiązany zastosować<br />

środki techniczne i organizacyjne zapewniające<br />

ochronę przetwarzanych danych osobowych odpowiednią<br />

do zagrożeń oraz kategorii danych objętych ochroną,<br />

a szczególności powinien zabezpieczyć dane przed<br />

ich udostępnieniem osobom nieupoważnionym, zabraniem<br />

przez osobę nieuprawnioną, przetwarzaniem<br />

z naruszeniem ustawy oraz zmianą, utratą, uszkodzeniem<br />

lub zniszczeniem”.<br />

Najważniejsze wymagania dotyczące ochrony baz<br />

danych osobowych, wynikające z ustawy to:<br />

• Określenie aspektów identyfikacji czy w administrowanej<br />

bazie danych znajdują się dane osobowe.<br />

• Określenie zakresu przetwarzania administrowanych<br />

danych, identyfikacji czy jest wymagana i do-<br />

www.<strong>hakin9</strong>.org 33


OBRONA<br />

stępna zgoda osób, których dane dotyczą, weryfikacji<br />

kompletności danych i poprawności ich przetwarzania<br />

ze zgłoszonym celem i zakresem.<br />

• Określenie mechanizmów udostępniania danych<br />

i weryfikacji rejestracji udostępniania danych. Baza<br />

danych osobowych powinna umożliwiać wyświetlenie,<br />

wydrukowanie dla danej osoby raportu,<br />

w którym będą uwzględnione dane takie, jak: dane<br />

tej osoby, źródło pochodzenia danych, kto dopisał<br />

dane do bazy, data i czas utworzenia, informacje<br />

o modyfikacjach, informacje komu i kiedy i w jakim<br />

zakresie dane były udostępniane.<br />

• Określenie formatu przekazywania danych, zakresu<br />

i rejestrowania przekazywania danych.<br />

• Określenie poziomu bezpieczeństwa dla każdego<br />

ze zbiorów, nadawanie i zarządzanie upoważnieniami<br />

do przetwarzania danych osobowych oraz<br />

stosowania mechanizmów rozliczalności.<br />

• Sporządzenie dokumentacji dotyczącej sposobu<br />

przetwarzania i zabezpieczania danych osobowych.<br />

• Określenie zasad kontroli i dostępu do obszarów<br />

przetwarzania danych osobowych.<br />

• Określenie fizycznych zabezpieczeń instalacji informatycznych,<br />

baz danych i nośników zawierających<br />

dane osobowe.<br />

• Wyznaczenie osób, które będą odpowiedzialne za<br />

fizyczne bezpieczeństwo instalacji informatycznych,<br />

baz danych i nośników zawierających dane<br />

osobowe.<br />

• Określenie sposobu weryfikowania nadanych<br />

uprawnień dostępu do systemów.<br />

Art. 39a Ustawy określa, że podstawowe warunki organizacyjne<br />

jak i techniczne, jakie muszą spełniać urządzenia<br />

i systemy informatyczne służące do przetwarzania<br />

danych osobowych są wskazane w Rozporządzeniu<br />

MSWiA „w sprawie dokumentacji przetwarzania<br />

danych osobowych, oraz warunków technicznych<br />

i organizacyjnych, jakim powinny odpowiadać urządzenia<br />

i systemy informatyczne służące do przetwarzania<br />

danych osobowych”, które jest podstawowym dokumentem<br />

określającym wymagania techniczne dotyczące<br />

systemów informatycznych [2]. W załączniku<br />

do tego rozporządzenia, są wymienione środki bezpieczeństwa,<br />

jakie powinny być stosowane w systemie informatycznym<br />

przetwarzającym dane osobowe. Środki<br />

bezpieczeństwa zostały przypisane do trzech poziomów<br />

zabezpieczeń:<br />

• Podstawowy dla wszystkich systemów,<br />

• Podwyższony – dla systemów przetwarzających<br />

dane o szczególnej wartości wymienione w art. 27<br />

Ustawy (dane wrażliwe),<br />

• Wysoki – gdy przynajmniej jedno urządzenie systemu<br />

informatycznego, służącego do przetwarzania<br />

danych osobowych, połączone jest z siecią<br />

publiczną.<br />

Do najważniejszych wymagań sprecyzowanych w Rozporządzeniu<br />

możemy zaliczyć:<br />

• Konieczność stosowania mechanizmów kontroli dostępu,<br />

przy czym jeśli do systemu ma dostęp wielu<br />

użytkowników, to muszą mieć oni odrębne identyfikatory.<br />

• Zabezpieczenie przed „działaniem oprogramowania,<br />

którego celem jest uzyskanie nieuprawnionego<br />

dostępu do systemu informatycznego” oraz „utratą<br />

danych spowodowaną awarią zasilania lub zakłóceniami<br />

w sieci zasilającej”.<br />

• Identyfikator użytkownika, który utracił uprawnienia<br />

do przetwarzania danych, nie może być przydzielony<br />

innej osobie.<br />

• Wymagania dotyczące haseł:<br />

• powinny być zmieniane nie rzadziej niż 30 dni,<br />

• hasło powinno składać się co najmniej na poziomie<br />

podstawowym z 6 znaków, na poziomie<br />

podwyższonym i wysokim z 8 znaków i zawierać<br />

małe i duże litery oraz cyfry lub znaki specjalne,<br />

• Konieczność sporządzania kopii zapasowych danych<br />

i programów je przetwarzających. Ponadto kopie<br />

zapasowe należy przechowywać w miejscach<br />

zabezpieczających je przed nieuprawnionym przejęciem,<br />

modyfikacją, uszkodzeniem lub zniszczeniem<br />

oraz usuwać niezwłocznie po ustaniu ich użyteczności.<br />

• Jeżeli dane są przetwarzane na komputerze przenośnym<br />

to nakazane jest szyfrowanie danych.<br />

• Urządzenia, dyski lub inne nośniki elektroniczne zawierające<br />

dane osobowe przeznaczone do likwidacji,<br />

naprawy lub przekazania podmiotowi nieuprawnionemu<br />

do przetwarzania danych osobowych pozbawia<br />

się wcześniej zapisu w sposób uniemożliwiający<br />

ich odzyskanie.<br />

• Na poziomie wysokim należy stosować zabezpieczenia<br />

logiczne, które obejmują kontrolę przepływu<br />

informacji pomiędzy systemem informatycznym administratora<br />

danych a siecią publiczną oraz kontrolę<br />

działań z sieci publicznej i systemu informatycznego<br />

administratora danych.<br />

• Na poziomie wysokim należy zapewnić również<br />

ochronę kryptograficzną wobec danych wykorzystywanych<br />

do uwierzytelniania, które są przesyłane<br />

w sieci publicznej,<br />

Dużą rolę, w ramach bezpieczeństwa i zasad korzystania<br />

z baz danych osobowych odgrywa, oprócz<br />

wskazanych powyżej aspektów element rozliczal-<br />

34<br />

2/2011


Bazy danych i zasady korzystania z nich w świetle przepisów prawa polskiego.<br />

ności. Podkreślając globalny charakter przepisów<br />

o ochronie danych osobowych należy wspomnieć<br />

o § 7 Rozporządzenia Ministra Spraw Wewnętrznych<br />

i Administracji z dnia 29 kwietnia 2004 r. w sprawie<br />

dokumentacji przetwarzania danych osobowych<br />

oraz warunków technicznych i organizacyjnych, jakim<br />

powinny odpowiadać urządzenia i systemy informatyczne<br />

służące do przetwarzania danych osobowych,<br />

w którym zostały ujęte główne wytyczne w tym<br />

zakresie:<br />

I. Dla każdej osoby, której dane osobowe są przetwarzane<br />

w systemie informatycznym – z wyjątkiem<br />

systemów służących do przetwarzania danych osobowych<br />

ograniczonych wyłącznie do edycji tekstu<br />

w celu udostępnienia go na piśmie – system ten zapewnia<br />

odnotowanie:<br />

1) Daty pierwszego wprowadzenia danych do systemu,<br />

2) Identyfikatora użytkownika wprowadzającego<br />

dane osobowe do systemu, chyba że dostęp<br />

do systemu informatycznego i przetwarzanych<br />

danych w nim danych posiada wyłącznie jedna<br />

osoba,<br />

3) Źródła danych, w przypadku zbierania danych,<br />

nie od osoby, której one dotyczą,<br />

4) Informacji o odbiorcach, w rozumieniu art. 7 pkt<br />

6 Ustawy, którym dane osobowe zostały udostępnione,<br />

dacie i zakresie tego udostępnienia,<br />

chyba że system informatyczny używany jest<br />

do przetwarzania danych zawartych w zbiorach<br />

jawnych,<br />

5) Sprzeciwu, o którym mowa w art. 32 ust. 1 pkt<br />

8 ustawy.<br />

II. . Odnotowanie informacji, o których mowa w ust.<br />

1 pkt 1 i 2, następuje automatycznie po zatwierdzeniu<br />

przez użytkownika operacji wprowadzania danych.<br />

III. Dla każdej osoby, której dane osobowe są przetwarzane<br />

w systemie informatycznym, system zapewnia<br />

sporządzenie i wydrukowanie raportu zawierającego<br />

w powszechnie zrozumiałej formie informacje,<br />

o których mowa w ust. 1.<br />

Biorąc pod uwagę punkty 1 i 2 ustępu pierwszego<br />

w powyższym paragrafie, od razu widać, że w systemie<br />

informatycznym konieczne jest istnienie indywidualnego<br />

autoryzowanego dostępu dla każdego użytkownika<br />

oraz rejestracja czasu zdarzeń wygenerowanych<br />

przez niego samego. Powiązanie tych dwóch<br />

faktów wraz z wymogiem odnotowywania identyfikatora<br />

użytkownika wprowadzającego dane i daty<br />

pierwszego wprowadzenia danych oraz automatyzacji<br />

tych procesów zgodnie z ustępem drugim tego<br />

paragrafu, daje nam w konsekwencji brak możliwości<br />

istnienia anonimowych działań użytkowników.<br />

Świadoma odpowiedzialność użytkowników, jak również<br />

i ich wiedza o takiej funkcjonalności systemu,<br />

powoduje zmniejszenie zjawiska udostępniania haseł<br />

i identyfikatorów, co ma dobry wpływ na bezpieczeństwo<br />

przetwarzanych danych w bazach danych osobowych.<br />

Natomiast punkty 3, 4 i 5 ustępu pierwszego w tym<br />

paragrafie poprawiają komfort osobom, których dane<br />

osobowe są przetwarzane. Przejrzystość w zakresie<br />

pochodzenia danych w bazie danych osobowych,<br />

a także informacji komu, kiedy i w jakim zakresie dane<br />

zostały udostępnione oraz możliwość zgłoszenia i odnotowania<br />

sprzeciwu dotyczącego przetwarzania danych<br />

osobowych stanowią o tym, że osoba której dane<br />

są przetwarzane czuje się bezpieczna i wzrasta jej<br />

poziom zaufania. Osoba, której dane osobowe są przetwarzane<br />

w takim systemie, mając wiedzę dotyczącą<br />

tych aspektów, będzie mogła kontrolować sposób i jakość<br />

ich przetwarzania.<br />

ZASADY KORZYSTANIA Z BAZ DANYCH<br />

OSOBOWYCH<br />

Zbiory zgromadzonych danych osobowych stanowią<br />

odrębną bazę danych w każdej organizacji zabezpieczonych<br />

przed dostępem osób nieuprawnionych, a także<br />

osób trzecich. Przekazywanie danych osobowych innym<br />

osobom oraz instytucjom, jest dozwolone za zgodą<br />

osoby, której dane dotyczą oraz gdy wymagają tego<br />

obowiązujące przepisy prawa.<br />

Korzystanie z baz danych osobowych związane jest<br />

z procesami udostępniania danych oraz powierzania<br />

baz danych do przetwarzania.<br />

Udostępnianie danych.<br />

Udostępnianie danych osobowych nastąpi zawsze wtedy,<br />

gdy administrator danych osobowych w sposób faktyczny<br />

przekaże bądź inaczej umożliwi zapoznanie się<br />

z danymi osobowymi innej osobie lub podmiotowi, który<br />

to podmiot pełnić będzie w stosunku do tych danych<br />

osobowych rolę administratora danych.<br />

Procesy związane z udostępnianiem danych z baz<br />

danych osobowych dzielą się na udostępnianie danych<br />

wewnątrz organizacji oraz udostępnianie na zewnątrz.<br />

Przy udostępnianiu danych wewnątrz organizacji<br />

należy zwrócić uwagę, że dane można udostępnić<br />

jedynie osobom posiadającym upoważnienie do<br />

przetwarzania danych osobowych, którym dane te są<br />

potrzebne do wykonywania ich obowiązków służbowych.<br />

Udostępniając dane na zewnątrz należy zwrócić<br />

uwagę, czy istnieje podstawa prawna udostępnienia<br />

danych osobowych. Dane powinno się udostępniać<br />

innym podmiotom na ich pisemny wniosek, z powołaniem<br />

się na przepis, zezwalający na otrzymywanie<br />

takich danych.<br />

www.<strong>hakin9</strong>.org 35


OBRONA<br />

Powierzanie danych do przetwarzania.<br />

Powierzenie danych do przetwarzania wiąże się z procesami<br />

zlecania czynności związanych z przetwarzaniem<br />

danych osobowych innym podmiotom. Zlecenie<br />

jakiekolwiek czynności przetwarzania danych w imieniu<br />

danej organizacji musi odbywać się w drodze pisemnej<br />

umowy. Aby przekazanie danych było działaniem legalnym,<br />

konieczne jest, zatem, zawarcie stosowanej umowy<br />

powierzenia.<br />

Zasady zawierania umów powierzenia określa szczegółowo<br />

art. 31 Ustawy o ochronie danych osobowych.<br />

Zgodnie z tym przepisem w treści umowy, administrator<br />

danych powinien określić środki i cele przetwarzania<br />

danych przez zleceniobiorcę, który z kolei może wykorzystywać<br />

dane w sposób określony w zawartej umowie<br />

powierzenia. Podmiot, który pozyskuje w taki sposób<br />

dane nie uzyskuje, więc statusu administratora i nie<br />

może z nich dowolnie korzystać (zakaz wykorzystania<br />

danych osobowych dla własnych celów). Przed administratorem<br />

ponosi on odpowiedzialność za przestrzeganie<br />

umowy powierzenia.<br />

Podmiot, któremu powierza się dane osobowe do<br />

przetwarzania zobowiązuje się w umowie do przetwarzania<br />

danych jedynie w celu i zakresie, jak również do<br />

zabezpieczenia danych zgodnie z art. 36 -39 Ustawy<br />

o ochronie danych osobowych.<br />

Podmiot, któremu powierzono przetwarzanie danych<br />

osobowych nie jest zobowiązany do realizacji obowiązków<br />

określonych w ustawie o ochronie danych osobowych<br />

(m.in. nie musi zgłaszać do rejestracji zbioru danych<br />

osobowych), z wyjątkiem obowiązku zastosowania<br />

środków zabezpieczających, o których mowa w art.<br />

36-39 u.o.d.o.<br />

Administrator danych zobowiązany jest do wykonywania<br />

wszystkich obowiązków określonych w przepisach<br />

o ochronie danych osobowych, w tym m.in. musi<br />

zgłosić zbiór danych osobowych do rejestracji Generalnemu<br />

Inspektorowi Ochrony Danych Osobowych – ponosi<br />

odpowiedzialność administracyjną za naruszenie<br />

przepisów o ochronie danych osobowych.<br />

Obydwa podmioty są natomiast zobowiązane do<br />

przestrzegania przepisów rozporządzenia wykonawczego<br />

do ustawy o ochronie danych osobowych regulującego<br />

kwestie zabezpieczenia danych i w tym<br />

zakresie ponoszą pełną odpowiedzialność wynikającą<br />

z przepisów ustawy zarówno administracyjną jak<br />

i karną.<br />

Bazy danych osobowych obejmują dane, które podlegają<br />

ochronie i stanowią wartość dla firm. Kwestia<br />

dbałości o dobra firmy, w tym i o dane osobowe oraz<br />

skuteczne egzekwowanie ich ochrony, to w obecnych<br />

czasach element decydujący o pozycji firmy na rynku.<br />

Żadna z poważnych firm, mając na względzie dane<br />

i preferencje klientów nie jest skora do współdzielenia<br />

takich informacji z konkurencją. Patrząc na ten<br />

aspekt z drugiej strony należy pamiętać, że klient czując<br />

się „bezpiecznie”, łatwiej buduje zaufanie do firmy<br />

przetwarzającej jego dane i chętniej korzysta z jej<br />

usług. Sytuacja klienta i jakość ochrony jego danych<br />

w firmie, daje się zauważyć przede wszystkim we fluktuacji<br />

jej klientów.<br />

Ważnymi elementami, które wynikają z dobrych praktyk,<br />

a na które nacisk kładą akty prawne związane<br />

z ochroną baz danych osobowych są:<br />

• Bezpieczeństwo fizyczne danych osobowych przetwarzanych<br />

elektronicznie i tradycyjnie,<br />

• Bezpieczeństwo systemów informatycznych, służących<br />

do przetwarzania danych osobowych,<br />

• Bezpieczeństwo danych osobowych w oparciu<br />

o środki organizacyjne.<br />

Ustawa o ochronie danych osobowych stanowi w art.<br />

1, że każdy ma prawo do ochrony dotyczących go danych<br />

osobowych a przetwarzanie danych osobowych<br />

może mieć miejsce ze względu na:<br />

• Dobro publiczne,<br />

• Dobro osoby, której dane dotyczą,<br />

• Dobro osób trzecich w zakresie i trybie określonym<br />

ustawą.<br />

Oznacza to generalny zakaz przetwarzania danych<br />

osobowych bez uzasadnienia i wymóg ustawowego<br />

regulowania zakresu i trybu przetwarzania danych<br />

osobowych ze względu na dobro osób trzecich.<br />

DARIUSZ ŁYDZIŃSKI<br />

Dariusz Łydziński - studia podyplomowe w Wyższej Szkole Menedżerskiej w Warszawie - ochrona informacji niejawnych i administrowanie<br />

bezpieczeństwem informacji, oraz w Akademii Obrony Narodowej w Warszawie – bezpieczeństwo informacyjne.<br />

Pełnomocnik ds. Bezpieczeństwa i Jakości, Szef Działu Bezpieczeństwa, Ochrony Informacji i Audytu Unizeto Technologies<br />

SA. Zajmował i zajmuje stanowiska związane z bezpieczeństwem i ochroną danych. Ma doświadczenie w identykowaniu ryzyka<br />

i zagrożeń występujących w związku z wykorzystywaniem systemów teleinformatycznych. Doświadczenie zawodowe w zakresie<br />

zapewnienia bezpieczeństwa/ochrony wielooddziałowego przedsiębiorstwa, doświadczenie w opracowywaniu polityk<br />

i strategii zarządzania bezpieczeństwem.<br />

Kontakt: dlydzinski@unizeto.pl<br />

Unizeto Technologies SA - projektowanie i integracja systemów, tworzenie rozwiązań zapewniających bezpieczeństwo systemów<br />

i komunikacji elektronicznej oraz zaawansowane technologicznie usługi IT, usługi certykacyjne związane z podpisem<br />

elektronicznym.<br />

36<br />

2/2011


Narzędzia do automatycznego audytu bezpieczeństwa<br />

Narzędzia do<br />

automatycznego audytu<br />

bezpieczeństwa<br />

Maciej Karmoliński<br />

Wprowadzanie systemu automatycznego wykrywania i zarządzania<br />

podatnościami w złożonych sieciach, jest nowo przyjętym podejściem<br />

dużych i średnich przedsiębiorstw na rynku europejskim. Ocena<br />

stosowanych zabezpieczeń uległa znacznej poprawie dzięki kwartalnym,<br />

miesięcznym a nawet codziennym audytom, dzięki którym mamy możliwość<br />

szybkiego reagowania na powstałe luki systemu, bądź zmianę istniejącego<br />

zagrożenia.<br />

Dowiesz się:<br />

• czym są i do czego służą narzędzia do wykrywania podatności<br />

w sieci, jakie są korzyści z ich stosowania, oraz czym różnią się<br />

od zabezpieczeń stosowanych dotychczas w firmach.<br />

Powinieneś wiedzieć:<br />

• posiadać podstawową wiedzę w zakresie sieci i bezpieczeństwa<br />

sieciowego<br />

Dzisiejsza infrastruktura sieci zmienia się bardzo<br />

szybko. Na bieżąco dodawane są nowe serwery, usługi,<br />

połączenia i porty, a także laptopy, nośniki pamięci<br />

i urządzenia bezprzewodowe, które prowadzą do ciągłego<br />

i intensywnego rozwoju infrastruktury IT. Wraz<br />

z rosnącą liczbą nowych urządzeń, wzrasta ilość podatności.<br />

Nie zapominajmy również, że każdego dnia<br />

przybywa wiele nowych potencjalnych zagrożeń, dlatego<br />

baza wskazująca rodzaj podatności i sposoby<br />

ich naprawy, musi być bieżąco aktualizowana. Wiele<br />

przedsiębiorstw korzystających z tego typu urządzeń<br />

ma zapewnione wsparcie grupy specjalistów, którzy<br />

odpowiadają na każde pytanie 24/7.<br />

W dzisiejszych czasach stosowanie powszechnych<br />

środków ochrony, takich jak: firewall, programy antywirusowe<br />

i IPS/IDS, jest niewystarczająco skuteczne.<br />

Każdy potencjalny intruz próbujący dostać się do informacji<br />

danej firmy, zna podatności i z łatwością potrafi<br />

je obejść, a to dlatego, że w każdej kolejnej „nowszej<br />

wersji”, są tak naprawdę niewielkie zmiany.<br />

Biorąc pod uwagę ww. spostrzeżenia, proces automatyzacji<br />

ma na celu minimalizację nakładu pracy dla<br />

każdego testu oraz zwiększenie częstotliwości badań,<br />

na tyle aby ponoszone koszta stały się opłacalne. Podjęcie<br />

decyzji o zautomatyzowaniu funkcji biznesowych<br />

w pierwszej kolejności opiera się na bardziej efektywnym,<br />

skutecznym, a przede wszystkim tańszym sposobie<br />

utrzymania bezpieczeństwa. Wybierając skanowanie<br />

podatności systemu, jako usługę automatyczną,<br />

musimy wziąć pod uwagę trzy, bardzo ważne, czynniki:<br />

1. Zdolność przedstawiania rozwiązań, na podstawie<br />

dokładnej i pełnej oceny podatności.<br />

2. Analizę danych, oraz ocenę istotnych informacji.<br />

3. Śledzenie i raportowanie skuteczności działań łagodzących.Poniżej,<br />

przedstawię Państwu w jaki sposób<br />

te czynniki odnoszą się do obecnie wykonywanych<br />

testów bezpieczeństwa, a następnie omówię<br />

zmieniające się role podatności w procesie tworzenia<br />

automatycznego wykrywania podatności.<br />

Wyzwania narzędzi służących ocenie<br />

bezpieczeństwa sieci<br />

Ocena podatności sieci (ręczna lub automatyczna) jest<br />

powszechnie uznawana za klucz uzyskania pełni bezpieczeństwa<br />

sieci. Oszacowanie podatności na zagrożenia<br />

jest wykonywane w celu określenia rzeczywistego<br />

stanu bezpieczeństwa w środowisku sieciowym a także<br />

www.<strong>hakin9</strong>.org 37


BEZPIECZNA FIRMA<br />

zbadania, czy intruz, który omija lub pokonuje pierścienie<br />

zabezpieczeń (antywirus, firewall i IPS / IDS), wykorzystuje<br />

do tego element mieszczący się w danej sieci,<br />

oraz czy mógłby wykorzystać ten element do wpływania<br />

na poufność, dostępność i integralność informacji.<br />

Prawie wszystkie zdarzenia utraty ważnych danych<br />

wynikających z zewnętrznych lub wewnętrznych ataków,<br />

zostały dokonane dzięki wykorzystaniu znanej, ale<br />

niezaktualizowanej na czas luki. Przez „znane „ mam na<br />

myśli, że została udokumentowana w literaturze bezpieczeństwa<br />

i jej rozwiązania są dostępne. W 2009 roku<br />

każde z 70 największych naruszeń bezpieczeństwa (w<br />

wyniku całkowitej straty 275 milionów rekordów) zostały<br />

zrealizowane poprzez manipulowanie rozpowszechnionymi<br />

podatnościami, pomimo zastosowania podstawowych<br />

narzędzi ochronnych i nadzoru wieloosobowego<br />

personelu.<br />

To jest bardzo duże wyzwanie. A aktualnie najlepsze<br />

wyniki w praktyce wskazują, że najlepszym sposobem<br />

odpowiedzi jest wykonywanie regularnej oceny podatności<br />

poprzez identyfikację znanych luk i błędów w systemach<br />

i zabezpieczeniach sieciowych, aby zlokalizować<br />

je przed potencjalnym intruzem.<br />

Ochrona aktywów przedsiębiorstwa<br />

Obecnie działy IT znajdują się w pozycji nie do pozazdroszczenie,<br />

jeżeli chodzi o zarządzanie coraz bardziej<br />

złożonymi środowiskami sieciowymi. Infrastruktury<br />

nowoczesnych przedsiębiorstw składają się z wielu<br />

typów urządzeń, systemów operacyjnych i aplikacji,<br />

które mają zróżnicowane wymagania bezpieczeństwa<br />

i dostępu. Dlatego musiały polegać we wszystkim na<br />

rozdrobnionych rozwiązaniach wielu producentów,<br />

od zapobiegania włamaniom, kontroli dostępu do zarządzania<br />

łatkami. Taka strategia wymaga wdrażania<br />

i obsługi macierzy niezależnych produktów oraz usług<br />

zabezpieczających.<br />

Nieuchronnie prowadzi to do wielowarstwowej komplikacji<br />

oceny podatności firmy, co jest zarówno czasochłonne,<br />

jak i kosztowne, oraz stanowi poważne obciążenie<br />

działu IT, szczególnie biorąc pod uwagę dzisiejsze<br />

środowisko, w którym zagrożenia ze strony złośliwych<br />

kodów rozwija się szybciej niż kiedykolwiek wcześniej.<br />

Rozwiązania VA / VM często wymagają zdolności<br />

sprawdzania, czy dane skany są kompletne, a następnie<br />

do sortowania „fałszywych trafień”. Przy tak znacznych<br />

inwestycjach, wymaganych do spełnienia przez organizację<br />

do każdorazowej oceny stanu sieci, zniechęca<br />

i wręcz uniemożliwia to prowadzenie częstych audytów,<br />

które są podstawą wykrywania nowopowstałych luk<br />

w zabezpieczeniach..<br />

Zespoły ochrony przedsiębiorstwa<br />

Ocena bezpieczeństwa w firmie wymaga odpowiedniego<br />

zespołu, który posiada aktualną, szeroko poję-<br />

tą i szczegółową wiedzę techniczną z zakresu mnóstwa<br />

nowoczesnych technologii. Przeprowadzenie testów<br />

podatności wymaga specjalistycznej wiedzy i narzędzi,<br />

pamiętając, że są one kosztowne i długotrwałe.<br />

Nie ma również zbyt wielu zespołów na świecie posiadających<br />

Certtified Information Systems Security Professionals<br />

(CISSPs), a nie wszystkie z nich mają kwalifikacje<br />

do wykonywania audytu bezpieczeństwa sieci<br />

i oceny zagrożeń.<br />

Coraz większa liczba narzędzi audytowych stosowanych<br />

przez informatyków nie posiadających odpowiedniej<br />

wiedzy i przygotowania audytowego może<br />

doprowadzać do sporządzania niepełnych wniosków<br />

poaudytowych. Zwykle raporty te obejmują, aż<br />

do 20% wyników nieprawdziwych (fałszywych) i wielu<br />

innych „luk”, które są mało znaczące dla określonej<br />

infrastruktury, wymagają tylko dodatkowej pracy i pieniędzy<br />

aby potwierdzić ich stan rzeczywisty. To doświadczenie<br />

i ocena zgodności w środowisku sieciowym<br />

są konieczne. Ograniczona ilość pracowników<br />

jest potęgowana przez fakt, że bezpieczeństwo należy<br />

do niepokojąco dynamicznie rozwijających się dziedzin<br />

z branży IT. Wiedza i programy, które były ostatnio<br />

stosowane z powodzeniem podczas testowania<br />

sieci, mogą być teraz niewystarczające ze względu na<br />

nowo wykrywane podatności.<br />

Rysunek 1.<br />

Rysunek 2.<br />

38<br />

2/2011


Narzędzia do automatycznego audytu bezpieczeństwa<br />

Utrzymanie odpowiedniego poziomu kompetencji technicznych<br />

w badaniu podatności przedsiębiorstwa wymaga<br />

wielodyscyplinarnego zespołu, dobrze zorientowanego<br />

w niezliczonych kombinacjach sprzętu i oprogramowania<br />

wykorzystywanego w sieci. Tylko nieliczne organizacje<br />

mogą sobie na to pozwolić, aby poświęcić zasoby<br />

niezbędne do skutecznego wykonywania tych działań.<br />

Dla wszystkich organizacji utrzymanie wykwalifikowanego<br />

zespół bezpieczeństwa jest trudne i przede wszystkim<br />

niezwykle drogie. To często wyjaśnia, dlaczego w tak<br />

wielu firmach stosuje się konsultantów firm trzecich..<br />

Rysunek 3.<br />

Przyszłość narzędzi służących ocenie<br />

bezpieczeństwa sieci<br />

W związku z ciągłym pojawianiem się setek nowych<br />

luk w zabezpieczeniach systemu operacyjnego i aplikacji<br />

każdego miesiąca, testowanie podatności stało<br />

się opcją niezbędną, wymagającą dużej powtarzalności.<br />

Dlatego najwłaściwszym rozwiązaniem jest zautomatyzowane<br />

narzędzie do skanowania podatności sieci, dające<br />

możliwość jego zarządzania przez osoby bez specjalnych<br />

kwalifikacji. Dzisiejszym sieciom biznesowym<br />

potrzeba dwóch rodzajów oceny usterki: analiza postawy<br />

migawki bieżących sieci i ocena wszelkich<br />

zmian w środowisku na żądanie. W niektórych<br />

środowiskach może wymagać tygodniowej<br />

(lub nawet codziennej) częstotliwości badań<br />

ze względu na wartość chronionych zasobów<br />

i rosnącą złożoność sieci oraz prędkość,<br />

z jaką nowe luki są wykorzystywane.<br />

Weźmy pod uwagę, że złożoność sieci i połączeń<br />

stale się zwiększa. Liczba luk odkrywanych<br />

na dobę i szybkość, z jaką wykorzystują<br />

możliwości uruchomienia szkodliwego kodu<br />

wzrosła. Przeprowadzenie oceny wrażliwości<br />

i bezpieczeństwa sieci rocznie, co dwa lata<br />

lub nawet co kwartał nie jest już wystarczającą<br />

strategią ograniczania ryzyka dla dzisiejszych<br />

dobrze chronionych sieci.<br />

Podobnie, problem z utrzymaniem poziomu<br />

zabezpieczeń do aktualnych luk jest obecnie<br />

wysoce specjalistycznym zadaniem, które<br />

może i powinno być przypisane do dedykowanego<br />

rozwiązania posiadającego funkcję<br />

aktualizacji automatycznej dla nowych zagrożeń<br />

i okresowego skanowania na podstawie<br />

wstępnie opracowanego harmonogramu.<br />

Kilka faktów na temat narzędzi<br />

do automatycznego audytu<br />

bezpieczeństwa<br />

1. Urządzenie w pełni zautomatyzowane<br />

2. Wiele z nich posiada własny, samodzielny<br />

system instalacyjny<br />

3. Przykładowe funkcje urządzeń rozmieszczonych<br />

w sieci obejmują:<br />

Rysunek 4.<br />

• Pokazują zarządzanie informacjami<br />

• Przedstawiają skanowanie serwerów<br />

• Skanują do sieci bezprzewodowych<br />

(802.11a/b/g/n, GPRS, Bluetooth)<br />

• Odkrywają, mapy i punkty dostępu bezprzewodowego<br />

• Nie wymagają specjalnych uprawnień lub<br />

instalacji oprogramowania, co daje dokładny<br />

obraz z sieci<br />

www.<strong>hakin9</strong>.org 39


BEZPIECZNA FIRMA<br />

Rysunek 5. Przykład wykrycia podatności o wysokim ryzyku<br />

• W teoretycznie maksymalnej wydajności, skanowanie<br />

całej sieci zajmuje mniej niż 30 minut<br />

• Kontrola obciążenia sieciowego umożliwia skanowanie<br />

bez zakłóceń użytkowników<br />

4. Wiele posiada Interface Zarządzania i opcji konfiguracyjnych,<br />

które pozwalają na:<br />

• Całkowite zarządzanie urządzeniem skanowania,<br />

prosty w użyciu interfejs www<br />

• Zarządzanie wieloma serwerami skanowania z jednej<br />

lokalizacji<br />

• Kontrola każdego skanowania konfiguracji serwera<br />

w rozproszonym systemie zarządzania<br />

• Możliwość tworzenia wielu użytkowników i przypisywania<br />

im kompetencji<br />

• Skanowanie określonych adresów IP, przeglądanie<br />

raportów skanów, planowanie nowych itp.<br />

• Podsumowanie stwierdzonych luk według numerów<br />

IP urządzeń sieciowych (Rys. 1)<br />

• Podsumowanie stwierdzonych luk według usług sieciowych<br />

(Rys. 2)<br />

• Generowanie raportów porównawczych (nowy z poprzednim),<br />

co pozwala śledzić zmiany w stanie zabezpieczeń<br />

sieci<br />

5. Każdy raport zawiera wykresy opisujące ryzyko<br />

i rekomendacje działań naprawczych, przykładowe<br />

fragmenty (Rys. 3, Rys. 4).<br />

Zabezpieczanie sieci jest inwestycją<br />

zwrotnych korzyści<br />

Korzyści wynikające z zastosowania automatycznego<br />

audytora podatności są przedstawione poniżej:<br />

• Bieżąca informacja na temat zagrożeń w sieci, pokazująca<br />

obszary najbardziej podatne na wyciąganie<br />

tajnych informacji, oraz w stanie wysokiego<br />

ryzyka<br />

• Dokładne dane dotyczące oceny podatności zwiększa<br />

zaufanie i reputację firmy<br />

• Analizy i badania zagrożenia sieci, zapewniają<br />

możliwość skupienia się na tych najbardziej krytycznych,<br />

zapobiegając atakom<br />

• Znaczące wyniki, w tym działania naprawcze<br />

umożliwiają bardziej skuteczne rozwiązywania<br />

problemów<br />

• Termin realizacji prowadzone przez konsultanta narażają<br />

przedsiębiorstwo w czasie między skanowaniami<br />

• Bieżące koszty niezbędne do utrzymania takiego<br />

samego poziomu bezpieczeństwa sieci są niższe ze<br />

względu na sposób zautomatyzowany i terminowy,<br />

w którym można przeprowadzić oceny i działania<br />

Podsumowując, przeprowadzanie automatycznej<br />

oceny zagrożenia w sposób bardziej systematyczny<br />

zmniejsza szansę wykorzystania niewykrytych podatności.<br />

Ręczne testy bezpieczeństwa są z natury przestarzałe,<br />

a w momencie dostarczania raportu, raport<br />

ten już jest nieaktualny. Automatyczny proces ciągłego<br />

audytowania, pojawiających się alertów i jakości wyników<br />

raportu wzmacnia poziom bezpieczeństwa informacji.<br />

Zwrot z inwestycji następuje bardzo szybko<br />

ze względu na ciągłe aktualizacje oraz nowe techniki<br />

oceny zagrożeń. Zapewnia to szybsze i skuteczne reagowania<br />

na incydent.<br />

MACIEJ KARMOLIŃSKI<br />

– WICEPREZES ZARZĄDU PROCERTIV SP. Z O.O.<br />

Kontakt do autora: m.karmolinski@procertiv.pl<br />

40<br />

2/2011


Systemy wspomagające zarządzanie polityką bezpieczeństwa<br />

Systemy wspomagające<br />

zarządzanie polityką<br />

bezpieczeństwa<br />

„Gartner szacuje, że 70% przypadków naruszania polityki bezpieczeństwa<br />

prowadzących do powstawania strat w przedsiębiorstwie jest wynikiem<br />

działań własnych pracowników.... Bez wątpienia, przedsiębiorstwa<br />

muszą odnaleźć równowagę pomiędzy otwartym dostępem do danych,<br />

a przerośniętym systemem bezpieczeństwa mogącym szkodzić ich interesom.”<br />

John Pescatore, Gartner Inc.<br />

TriGeo SIM<br />

Polityka bezpieczeństwa IT w czasie rzeczywistym<br />

Jak się ma Twoja sieć?<br />

Bezpieczeństwo sieci korporacyjnej to wiele systemów<br />

i urządzeń (zapory, programy antywirusowe i antyspamowe,<br />

IDS, IPS, UTM). Każdy element infrastruktury<br />

prowadzi swój własny rejestr zdarzeń. Dziesiątki plików,<br />

setki wpisów na godzinę. To tu tak naprawdę spoczywa<br />

wiedza o szczelności systemu. Tu jest zapisane<br />

bezpieczeństwo sieci korporacyjnej. Wystarczy tylko<br />

czytać wszystkie pliki z rejestracją zdarzeń – stale i na<br />

bieżąco – i umiejętnie powiązać wpisy z różnych zasobów.<br />

Arcyciekawe zadanie dla administratorów sieciowych<br />

- żmudne, czasochłonne, na zaraz (bo przecież<br />

bezpieczeństwo nie znosi przestojów) i w zasadzie nierealne.<br />

Z pomocą przychodzą rozwiązania typu SIEM.<br />

Przecież w dzisiejszych czasach analiza zagrożeń i aktywne<br />

reagowanie na te zagrożenia w czasie rzeczywistym<br />

to nie luksus - to konieczność.<br />

Co tak na prawdę oznacza SIEM?<br />

System TriGeo, produkowany przez amerykańską firmę<br />

o tej samej nazwie, której platynowym dystrybutorem<br />

na Polskę jest Xnet Communications Polska Sp.<br />

z o.o., jest właśnie rozwiązaniem z obszaru SIEM czyli<br />

Security Information and Event Management (zarządzanie<br />

zdzarzeniami i informacjami bezpieczeństwa).<br />

Systemy typu SIEM charakteryzują się pewnym zakresem<br />

funkcjonalności dostarczanym przez różnych producentów<br />

w inny sposób. Podstawowym zagadnieniem<br />

produktów SIEM jest realizacja analizy w czasie rzeczywistym<br />

alertów bezpieczeństwa generowanych przez<br />

infrastrukturę informatyczną rozumianą jako urządzenia<br />

sieciowe, w tym stacje robocze i serwery oraz aplikacje.<br />

Aby dokonywać wiarygodnej analizy pod kątem<br />

bezpieczeństwa, która będzie przedstawiała rzeczywistą<br />

wartość techniczną i biznesową, system musi posiadać<br />

mechanizmy gromadzenia, składowania, przetwarzania,<br />

korelowania danych i wreszcie odpowiedniej ich<br />

prezentacji. Nie można też zapominać o stałym monitoringu<br />

elementów infrastruktury i systemie alarmowania<br />

i raportowania.<br />

www.<strong>hakin9</strong>.org 41


KLUB TECHNICZNY<br />

Dlaczego TriGeo?<br />

TriGeo to odpowiedź na wewnętrzne zagrożenie, obniżanie<br />

poziomu bezpieczeństwa przez pracowników,<br />

próby nieautoryzowanego logowania, wykorzystanie<br />

niebezpiecznych lub niedozwolonych aplikacji, a także<br />

kombinacji niebezpiecznych działań. System, dzięki<br />

wbudowanym funkcjom analizującym i korelującym<br />

zdarzenia w czasie rzeczywistym, przekazuje informacje<br />

o ewentualnych zagrożeniach na bieżąco, a nawet<br />

wyprzedza i blokuje niebezpieczne działania. Pozwala<br />

stworzyć ramy analizy behawioralnej na poszczególnych<br />

końcówkach infrastruktury sieciowej. Do administratora<br />

sieci trafia zagregowany i przeanalizowany raport<br />

z logów z wszystkich urządzeń sieciowych, a nie olbrzymia<br />

ilość nieinterpretowanych plików. Daje to możliwość<br />

koncentracji na kluczowych elementach korporacyjnej<br />

polityki bezpieczeństwa sieci.<br />

Jak to działa?<br />

System TriGeo analizuje działanie elementów sieci na<br />

podstawie informacji z niej pozyskanych. Dzieje się to<br />

w ramach dwóch struktur. Pierwsza struktura oparta jest<br />

o architekturę agentową, przeznaczoną dla systemów<br />

operacyjnych Windows, Linux, MacOSX, Solaris. Integracja<br />

polega na instalacji serwisu agenta i konfiguracji<br />

sensorów czytających dane z odpowiednich logów systemu<br />

operacyjnego oraz zainstalowanych aplikacji. Druga<br />

struktura to system bezagentowy, przeznaczony przede<br />

wszystkim dla urządzeń sieciowych, na których nie ma<br />

możliwości zainstalowania serwisu agenta czyli switche,<br />

routery, firewalle sprzętowe. TriGeo jest w stanie osbłużyć<br />

infrastrukturę IT składającą się nawet z 5000 końcówek<br />

w ramach obu struktur. W architekturze agentowej<br />

dane z logów są przechwytywane przez sensory Tri-<br />

Geo jeszcze przed zapisaniem w pliku z logiem na dysku<br />

komputera, co zabezpiecza przed manipulacją i zapewnia<br />

działanie w czasie rzeczywistym. Zdecydowaną<br />

zaletą struktury agentowej jest komunikacja szyfrowana<br />

przez SSL, przyjazna dla przepustowości, niezawodna i<br />

gwarantująca kompletność danych. W przypadku architektury<br />

bezagentowej sensory TriGeo przechwytują logi<br />

nadesłane przez urządzenia sieciowe do syslogu Tri-<br />

Geo. Dane zebrane w ramach obu struktur, trafiające do<br />

serwera TriGeo, są agregowane i korelowane w pamięci<br />

RAM, co zapewnia realne działanie w czasie rzeczywistym,<br />

następnie dla celów archiwalnych zostają zapisa-<br />

42<br />

2/2011


Systemy wspomagające zarządzanie polityką bezpieczeństwa<br />

ne w bazie danych serwera TriGeo. Zebrane i gromadzone<br />

dane podlegają anlizie na podstawie predefiniowanych<br />

lub konfigurowanych na bieżąco reguł. System Tri-<br />

Geo jest dostarczany z ponad 200 predefiniowanymi regułami.<br />

Reguły podstawowe poszukują wystąpień określonych<br />

zdarzeń. Część z nich domyślnie jest włączona<br />

dzięki czemu TriGeo od razu po uruchomieniu może być<br />

gotowe do użytku. Ciekawym rozwiązaniem jest tutaj zestaw<br />

reguł określanych jako NATO5. Są to rozbudowane<br />

reguły stworzone na podstawie doświadczeń klientów,<br />

którzy chcieli podzielić się nimi z TriGeo i przez to zostały<br />

umieszczone w kolejnych unowocześnieniach systemu.<br />

Nazwa pochodzi od piątego artykułu NATO mówiącego<br />

że „napaść na jednego z członków NATO jest uznawana<br />

za napaść na wszystkich członków sojuszu”. Reguły<br />

NATO5 poza wyszukiwaniem wystąpień określonych<br />

zdarzeń, mają najczęściej skonfigurowane akcje pozwalające<br />

na podejmowanie przez system TriGeo automatycznej<br />

reakcji na wykryte zdarzenia. Może to oznaczać<br />

powiadomienie wybranych administratorów, ostrzeżenie<br />

użytkownika, wylogowanie, blokowanie adresu IP, odcinanie<br />

od sieci, zatrzymanie lub uruchamianie procesów<br />

czy odcinanie portów. Każdą z reguł można po prostu<br />

włączyć, dowolnie modyfikować i kopiować wykorzystując<br />

jako szablony dla nowych reguł. Administrator TriGeo<br />

ma również możliwość tworzenia zupełnie nowych reguł,<br />

spełniających jego wymagania.<br />

Kluczowe cechy<br />

TriGeo posiada bardzo rozbudowany i zaawansowany<br />

zestaw funkcjonalności. Mówimy tu przede wszystkim<br />

o analizie i korelacji logów, która jest typowym atrybutem<br />

systemów SIEM. W tym jednak przypadku system<br />

pozwala na tworzenie nieliniowych, wielowątkowych<br />

korelacji zdarzeń w czasie rzeczywistym na podstawie<br />

monitoringu wszystkich znanych protokołów transmisji<br />

danych. Dodatkowo dostarczono administratorom<br />

systemów mechanizmy aktywnego reagowania. Dzięki<br />

temu obsługa zdarzeń przy pomocy funkcji automatycznej<br />

notyfikacji może być wykorzystywana w zależności<br />

od definicji reguł. Autetem systemu jest dostęp<br />

do kilkudziesięciu predefiniowanych wzorców aktywnego<br />

reagowania. Bardzo istotną zaletą systemu TriGeo<br />

jest również możliwość definiowania i generowania wyspecjalizowanych<br />

raportów na pdstawie klasyfikacji incydentów,<br />

przeznaczonych dla osób z różnego szczebla<br />

w organizacji. Same incydenty, informacje i zdarzenia<br />

mogą zostać okreslone przez wagi i priorytety w zalezności<br />

od poziomu zagrożenia i wartości danych. System<br />

TriGeo to jednak przede wszystkich rozwiązanie,<br />

które ma wspierać działania administratorów korporacyjnych<br />

sieci, a co za tym idzie zastosowano w nim szereg<br />

narzędzi interakcji oraz usprawniających i ułatwijących<br />

pracę, głównie poprzez zestaw ponad 200 predefiniowanych<br />

reguł korelacji oraz system automatycznego<br />

alarmowania odpowiednich osób o zaistniałych zagrożeniach<br />

przy pomocy różnych kanałów komunikacyjnych:<br />

email, telefon komórkowy, pager lub PDA.<br />

Uznany produkt<br />

TriGeo jest cenionym rozwiązaniem na rynku. Ugruntowało<br />

swoją pozycję jako Lider 2007 Gartner Magic<br />

Quadrant dla SIEM, i corocznie zdobywa najcenniejsze<br />

nagrody, między innymi 2010 SC Magazine Reader<br />

Trust Award, 2007 Gartner Best Execution of a Midmarket<br />

IT Solution oraz SC Magazine Best Buy of 2010,<br />

2009, 2008, 2007, 2006 i 2005 for Event Management.<br />

Rozwiązanie ma wielu klientów na kluczowych rynkach<br />

takich jak, usługi finansowe, służba zdrowia, instytucje<br />

rządowe i media, ponieważ pozwala wypełnić<br />

firmom narzucone z góry regulacje prawne dotyczące<br />

standardów bezpieczeństwa. Każda firma, która przechowuje<br />

rozbudowane bazy danych o klientach podlega<br />

wielu regulacjom: PCI, GLBA , NCUA, FDIC, HIPAA,<br />

SOX... TriGeo jest systemem, który w sposób rzeczywisty,<br />

a nie tylko na papierze, rozwiązuje problem wywiązywania<br />

się z obowiązków prawnych jakie niosą ze sobą<br />

wymienione regulacje.<br />

Co tak na prawdę wyróżnia TriGeo?<br />

Raport Gartner Magic Quadrant 2010 określa system Tri-<br />

Geo jako łatwy we wdrożeniu i zapewniający bogaty zasób<br />

już zintegrowanych funkcji SIEM, predefiniowanych<br />

reguł korelacji i raportów w pełni zaspokajających potrzeby<br />

klientów. Raport Gartnera za zdecydowaną zaletę<br />

systemu uznaje agenta TriGeo dla Windows, który może<br />

być skonfigurowany pod kątem aktywnego powiadamiania.<br />

Rozwiazanie umożliwiające kontrolę portów USB<br />

oraz monitoring offline jest również chwalone – znacznie<br />

poszerza zakres ochrony i monitoringu. Poza elementami<br />

opisanymi przez raport GMQ na szczególną uwagę<br />

zasługuje bardzo szeroka i rozbudowana lista kompatybilnych<br />

urządzeń sieciowych, czyli tych elementów infrastruktury,<br />

na które nie można nanieść sieci agentów.<br />

Okazuje się, że obszar współpracujących z TriGeo urządzeń<br />

jest znacznie większy niż jednorodne rozwiązania<br />

jednego producenta, co sprawia, że rozwiązanie świetnie<br />

sprawdza się w środowiskach heterogenicznych. Zdecy-<br />

www.<strong>hakin9</strong>.org 43


KLUB TECHNICZNY<br />

dowanie wyróżniającą cechą TriGeo jest funkcjonalność<br />

Drag&Drop, która bardzo usprawnia pracę i ułatwia zarządzanie<br />

intuicyjnym systemem. Jednak największą zaletą<br />

systemu, świadczącą o jego sile jest realizacja analizy<br />

w oparciu o przetwarzanie zdarzeń już na poziomie<br />

pamięć RAM, a nie w bazie danych, co sprawia że system<br />

potrafi dokonywać korelacji w czasie rzeczywistym.<br />

Więcej informacji o produkcie na www.trigeo.pl<br />

ATOS<br />

Bezpieczeństwo i rewizja działań IT z szyfrowaniem<br />

i rejestrowaniem sesji zdalnego dostępu<br />

System ATOS, stworzony przez firmę Xnet<br />

Communications, to odpowiedź na coraz<br />

większe zapotrzebowanie korporacji w obszarze<br />

outsourcingu IT. Jest to doskonałe<br />

uzupełnienie systemu TriGeo w obszarze zarządzania<br />

polityką bezpieczeństwa IT. Podczas<br />

gdy TriGeo jest swego rodzaju strażnikiem<br />

sieci, obserwuje środowisko, poszukuje<br />

anomalii, ATOS stanowi grupę reagowania<br />

– ochrania zasoby korporacyjne, uszczelnia<br />

bezpieczeństwo, maskuje hasła systemowe,<br />

dostarcza narzędzia do rozwiązania problemu,<br />

dokumentuje wykonane działania w postaci<br />

filmu i pozwala udowodnić, że reakcja<br />

była zgodna z polityką bezpieczeństwa.<br />

Wyobraźmy sobie sytuację w której mamy dostawcę<br />

usług IT i korporację, która takich usług poszukuje. Zostaje<br />

podpisana umowa SLA czyli wydanie zgody dostępu<br />

do wewnętrznej infrastruktury IT korporacji. Jednak<br />

podczas świadczenia usług okazuje się, że ich odbiorca<br />

nie ma absolutnie żadnej udokumentowanej informacji<br />

na temat tego co było robione, gdzie, przez<br />

kogo, kiedy i co najważniejsze jak. Dzięki systemowi<br />

ATOS znamy odpowiedzi na te pytania. Rozwiązanie<br />

działa jak brama rejestrująca wszelkie działania mające<br />

miejsce w wewnętrznej infrastrukturze IT zabezpieczając<br />

zdalne sesje dostępu, monitorując pracę i zapisując<br />

jej przebieg. Na szczególną uwagę zasługują zaawansowane<br />

funkcje maskowania haseł, zapisywania filmów<br />

z sesji i możliwość skryptowania zadań.<br />

W rezultacie otrzymujemy zaawansowany system kontroli<br />

outsourcingu IT. Wiemy kiedy został dokonany serwis,<br />

jak długo trwał, co zostało zrobione i na jakich maszynach.<br />

System ATOS to przede wszystkim gwarancja<br />

bezpieczeństwa. Możemy określić gdzie outsourcer może<br />

się dostać, mamy pełną kontrolę nad chwilowym dostępem<br />

i ukrywamy hasła systemowe udostępniając jedynie<br />

maski. System ATOS zezwala na wielodostęp,<br />

dzięki czemu wielu specjalistów może pracować nad<br />

jednym problemem co sprzyja zadaniowemu łączeniu<br />

sił. Jest to bardzo przydatna funkcjonalność szczególnie<br />

w przypadku konieczności integracji systemów podczas<br />

fuzji, przejęć czy reorganizacji zasobów.<br />

Jakie uzyskujemy korzyści? Przede wszystkim dokumentację<br />

– pełen zapis interakcji człowieka z maszyną.<br />

Dokumentacja pozwala tworzyć bibliotekę wiedzy – składować<br />

know-how, wyszukiwać i odtwarzać rozwiązania.<br />

Kolejną zaletą systemu ATOS jest możliwość tworzenia<br />

skryptów w języku LUA. Takie rozwiązanie pozwala na<br />

automatyzację zadań powtarzalnych, tworzenie makr do<br />

delegowania zadań oraz dystrybucję wiedzy w organizacji.<br />

Bogaty zestaw statystyk umożliwia analizę zaangażowania<br />

zasobów, występowania incydentów i ich charakteru.<br />

Koniec końców, posiadamy system, który optymalizuje<br />

koszty, daje argumenty do dyskusji o efektywności<br />

SLA, skraca czas rozwiązywania problemów i dostarcza<br />

dane do planowania inwestycji.<br />

Więcej informacji o produkcie na www.xdsnet.pl/atos/<br />

44<br />

2/2011


Odzyskiwanie danych po polsku, czyli jak nie stracić danych odzyskując je<br />

Odzyskiwanie danych po<br />

polsku, czyli jak nie stracić<br />

danych odzyskując je<br />

Artur Skrouba<br />

Istnieją sytuacje, w których tracimy dane. Cenne dane.<br />

Tracimy je na ogół z własnej głupoty, z braku wiedzy lub<br />

z zaniedbania. Nasz twardy dysk przestał działać.<br />

W takich momentach musimy zgłosić się do specjalisty od<br />

odzyskiwania danych.<br />

Kto to jest: specjalista od odzyskiwania danych?<br />

Jaką szkołę trzeba skończyć bądź na jakim wydziale<br />

studiować, aby posiąść taką wiedzę?<br />

Otóż nie ma takiej szkoły (przynajmniej w Polsce) ani<br />

takiego kierunku. Więc kto może zostać takim specjalistą?<br />

I tu dotykamy sedna sprawy.<br />

Po utracie cennych danych bardzo często ulegamy<br />

panice. W konsekwencji każdy kto stwierdzi, że<br />

może nam pomóc jawi się nam jako biblijny Mojżesz,<br />

który może nas przeprowadzić przez wzburzone morze<br />

targających nami wątpliwościami: odzyskamy dane<br />

czy nie ? I niestety – w znakomitej większości przypadków<br />

tenże zbawca wylewa na nas nie kubeł zimnej<br />

wody, ale faktycznie całe Morze Czerwone. Diagnoza<br />

jest bezlitosna – danych odzyskać się nie da.<br />

Tak po prostu.<br />

Czy aby na pewno? Może ktoś inny da radę? Ale kto?<br />

Kolejny znajomy? A może ktoś, kto już odzyskał kiedyś<br />

dane. Ktoś polecony. Ok, zgadzamy się na wszystko<br />

– tym razem musimy już zapłacić. Rozmawiamy telefonicznie<br />

– Pan Henio (imię umowne) rzuca bardzo fachowymi<br />

terminami, których nie rozumiemy ni w ząb.<br />

Ale co tam, wiadomo fachowiec chyba zna się na rzeczy.<br />

Po oddaniu dysku spokojnie czekamy na telefon<br />

z dobrymi wiadomościami. Zaczynamy się niepokoić.<br />

W końcu wyrok – dane są nie do odzyskania .<br />

Odbieramy dysk – elektronika polutowana, plomby<br />

zdjęte, dysk otwarty. Bez cienia większych nadziei<br />

zwracamy się do profesjonalnej firmy zagranicznej<br />

(np. Seagate w Berlinie). Po kilku dniach dostajemy<br />

wyniki analizy – są porażające. Dobra informacja<br />

to taka, że w dysku uszkodzeniu uległ jeden układ<br />

scalony – teoretyczny koszt odzyskania danych to 200<br />

euro. Teoretyczny bo danych odzyskać się już nie da.<br />

Mojżesz a potem Henio „złota rączka” zniszczyli platery<br />

i nadpisali głupotami obszar serwisowy dysku. Koniec.<br />

Tym razem definitywny.<br />

Inny przykład.<br />

Kolejny przypadek. Utraciliśmy dane w wypadku (nomen<br />

omen) upadku twardego dysku. Zgłaszamy się do<br />

profesjonalnej firmy. Przynajmniej tak wygląda. Piękne<br />

i okazałe laboratorium. Podpisujemy dokumenty i spokojnie<br />

wracamy do codziennych zajęć. Po kilku dniach<br />

cisza. W końcu dostajemy telefon. Dostajemy informacje,<br />

że jest to wyjątkowo ciężki przypadek. Koszt odzyskania<br />

danych to prawie kwota pięciocyfrowa. Bardzo<br />

drogo. Chyba za drogo. Spróbujemy w innej firmie.<br />

Chcemy odebrać dysk. Okazuje się, że musimy<br />

zapłacić za wykonaną analizę i rezygnację. Są także<br />

koszty za zużyte części. Razem prawie tysiąc złotych.<br />

Trudno – płacimy. Chcemy odzyskać dysk. Idziemy do<br />

innej firmy – tam specjaliści rozkładają bezradnie ręce.<br />

Dysk jest tak zniszczony, że danych nie można odzyskać.<br />

Idziemy do innej firmy. I do kolejnej. Wszędzie<br />

to samo – dane są nie do odzyskania. Niektóre firmy,<br />

słysząc w jakiej firmie byliśmy na początku nawet nie<br />

chcą przyjmować dysku do analizy. Z góry wiedzą, że<br />

danych się już nie odzyska. Załamani wracamy do firmy,<br />

w której byliśmy na początku. Musimy odzyskać te<br />

dane. Zgadzamy się na kwotę, która z początku wydawała<br />

nam się za wysoka. Niestety – słyszymy, że dysk<br />

uległ znacznemu pogorszeniu w wyniku pracy innych<br />

osób i koszt odzyskania danych wzrasta do kilkunastu<br />

tysięcy złotych.<br />

www.<strong>hakin9</strong>.org 45


FELIETON<br />

Dwa różne przypadki – pierwszy, opisujący bardzo<br />

częsty przypadek podejmowania próby odzyskania<br />

danych przez osoby nie mające jakiegokolwiek bądź<br />

wystarczającego o tym pojęcia. Wśród większości<br />

osób pokutują fałszywe legendy na temat zarobków<br />

osób zajmujących się tym w sposób zawodowy. I chyba,<br />

dlatego powstają, jak grzyby po deszczu firmy reklamujące<br />

się jako „profesjonalne” podmioty oferujące<br />

usługi odzyskiwania danych i to w każdym zakresie.<br />

A tak naprawdę nie mające pojęcia o większości standardowych<br />

terminów występujących w tej branży.<br />

Drugi przypadek – to funkcjonowanie firmy, która delikatnie<br />

mówiąc jest nieuczciwa (mówiąc wprost – trąci<br />

kryminałem). W praktyce taka firma wcześniej czy<br />

później źle skończy – rynek szybko zweryfikuje ją negatywnie<br />

(o ile nie zrobią tego wcześniej organy ścigania).<br />

Z drugiej strony na polskim rynku funkcjonuje kilka<br />

firm z tradycjami, mającymi odpowiedni warsztat,<br />

know how oraz mogącymi się poszczycić wieloma tysiącami<br />

przypadków skutecznego odzyskania danych.<br />

Są to na ogół firmy, mające udokumentowane osiągnięcia<br />

w postaci medali, dyplomów czy innych wyróżnień.<br />

Metody ich działań są przejrzyste i sprowadzają<br />

się do prostej zasady: są dane – jest zapłata. Dzięki<br />

swojej wiedzy mogą sobie na to pozwolić – mają<br />

umiarkowane ceny i dużą skuteczność.<br />

W naszym przypadku ważne jest to, aby nie wybrać<br />

złej firmy jako podmiotu mogącego zniszczyć nasze<br />

dane lub po prostu nas okraść.<br />

Poniżej przedstawiamy kilka podstawowych zasad,<br />

którymi powinniśmy się kierować przy wyborze firmy,<br />

mającej odzyskać nasze cenne dane:<br />

• zawsze czytajmy regulaminy, zamówienia bądź<br />

umowy przyjęcia zleceń – szczególnie pod kątem<br />

ukrytych dodatkowych opłat,<br />

• sprawdzajmy doświadczenie firmy poprzez wiek<br />

(data wpisu do KRS, wiek domeny),<br />

• próbujmy zasięgnąć opinii wśród znajomych,<br />

szczególnie wśród osób, pracujących w działach<br />

IT innych firm (opinie z for internetowych traktujmy<br />

z pewną ostrożnością ze względu na duży ruch<br />

osób piszących pod zamówienie i robiących dobry<br />

bądź zły PR – szczególnie dla konkurencji),<br />

• sprawdzajmy cenniki – ceny w stylu „od 300 pln”<br />

bez podania cen maksymalnych są dyskwalifikujące,<br />

• wybierajmy firmy, gdzie wstępna analiza jest bezwarunkowo<br />

bezpłatna – w innym przypadku firma,<br />

oferująca analizę bezpłatną warunkowo w praktyce<br />

może nic nie robić, tylko przyjmować nośniki<br />

i stosować zaporowe ceny za ich ewentualne odzyskanie<br />

– po czym żyć z samych opłat za rezygnację,<br />

• wybierajmy firmy posiadające wyróżnienia w postaci<br />

dyplomów, medali itp.,<br />

• unikajmy firm, które podają skuteczność swoich<br />

usług na poziomie zbliżonym do 100% (np. 95%)<br />

- średni poziom światowych potentatów w tej branży<br />

wynosi max. niecałe 80%,<br />

• szukajmy firm, które wykonują wstępną analizę od<br />

ręki i bez żadnych opłat – umożliwia to podjęcie<br />

decyzji bez pozostawiania nośnika w nieznanym<br />

miejscu.<br />

• w mniejszych miejscowościach nie szukajmy filii<br />

dużych firm – jeżeli już, to kontaktujmy się bezpośrednio<br />

z laboratoriami,<br />

• domagajmy się rozmowy ze specjalistą – wybierajmy<br />

firmy, których specjalista wykaże zainteresowanie<br />

na temat tego co się stało, jakie były okoliczności<br />

awarii i jej objawy – po prostu chętnie<br />

będzie rozmawiał na ten temat i będzie w stanie<br />

przybliżyć możliwy powód awarii oraz określić termin<br />

i koszt odzyskania danych,<br />

• unikajmy firm, które są zbiurokratyzowane – tego<br />

typu firmy nastawione są z reguły na masową<br />

usługę (przez co nie zawsze dokładną),<br />

• unikajmy, jak ognia firm, które podają ten sam fizyczny<br />

adres laboratorium – na ogół oznacza to<br />

tzw. farmę firm, które ściśle kooperują ze sobą<br />

w celu np. podbijania ceny.<br />

Oczywiście przestrzeganie powyższych zaleceń nie<br />

w każdym przypadku nam zagwarantuje, że zawsze<br />

trafimy na kogoś rzetelnego i dysponującego stosowną<br />

wiedzą. Jednak te szanse zwiększą się do maksimum<br />

możliwości.<br />

ARTUR SKROUBA<br />

Kontakt z autorem przez Redakcję<br />

46<br />

2/2011


Zakończenie<br />

Słowo<br />

kończące<br />

Drodzy Czytelnicy,<br />

Dziękujemy za lekturę naszego magazynu.<br />

Jeśli macie sugestie odnośnie tematów, które chcielibyście, żeby ukazały się w kolejnych<br />

numerach, to prosimy o kontakt z Redakcją.<br />

Aktualne informacje o najbliższym numerze znajdziesz na naszej<br />

stronie www.<strong>hakin9</strong>.org/pl.<br />

Następny numer dostępny on-line<br />

ostatniego dnia lutego 2011<br />

www.<strong>hakin9</strong>.org 47

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!