Professional Documents
Culture Documents
�������������������������������
�����������������������������
������������������������������
���������������
� �������������
��������
���������������
�������������������������
��������������������������������
�������������������
����������������������������������������
��������������� �������������
�� �������������������������������������� �� ������������������������
�� ����������������������������������������� �� �����������������
����������������������� �� ������������������������������
�� �������������������������������������� �������������������
�� ����������������������������������������� �� ������������������������
�� ��������������������� ������������������������
� ��������������������
�� ��������������������������������������
�� �������������������������
�������������������
�� �����������������������������
���������
���������������
CYKL SZKOLEŃ
Z OBSZARU
ZARZĄDZANIA
BEZPIECZEŃSTWEM IT
�
����� ��� ������� ������� ������� ��������� ��������������� ����������� ��� ������� ���� ������������� ������ ���
����������� �������� ������������ �� ������������ �������� �� �������� ������������ ���������������� ���� ���
����� ��� �� ������� ������� ������������ ���������� ���� �� ���������� ������ ����� ����������� ������������
������������������������������������������������������������������������������������������������������������
�������������������������������������������������������������������������������
������� � ��������
���������
�������������������� ��������� ���������
�����������
��������������������������������������������
��������������
��������������������������� �������
9/2010 (64)
SPIS TREŚCI
NARZEDZIA
gów programów backupowych? Wydajesz pieniądze
na modernizację serwera? To i tak nie daje pewności,
że w razie awarii odzyskasz pliki. Wiesz o tym! A prze-
6 Słuchawki iBOX HPI 99MV cież są prostsze sposoby zabezpieczenia najważniej-
7 MP4 iBOX Wee szych dla Twojej firmy danych.
34 Stanisław Rejowski
ATAK
Tempo przyrostu ilości cyfrowych danych zwiększa się
z roku na rok. Eksperci z International Data Corpora-
tion (IDC) prognozują, że do 2020 roku objętość cyfro-
8 Pisanie WIN32 shellcode w kompilatorze C wego wszechświata zwiększy się 67-krotnie, a w sa-
Didier Stevens mym tylko 2010 roku świat zaleje 1,2 zettabajtów in-
Czy trudno jest napisać shellcode w kompilatorze formacji elektronicznych. Co zrobić, by nie utonąć
C?Jeśli dokładnie przeczytasz ten tekst łatwo się te- w potopie elektronicznych informacji oraz jak efektyw-
go nauczysz.jeśli posiadasz doświadczenie w pisaniu nie przechowywać dane?
programów w WIN32 C/C++ i WIN32shelcode.
PRAKTYKA
18 Szkodliwe oprogramowanie dla gier –
kompletny ekosystem
Piotr Kupczyk
Jeszcze kilka lat temu nie do pomyślenia było, że ktoś 38 Neurony w komputerze
mógłby chcieć ukraść nam wirtualne przedmioty, pie- Wojciech Terlikowski
niądze, postaci lub konto z gry wideo. Teraz to rzeczy- Sztuczne sieci neuronowe posiadają wiele zalet, któ-
wistość, która dodatkowo stała się poważnym, zorga- re pozwoliły im stać się jedną z najpopularniejszych
nizowanym biznesem cyberprzestępczym. Biznesem, metod obliczeniowych sztucznej inteligencji. Znala-
na którym hakerzy zarabiają prawdziwe, nie wirtual- zły zastosowanie w rozwiązywaniu zadań klasyfika-
ne, pieniądze. A gracze i inni użytkownicy kompute- cji, aproksymacji jak i predykcji. Artykuł przedstawia
rów cierpią... podstawowe zagadnienia związane z budową i ucze-
niem sieci. W dalszej części zaproponowano użycie
sieci neuronowej jako systemu zwiększającego bez-
OBRONA
pieczeństwo sieci komputerowej.
4 9/2010
HAKIN9 9/2010
Miesięcznik hakin9 (12 numerów w roku) Kierownik produkcji: i programy były poprawne, jednakże nie bierze
jest wydawany przez Software Press Sp. z o.o. SK Andrzej Kuca andrzej.kuca@software.com.pl odpowiedzialności za efekty wykorzystania ich; nie
gwarantuje także poprawnego działania programów
Prezes wydawnictwa: Paweł Marciniak Adres korespondencyjny: shareware, freeware i public domain.
Software Press Sp. z o.o. SK,
Dyrektor wydawniczy: Ewa Łozowicka ul. Bokserska 1, 02-682 Warszawa, Polska Wszystkie znaki firmowe zawarte w piśmie są
tel. +48 22 427 36 91, fax +48 22 224 24 59 własności odpowiednich firm.
www.sdjournal.org cooperation@software.com.pl Zostały użyte wyłącznie w celach informacyjnych.
Redaktor naczelny:
Katarzyna Dębek katarzyna.debek@software.com.pl Dział reklamy: adv@software.com.pl
Osoby zainteresowane współpracą
Skład i łamanie: Redakcja dokłada wszelkich starań, by publikowane w prosimy o kontakt:
Tomasz Kostro www.studiopoligraficzne.com piśmie i na towarzyszących mu nośnikach informacje cooperation@software.com.pl
Reklama
www.hakin9.org 5
NARZĘDZIA
Słuchawki Producent
iBOX
OCENA «««««
Jednym z podstawowych elementów wypo- Słuchawki testowane były oko-
sażenia każdego użytkownika komputerów ło tygodnia i w tym czasie dzia-
są słuchawki. Modeli słuchawek jest bardzo łały bardzo dobrze – nie by-
dużo – nauszne, douszne, przewodowe, bezprzewo- ło żadnych problemów. Nie
dowe. Tym razem testujemy słuchawki nauszne firmy wiadomo jak zachowują się
iBOX model HPI 99MV. po dłuższym użyciu, czy
Słuchawki te wg specyfikacji komunikują się z urzą- głośniki brzęczą czy mikro-
dzeniami za pomocą kabla, ale na szczęście jest on fon nie zniekształca dźwię-
całkiem długi – 2,4 m zupełnie wystarczy w większo- ków. Innym testem, który za-
ści sytuacji. Złącze typu mini-Jack pozwala na użycie kończył się sukcesem by-
ich prawie we wszystkich dostępnych urządzeniach ło starcie pomiędzy dwulet-
– komputerach, wieżach HiFi czy nawet w niektórych nim dzieckiem a słuchawka-
telefonach komórkowych. Słuchawki te maja wbudo- mi – po kilkunastu minutach zabawy, naciągania mi-
wany mikrofon, dzięki czemu automatycznie rozwią- krofonu oraz kabla nie udało się ich zepsuć – dobrze
zują problem komunikacji VoIP. Dodatkowo na prze- wróży na długie użycie
wodzie zainstalowany jest pilot, za pomocą którego Reasumując – słuchawki firmy iBox to dobra alter-
możemy sterować głośnością. Jego podstawowe da- natywa dla droższych modeli znanych firm. Nie wie-
ne (wg producenta) są następujące: pasmo przeno- my ja będą działać po czasie ciągłego użycia ale ja-
szenia wynosi 20Hz-20kHz, czułość mikrofonu -58+- kość do ceny jest dobry.
2 dB a skuteczność słuchawek to 105 +- 1dB. Takie
parametry wystarczają zupełnie do tego, aby przy-
zwoicie słuchać muzyki, grać w gry komputerowe czy
prowadzić konwersację za pomocą komunikatorów
internetowych (nie są to jakieś super wyniki, ale za tą
cenę jest naprawdę OK).
Pierwsze wrażenie jest pozytywne – ładnie
zapakowane w plastikowe, przeźroczyste pudełko.
Drugie wrażanie trochę gorsze – bez ostrego noża
lub nożyczek otwarcie opakowania jest niemal nie-
możliwe – natomiast nie testujemy opakowania a słu-
chawki. Wracając do słuchawek – pierwsze wrażenia
pozytywne – dobra cena (ok 45 PLN), przyzwoity wy-
gląd, jakość wykonania również dobra.
Pierwszy test – zakładamy słuchawki na głowę
– duże i miękkie nauszniki, dzięki czemu nawet przy
dłuższym słuchaniu nie uwierają. Nie mniej jednak
wydają się na pierwszy rzut oka nie wygodne – na-
cisk na uszy czy ułożenie mogą sprawiać wraże-
nie trudnych do użycia. Tutaj mała uwaga dla osób
z większą głową mogą sprawiać wrażenia jakby się
miały rozlecieć.
6 9/2010
Narzędzia
niska cena to
Typ
Odtwarzacz MP4
Strona producenta
nie wszystko
www.ibox.pl
Recenzent
Patryk Krawaczyński
OCENA «««««
iBOX Wee jest małym odtwarzaczem mp4 mowania odcisków palców. Nie trafionym pomysłem
(wymiary: 80 mm x 41 mm x 8 mm) z 1,72” jest także mała naklejka gwarancyjna obok gniaz-
wyświetlaczem CSTN (65 tys. kolorów). Mo- da zasilania, którą można bardzo szybko zniszczyć
del otrzymany do testów został wyposażony w wbudo- ze względu na mobilne przeznaczenie urządzenia.
waną pamięć o pojemności 2 GB. Dotarł zapakowany Z funkcjonalnością urządzenia jest już trochę lepiej.
w czarno – szare pudełko, na którym zostały zawar- Poruszanie się po menu jest dość intuicyjne i łatwe do
te niektóre z jego funkcjonalności: akumulator, wbu- zapamiętania, chociaż i ono nie zostało w pełni prze-
dowane radio, dyktafon, możliwość odczytu eBooków tłumaczone (np. Language). Instrukcja milczy na te-
oraz obsługa technologii Microsoft PlayFX, która ma mat blokady klawiatury – informacje te można dopiero
za zadanie zapewnienie lepszej jakości odtwarzanego uzyskać poprzez lekturę Internetu (Play+M). Maksy-
dźwięku. Po dokładnym przestudiowaniu opakowania, malny czas pracy z baterią (odtwarzanie muzyki) za-
oprócz specyfikacji technicznej w pięciu językach (ro- kładany przez producenta to 11 godzin. Po pełnym za-
syjskim, słowackim, niemieckim, angielskim i polskim) ładowaniu urządzenia za pomocą portu USB z kom-
można znaleźć dość często spotykany napis „Made putera (+/- 45 minut); ustawienia: wyłączania wyświe-
in China”. Nie jest to żadnym uchybieniem dla sprzę- tlacza po 5 sekundach, jasności 1 na 5, oszczędnym
tu, ale jest to jedynym punktem zaczepienia jeśli cho- trybie wyświetlania oraz głośności 16 na 32 pozwo-
dzi o informacje o producencie. Importerem na rynek liły na uzyskanie wyniku około 6 godzin odtwarzania
polski jest firma Impet Computers sp. z o.o. z siedzi- plików muzycznych. Jakość odtwarzania z załączony-
bą w Warszawie. Próżno też szukać informacji o pro- mi słuchawkami dousznymi oraz włączonym (z sied-
ducencie na stronie internetowej (www.ibox.eu), któ- miu trybów) MS Play FX Pure Bass jest bardzo przy-
ra mimo europejskiej domeny kieruje na polską wer- zwoita. Jeśli znudzi znam lista odtwarzania możemy
sję językową (również przy zmianie języka przeglądar- przełączyć się na radio z ręcznym lub automatycznym
ki) dość skromnej strony. Fakt ten nie budzi zbyt duże- trybem wyszukiwania stacji. Podobnie jak z muzyką
go zaufania u potencjalnego klienta szanującego so- Wee bardzo dobrze radzi sobie z wyświetlaniem ob-
bie wiarygodność elektronicznych zakupów i dalsze- razów w formacie jpeg lub bmp. Gorzej jest już z pli-
go serwisowania sprzętu – szczególnie, że na odtwa- kami video. Wyświetlacz jest na tyle mały, że sprawia
rzacz wystawiona jest bezpośrednia 24 miesięczna dyskomfort przy oglądaniu krótkiego klipu (pasek na-
gwarancja. Ponadto na bocznej stronie opakowania, wigacyjny oraz postępu nie ukrywają się w trybie peł-
która poświęcona jest angielskiemu opisowi w oczy notekstowym). W dodatku dołączone oprogramowa-
rzuca się pojedynczy polski napis o pojemności pa- nie do konwersji plików video wiesza się przy więk-
mięci, co dość dziwnie komponuje się zresztą treści. szych plikach.
W opakowaniu zostały zawarte: odtwarzacz, słuchaw- Niska cena tego odtwarzacza powinna rekompenso-
ki, płyta mini-CD, gwarancja, instrukcja oraz przewód wać niektóre jego wady. Jednak podczas jego użytko-
mini-USB. wania pozostaje przykre wrażenie, że większość rze-
Krótka instrukcja obsługi została napisana w dwóch czy była robiona po prostu po bardzo niskich kosztach
językach – polskim i angielskim. Po lekturze pierw- lub z mniejszym profesjonalizmem niż to ma miejsce
szych stron rażąco rzucają się w oczy literówki oraz w przypadku innych odtwarzaczy tej klasy. Wiele roz-
luki w tłumaczeniach (np. antenna). Sam odtwarzacz wiązań jest na dobrym poziomie, ale szczegóły spra-
prezentuje się ładnie. Po usunięciu foli ochronnej lu- wiają, że użytkownikowi może przejść przez głowę
strzana obudowa nabyła syndrom znany z laptopów myśl o złej decyzji zakupu.
pewnej firmy, które są idealną powierzchnią do zdej-
www.hakin9.org 7
ATAK
D
la celów niniejszego artykułu, określam shellco- i main (linie 45-213). Funkcja main i następujące po niej
de jako niezależny od pozycji kod urządzenia. funkcje nie są częścią generowanego shellcode, dostar-
Normalnie shellcode jest napisany w asemble- czają one wsparcia dla testowania i debugownia shell-
rze, a deweloper zwraca uwagę na tworzenie kodu nie- code i automatycznie wyodrębniają shellcode z genero-
zależnego od pozycji. Innymi słowy, że shellcode zo- wanego pliku PE (plik .exe).
stanie wykonany poprawnie bez względu na jego ad- Jak nazwy wskazują, ShellCodeStart (linia 45) jest
res w pamięci. początkiem naszego shellcode. Wywołuje funkcję
Kompilator jaki używam to Visual C++ 2008 Express. ShellCodeMain, a następnie wraca. To wszystko, co ro-
Jest on darmowy i obsługuje asemblację inline. Shell- bi. Ponieważ ten prosty kod jest rzeczywiście napisany
code generowany przy użyciu tej metody jest dynamicz- w assemblerze, a nie w C, musimy o tym poinformować
ny: nie używa stałej adresacji API, która ogranicza shel- kompilator. Konstrukcja __asm jest tym, czego potrzebu-
lcode do poszczególnych wersji systemu Windows. Me- jemy do osiągnięcia tego celu:
toda wykorzystuje kod Dave Aitel do wyszukiwania ad-
resów niezbędnych funkcji API opisanych w książce __asm
"Shellcoder's Handbook". {
Możliwość debugowania shellcode wewnątrz Visu- call ShellCodeMain
al C + + w okresie rozwoju jest ważnym wymogiem dla ret
mnie. Rozwijanie shellcode nie jest łatwe, możemy ko- }
rzystać z wszystkich pomocy jakie możemy uzyskać,
wizualny debugger jest z pewnością mile widziane. Kil- Kiedy kompilator C emituje kod maszynowy do nor-
ka projektowych decyzji było podjętych z powodu tego malnego funkcjonowania, to dodaje instrukcje insta-
wymogu. lacji i podział ramki stosu (wewnętrznej struktury da-
Metoda nie próbuje wygenerować kompaktowych nych C do przechowywania argumentów i zmien-
shellcode. Jeśli rozmiar jest problemem, zacznij od ma- nych automatycznych na stosie). Kod ten nazywa
łych, ręcznie napisanych i zoptymalizowanych shell- się odpowiednio prolog i epilog. My nie potrzebuje-
codów i wywołaj generator shellcode przez kompilator my ramki stosu funkcji ShellCodeMain. Aby poinfor-
C na późniejszym etapie. mować kompilator C że ma pominąć epilog i prolog,
Kod źródłowy, dla którego kompilator C wygeneruje dekorujemy ShellCodeMain atrybutem _ _ declspec
shellcode znajduje się między funkcjami ShellCodeStart (naked).
8 9/2010
Pisanie WIN32 shellcode w kompilatorze C
Cel funkcji ShellCodeStart jest dwojaki: zrobić pierwszy Po utworzeniu zmiennych na stosie, musimy je za-
bajt shellcode punktem wejścia, a także zapewnienie ad- inicjować. Funkcja ShellCodeInit (linia 57) realizuje kod
resu startowego, aby wyodrębnić shellcode z pliku PE. "The Shellcoder's Handbook" aby dynamicznie wyszu-
ShellCodeMain (linia 196) jest główną funkcją naszego kiwaniać adresy kernel32 dla LoadLibraryA i GetProcAd-
shellcode. Zapewnia pamięć do przechowywania da- dressA. Kod wykonuje to przez przeszukiwanie proce-
nych, zwraca kod do wyszukiwania adresów funkcji API su struktury danych, które zawierają listę załadowanych
które potrzebujemy i wykonuje nasz kod rdzenia. modułów i eksportowanych funkcji. W celu uniknięcia
Następujący wiersz (linia 198) rezerwuje pamięć na stosowania łańcuchów znaków dla nazw funkcji, wyko-
stosie dla naszych danych: rzystuje hashe (linie od 19 do 21):
www.hakin9.org 9
ATAK
001 /* 044
002 ShellCodeTemplate v0.0.1: MessageBox demo 045 void __declspec(naked) ShellCodeStart(void)
003 Source code put in public domain by Didier 046 {
Stevens, no Copyright 047 __asm
004 Except for the code in ShellCodeInit, which 048 {
is released under the GNU PUBLIC 049 call ShellCodeMain
LICENSE v2.0 050 ret
005 http://didierstevens.com 051 }
006 Use at your own risk 052 }
007 053
008 Shortcommings, or todo's ;-) 054 #pragma warning(push)
009 - find fix for function allignment 055 #pragma warning(disable:4731)
010 056
011 History: 057 void ShellCodeInit(TD_LoadLibraryA *pFP_
012 2008/10/24: start LoadLibraryA, TD_GetProcAddressA
013 2010/02/02: cleanup *pFP_GetProcAddressA)
014 */ 058 {
015 059 TD_LoadLibraryA FP_LoadLibraryA;
016 #include <windows.h> 060 TD_GetProcAddressA FP_GetProcAddressA;
017 #include <stdio.h> 061
018 062 // Shellcode functions to lookup API functions,
019 #define KERNEL32_HASH 0x000d4e88 based on
020 #define KERNEL32_LOADLIBRARYA_HASH 0x000d5786 063 // The Shellcoder's Handbook http://
021 #define KERNEL32_GETPROCADDRESSA_HASH 0x00348bfa eu.wiley.com/WileyCDA/WileyTitle/
022 productCd-0764544683.html'
023 typedef HMODULE (WINAPI *TD_LoadLibraryA)(LPCTSTR 064 // Released under the GNU PUBLIC LICENSE v2.0
lpFileName); 065
024 typedef FARPROC (WINAPI *TD_ 066 __asm
GetProcAddressA)(HMODULE hModule, 067 {
LPCTSTR lpProcName); 068 push KERNEL32_LOADLIBRARYA_HASH
025 069 push KERNEL32_HASH
026 // Add your API function pointer definitions here: 070 call getfuncaddress
027 typedef int (WINAPI *TD_MessageBoxA)(HWND hWnd, 071 mov FP_LoadLibraryA, eax
LPCTSTR lpText, LPCTSTR lpCaption, 072
UINT uType); 073 push KERNEL32_GETPROCADDRESSA_HASH
028 074 push KERNEL32_HASH
029 struct SHELL_CODE_CONTEXT 075 call getfuncaddress
030 { 076 mov FP_GetProcAddressA, eax
031 TD_LoadLibraryA FP_LoadLibraryA; 077
032 TD_GetProcAddressA FP_GetProcAddressA; 078 jmp totheend
033 079
034 char szEmptyString[1]; 080 getfuncaddress:
035 081 push ebp
036 // Add your module handles and API function 082 mov ebp, esp
pointer members here: 083 push ebx
037 HMODULE hmUSER32; 084 push esi
038 TD_MessageBoxA FP_MessageBoxA; 085 push edi
039 }; 086 push ecx
040 087 push fs:[0x30]
041 void ShellCodeMain(void); 088 pop eax
042 int WriteShellCode(LPCTSTR, PBYTE, size_t); 089 mov eax, [eax+0x0c]
043 void *ShellCodeData(void); 090 mov ecx, [eax+0x0c]
10 9/2010
Pisanie WIN32 shellcode w kompilatorze C
www.hakin9.org 11
ATAK
Teraz możemy znaleźć adres modułu user32, w któ- typedef int (WINAPI *TD_MessageBoxA)(HWND hWnd,
rym musimy odnaleźć adres funkcji API MessageBo- LPCTSTR lpText, LPCTSTR lpCaption,
xA (linia 207): UINT uType);
12 9/2010
Pisanie WIN32 shellcode w kompilatorze C
www.hakin9.org 13
ATAK
Jeśli zastanawiasz się, dlaczego postanowiłem wy- a następnie wywołujemy MessageBoxA z wskaźnikiem
szukiwać MessageBoxA z GetProcAddressA i łańcuch zna- funkcji FP_MessageBoxA i przekazuje jej niezbędne
ków, a nie z kodu "The Shellcoder's Handbook" i odpo- wartości, takie jak łańcuch znaków do wyświetlenia.
wiedniego hasha, podnosisz ważną kwestię. Nie ma Aby wygenerować shellcode, kompilujesz program
powodu, dlaczego nie można by użyć metody "The w C. Aby wyodrębnić shellcode z wygenerowanego pli-
Shellcoder's Handbook" do wyszukiwania MessageBo- ku PE, uruchamiasz program. Shellcode zostanie za-
xA. Ale to oznacza, że masz do obliczenia skrót Get- pisany w tym samym katalogu co plik .exe, z rozsze-
MessageBoxA i napisać kilka linijek kodu, aby połączyć rzeniem .bin. W przykładzie także wywołuję ShellCo-
kod z wywołaniem getfuncaddress. deMain w funkcji main (linia 230). To wykonuje shell-
I to jest coś, czego chciałem uniknąć, kiedy opraco- code po uruchomieniu programu i pozwala debugować
wywałem mój sposób generacji shellcode. Moja meto- shellcode wewnątrz Visual Studio Express przy wyko-
da, nie wymaga pisania kodu assemblera, ale możesz, rzystaniu wszystkich jego wspaniałych funkcji debugo-
jeśli chcesz. wania! Jeśli nie chcesz, aby shellcode był wykonywa-
Teraz nasze środowisko jest gotowe, wykonaj- ny podczas kompilacji, usuń z funkcji main wywołanie
my nasz kod rdzenia. Robimy to poprzez wywołanie ShellCodeMain.
ShellCodePayload i przekazanie jako wskaźnik do struk- Należy również zmienić kilka właściwości projektu Vi-
tury kontroli shellcode (linia 210): sual Studio, aby poinstruować kompilator C do wyemi-
towania odpowiednich kodów które mogą być wykorzy-
ShellCodePayload(&scc); stane jako shellcode. Kompilator C nie może emitować
plików binarnych w UNICODE, nie może optymalizo-
ShellCodePayload (linia 190) jest łatwa do zrozumienia: wać kodu i nie może dodawać do kodu ochrony stosu.
Ustaw następujące właściwości projektu jak to widać
char szHello[] = {'H', 'e', 'l', 'l', 'o', '\0'}; na Rysunku 1.
pSCC->FP_MessageBoxA(NULL, szHello, pSCC- Gdy jesteś gotowy do generowania wersji ostatecznej
>szEmptyString, 0); poleć kompilatorowi nie emitowanie kodu debugowa-
nia. Przełącz na Release zamiast Debug i usuń wszyst-
Deklarujemy i wypełniamy łańcuch wartości "Hello", kie punkty przerwania jakie masz ustawione.
14 9/2010
Pisanie WIN32 shellcode w kompilatorze C
Jeszcze jedno na co trzeba zwrócić uwagę to: nie Dodaj następujący wiersz do ShellCodeMain:
używać funkcji z biblioteki standardowej C, jak strcpy.
Jeśli potrzebujesz tych funkcji, albo napisz je samemu scc.vpData = ShellCodeData();
albo skorzystaj z podobnych funkcje w ntdll.dll.
Typowa funkcja znajdująca się w shellcode jest wtrą- ShellCodeData to funkcja którą musimy dodać po
ceniem danych (np. pliku) na koniec shellcode. Jest tak- ShellCodeMain:
że możliwe napisanie kodu C do osiągnięcia tego ce-
lu. Poniżej jest przykład z MessageBox, który wyświetla void __declspec(naked) *ShellCodeData(void)
napis załączony na końcu shellcode. {
Musimy dodać element do struktury shellcode aby __asm
przechowywać wskaźnik do załączonych danych: {
call WhereAmI
void *vpData; WhereAmI:
Reklama
www.hakin9.org 15
ATAK
Rysunek 5. Kiedy wykonamy program, shellcode jest wyodrębniony i zapisany, a następnie wykonany
16 9/2010
www.hakerzy.net www.ccns.pl www.antynet.pl www.hcsl.pl www.i-slownik.pl
Strony rekomendowane
Strony rekomendowane
www.mgibki.wordpress.com www.osdev.pl www.ochronainformacji.pl www.topsec.pl www.hackme.pl
ATAK
Szkodliwe
oprogramowanie dla gier
– kompletny ekosystem
Piotr Kupczyk
Jeszcze kilka lat temu nie do pomyślenia było, że ktoś mógłby
chcieć ukraść nam wirtualne przedmioty, pieniądze, postaci lub
konto z gry wideo. Teraz to rzeczywistość, która dodatkowo stała
się poważnym, zorganizowanym biznesem cyberprzestępczym.
Biznesem, na którym hakerzy zarabiają prawdziwe, nie wirtualne,
pieniądze. A gracze i inni użytkownicy komputerów cierpią...
N
a początek dobra wiadomość. Liczba trojanów mało. Ile zatem faktycznie jest takich szkodników? Po-
atakujących użytkowników gier zmniejszyła się niższy wykres przedstawia liczbę szkodliwych progra-
na przestrzeni minionych kilku miesięcy. Jed- mów identyfikowanych jako Trojan-GameThief wykry-
nak gracze online wciąż powinni mieć się na baczno- tych na komputerach polskich użytkowników.
ści. Blisko 12 milionów graczy World of Warcraft sta- Jak widać, do marca liczba trojanów dla gier on-
nowi atrakcyjny cel, szczególnie że niedługo ma poja- line wykrywanych w Polsce rosła, osiągając niemal
wić się kolejna wersja tego hitu. Po premierze eksper- 307 tys., po czym zaczęła powoli spadać, aż do 215
ci spodziewają się kolejnego wzrostu liczby tego typu tys. w czerwcu. Warto jednak zwrócić uwagę, że trend
szkodników. w dalszym ciągu jest rosnący – między styczniem
Granie w World of Warcraft (WoW) stało się teraz tro- a czerwcem nastąpił wzrost o ponad 30 tys. Łącznie,
chę bezpieczniejsze. W ciągu ostatnich miesięcy anali- od stycznia do czerwca 2010, trojany dla gier online
tycy zagrożeń zauważyli spadek liczby ataków na gra- spowodowały ponad 1,5 mln infekcji na polskich kom-
czy online. Przyczyna tego trendu, co dziwne, jest eko- puterach. Z pewnością będziemy obserwować ciągłe,
nomiczna i wiąże się z przesyceniem rynku wirtualnych choć może nie gwałtowne, zwiększanie się popularno-
przedmiotów z gier. Obecnie jednak obserwujemy nie- ści tego typu zagrożeń, ponieważ graczy online jest co-
wielką falę ataków na gry MMORPG (Massively Multi- raz więcej.
player Online Role-Playing Games), takie jak WoW czy Na kolejnym wykresie możemy zaobserwować jak
Aion. Do ataków cyberprzestępcy wykorzystują naj- w ciągu roku zmienił się odsetek trojanów dla gier onli-
częściej sprawdzone techniki, takie jak phishing. Oka- ne wśród wszystkich szkodliwych programów infekują-
zuje się, że sfałszowany e-mail i spreparowana strona cych komputery użytkowników – dane dla całego świa-
WWW wystarczą, aby oszukać wielu użytkowników In- ta. W pierwszym kwartale 2009 r. szkodniki typu Tro-
ternetu i ukraść ich dane. Obecna fala ataków cyberne- jan-GameThief były odpowiedzialne za 5,95% infekcji,
tycznych pokazuje, że na kradzieży informacji dotyczą- natomiast w pierwszym kwartale 2010 r. już za 7,63%
cych gier online wciąż można zarobić dużo pieniędzy. zarażeń. Warto zwrócić uwagę na to, że są to jedyne
To, że w ostatnich kilku miesiącach liczba trojanów trojany, które zanotowały w tym czasie istotny wzrost
dla gier online zmniejszyła się, nie oznacza, że jest ich w swojej kategorii.
18 9/2010
Zagrożenia dla graczy: cisza przed burzą?
Gry rządzą się własną ekonomią rynkową nowią atrakcyjny cel operatorów botnetów, które czę-
Popularne gry online stworzyły własną ekonomię ryn- sto są określane jako sieci komputerów zombie. Kom-
kową, która rządzi ich wirtualnymi przedmiotami. Za putery wchodzące w skład takich sieci nie są już kon-
ukończenie misji dobrzy wojownicy i stratedzy są na- trolowane przez ich właścicieli: zdalną kontrolę za po-
gradzani wartościowymi przedmiotami i wirtualną go- średnictwem Internetu sprawują nad nimi przestępcy.
tówką, przy pomocy których mogą jeszcze bardziej Komputery zombie mogą być na przykład wykorzysta-
rozwinąć swoje postacie online. Gracze, którzy inwe- ne jako broń do przeprowadzenia ataków na inne sys-
stują dużo czasu i wysiłku w takie gry, mogą stworzyć temy komputerowe. Wysoce wydajne komputery PC,
niezwykle wartościowe awatary online. Te wirtualne takie jak te wykorzystywane przez graczy online, są
kosztowności naturalnie stanowią pożądane przedmio- naturalnie preferowanym celem operatorów botnetów.
ty i mogą być sprzedawane za “prawdziwe” pieniądze.
Szczególnie w Korei Południowej i Ameryce Północnej Kradzież rzeczywista i wirtualna
istnieje duża liczba profesjonalnych graczy. Takie oso- Jednak w jaki sposób przestępcy atakują graczy onli-
by grają przez cały dzień, aby zgromadzić wirtualne ne? Wykorzystywane są różne metody - jedną z nich
przedmioty, które następnie zamieniają na gotówkę. jest wspomniany wcześniej phishing. Niedawno, na
przykład, wielu użytkowników platformy Steam (http:
Włamania na konta //store.steampowered.com) otrzymało fałszywe wia-
Jednym ze sposobów zdobycia bogactw należących domości z prośbą o aktualizację ich informacji osobo-
do innych graczy jest włamanie się do ich kont. We- wych. Wiadomości zawierały również odsyłacz, który
dług danych Kaspersky Lab, istnieje około 1,73 miliona należało kliknąć, aby uzyskać dostęp do własnego pro-
wyspecjalizowanych szkodników dla komputerów, któ- filu. Podobnie jak w przypadku serwisów bankowości
re próbują uzyskać hasła i dane dostępu do gier on- online i innych, dostawcy platform dla graczy nigdy nie
line. W ten sposób hakerzy chcą osiągnąć kilka rze- wysyłają tego typu wiadomości pocztą elektroniczną.
czy. Osoby grające w gry online są uważane za eks- Dlatego mamy tu wyraźnie do czynienia ze złodzieja-
pertów komputerowych. Ta grupa nie używa Internetu mi haseł, którzy próbują wyłudzić dane logowania użyt-
jedynie do grania. Oprócz tego dokonują również zaku- kowników. Zamieszczony odsyłacz naturalnie nie pro-
pów i transakcji online. Dlatego cyberprzestępcy mogą wadził do profilu użytkownika, ale do fałszywej strony
zebrać wiele informacji, łącznie z danymi dotyczącymi internetowej stworzonej w celu przechwytywania infor-
karty kredytowej i hasłami do innych serwisów, takich macji logowania.
jak portale społecznościowe. Oprócz kradzieży informacji logowania “w realnym
Kolejną korzyścią dla złodziei jest to, że gracze on- świecie” gracze padają również ofiarą “wirtualnej” kra-
line zwykle posiadają bardzo wysokiej jakości sprzęt dzieży. ENISA(European Network and Information Se-
komputerowy i szybkie łącza internetowe. Dlatego sta- curity Agency) odnotowała niepokojący wzrost liczby
Rysunek 1. Liczba trojanów dla gier wykrytych na komputerach polskich użytkowników w roku 2010
www.hakin9.org 19
ATAK
20 9/2010
Zagrożenia dla graczy: cisza przed burzą?
www.hakin9.org 21
OBRONA
Monitorowanie sieci
Sylwester Zdanowski
S
twórzmy na nasze potrzeby sieć w niewielkim LMS
biurze. Przede wszystkim mamy router ADSL Lan Managment System jest przeznaczony dla firm
stanowiący połączenie ze światem. Dalej dwa oferujących dostęp do internetu. Na nasze potrze-
switche, każdy obsługujące inne piętro oraz jeden AP. by użyteczne będą jedynie niektóre z jego możli-
Oczywiście biuro ma kierownika z dwoma komputera- wości. Prócz określania położenia urządzeń możli-
mi, w tym jednego laptopa. Następnie marketing i za- we jest dodanie monitoringu ilości przesyłanych da-
opatrzenie po jednym komputerze. Zostaliśmy my jako nych, wysyłanie korespondencji zbiorowej, przyjmo-
informatyk i księgowość mająca dwa komputery. wanie zgłoszeń czy stworzenie kolejki zadań do wy-
W ramach naszego monitoringu stworzymy za po- konania.
mocą LMS mapę sieci pokazującą połączenia oraz ak- Sama instalacja LMS jest niezwykle prosta i dobrze
tywność komputerów. Dzięki narzędziu NAGIOS stwo- opisana na stronach projektu. Zasadniczo potrzebny
rzymy monitoring zasobów systemów. Dzięki temu bę- będzie serwer LAMP. Do uruchomienia LMS wystarczy
dziemy wiedzieć kiedy ilość wolnego miejsca na hdd konfiguracja vhosta oraz skopiowanie bazy danych.
dowolnej maszyny ulegnie zmniejszeniu lub gdy poja- Wizualne efekty wykorzystania LMS można zoba-
wi sie podejrzanie duża ilość zalogowanych użytkow- czyć na ilustracji pierwszej. Pokazuje ona naszą sieć
ników. znacznie lepiej niż wcześniejszy opis.
Mając tak niewielką sieć można pokusić się o monito- Przed stworzeniem takiej mapy warto wprowadzić
rowanie dosłownie wszystkiego co może spowodować małą zmianę w konfiguracji. W interfejsie użytkowni-
problemy. Podejście takie niema jednak zastosowania ka można dodać parametry konfiguracji. Na nasze po-
w większych sieciach. Przede wszystkim uwagi wyma- trzeby wystarczy dodanie allow_mac_sharing z war-
gają urządzenia istotne dla pracy firmy. Monitorowanie tością 1 do sekcji phpui. Dzięki temu łatwiejsze bę-
wszystkiego spowoduje chaos informacyjny i trudności dzie dodawanie urządzeń dla których nie znamy ad-
w określaniu priorytetów. W prosty sposób może dojść resu MAC.
do sytuacji gdzie technik zasypany informacjami o za- Zaczniemy jednak od dodania klientów którzy zo-
pełniającym się dysku szeregowego pracownika prze- staną posiadaczami komputerów. W naszym przypad-
oczy komunikat o awarii głównego routera. ku najlepsze będzie dodanie nazw działów wraz z nu-
Dlatego też konieczne jest planowanie monitoringu. merami pokojów. W następnym kroku musimy przejść
Zarówno pod względem jego zakresu jak i metod po- do Sieci IP aby dodań nową sieć. Dzięki temu doda-
wiadamiania zależnie od znaczenia usług. jąc nowe urządzenia będziemy mogli wybierać wolny
22 9/2010
Monitorowanie sieci
www.hakin9.org 23
OBRONA
żeli dodamy do systemu dane pracowników wraz z ich Dla ograniczenia zamieszania przy instalacji do po-
adresami e-mail, wysłanie korespondencji seryjnej lecenia configure warto dodać | grep gdImagePng. Je-
może się okazać użyteczne. Tym bardziej że możli- żeli nie otrzymamy informacji potwierdzającej odna-
we jest połączenie bazy MySQL z pakietem OpenOf- lezienie bibliotek należy je zainstalować przed przej-
fice. Następna opcja przeładowania jest potrzebna ściem dalej. Gdy po instalacji okaże się iż niemożna
przy wykorzystaniu serwera pppoe co nas nie dotyczy. korzystać z opcji mapy i trendu naprawa problemu bę-
Przydatna może być funkcja helpdesk oraz terminarz. dzie kosztować znacznie więcej czasu.
Szczególnie jeżeli mamy do czynienia z kilkoma roz- Mając zainstalowane wtyczki i ustawione hasło
proszonymi sieciami, ich użytkownicy mogą zgłaszać zgodnie z dokumentacją NAGIOSa pozostaje jego
swej pytania i problemy za pomocą panelu użytkowni- uruchomienie. W katalogu bin należy uruchomić pro-
ka współpracującego z LMS. gram NAGIOS podając jako parametr ścieżkę do pliku
Panel użytkownika dzięki modułowej konstrukcji bar- konfiguracyjnego.
dzo łatwo ograniczyć do samego zgłaszania proble- Pozostaje nam stworzenie konfiguracji monitorującej
mów. Dzięki czemu użytkownicy nie będą mieli poję- jak najwięcej parametrów pracy wszystkich elementów
cia o jego wszystkich możliwościach. Rozwiązanie to sieci. Możemy do tego wykorzystać pliki localhost.cfg
jednak wymaga utworzenia kont dla pracownikół przez oraz switches.cfg. Przy czym plik switches.cfg należy
ich dodanie do LMS jako klientów. dodać do nagios.cfg. W naszym prostym wypadku wy-
starczy dodanie hostów na zasadzie analogi do local-
NAGIOS na skróty host.cfg.
W porównaniu do LMS dokumentacja stworzona dla Zaczynając od routera konieczne będzie doinstalo-
NAGIOSa jest niewiele warta. Trzeba jednak się z nią wanie wtyczki odpowiedzialnej za SNMP. Z kolei do
męczyć jako jedynym źródłem informacji. Aby ułatwić jej skompilowania w systemie muszą się znajdować
sobie zdanie warto wyszukać instrukcję instalacji dla biblioteki net-snmp. W następnej kolejności switch
posiadanej dystrybucji. Będzie ona szczególnie przy- i nasz serwer. Dla switchy nieposiadających wła-
datna dla instalacji dodatkowych pakietów. snych adresów IP można nie podawać żadnych usług.
Listing 2. host.cfg
define host{
use lan-host
host _ name castle
alias castle
address 192.168.1.101
}
Listing 3. service.cfg
define command{
command _ name lan _ ssh _ disk
command _ line $USER1$/check _ by _ ssh -p $ARG1$ -l sylwester -i /home/nagios/.ssh/id _ rsa
-H $HOSTADDRESS$ -C '~/check _ disk -w $ARG2$ -c $ARG3$ -p $ARG4$'
}
define service{
use generic-service
notifications _ enabled 0
host _ name castle
service _ description SSH check Disk
check _ command lan _ ssh _ disk!22!10%!5%!/dev/hda2
}
24 9/2010
Monitorowanie sieci
W efekcie będą one widoczne jako element sieci bez lenie priorytetów. Mając pod swoją opieką sieć z setką
monitoringu. usług monitorowanie wszystkich doprowadzi jedynie
Sam serwer stanowi najprostszy element. Jeżeli na do chaosu. Monitoring powinien ograniczać się do ele-
nim właśnie znajduje się NAGIOS od ręki będzie on mentów istotnych dla działania firmy. Z dużym praw-
monitorowany. Wystarczy dodanie parametru parents dopodobieństwem konieczne będzie rozpoczęcie od
aby został połączony z routerem. usług widocznych dla klientów. Wysoki priorytet otrzy-
Jeżeli na pozostałych komputerach zainstalowa- mają również serwery których awaria wpłynie na firmę
ny jest system Windows będą one wymagały dodat- lub całe jej oddziały. W dalszej kolejności wielofunkcyj-
kowych czynności. Konieczne jest na nich zainstalo- ne urządzenia z interfejsami sieciowymi.
wanie NSClient++ który umożliwi monitoring. Również Punktem wyjścia samej konfiguracji jest oczywiście
konfiguracja wymaga zastosowania oddzielnych po- plik nagios.cfg, nie obędzie się bez dodania nowego
leceń. pliku konfiguracyjnego. Możliwe jest również dodanie
Po zakończeniu konfiguracji nie tylko możemy kon- całego katalogu zawierającego dane obiektów. Doda-
trolować sieć. Niezwykle użyteczna może okazać się my więc wpis cfg_dir=/usr/local/nagios/etc/objects/lan.
opcja trendów. Szczególnie gdy po 5minutowej awarii W katalogu przydadzą nam się na początek dwa pli-
wszechwiedzący kierownik stwierdzi że sieć ciągle nie ki, lan_templates.cfg i lan_hosts.cfg. W razie potrzeby
działa i chce wprowadzać zmiany kadrowe. dla zachowania przejrzystego podziału można się po-
kusić o apache_servers czy dmz_hosts, jest to kwe-
Idea wielkiej sieci stia potrzeb.
Podejście na skróty do NAGIOSa niema racji bytu przy Należało by stworzyć szablon dla naszych kompute-
implementacji dla większej sieci. Konieczne staje się rów w lokalnej sieci.
zapoznanie z zasadami monitoringu i grupowaniem, Na nasze teoretyczne potrzeby stworzyliśmy sza-
tak usług jak i osób za nie odpowiedzialnych. Obejmu- blon wyłączający wysyłanie powiadomień. W efekcie
ją one nie tylko kwestie konfiguracji ale również usta- puki ktoś nie sprawdzi NAGIOSa nie dowie się o pro-
www.hakin9.org 25
OBRONA
blemie. Wyłączony jest również event handler pozwa- monitorować. W najprostszym wariancji możemy sko-
lający na wykonanie dodatkowych poleceń przy zmia- rzystać z domyślnie dostępnych funkcji jak pamięć ro-
nie stanu usługi. W kolejnym pliku możemy dodać de- utera. Wówczas pozostaje na udostępnić na urządze-
finicje hosta. Jednak w tym momencie nie dowiemy ni- niu możliwość monitoringu i wybór protokołu. Jedynie
czego poza tym czy jest włączony. SNTP v3 zapewnia bezpieczeństwo dostępu do urzą-
Na nasze szczęście drugi komputer korzysta z sys- dzenia przez podanie hasła.
temu Linux. Wystarczy więc utworzyć klucz publiczny Jeżeli chcemy monitorować specyficzne parame-
oraz przenieść check_disk na sprawdzany komputer. try urządzenia SNTP zaczyna gryźć użytkowników.
Definicja polecenia składa się z nazwy polecenia oraz Przede wszystkim system monitorujący musi być wy-
wykonywanej komendy. Analizując fragment listingu 3 posażony w snmp do którego należy dograć pliki MIB.
$USER1$ - zmienna równoznaczna z katalogiem za- Zawierają one obiekty możliwe do monitorowania pa-
wierającym check_by_ssh, /usr/local/nagios/libexec. rametry w formie obiektów. Tutaj mamy drugi i naj-
$ARG1$ - podobnie jak ARG2-4 przyjmuje parame- większy problem jakim jest ustalenie który obiekt od-
try przy wywołaniu z definicji usługi są to kolejno nu- powiada za interesujący nas parametr.
mer portu ssh wartość dla ostrzeżenia i wartości kry- Skoro już wiemy jaki obiekt potrzebujemy musimy
tycznej oraz monitorowany dysk. ustalić numer OID. Pomoże nam tu polecenie snmp-
W ramach definicji usługi istotne są grupy. Nazwę translate.
hosta można zastąpić nazwą grupy co jest jedno- Cyfry które uzyskaliśmy będą potrzebne do stworze-
znaczne z dodaniem wszystkich należących do niej nia pliku XML wykorzystywanego przez CACTI do mo-
komputerów. Taka organizacja pozwala zaoszczędzić nitoringu.
bardzo dużo czasu przy uruchamianiu monitoringu no- Od strony samego protokołu, każda z podanych cyfr
wego parametru pracy. stanowi wybór opcji na kolejnym poziomie drzewa. Dla
Pominęliśmy jednak możliwość informowania o pro- przykładu, zgodnie z listingiem 3: 1-iso, 3-org, 6-dod,
blemach. Do tego celu potrzebne są definicje użytkow- 1- internet. Z pomocą polecenia snpwalk możliwe jest
nika grupy oraz samej metody powiadamiania. Należy przejście przez wszystkie opcje SNMP, sprawdzając
wsiąść pod uwagę ze informacja nie dotrze do celu je- co jest dostępne na naszym urządzeniu. Sprawdza
żeli awarii uległ serwer pośredniczący. się ono również jako metoda samej kontroli połącze-
Pierwszą możliwością są komunikatory IM. Po in- nia z urządzeniem.
stalacji komunikatora mogącego przyjmować adresata
i tekst wiadomości w formie polecenia należy zdefinio- Podsumowanie
wać polecenie. Nie zależnie od sposobu powiadamia- Zarówno NAGIOS jak i LMS nie są jedynymi możliwy-
nia składać się ono będzie z dwóch elementów, ułoże- mi narzędziami do wykorzystania. W połączeniu nie-
nia tekstu powiadomienia i przekazania go do progra- zależnie od wielkości sieci umożliwiają szybkie wykry-
mu wysyłającego. wanie problemów i ich lokalizację. Dzięki temu każda
Niewątpliwie najbardziej skuteczną metodą powia- minuta zainwestowana w monitoring zwróci się wie-
damiania jest sms. Jego wykorzystanie wymaga pro- lokrotnie w postaci czasu zaoszczędzonego na kon-
gramu działającego podobnie do sms-pl oraz konta trolowaniu i diagnozowaniu sieci. Mechanizm można
u operatora sieci. W przypadku poczty najłatwiej po- rozbudować o CACTI czy mrtg jednak przy specyficz-
służyć się konfiguracją exim4 dla gmail. Posiadając nych parametrach urządzeń wymagają znacznie wię-
własny serwer można ją łatwo dostosować. cej pracy.
Żadna sieć na dłuższą metę nie obejdzie się bez mo-
CACTI nitoringu. Nawet w niewielkich sieciach składających
CACTI stanowi znakomite narzędzie do uzyskiwa- się z kilku urządzeń warto wykorzystać przedstawione
nia bieżących informacji o wykorzystaniu zasobów rozwiązania. Dzięki temu nie tylko bieżące zarządza-
jak pamięć procesor czy przepustowość. Problemem nie stanie się prostsze, przy rozbudowie sieci uniknie-
w wykorzystaniu tego narzędzia polega na specyfi- my sytuacji w której nikt tak naprawdę nie wie jak jej
ce SNMP. Protokół prostego monitoringu sieci korzy- elementy są połączone.
sta z mało przyjaznej metody określania cóż chcemy
26 9/2010
Bądz subskrybentem newslettera najciekawszego miesięcznika
o bezpieczeństwie IT
Wystarczy, że zarejestrujesz się na http://hakin9.org/pl/newsletter
Twój backup
jest bez sensu!
Waldemar Konieczka
A
rtykułów opisujących sposoby wykonywania wych jest ręczne tworzenie duplikatów plików. Ten ar-
kopii zapasowych jest w sieci na prawdę wiele. chaiczny sposób nadal wykorzystuje część indywidual-
Podobnie jak oprogramowania, które – za dar- nych użytkowników.
mo, bądź za pieniądze – pozwoli nam zabezpieczyć Oczywistymi wadami takiego rozwiązania są: cał-
pliki przed zniszczeniem. kowicie manualna obsługa, konieczność pamiętania
Ten artykuł nie ma być kolejnym, przedstawiającym o wykonywaniu kolejnych kopii czy brak możliwości
założenia konfiguracji mniej lub bardziej chałupniczych szybkiego i kompleksowego przywrócenia plików.
systemów archiwizacji danych. Jego celem jest omó- Z wspomnianych wyżej powodów implementacja te-
wienie, w kontekście typowych rozwiązań, nowocze- go rachitycznego systemu w skomplikowanych struktu-
snych systemów tworzenia kopii zapasowych on-line. rach informatycznych jest praktycznie nie możliwa. Nie-
W dzisiejszych czasach, przy co raz większej świa- stety mimo że trudno także wyobrazić sobie jego funk-
domości zarówno użytkowników jak i administratorów cjonowanie nawet w małych firmach, zdarzają się jesz-
co do konieczności zabezpieczania danych, przycho- cze administratorzy wykonujący backupy raczej według
dzi pora na rzetelne rozważanie nie tyle samej idei wskazań swojego przeczucia niż wedle prawideł IT.
backupu ile racjonalności i konkurencyjności poszcze-
gólnych metod jego wykonywania. Opcja „sprzęt”
Należy pamiętać o tym, że wybór rozwiązań w tej W wielu przypadkach użytkownicy komputerów ucie-
dziedzinie zależny jest od wielu czynników. Oczywi- kają się do różnorodnych rozwiązań sprzętowych.
stym jest, że inne metody zastosujemy dla dużych ilo- Bardzo często powtarzana jest obiegowa opinia, że
ści danych czy też dużych sieci, inne zaś dla małych niedrogą i dobrą metodą zabezpieczania danych jest
i średnich. standard RAID.
Na szczęście dostępne dzisiaj rozwiązania w za- Niestety, twierdzenie to nie jest słuszne. Macierze
kresie kopii zapasowych pozwalają stworzyć sprawny RAID mają służyć przede wszystkim wydajniejszemu
system kopii zapasowych, którego koszty będą na tyle i szybszemu dostępowi do danych zgromadzonych na
rozsądne, by mogły je ponieść nie również małe i śred- wielu dyskach twardych. Ich konstrukcja i zastosowa-
nie firmy a nawet indywidualni użytkownicy. na nadmiarowość nie służy zabezpieczeniu owych da-
nych przed ich utratą bądź uszkodzeniem.
Sposób „na piechotę” Oczywiście, RAID w standardach powyżej 0 oferu-
Najprostszym sposobem wykonywania kopii zapaso- je wprawdzie pewną nadmiarowość danych, pamiętaj-
28 9/2010
Twój backup jest bez sensu!
my jednak, że jest to tak na prawdę integralny element sowych należy do jednych z tańszych. Oplata za du-
działania macierzy, forma zabezpieczenia jej przed ży hosting waha się w granicach 400 zł rocznie, a sam
utratą funkcjonalności w wyniku uszkodzenia fizycz- program często nie kosztuje nic. Niestety, pomimo że,
nego jednego lub więcej dysków nie zaś system kopii konfiguracja taka bez problemu radzi sobie z regular-
bezpieczeństwa. nym wykonywaniem kopii, to posiada także kilka man-
Innym sprzętowym rozwiązaniem, o które można się kamentów.
pokusić jest stworzenie serwera backupu dla naszej Przede wszystkim nie ma możliwości sprawnego za-
sieci. Pomysł ten wydaje się dość atrakcyjny. Na rynku rządzania kopiami bezpieczeństwa. Przesłane przez
dostępnych jest wiele darmowych programów, które program pliki po prostu leżą w lokalizacji docelowej.
potrafią wykonać kopię zapasową, a i opisów ich kon- Jedyną możliwością zarządzania nimi jest praktycz-
figuracji jest aż nadto. nie opcja ręcznego umieszczenia plików w katalogach
Nim jednak pochwalimy to wyjście z sytuacji musimy tworzonych wg klucza daty czy godziny.
zwrócić się ku kwestii niezwykle ważnej dla backupu Kolejnym problemem jest brak funkcji przywracania
– kosztów tworzenia kopii zapasowej. Każdy taki sys- danych, nie mówiąc już o możliwości przywracania da-
tem – oprócz tego, że jest niezbędny powinien być tak- nych w zależności od zaistniałej sytuacji.
że dokładnie skalkulowany i opłacalny. Ponadto, choć w ustawieniach można m.in. wyłą-
Jak owa kalkulacja wygląda? Koszt w miarę stabil- czyć pewne rozszerzenia plików z wykonywania kopii
nej maszyny mogącej służyć za serwer backupu (przy zapasowej, istnieje też wspomniana wyżej opcja roz-
założeniu, że komputer posiadać będzie dwurdzenio- dzielania plików lub kopii zapasowych za pomocą da-
wy procesor low cost, 4 GB RAM oraz 2 dyski x 1TB) ty i godziny oraz pakowania każdego pliku do osobne-
to około 2000 zł. Do tego urządzenie to musiałoby syn- go archiwum, to nie ma możliwości łatwego w obsłu-
chronizować się dla bezpieczeństwa z bliźniaczą ma- dze wersjonowania plików.
szyną – kolejne 2000zł. Koszt zużytej rocznie energii Zarządzanie backupem odbywa się niejako na
dla jednego urządzenia (przy założeniu, że zużyje ono dwóch oddzielnych płaszczyznach – programu wy-
100 W, a cena za 1kWh to 0,3 zł) wyniósłby nieco po- konującego kopie oraz serwera składowania danych.
nad 500 zł. Każdy z nich trzeba skonfigurować osobno i oddziel-
Łącznie to 5000 zł, które, jeśli podzielimy je przez nie dbać o jego poprawne funkcjonowanie. Nie ma
12 miesięcy roku, dadzą miesięczny wydatek wahają- również możliwości automatycznego, okresowego
cy się w granicach 400 zł. I to tylko przy uwzględnie- sprawdzenia poprawności archiwum.
niu podstawowych kosztów, nie doliczając m.in. odpo- Administratorów systemów Windows zmartwi brak
wiednich UPS. wsparcia dla natywnego backupu Exchange, baz MS
Należy pamiętać przy tym, że o ile można obejść SQL nie wspominając o bardziej zaawansowanych
koszty oprogramowania, a zakup serwerów to wy- aplikacjach.
datek (nie licząc amortyzacji) jednorazowy to utrzy- Kolejnym mankamentem całego rozwiązania jest
manie w ruchu takiego rozwiązania wiąże się z po- fakt, że serwer ftp w firmie hostingowej nie jest dedy-
noszeniem dodatkowych wydatków. Musimy bowiem kowany do składowania plików. Część hostingów (jak.
doliczyć fundusze na ewentualne awarie oraz bieżą- np. DreamHost) zastrzega już w momencie zakupu li-
cą obsługę całego sprzętu i oprogramowania. Ponad- mity w podziale przestrzeni. Przeznaczanie hostingu
to pozostaje ryzyko, że w przypadku pożaru, zalania www wiąże się często z również z innymi ogranicze-
czy np. rabunku pomieszczeń, w których znajduje się niami – m.in brakiem indywidualnego mirroru konta
sieć i nasz backupowy serwer prawdopodobnie, po- czy też wielkością plików, które można wysłać na ser-
mimo tworzenia kopii zapasowych, stracimy wszyst- wer. To ostatnie obostrzenie wymusza z kolei dzielenie
kie dane. pliku backupu na mniejsze części, co dodatkowo kom-
plikuje sytuację podczas przywracania kopii.
Rozwiązanie (prawie)kompleksowe Nie zapominajmy też o tym, że pomimo wdrożonych
Sposobem wykonywania kopii zapasowych, który zy- w firmach hostingowych zabezpieczeń przed awariami
skuje co raz większą popularność jest backup przez – nie są to serwery backupu i nie mają w regulaminie
internet. Można wykonywać go na kilka sposobów. zapisanej nadrzędnej funkcji ochrony danych.
Pierwszą z możliwości jest proste rozwiązanie sta-
nowiące połączenie oprogramowania backupowego „All in one”
działającego na komputerze z kontem ftp albo serwe- Alternatywą dla wymienionych wyżej rozwiązań są
rem zdalnym. usługi kompleksowego backupu przez internet. Wśród
Jednym z wariantów takiego rozwiązania jest zasto- firm oferujących takie usługi przodują te zza oceanu,
sowanie programu Cobian Backup i konta na serwe- jednak na szczęście w wyborze dostawcy nie ograni-
rze FTP. Tego typu metoda wykonywania kopii zapa- czają nas kraje ani kontynenty.
www.hakin9.org 29
OBRONA
Nim przejdziemy od opisu najważniejszych funkcjo- wano konfiguracją do obsługi zadań backupowych
nalności tego typu produktów warto wspomnieć o ich i nie trzeba ich dodatkowo ustawiać. Kolejnym waż-
najważniejszej zalecie – bezpieczeństwie stworzo- nym założeniem, szczególnie z punktu widzenia koń-
nych kopii zapasowych. W przypadku backupu inter- cowego użytkownika, jest prostota obsługi całego sys-
netowego dane znajdują się w oddzielnych serwerow- temu. Owszem, dostępne są niezwykle rozbudowane
niach a konta są mirrorowane lub nawet wielokrotnie aplikacje, jednak ideą większości programów klienc-
duplikowane na wielu serwerach, co dodatkowo za- kich (niezależnie od stopnia skomplikowania syste-
pewnia zabezpieczenie na wypadek awarii po stro- mu) jest bezproblemowość obsługi. W przypadku ad-
nie serwera. ministracji dużą siecią jest to ważne także dla admi-
Ponadto na bezpieczeństwo plików wpływa także nistratorów, którzy nie muszą długo borykać się z za-
fakt, iż nie przechowujemy backupu w tej samej lokali- znajamianiem użytkowników z interfejsem, jednocze-
zacji, w której znajdują się zabezpieczane nim maszy- śnie mogą pozwolić użytkownikom na pewną swobodę
ny. Wyklucza to ryzyko uszkodzenia danych w wyniku w dobieraniu danych, które chcieliby zarchiwizować.
pożaru i innych zdarzeń losowych a także kradzieży.
Zwłaszcza, że dane są przechowywane w profesjonal- Potencjał i możliwości
nie przygotowanych pomieszczeniach z zabezpiecze- Niezależnie od szczytnych założeń, o przydatności
niami przeciwpożarowymi, przeciwwłamaniowymi oraz danego rozwiązania decyduje przede wszystkim ela-
z pełnym wsparciem na wypadek utraty zasilania. styczność oraz możliwości. W przypadku interneto-
wego backupu większość firm oferuje oprogramowa-
Po co to wszystko? nie i usługi dostosowane wymagań wykonywania ko-
Ideą backupu internetowego jest stworzenie mechani- pii zapasowych dla użytkownika końcowego pracują-
zmu, który pozwoli w wygodny sposób automatycznie cego na możliwie standardowo skonfigurowanej sta-
wykonać kopie zapasową danych. Dostępne na rynku cji roboczej.
systemy w opierają się, w gruncie rzeczy, na tym sa- Istnieje oczywiście opcja definiowania danych i ob-
mym mechanizmie, co opisywana wyżej metoda wy- szarów, których kopie zapasowe chcielibyśmy wyko-
korzystująca Cobian Backup. Istotne różnice pojawia- nać. Większość dostępnych na rynku programów po-
ją się gdy szczegółowo przeanalizujemy funkcjonalno- zwala dowolnie wybierać pliki i katalogi do backupu
ści poszczególnych rozwiązań. oferując przy tym opcję filtrowania zawartości backu-
Pierwszą z różnic jest fakt, iż software instalowane powanych danych pod kątem rozszerzeń czy wielkości
na dysku komputera klienta jest oprogramowaniem plików. Dodatkowo niektórzy producenci oferują zesta-
dedykowanym producenta a same serwery dostoso- wy predefiniowanych ustawień backupu takich jak ko-
30 9/2010
Twój backup jest bez sensu!
pie zapasowe skrzynek pocztowych programu Outlook Pozostałe dodatki obejmują przede wszystkim wy-
czy skrótów pulpitu Windows. konywanie zadań backupowych według harmonogra-
Software radzi sobie bez większych problemów mu oraz dostęp do kopii zapasowych poprzez różno-
z wykonaniem zadanych mu czynności, niemniej jed- rodne interfejsy.
nak predefiniowane przez producentów ustawienia Zarówno wspomniane wcześniej opcje konfiguracyj-
często mają swoje ograniczenia. Ponadto oferta czę- ne jak i łatwe ustawianie harmonogramu przy prosto-
ści dostawców tego typu usług skonfigurowana jest cie obsługi całości systemu przez użytkownika końco-
tak, by swoją funkcjonalnością obejmować wykonywa- wego wpisują się w zasadę ustaw i zapomnij.
nie kopii zapasowych plików nie zaś całych rozwiązań Oprogramowanie wykona wszystkie zadania w tle,
softwerowych takich jak zwirutalizowane maszyny czy a użytkownik zostanie poinformowany – najczęściej
systemy bazodanowe. komunikatem, a u niektórych dostawców mailowo
– o wykonanej kopii.
Przydatne drobiazgi
Większość firm zajmujących się backupem online od- Przywracanie danych
daje do dyspozycji użytkowników kilka ciekawych funk- Nie należy zapominać, że najważniejszym zadaniem
cjonalności, które ułatwiają życie przy backupach. backupu jest przede wszystkim przywrócenie utraco-
Pierwszym z tych udogodnień jest dostępne niemal nych danych w razie ich skasowania albo uszkodze-
u wszystkich firm wersjonowanie plików. Korzyści wy- nia. W większości programów zadbano o to, by odzy-
nikające z zastosowania tego mechanizmu są nieoce- skanie zasobów było równie proste jak stworzenie ich
nione. Pozwala on nie tylko przywrócić utracone wer- kopii zapasowej.
sje pliku w przypadku utraty bądź uszkodzenia da- Zasadniczo w rozwiązaniach tego typu odzyskiwanie
nych, ale także odtworzyć stan wcześniejszy pliku jeśli odbywa się poprzez to samo oprogramowanie dostar-
w razie błędu użytkownika dokonano w nim niechcia- czone przez firmę, która świadczy dla nas usługi, a któ-
nych zmian. re wykorzystywane jest do robienia kopii zapasowych.
Wersjonowanie odbywa się według różnych zasad. Niektórzy producenci dodatkowo umożliwiają integrację
Jedne systemy (jak np. MozyBackup) przyjmują kryte- odzyskiwania z eksploratorem Windows, co czyni przy-
rium czasowe przechowując wersje pliku przez okre- wracanie danych jeszcze bardziej intuicyjnym.
śloną liczbę dni (w przypadku Mozy jest to okres 30 Różnice pomiędzy software poszczególnych produ-
dni). Inni dostawcy wybierają ograniczenia ilościo- centów dotyczą najczęściej ilości opcji, które mamy
we. W jednych przypadkach, np. w IDrive jest to z gó- w przypadku odzyskiwania. Niektórzy z nich propo-
ry ustalona liczba 30 wersji, w kolejnych to definiowa- nują przywrócenie jedynie ostatniej wersji plików, inni
na przez użytkownika wartość w ramach narzuconych – jak np. Mozy pozwalają swobodnie przeglądać struk-
przez dostawcę ograniczeń. turę plików i przywracać je na dysk
www.hakin9.org 31
OBRONA
Dla wymagających ciekawe rozwiązania say. Jej software działa we wszystkich liczących się
Stosowanie backupu dla użytkowników końcowych systematach operacyjnych (wliczając w to oczywiście
to oczywiście ważny element zabezpieczania da- darmowego Linuxa oraz MacOs i NetWare). Dodatko-
nych. Niemniej jednak kopie zapasowe często mu- wo producent zapewnia, że system ruszy na wszyst-
szą obejmować także rozwiązania specjalistyczne. kich platformach wspierających język Java.
Wśród dostępnych usług z zakresu internetowego Oprogramowanie może wykonywać kopie zapaso-
backupu są także takie, które dzięki swojej funkcjo- we systemów bazodanowych MS Exchange, MS SQL,
nalności pozwalają wykonywać kompleksowe kopie Oracle, Lotus Domino/Notes, MySQL oraz m.in. pili-
bezpieczeństwa. ków Microsoft Outlook / Outlook Express. Ponadto
Firma Novastor dostarcza kilka gotowych pakietów platforma działa także na NASach oraz wspiera Win-
usług. Są w śród nich m.in. rozwiązania pozwalają- dows Active Directory.
ce backupować serwerowe systemy firmy Microsoft Sam producent daje także wiele możliwości ułatwia-
w wersjach 2008 i 2003 (wraz z rozwiązaniami SBS jących samo wykonywanie kopii zapasowych, któ-
i 2008 R2). Produkt pozwala tworzyć kompletny bac- re wychodzą poza przyjęty standard. Należą do nich
kup systemu pozwalający na jego późniejsze odtwo- m.in. możliwość ustawienia indywidualnego publicz-
rzenie w razie awarii dysku. nego URL, z którym będzie można połączyć się w ce-
Ponadto otrzymujemy także możliwość backupu lu wykonania backupu czy też przydzielanie określonej
systemów Exchange i SQL. Novastor proponuje także części pasma pojedynczym użytkownikom.
dwa ciekawe rozwiązania dotyczące backupu w sie-
ciach komputerowych. Pierwszym z nich jest Scala- Dobre, ale za ile?
ble Network Backup Software for all Platforms będą- Opcje i możliwości, jakie daje backup internetowy wy-
ce zestawem klient – serwer umożliwiającym nie tyl- glądają niezwykle się obiecująco. Pozostaje odpowie-
ko wykonywanie kopii na centralnym serwerze (i póź- dzieć sobie na pytanie jakie koszty należy ponieść,
niejsze jej wysłanie na serwer firmy backupowej) ale aby móc zaopatrzyć się w tego typu rozwiązania.
także realizację tej czynności niezależnie od platformy Oczywiście ceny uzależnione są od stopnia skom-
systemowej, która obsługuje stację kliencką. Na plus plikowania usługi, którą chcielibyśmy zamówić. Część
tego oprogramowania zaliczyć należy obsługę syste- firm oferuje nawet darmowe produkty, jednak w więk-
mów NetWare. szości ich oferta skierowana jest do użytkowników do-
Drugim z wartych uwagi rozwiązań jest scentralizo- mowych.
wany backup oparty o storage server. Producent do- Propozycja Mozy dla firm obejmuje opłatę miesięcz-
starcza oprogramowanie, które umożliwia wykona- ną na poziomie ok. 4 USD oraz 0,5 USD za każdy GB
nie backupu lokalnie i przez internet na wspomnia- danych. Podobny możliwościami Ibackup będzie kosz-
nym serwerze a następnie przesłanie go w inne miej- tował nas minimum 10 USD za pakiet 10 GB danych.
sce. Rozwiązanie to jest o tyle wygodne, że jednym Mamy więc tutaj do czynienia z cenami oscylującymi
systemem backupu objąć można zarówno sieć lokal- ok. 50 zł miesięcznie przy backupie wielkości 10 GB.
ną w siedzibie firmy jak i placówki czy też pracujących Polscy dostawcy oferujący usługi backupowe sprze-
zdalnie pracowników. Dodatkowo oprogramowanie dają swoje produkty w zróżnicowanych cenach. Dla
pozwala wykonywać równolegle backup zapisywany przykładu Msejf w ofercie dla firm za licencję na jeden
lokalnie na każdej z maszyn. komputer każe sobie płacić 180 zł netto rocznie dając
przy tym 2 GB miejsca na kopie zapasowe. Za dodat-
Backupowy kombajn kowe miejsce i więcej komputerów trzeba zapłacić do-
Niezwykle rozbudowana ofertę posiada również Ah- datkowo.
najtańsze rozwiązanie
rozwiązanie najbardziej funkcjonalne w stosunku do kosztów
rozwiązanie najbardziej funkcjonalne
32 9/2010
Twój backup jest bez sensu!
Rozwiązania profesjonalne są droższe. Ich ceny wa- ne podejście do sprawy bezpieczeństwa naszych pli-
hają się na poziomie od kilkunastu do kilkudziesięciu ków.
dolarów miesięcznie i często również zależne są od Choć rozwiązanie to z pewnością nie zadowoli pro-
wielkości plików w backupie. fesjonalnych administratorów i wielkich firm, to znacz-
nej większości użytkowników sprzętu komputerowego
To przecież proste! może dać wewnętrzny spokój i oszczędzić wielu nie-
Internetowy backup sprawia, że zabezpieczenie na- przyjemnych sytuacji.
szych danych staje się co raz prostsze. Nieskompli- Backup przez sieć jest rozwiązaniem idealnym dla
kowana instalacja oraz łatwość konfiguracja prowadzą małych i średnich przedsiębiorstw. Sprawdzi się wszę-
do tego, że nawet w mniejszych firmach można bez dzie tam, gdzie nie nie ma potrzeby (bądź technicz-
kłopotów wdrażać tego typu rozwiązania. nych i finansowych możliwości) zatrudniania informa-
Bez wątpienia pamiętać należy o tym, że stopień tyka i budowania indywidualnego systemu kopii zapa-
skomplikowania implementacji zależy od tego co chce- sowych.
my zabezpieczać a także od tego, jak duża i skompli- Wszyscy ci, którzy posiadają w firmach jedną lub kil-
kowana jest np. struktura sieciowa, w której pracują ka stacji roboczych nie korzystających ze skompliko-
poszczególne jednostki. wanych systemów wirtualizacji czy centralizacji pra-
Uczciwie przyznać należy, że prostota backupów in- cy poprzez rozwiązania oparte o serwery czy bazy da-
ternetowych jest także pewną ich wadą. Trudno za- nych mogą z powodzeniem stosować produkty Mozy
przeczyć, że w niektórych przypadkach niewielkie, czy Ibackup – proste w konfiguracji i bezproblemowe
zautomatyzowane oprogramowanie nie zastąpi nam w działaniu. Oferują one rozsądny zakres możliwości
profesjonalnie skonfigurowanego i dobrze wyposa- konfiguracyjnych, które jednocześnie nie komplikują
żonego serwera kopii zapasowych nadzorowanego obsługi całego systemu.
przez doświadczonego informatyka. Administratorzy nieco bardziej rozbudowanych
Pamiętajmy jednak, że nie można pomijać kwestii ra- i skomplikowanych sieci muszą skorzystać z ofer-
cjonalności wydatków. Firmy oferujące backup przez in- ty usługodawców takich jak Ahsay czy Novastor. Ich
ternet dają nam dobrze i bezpieczne rozwiązanie w roz- funkcjonalność jest na tyle wysoka, że poradzą so-
sądnej cenie, która stanowi ułamek kosztów utrzyma- bie z większością backupowych zadań, nawet tych
nia dedykowanego rozwiązania. Dlatego dla większo- dość specyficznych jak kopie bezpieczeństwa ser-
ści firm i administratorów te rozwiązania są wystarcza- werowych systemów Microsoftu. Niestety, stopień
jąco dobrze zaprojektowane, bezpieczne i mało awaryj- skomplikowania konfiguracji tych rozwiązań sprawia,
ne, a przede wszystkim tańsze w zakupie. że nie poradzą sobie z nimi niedoświadczeni użyt-
kownicy.
Każdy krok jest ważny Niezależnie od wybranej opcji czy dostawcy usług
Każde zastosowane rozwiązanie backupowe zwięk- internetowy backup przyniesie firmie sporo korzyści
sza bezpieczeństwo danych. Każdy kolejny skopio- i umożliwi jej spokojne oraz stabilne funkcjonowanie
wany plik to krok do uniknięcia gigantycznych kłopo- przy rozsądnych nakładach finansowych.
tów, a w wielu przypadkach wymiernych strat mate-
rialnych.
Stosowanie internetowego systemu kopii zapaso-
wych to nieskomplikowany sposób na odpowiedzial-
WALDEMAR KONIECZKA
Autor jest Głównym Specjalistą ds. Informatycznych w �rmie AKTE z Poznania od 10-ciu lat.
Na co dzień łączy wiedzę teoretyczną z praktycznym zastosowaniem wiedzy z zakresu wdrożeń systemów IT.
Autor na łamach tego pisma dzieli się swoim wieloletnim doświadczeniem teoretycznym i praktycznym, zdradza tajniki wiedzy
informatycznej oraz każe nam się przyjrzeć na co zwrócić szczególną uwagę aby nasza praca w IT była bardziej świadoma, a co
za tym idzie bardziej komfortowa.
Firma Akte świadczy usługi Outsourcingu IT oraz Profesjonalnego Odzyskiwania i Archiwizacji Danych komputerowych.
W ramach działań operacyjnych �rma wdraża systemy archiwizacji i bezpieczeństwa danych, gdzie autor nadzoruje projekty od
strony informatyczno-biznesowej.
Po godzinach gra na gitarze w zespole rockowym.
Kontakt z autorem: akte@akte.com.pl
Strona autora: http://www.akte.com.pl
www.hakin9.org 33
OBRONA
C
yfrowy wszechświat stale rozszerza swoje gra- Nieaktywne dane zabierają miejsce
nice, a specjaliści alarmują, że w kolejnych la- Istotnym problemem współczesnego storage’u jest fakt,
tach możemy spodziewać się jeszcze większe- iż znaczna część przechowywanych danych - niezależ-
go tempa przyrostu informacji cyfrowych. Wg prognoz nie czy na firmowych serwerach, czy na dyskach twar-
IDC 2020 roku ilość danych cyfrowych wzrośnie aż 67- dych komputerów domowych – to informacje nieaktywne,
krotnie. Co ciekawe, jedynie połowa cyfrowego wszech- niewykorzystywane przez użytkowników. Dobrym roz-
świata jest wynikiem bezpośrednich działań ludzi – wy- wiązaniem problemu niekontrolowanego przyrostu zbęd-
syłania maili, zakładania stron internetowych czy też nych plików jest wdrożenie systemu zarządzania dany-
rozmów telefonicznych w technologii VoIP. Drugą po- mi – profesjonalnego w przypadku firmy, racjonalnej po-
łowę stanowi tzw. cyfrowy cień – pozostałość, ślad po- lityki optymalizującej wykorzystanie zasobów dyskowych
dejmowanych przez nas działań zapisany w rejestrach w odniesieniu do użytkowników domowych.
rozmów, historii przeglądanych stron czy nagraniach W przypadku przedsiębiorstw pierwszym i podstawo-
kamer monitoringu. wym krokiem wiodącym do optymalizacji storage’u jest
Za tak dynamicznym przyrostem ilości danych stoi określenie kluczowych z punktu widzenia firmy danych
cały szereg zjawisk - od rosnącej popularności urzą- i wymagań odnośnie ich przechowywania (np. z uwagi
dzeń mobilnych, dynamicznej ekspansji internetu i cy- na uregulowania prawne czy poziom poufności). Istotne
fryzacji coraz większej liczby dziedzin życia, po proce- jest także zapewnienie niezakłóconej pracy aplikacji ro-
sy globalizacji, ciągły rozwój społeczeństwa informa- boczych oraz wdrożenie inteligentnych rozwiązań zapisu
cyjnego oraz gospodarki opartej na wiedzy, w której i magazynowania danych. Ważną rolę odgrywają także
informacje – obok ludzi – stanowią najcenniejsze ak- technologie pozwalające na maksymalne wykorzystanie
tywa firm. Jednak tak szybki przyrost ilości cyfrowych pojemności posiadanych dysków – mowa tu m.in. o tech-
danych niesie ze sobą także pewne wyzwania - chcąc nologiach deduplikacji i archiwizacji. Nieodzowne z punk-
uniknąć sytuacji, w której wielkość cyfrowego świa- tu widzenia przechowywania danych w firmach są rów-
ta przewyższy możliwości nośników informacji, nie- nież procedury backupu oraz zabezpieczania danych.
odzowne stanie się wprowadzenie odpowiedniej po- Powyższe zasady znajdują swoje zastosowanie także
lityki zarządzania danymi, zarówno w wymiarze kor- w przypadku magazynowania danych przez użytkowni-
poracyjnym, jak i w przypadku użytkowników domo- ków domowych, na komputerach których również znajdu-
wych. ją się cenne cyfrowe dane.
34 9/2010
Potop cyfrowych danych
www.hakin9.org 35
OBRONA
składowanie zapełnionych nośników, co niesie ze sobą ny istnieją pewne wątpliwości odnośnie bezpieczeństwa
kolejne koszty (instalacja alarmu, zatrudnienie dodatko- danych (szczególnie tych wrażliwych) magazynowanych
wej obsługi). Doskonałe rozwiązanie archiwizacyjne po- w chmurze. Specjaliści zwracają także uwagę na fakt, iż
winno umożliwiać nieprzerwany dostęp do zarchwizowa- dostęp do cyfrowych informacji przechowywanych w ten
nych danych, stąd najczęściej stosowanymi rozwiąza- sposób jest uzależniony od dostępności i jakości połą-
niami archiwizacyjnymi są dyski twarde, dyski zewnętrz- czenia internetowego.
ne i serwery storage’owe czy biblioteki taśmowe. Do ce- Specjaliści z IDC prognozują, że technologia cloud
lów archiwizacji nadają się także nośniki optyczne (DVD, storage będzie zyskiwać coraz większy udział w rynku.
Blu-ray) – ze względu na swoją stosunkowo dużą pojem- Obecnie szeroko pojęte usługi cloud storage stanowią
ność i relatywnie niski koszt stanowią dobre rozwiązanie 9% rynku rozwiązań cloud computing, którego całkowi-
zarówno dla firm, jak i dla zaawansowanych użytkowni- ta wartość szacowana jest na ok. 17,4 mld USD. W 2013
ków domowych. Niestety, czytniki tego typu utrudniają wartość rynku cloud storage ma wzrosnąć do 6,2 mld
dostęp do zarchiwizowanych danych oraz pozostawiają USD. Polscy użytkownicy nadal z ograniczonym zaufa-
wiele do życzenia, jeśli chodzi o bezpieczeństwo zarchi- niem podchodzą do technologii cloud storage – dość nie-
wizowanych informacji z uwagi na ograniczone możliwo- chętnie godzą się z myślą, że ich cenne dane przechowy-
ści kontroli dostępu. wane będą z dala od nich.
Coraz więcej firm decyduje się na usługi archiwizacji
online. Outsourcing procedur archiwizacyjnych to wygod- Bezpieczeństwo danych - backup
ne rozwiązanie, zdejmujące z barków firmy lub użytkow- Wszystkie technologie przechowywania danych mogą
nika konieczność inwestowania w urządzenia i infrastruk- być narzędziem backupu. Kopie zapasowe można prze-
turę magazynowania danych. Sceptycy archiwizacji onli- chowywać w chmurze, na płytach, na dyskach twardych,
ne za jej główną słabość uznają długi - zależny od prze- dyskach zewnętrznych, na serwerach własnych lub wy-
pustowości łącza internetowego- upload danych. najętych od zewnętrznej firmy. Tworzenie zapasowych
kopii bezpieczeństwa ma na celu umożliwienie odtwo-
Jak przechowywać, to z głową… w chmurze rzenia danych utraconych w przypadku ich utraty bądź
Coraz większą popularnością cieszą się rozwiązania uszkodzenia. Choć pierwotnie termin backup odwoływał
tzw. cloud storage – przechowywania danych w chmu- się do zautomatyzowanych i usystematyzowanych form
rze. Cloud storage stanowi model przechowywania da- tworzenia kopii zapasowych, obecnie pojęciem tym okre-
nych online, w którym informacje magazynowane są ślamy wszelkie, nawet amatorskie, sposoby sporządza-
na wirtualnych serwerach hostowanych przez dostaw- nia kopii bezpieczeństwa plików. Kopie bezpieczeństwa
ców usług. W modelu tym użytkownik płaci tylko za po- najczęściej przechowywane są na dyskach HDD lub no-
wierzchnię dyskową, z której rzeczywiście korzysta oraz śnikach taśmowych.
za faktycznie wykorzystywane zasoby. Przechowywa- Wiele programów, np. edytorów tekstów, automatycz-
nie danych w modelu cloud niesie ze sobą liczne korzy- nie tworzy kopie opracowywanych plików, przez co umoż-
ści. Cloud storage nie wymaga od użytkowników pono- liwia odtworzenie ich zawartości w sytuacji awarii kompu-
szenia nakładów na lokalną infrastrukturę fizyczną, zdej- tera lub niespodziewanego odcięcia dopływu prądu. Me-
muje z niego także ciężar przeprowadzania backupów, chanizmy backupu są standardem w przypadku środo-
replikacji, konserwacji urządzeń. Z drugiej jednak stro- wisk serwerowych, gdzie od bezpieczeństwa danych za-
leżeć może funkcjonowanie całej firmy.
Wyróżniamy kilka rodzajów backupu: całościowy,
przyrostowy, różnicowy, lokalny oraz sieciowy. Każdy
z nich ma swoje mocne i słabe strony, decyzja o wybra-
nej metodzie tworzenia kopii zapasowych zawsze nale-
ży do użytkownika.
Backupowi całościowemu (full backup) poddawane są
wszystkie zapisane na nośniku dane, a bit „archive” pli-
ków ustawiany jest w stan „0”. Backup całościowy zde-
cydowanie ułatwia wyszukiwanie danych – wszystkie
znajdują się na jednym nośniku, a w przypadku awa-
rii odtworzenie systemu nie zajmuje zbyt wiele czasu.
Z drugiej jednak strony full backup nie pozwala na efek-
tywne wykorzystanie nośników – permanentnie tworzo-
ne są kopie bezpieczeństwa rzadko modyfikowanych
danych. Kolejną komplikacją może być długi czas wyko-
Rysunek 2. Wnętrze serwera nywania operacji.
36 9/2010
Potop cyfrowych danych
Drugą techniką tworzenia kopii bezpieczeństwa jest Niestety nadal bardzo często – potwierdzając słowa
tzw. backup przyrostowy (incremental backup). W prze- przysłowia „mądry Polak po szkodzie” – o tym, jak istotny
ciwieństwie do swojego całościowego odpowiednika, jest backup dowiadujemy się dopiero po utracie danych.
backup przyrostowy dokonuje zapisu jedynie nowopow- Okazuje się wtedy, że przechowywane na komputerze da-
stałych danych lub tych, które uległy zmianie od czasu ne mają w istocie większą wartość niż samo urządzenie.
wcześniejszego backupu. Backupowane są pliki, które
bit „archive” mają ustawione w stan „1”, a po tej opera- Replikacja
cji bit „archive” jest przestawiany w stan „0”. Silną stro- Jednym z narzędzi backupu jest replikacja - proces po-
ną backupu przyrostowego jest krótki czas jego przepro- wielania danych, tworzenia ich kopii na różnych nośni-
wadzania oraz efektywne wykorzystanie nośników. Bac- kach, np. serwerach. Wyróżniamy trzy podstawowe ro-
kup przyrostowy nie jest jednak metodą idealną, poza dzaje replikacji danych: migawkową, transakcyjną oraz
długim czasem odtwarzania systemu jego podstawową dwukierunkową. Replikacja migawkowa polega na po-
słabością jest trudność wyszukiwania danych - do odna- wieleniu i rozprowadzeniu na różnych nośnikach da-
lezienia zbioru są potrzebne wszystkie nośniki z backu- nych zapisanych w określonym momencie. Ten typ repli-
pami przyrostowymi oraz ostatni nośnik z backupem ca- kacji znajduje swoje zastosowanie głównie w przypadku
łościowym. danych poddawanych rzadkim, ale znacznym modyfika-
Kolejnym sposobem tworzenia kopii zapasowych jest cjom. Za niedogodność możemy uznać fakt, iż dane zapi-
backup różnicowy (differential backup), w którym zapisy- sane pomiędzy kolejnymi migawkami nie są replikowane.
wane są te dane, które uległy zmianie od czasu ostatnie- W przypadku replikacji transakcyjnej dane rozprowadza-
go całościowego lub przyrostowego backupu. Backupo- ne są na podstawie logów transakcji tylko wtedy, gdy od-
wi poddawane są pliki, które bit „archive” mają ustawio- bywa się synchronizacja. Replikacja dwukierunkowa po-
ne w stan „1”. Po tej operacji nie ulega on zmianie. Ten lega zaś na dwukierunkowej wymianie danych – od ser-
typ backupu umożliwia łatwe wyszukiwanie potrzebnych wera głównego, jak i od klientów. Słabością tego rodza-
w danej chwili danych, odtworzenie systemu przeprowa- ju replikacji jest niebezpieczeństwo zaistnienia konfliktu
dza się stosunkowo szybko. Również sama procedura w czasie synchronizacji.
backupu trwa krócej niż w przypadku backupu całościo-
wego. Także i ten sposób tworzenia kopii zapasowych Podsumowanie
nie ustrzegł się słabości, którymi są nieefektywne wyko- Prawie 500 miliardów gigabajtów informacji cyfrowych
rzystanie nośników oraz nadmiarowość backupów – na- wygenerowanych w 2008 roku oraz prognoza mówiąca
wet te dane które nie uległy zmianie, są cały czas backu- o 1,2 zettabajta danych, które mają powstać w 2010 roku,
powane. Backup różnicowy ustępuje przyrostowemu pod nie pozostawiają złudzeń. Tak dynamiczny przyrost ilości
względem czasu wykonywania operacji. informacji elektronicznych wymusi na firmach i użytkow-
Spektrum technik tworzenia kopii bezpieczeństwa za- nikach domowych zmianę podejścia do kwestii storage’u.
mykają backup lokalny oraz backup sieciowy. Backup Zamiast inwestować w kolejne nośniki, coraz więcej osób
lokalny to rozwiązanie proste w instalacji i konfiguracji. zacznie zadawać sobie pytanie, co zrobić, by lepiej wyko-
Gwarantuje szybki transfer danych i krótki czas trwa- rzystać te, które już posiadają.
nia procedury backupu. Niestety wymaga dość dużego
udziału ze strony użytkownika, co zwiększa prawdopodo- STANISŁAW REJOWSKI
bieństwo wystąpienia błędu ludzkiego. Jest ponadto sto- Ukończył Automatykę i Metrolo-
sunkowo drogi. gię na Wydziale Elektrotechni-
Backup sieciowy z kolei umożliwia centralne zarządza- ki, Automatyki, Informatyki i Elek-
nie, intuicyjną automatyzację. Jest tańszy w administro- troniki Akademii Górniczo-Hutni-
waniu aniżeli jego lokalny odpowiednik. Słabością bac- czej w Krakowie. Od 18 lat zwią-
kupu sieciowego jest duże obciążenie sieci, wolny trans- zany z branżą IT. Specjalizuje się
fer danych oraz długi czas potrzebny do przeprowadze- w problematyce serwerowej. Przez
nia backupu. ponad 13 lat pracował w �rmie
Ważne przy tworzeniu kopii bezpieczeństwa jest, by OPTIMUS na stanowiskach: Tech-
pierwotne dane i ich zbackupowane odpowiedniki nie nik w Dziale Sieci Komputerowych,
znajdowały się w tym samym miejscu. Podczas ostat- pracownik w Dziale Integracji Sys-
niej powodzi wiele firm na własnej skórze odczuło jak bo- temów, Dyrektor Centrum Technologicznego Systemów Ope-
lesnym błędem może być lokalizacja wszystkich danych racyjnych, Kierownik Serwisu Serwerów, Manager ds. Techno-
w jednym miejscu. Podobnie w przypadku użytkowników logii Serwerowych w Biznes Unit Serwery, Kierownik Produkcji
domowych – przechowywanie kopii bezpieczeństwa da- i Serwisu Serwerów oraz Dyrektor Działu Badań i Rozwoju. Od
nych razem lub w pobliżu danych pierwotnych odbiera 2006 roku pełni obowiązki Dyrektora Działu Produkcji Serwe-
sens backupowi. rów Actina Solar w �rmie ACTION S.A.
www.hakin9.org 37
PRAKTYKA
Neurony w komputerze
Wojciech Terlikowski
M
ożliwości ludzkiego mózgu od niepamiętnych sę komórka nerwowa przejdzie do stanu aktywnego,
czasów fascynowały badaczy. Mimo, że pod wysyła przez wyjście infomacyjne sygnał o charaktery-
względem szybkości i dokładności obliczeń stycznych parametrach - kształcie, amplitudzie i czasie
arytmetycznych współczesne komputery uzyskują zna- trwania. Za pośrednicwtem innych synaps impuls taki
komite wyniki to możliwości układu nerwowego czło- przekazywany jest do kolejnych neuronów i może spo-
wieka w zakresie uczenia, rozpoznawania i klasyfika- wodować ich aktywację. Przejście komórki nerwowej
cji pozostają wciąż niedoścignionym wzorem. Wzór ten w stan aktywny następuje, gdy łączny sygnał, który do
z czasem stał się również inspiracją dla badaczy i inży- niej dotarł z wszystkich dendrytów przekroczy pewien
nierów chcących tworzyć maszyny coraz lepsze i bar- poziom progowy. Należy zauważyć, że waga sygnałów
dziej uniwersalne. W celu lepszego zrozumienia budo- z różnych wejść może być różna.
wy i zasady działania sztucznych sieci neuronowych Taki, dość uproszczony model układu nerwowego
warto wiedzieć jak działa ich naturalny pierwowzór. człowieka, stał się inspiracją do zaproponowania mode-
lu matematycznego zwanego sztuczną siecią neurono-
Układ nerwowy człowieka wą (ang. artificial neural network, ANN).
Badania badania wykazują, że mózg człowieka składa
się przede wszystkim z miliardów elementarnych komó- Budowa i działanie
rek nerwowych – neuronów, połączonych w skompliko- sztucznej sieci neuronowej
waną sieć. Ocenia się, iż każdy z neuronów ma śred- Kiedy mówi się o sztucznych sieciach neuronowych,
nio kilka tysięcy połączeń z innymi. Daje to łącznie oko- zwanych w uproszczeniu sieciami neuronowymi, na-
ło stu trylionów połączeń w całym mózgu. Komórki ner- leży pamiętać, że nie są one próbą wiernego odwzo-
wowe mogą przenosiśc i przetwarzać złożone sygna- rowania procesów zachodzących w układzie nerwo-
ły elektrochemiczne. Impulsy te przyjmowane są za po- wym. Podobnie jak w przypadku innych metod wzoro-
średnictwem wielu wejść informacyjnych tzw. dendry- wanych na procesach zachodzących w przyrodzie np.
tów i scalane w ciele tzw. perikarionie. Informacja wyj- algorytmów ewolucyjnych inspiracja biologiczna polega
ściowa jest przekazywana do innych komórek za po- przede wszystkim na przyjęciu odpowiedniego nazew-
średnictwem pojedynczego włókna - aksonu i rozgałę- nictwa oraz ogólnego schematu działania dla zaawan-
zionej struktury wyjściowej - telodendronu. Akson jed- sowanej metody matematycznej.
nego neuronu łączy się z dendrytami kolejnych za po- Najprostszą sztuczną siecią neuronową jest percep-
mocą synapsy. Jeśli w wyniku pobudzenia przez synap- tron. Może się on składać nawet z jednego neuronu,
38 9/2010
Neurony w komputerze
posiadającego wiele wejść xn i jedno wyjście y. Każ- się to ze zmianą struktury sieci neuronowej lub algo-
de z wejść neuronu powiązane jest z wagą synaptycz- rytmu uczenia i ponownym trenowaniem.
ną wn, a dodatkowo istnieje również waga w0 zwana Do uczenia perceptronu stosuje się następujący al-
wartością progową, nie powiązaną z żadnym z wejść. gorytm:
O kształcie i poziomie sygnału wejściowego decydu-
je funkcja aktywacji f. Stosuje się bardzo różne funkcje 1. Wybierz losowo wagi początkowe.
aktywacji, do najpopularniejszych należą: signum, tan- 2. Podawaj na wejścia perceptronu kolejne przykłady
gens hiperboliczny, arcus sinus czy funkcja liniowa. ze zbioru uczącego.
Pojedynczy neuron można opisać za pomocą rów- 3. Dla każdego przykładu oblicz wartość wyjściową.
nania y=f(s) gdzie s jest sumą sygnałów ze wszystkich 4. Jeśli wartość wyjściowa różni się od wzorcowej ob-
wejść z odpowienidmi wagami. s=Σi(xiwi+w0) licz nowe wartości wag według formuły w+d(xj)xj ,
Jak widać sposób działania prostej sieci neuronowej gdzie w to wektor wag w poprzednim kroku ucze-
jest łatwy do zrozumienia. Okazuje się, że już tak nie- nia, xj to wektor wartości wejściowych dla j-tego
skomplikowana sieć jak perceptron złożony z jednego przykładu natomiast d(xj) to wartość wzorcowa dla
neuronu posiada dobre właściwości w zakresie klasy- tego wektora.
fikacji. 5. Wróć do 2 i powtarzaj dopóki nie wyczerpie się
Na podstawie powyższych równań widać, że o tym zbiór uczący, lub nie zostanie uzyskany odpowied-
jak dobrze model realizuje swoje zadanie decyduje nio niski poziom błędu.
funkcja aktywacji oraz wartości wag. W bardziej złożo-
nych przypadkach znaczenie będzie miała również licz- W uzasadnionych sytuacjach, gdy dostępna jest tylko
ba neuronów i ich rozmieszczenie w warstwach. Funk- niewielka liczba przykładów, dopuszczane jest użycie
cja aktywacji jest najczęściej dobierana arbitralnie dla zbioru trenującego kilkukrotnie. Należy się wtedy jed-
całej sieci, więc cała "pamięć" znajduje się w wagach. nak liczyć z większym ryzykiem nadmiernego dopa-
Dlatego proces uczenia perceptronu polega na wyzna- sowania.
czeniu odpowiednich wartości wag. Jak się okazuje taki algorytm uczenia jest zbieżny
i jeśli tylko istnieje wektor wag prawidłowo klasyfikujący
Uczenie perceptronu
Do uczenia perceptronu stosuje się uczenie z nadzo-
rem (ang. supervised learning) zwane również ucze-
niem z nauczycielem. Algorytmy z tej grupy wymaga-
ją znajomości prawidłowej kategorii dla każdego z przy-
kładów. Kolejne elementy zbioru uczącego podawane
są na wejścia sieci. Jeśli na wyjściu przykład zostanie
nieprawidłowo zaklasyfikowany to algorytm modyfiko-
wany jest tab by zmniejszyć prawdopodobieństwo po-
pełnienia kolejnych błędów.
Podczas uczenia można natrafić na wiele trudności.
Istotnym problemem, występującym podczas uczenia
jest „nadmierne dopasowanie” (ang. overfitting) znane
również jako przeuczenie lub przetrenowanie modelu.
Ryzyko to dotyczy nie tylko sieci neuronowych, ale i in-
nych metod uczenia się maszyn. Podstawowym spo-
sobem zapobieżenia takiemu problemowi jest podział
zbioru przykładów wykorzystywanych podczas ucze-
nia na dwie części. Pierwsza z nich, zazwyczaj więk-
sza nazywana zbiorem uczącym, jest wykorzystywana
bezpośrednio w procesie uczenia. Drugiej, tzw. zbio-
ru testowego, używa się po zakończeniu procesu na-
uczania do sprawdzenia jakości wytrenowanego mo-
delu. Popularną metodą określania błędu sieci jest
błąd średniokwadratowy. Jeśli okaże się, że jest on
znacznie większy dla przykładów ze zbioru testowego
niż uzyskiwany podczas uczenia najpewniej oznacza
to nadmierne dopasowanie. Należy wówczas podjąć
odpowiednie działania naprawcze. Najczęściej wiąże Rysunek 1. Schemat komórki nerwowej. Źródło: Wikipedia.
www.hakin9.org 39
PRAKTYKA
wszystkie przykłady to zostanie on znaleziony w skoń- mają bezpośredniego połączenia z wejściem ani wyj-
czonej liczbie kroków. ściem sieci.
Wszystkie neurony mają połączenia z każdym z neu-
Bardziej złożone sieci neuronowe ronów warstwy następnej. Tak zbudowana sieć jest bar-
Sieć, składająca się z jednego neuronu nadaje się do dziej elastyczna i może być zastosowana do rozwiązy-
zastosowania w stosunkowo niewielkiej klasie pro- wania znacznie większej klasy problemów niż tylko kla-
blemów, gdy kategorie przykładów są liniowo sepa- syfikacja kategorii liniowo separowalnych. Pojawia się
rowalne. Z tego powodu w praktycznych zastoso- jednak ryzyko zbytniego skomplikowania modelu po-
waniach używa się bardziej złożonych struktur. Sie- przez dodanie zbyt wielu neuronów warstw ukrytych. Nie
ci wielowarstwowe składają się z wielu neuronów po- istnieje uniwersalna metoda, pozwalająca na wyznacze-
grupowanych w tak zwane warstwy. Do pierwszej nia optymalnej struktury sieci. W praktyce najczęściej
z warstw doprowadzone są wejścia, natomiast ostat- trzeba polegać na własnym doświadczeniu, obserwując
nia ma wyjścia całego modelu. Najczęściej pomiędzy jednocześnie błąd na zbiorze uczącym i testowym. Jeśli
nimi znajdują się warstwy ukryte, czyli takie, które nie ten drugi jest znacząco większy od pierwszego najczę-
ściej oznacza to, że strukturę sieci trze-
ba uprościć, usuwając część neuronów
lub jedną z warstw ukrytych. Jeśli nato-
miast zarówno błąd na zbiorze testowym
jak i uczącym mimo długiego uczenia nie
zmiejsza się do oczekiwanego poziomu,
może to oznaczać, że zakładany model
jest zbyt prosty. W takiej sytuacji pomóc
może rozbudowanie sieci o dodatkowe
neurony lub wartstwę ukrytą.
Uczenie sieci wielowartstowej, po-
dobnie jak w przypadku jednowarstwo-
wej, polega na minimalizacji błędu. Jest
on najczęściej defioniowany jako błąd
średniokwadratowy czyli suma kwadra-
tów różnic pomiedzy uzyskanymi i wzor-
cowymi wartościami wyjściowymi. Do
trenowania sieci można zatem zasto-
sować algorytmy znane z optymalizacji:
od metod gradientowych, na przykład
Rysunek 2. Funkcja signum jest często wykorzystywana jako funkcja aktywacji neuronu. metody największego spadku, poprzez
Rysunek 3. Symulacja sterowania dwoma agentami — myszami za pomocą sieci neuronowych w programie Simbrain.
40 9/2010
Neurony w komputerze
metody drugiego rzędu takie jak algorytm Levenberga- Opisany algorytm, podobnie jak inne metody gradien-
Marquardta, aż do algorytmów ewolucyjnych. towe jest w niewielkim stopniu odporny na minima lo-
Jednym z najpopularniejszych algorytmów uczenia kalne. Oznacza to, że znalezione ekstremum funkcji
sieci wielowarstwowych jest metoda wstecznej propaga- celu, czyli wartości wag sieci neuronowej, mogą wca-
cji błędu (ang. back propagation). Mimo, że zwykle jest le nie być optymalne, a jedynie najlepsze w najbliż-
wolniejsza od nowoczesnych algorytmów, takich jak me- szym otoczeniu. Dlatego też zostało opracowanych kil-
toda Levenberga-Marquardta, wciąż ma wielu zwolenni- ka modyfikacji algorytmu wstecznej propagacji błędu
ków. Przede wszystkim ze względu na prostotę oraz to, przyspieszających jego zbieżność oraz uodparniają-
że nie nakłada na funkcję celu, opisującą błąd wielu, nie- cych na minima lokalne. Do takich modyfikacji należy
kiedy trudnych do sprawdzenia ograniczeń. W efekcie m.in. metoda Quickprop oraz Rprop.
pozwala rozwiązanie praktycznie każdego zadania, choć Artykuł, ze względu na swoją niewielką obietość po-
rzadko będzie to rozwiązanie najszybsze. rusza tylko niewielki zakres tematów związanych z bu-
Algorytm wstecznej propagacji błędu: dową i zasadami działania i uczenia sieci neuronowych.
Jednak podstawowa wiedza w nim zawarta powinna po-
1. Wybierz losowo początkowe wartości wag. Najle- zwolić na zrozumienie tych zasad i świadome a przez to
piej małe liczby z przedziału (0,1). skuteczniejsze i lepsze wykorzystywanie rozwiązań ba-
2. Podawaj na wejście sieci kolejne przykłady ze zbio- zujących na tym modelu.
ru uczącego.
3. Dla każdego przykładu oblicz wartość wyjściową. Propozycja zastosowania sieci neuronowej
4. Oblicz wartości odchyleń w ostatniej warstwie. w systemie wykrywania włamań
5. Oblicz kolejno wartości odchyleń w poprzednich Jako przykład praktycznego zastosowania sieci neuro-
warstwach za pomocą propagacji wstecznej. nowych zaproponowano wykorzystanie ich w systemie
6. Na podstawie odchyleń wyznacz wartości popra- wykrywania włamań do systemów informatycznych.
wek dla wag we wszystkich warstwach. Wiele jest rozwiązań zabezpoieczających komputery
7. Powtarzaj od 2, aż do uzyskania wymaganego po- i sieci komputerowe przed intruzami (ang. Intrusion De-
ziomu błędu lub wyczerpania zbioru uczącego. tection systems, IDS). Systemy tej klasy mają za zada-
www.hakin9.org 41
PRAKTYKA
42 9/2010
PRAKTYKA
P
rzedstawiam szczególny charakter pamięci nie- w której dane mogą być przechowywane lub ukrywane
lotnych, które są obecne w dzisiejszych telefo- i dodatkowo komplikując pracę stróżów prawa (Al-Za-
nach komórkowych, jak naprawdę działają i ja- rouni, 2006): ten dokument ma przyczynić się do prze-
kie wyzwania stanowią dla badaczy sądowych. Następ- sunięcia dziedziny badania pamięci flash z poznawal-
nie zostaną zaprezentowane zaawansowane bada- nych do znanych w modelu Cynefin (Kurtz i Snowden,
nia, w których niektóre nowe pamięci flash są wykorzy- 2003).
stywane do ukrywania danych w uszkodzonych przez W dzisiejszych urządzeniach mobilnych istnieją ge-
człowieka blokach: celem jest sprawdzenie, czy opro- neralnie dwie pamięci: jedna dla systemu operacyj-
gramowanie wykorzystywane do badania jest w sta- nego (NOR flash), a druga (NAND flash) na dane
nie pobierać danych z takich bloków,
oraz ocena możliwości ukrywania
����
danych przed oczami analityków.
Środowisko mobilne ��
����� ��
Mobile Equipment (ME) jest tu rozu- ��� �������
������ ���� ����
miane jako słuchawka radiowa bar- ������� ������� �����
���
�����
dziej ogólnego telefonu komórkowe- ����� ��������� ��
go (Jansen i Ayers, 2007), wykona- ��
�� ��
na przez różne elementy, z których
najważniejsze zostały przedstawio- ���
ne na rysunku poniżej (Rys. 1).
������� ����
W trakcie jego ewolucji telefon ���������
�����
��
przeszedł z fazy PDA do dzisiej- �����������
��������� ��
szych inteligentnych telefonów, któ- �� �����
re zmniejszają różnice w stosun- �������
����
ku do komputerów osobistych. Po- ����
�����
jemność przechowywania również �����
����
gwałtownie wzrosła, od kilku Kilo-
bitów na początku do kilku Gigabi-
tów w obecnych telefonach komór-
kowych, zwiększając przestrzeń, Rysunek 1. Stary układ mobilnych urządzeń z opcjonalnym modułem NAND (Kwon, 2009)
www.hakin9.org 43
PRAKTYKA
���� ���
���
���� ���
���� ���������
���� ����������
44 9/2010
Badanie pamięci flash urządzeń mobilnych
FAT zawiera wszystkie działania jakie system pli- Architektura systemu plików flash
ków potrzebuje wykonać aby administrować plikami Architektura systemu plików flash jest oparta na jed-
(Hendrikx, 1998) nostkach logicznych (logical unit - LUN), blokach,
stronach i sektorach (Intel, 2006,
Numonyx, 2008a, Samsung, 1999).
LUN jest największą logiczną czę-
��������� � ��������� � ��������� �����������������������
ścią obszaru pamięci.
LUN są następnie podzielone na
bloki. Każdy blok może różnić się
��������� � ��������� � ��������� �������������������������������������� wielkością, gdzie najczęstszym jest
128KB. W większości urządzeń
� � � flash NAND każdy blok składa się
��������� � ��������� � ��������� ������������������������������������������ z 64 stron w każdym 2KB. Stro-
na jest podzielona na dwie czę-
ści: obszar danych i dodatkowy ob-
szar wykorzystywany do celów za-
Rysunek 4. Ograniczenia programowania �ash
rządzania pamięcią (więcej w dal-
szej części). Strony są podzielone
na sektory (lub kawałki) 512-bajto-
we aby naśladować popularny roz-
������ ������
������ ������ miar sektora. Blok jest najmniejszą
������ ������
������ ������ jednostką kasowalną podczas gdy
�� ���� ��
� �� � strona jest najmniejszą programo-
������ ������
������ ������
������� �������
������� �������
walną jednostką.
Na początku, strona miała 528
������ ������ ������ bajtów w związku z tym że orygi-
������ ������ ������ nalną intencją NAND Flash było za-
��������������
��������������
��������������
�� �� ��
� � � stąpienie magnetycznych dysków
������ ������ ������
twardych, więc było wymagane aby
������� ������� �������
strona była wystarczająco duża że-
by przechowywać jeden sektor (512
bajtów) danych z dodatkowymi 16
������ ������ ������
bajtami w celu zarządzania (Ino-
������ ������ ������
�� �� �� ue i Wong, 2004). Później, w mia-
� � �
������ ������ ������ rę wzrostu pojemności flash, wzrósł
������� ������� ������� domyślny rozmiar strony aby dosto-
��������������� ��������������� ��������������� sować się do systemu FAT. W 1 GB
pamięci flash, jest 128 MB adreso-
walnych przestrzeni: dla dysków
twardych wielkości do 128 MB, do-
Rysunek 5. Jednostka logiczna w pamięciach NAND myślny rozmiar klastra w systemie
������������
������������������������ ���� ������ ����� �������
����� ������� ������ ���� ���� ���� ���� ����� ����� ����� �����
���� ���� ���� ���� ���� ���� ���� ����
����� ����� ������� ������ ���� ���� ���� ���� �� �� �� ��
�������� ����� ������� ������
��������� ������������������������
������������
������� ��������� ��������
���
������� ��������� ��������
����� ������� ������
www.hakin9.org 45
PRAKTYKA
����
�������
����������
��� ���
��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ���
����� ����� ����� ����� ����� ����� ����� �����
46 9/2010
Badanie pamięci flash urządzeń mobilnych
�������������
Systemy plików flash
i warstwa przenoszenia flash
"System plików jest strukturą da-
Rysunek 10. Standardowy rozmiar bloku w sektorze urządzeń o gęstości poniżej 256 Mb i nych, która reprezentuje zbiór
ponad 512 Mb (źródło: Samsung)
zmiennych plików o dostępie swo-
bodnym w hierarchicznej przestrze-
ni nazw" (Ga i Toledo, 2005). Do
pracy z systemu plików hosta, pa-
���
���
������� ����� ����� mięci NAND flash wymagały kon-
������ ����� ������ kretnych systemów plików lub ste-
����� ����� ����� rownik. Obecnie mamy zarówno
������ ���� �������
������� konkretne systemy plików flash (jak
����
������
���������� YAFFS, JFFS, UBIFS i LogFS), jak
��������
�
� � �
�
��� również specjalny sterownik zna-
��������
� � ������������ ny jako warstwa przenoszenia flash
� � � �������������
�� �� (Flash Translation Layer - FTL).
�� �� �������������
��
��
�� ������������
������
"FTL jest sterownikiem, który
�� ������������
�� �� ������ działa w połączeniu z istniejącym
����������������� �������������������������� systemem operacyjnym (lub, w nie-
������� których aplikacji wbudowanych, ja-
ko systemoperacyjny), aby liniowa
pamięć flash zachowywała się jak
Rysunek 11. FTL przeniesienie sektora dysk" (Intel, 2006).
www.hakin9.org 47
PRAKTYKA
Głównym zadaniem FTL jest wspieranie wszystkich • Sprzątanie: jako że pamięci flash ulegają zużyciu,
zadań niezbędnych do zarządzania danymi w spo- wymagane jest oprogramowanie, które będzie po-
sób przezroczysty dla systemu plików hosta, np.: sys- ziomowało wykorzystania obszarów pamięci.
tem plików FAT będzie delegował na FTL wszystkich
działań koniecznych do przechowywania i pobiera- FTL dla NAND może być dostarczone w różny spo-
nia danych odpowiednio do / z urządzeń NAND flash sób: może być stworzone przez producenta i wbudo-
(BPMicrosystems, 2008, Intel 1998, Morris, 2007). wane w urządzenie (np. Samsung), może być wbu-
Główne zadania FTL to: dowane w system operacyjny zorientowany na flash
(np.: YAFFS) lub może być wykonane przez produ-
• Mapowanie powierzchni przechowywania danych centa jako port dla systemu operacyjnego jak Uni-
w wirtualne małe sektory store II wyprodukowanych przez Samsung dla syste-
• Zarządzanie danymi na flash tak aby wydawało mu operacyjnego Symbian (Morris, 2007, Samsung,
się że są "zapisane w miejscu" 2006b). Aby uzyskać więcej informacji na temat al-
gorytmów i struktur danych patrz
(Ga i Toledo, 2005).
Wracając do UBIFS, jest to no-
wy system plików flash opracowa-
�������������� �������������
ne przez inżynierów firmy Nokia
���� ������ ������ ���� z pomocą Uniwersytetu w Szeged
���� ������ ������ ����
���� ������ ������ ���� i może być traktowany jako kolejna
���� ������ ������ ����
��������������� ������� ������ ��������������� ������ ���� generacja systemu plików JFFS2
����� ������� ����� ������ ����
����
������
������ ������ ����
(MTD_group, 2008).
���� ������ ������ ����
������� ������ ������ ����
���� ������ ������ ���� Zużycie poziomowania
������� ������ ������ ������
���� ������ ������ ������ (Wear Levelling - WL)
������
����
����
������
������ ������
������
������
i Garbage Collection (GC)
��������� ����� ����� ������� Gdy dane w pamięci flash są ak-
����� ����� ����� ����� tualizowane, nie jest możliwe za-
programowanie tej samej strony
w jedno-kierunkowym programo-
Rysunek 13. Stan bloków przed i po procesie Reclaim (Intel, 2006) waniu urządzeń flash, więc stro-
na zawierająca dane do aktualiza-
cji jest całkowicie przepisywana do
nowej lokalizacji (może być w tym
samym bloku lub nie). W dodatko-
���� ��� ���� ���� ���� ���� ���� ��� ���� ���� ���� ���� wym obszarze strona z nowymi da-
�������������������� nymi jest oznaczone jako popraw-
��� ��� na (żywa), a stara jest oznaczo-
ny jako nieprawidłowy (martwa).
Gdy liczba martwych stron w bloku
Rysunek 14. Strategia SBB (z lewej) w porównaniu do RBA (z prawej) (BPMicrosystems, 2008) jest większa niż określają wytycz-
�� �� ��
� ��
� ��
� � �� ��
� � ��
� ��
� ��
� �
�������������
������ ������ ������ ������ ������������������������������������������
� �����������������������������������������
��������������������������
�����������
�� �� ��
� ��
� ��
� � �� ��
� ��
� �� ��
� �
���� ��� ���� ���� ���� ���� ����
����� � � � � � � �
�������������������
� ������������������
����������� �����������
�
�� �� ��
� �
�� �� �� ��
�� ��
� �
�� ��
�����������������������������������������������������������������
�
�������������������������������
48 9/2010
Badanie pamięci flash urządzeń mobilnych
ne wtedy żywe strony są przepisywane do nowych lo- dzenia flash stosują algorytm weryfikacji który wy-
kalizacji i blok zostaje usunięty, aby umożliwić jego twarza coś w rodzaju wartości skrótu/CRC dla każ-
przyszłe programowanie: jest to ukryty proces zwa- dej dostępnej strony: wartość jest następnie zapisy-
ny Odzyskujący Garbage Collection (Reclaim Garba- wane w dodatkowym obszarze (Numonyx, 2008d).
te Collection) i jest aktywowany bez udziału użytkow- Algorytm ten jest powszechnie zwany Error Correc-
nika i nie jest określony w czasie (Tsai et al., 2006). tion Code. Jeżeli błąd zostaje wykryty po fazie czyta-
Uwaga: w powyższym przykładzie, są używane tyl- nia, może być odzyskane przez ECC, jeżeli błąd zo-
ko dwa bloki, ale w świecie rzeczywistym regeneracji stanie wykryty po cyklu programowania lub usuwa-
może podlegać więcej bloków nie następuje aktywacja polityki wymiany blok (Mi-
W celu uniknięcia nadmiernego zużycia jednym cron, 2006a, Samsung, 1999). Więcej informacji na
obszarze na rzecz innych, proces zwany wyrówny- temat ECC, zobacz (Samsung, 2004). W odróżnieniu
waniem zużycia (Wear Levelling) zarządza bloka- od Wear Levelling, logika ECC jest na ogół wbudowa-
mi tak, aby były używane mądrze: istnieje statycz- ne w firmware wszystkich pamięci flash.
ne i dynamiczne wyrównywanie zużycia oba próbu- Pomimo że algorytmy ECC są tajemnice handlowe,
ją przedłużyć żywotność urządzenia flash (Numonyx, niektóre rozwiązania hakerskie są w stanie przero-
2008c, Jones, 2008). Procedury wyrównywania zuży- bić dane w urządzeniu flash rekonstruując ECC (jak
cia możne być wbudowana w firmware pamięci flash kod obecny w Sony PlayStation 3 (NDT, 2008)). Jest
lub pozostawiona pod opieką systemu plików hosta to nowy zakres nielegalnej działalności, nie opisany
(Numonyx, 2008b, Numonyx, 2008c, Jones, 2008, JI tutaj.
et al., 2009).
Dane w nieprawidłowych blokach lub strony mar- Zarządzanie uszkodzonymi blokami
twe mogą przechowywać informacje interesujące (Bad Management Block - BBM)
z punktu widzenia analizy sądowej i należy je pozy- Jeśli ECC raportuje błąd nie do odzyskania, wyma-
ska zostanie przeprowadzony Reclaim Garbage Col- gane jest, aby obszar zaznaczono jako uszkodzo-
lection: analitycy są proszeni o nie zmienianie sta- ny. Ponieważ najmniejszą jednostką kasowalną po-
nu materiału dowodowego, ale ponieważ Wear Le- wierzchni jest blok, każdy nieodwracalny błąd poja-
velling i Reclaim są procesami ukrytymi, wymóg ten wiający się na jakiejkolwiek stronie powoduje że ca-
może być trudny do osiągnięcia i trudny w zarządza- ły blok do którego strona należy zostanie uznany za
niu. W przyszłości pracach będą rozpatrywane wpły- wymagający wymiany, nie będzie on więc ponownie
wy procesu Reclaim na urządzenia wbudowane: wy- dostępny (Samsung, 2006b). Uszkodzone bloki zi-
niki będą podane. dentyfikowane w trakcie cyklu życia NAND flash zo-
staną dodane do listy uszkodzonych bloków wygene-
Kod korekcji błędów (ECC) rowanych w trakcie produkcji w fabryce i nie powin-
Strona może być zaprogramowana, wyczyszczona ny przekraczać 2% ogólnej liczby bloków (Samsung,
i czytana, po każdej operacji jest konieczna weryfika- 2007, STMicroelectronics, 2004).
cja stanu strony. Do dokonania tej weryfikacji, urzą- Do zarządzania nieważnymi blokami, producenci
stosują unikalny zasady, ale odno-
szą się do dwóch strategii: Pomiń
Zły Blok (Skip Bad Block - SBB)
������� ��������� ������� �������
i Rezerwuj Obszar Bloku (Reserve
�
���������� �������� Block Area – RBA). W SBB, gdy zły
�
blok zostanie wykryty system pli-
������� ��������
���������������
� ����� ków flash po prostu przeskakuje od
� ������
razu do następnego dobrego bloku.
�� ���������
W strategii RBA, wcześniej wydzie-
��
������� ���������
�� ���� ����������
�� ����
�����������
�� ��������
������������� �������� ������������
����������
����
������������ �����
��� ��� ������������� ��������
������
����
���� ������������������
��������
���� ����
Rysunek 16. Partycjonowanie dla SBB (z lewej) i RBA (z prawej) (White, 2008) Rysunek 17. Kategorie NAND �ash (BPM).
www.hakin9.org 49
PRAKTYKA
�������
�����
�����
�� �����
���������� ��� ���� ������� ����
����� ����
�� ���� ����
�� ����
������������������ ����
��� ���������������� ���
������������� �����������
��� ����������������
lony jako rezerwa obszar, służy do dostarczania do- Surowy NAND i Zarządzany NAND
brych bloków w zamian za złe. Gdy logika FTL i związane z nią funkcje są wbudo-
wanych w NAND, to flash jest wtedy skategoryzo-
Strategia Pomiń Zły Blok (SBB) strategii wany jako zarządzany NAND, a gdy FTL jest pod
i zagadnienia pokrewne opieką systemu plików hosta (logika jest zewnętrz-
SBB mogą powodować przesunięcie pomiędzy fi- na dla NAND), to mówi się o surowym NAND. Suro-
zycznym i logicznym rozmieszczeniem danych w pa- wy NAND zawiera tylko tablice pamięci flash i kontro-
mięci urządzenia flash z więcej niż jednym LUN. SSB ler P/E/R (Program/Erase/Read) (Pon et al., 2007).
może również doprowadzić do ingresji blok, w przy- Do analizy sądowej, konieczne jest branie pod uwa-
padku gdy blok z partycji (B) jest przetwarzany przez gę różnic między surowym i zarządzanym NAND, ze
usługi z poprzedniej i sąsiadującej partycji (A). Ozna- szczególnym uwzględnieniem skutków odzyskiwania
cza to, że będzie można mieć dwa bloki o tym sa- obszaru i zarządzanie złymi blokami.
mym numerze (BPMicrosystems, 2008, Breeuwsma
et al., 2007). Ewolucja pamięci flash: Samsung
OneNANDTM ™
Strategia Rezerwuj obszar bloku (RBA) W 2003 r. Samsung opracował nowy jednolity mo-
i zagadnienia pokrewne duł pamięci flash do przechowywania kodu i danych:
Przy wykorzystaniu RBA, partycjonowanie danych nie OneNANDTM ™. Urządzenie to posiada zarówno
ma miejsca, urządzenie jest po prostu podzielony na dużą prędkości odczytu danych z NOR Flash oraz
obszar bloków przestrzeni użytkownika i obszar re- wysoką prędkość zapisu i możliwości NAND Flash.
zerwowy (BPMicrosystems, 2008, Samsung, 2006a). W dniu pisania tego artykułu można przechowy-
Odpowiednia tabela jest używana do odwzorowania wać dane o pojemności do 16Gb w obszarze NAND.
uszkodzonych bloków na RBA. W przypadku utraty OneNAND posiada interfejs NOR, więc chipset wy-
tej tabeli, powinno być możliwe odtworzenia jej przez kryje OneNANDTM ™ jak NOR, podczas gdy dane
odczytanie flag w dodatkowym obszarze wszystkich mogą być przechowywane bezpośrednio w obsza-
bloków - nawet jeśli niektórzy autorzy twierdzą że jest rze NAND za pomocą multipleksowane linii dostę-
to niezwykle trudne (Inoue i Wong, 2004). pu. OneNANDTM ™ jest sklasyfikowany jako suro-
wy NAND z funkcją wewnętrznego
ECC (Samsung, 2005b).
����������������� �������
����������
�������������
������������� ���
����������������
�������������������������������
SALVATORE FIORILLO
Konsultant ds. bezpieczeństwa
Rysunek 19. Surowy OneNAND™ salvatore.�orillo @ tesoro.it
50 9/2010
Następny numer dostępny on-line
ostatniego dnia sierpnia 2010
www.hakin9.org 51