hakin9
hakin9
hakin9
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