26
HAKIN9
ATAK
1/2010
H
acker zamknięty w ciemnym pokoju
wykorzystuje swój terminal, aby uzyskać
dostęp do mocy obliczeniowej serwera.
Przełamanie zabezpieczeń nie było proste, ale
opłacalne – zwykły użytkownik nie ma dostępu do
zasobów zgromadzonych w sieci.
Wspomnienia z początku lat 80. XX wieku?
Nie – bliska przyszłość.
Jak działa chmura?
Modny ostatnio termin cloud computing
(przetwarzanie w chmurze) oznacza sposób
udostępniania zasobów i usług przez
Sieć. Idea polega na stworzeniu abstrakcji
prezentującej użytkownikowi wynik działania lub
zasób bez konieczności wnikania w działanie
oprogramowania i sprzętu oraz ich kupowania.
Główne zalety tego rozwiązania to wysoka
skalowalność i rozłożenie kosztów zarządzania
systemem w czasie. Zyskują zarówno użytkownicy
indywidualni (wykorzystując usługi takie jak poczta
przez webmaile), małe firmy, które nie muszą
inwestować w drogi sprzęt i obsługę techniczną
oraz korporacje, które mogą praktycznie
natychmiast uzyskać większą ilość zasobów.
Najlepszym przykładem wykorzystania cloud
computingu jest właśnie dostęp do e-maila przez
interfejs na stronie WWW. Użytkownik, korzystając
z dowolnej przeglądarki i urządzenia (np. telefonu),
ma dostęp do swojego konta. Wszystkie dane
składowane są na dyskach usługodawcy,
a obliczenia wykonują połączone w sieć i
MARCIN KOSEDOWSKI
Z ARTYKUŁU
DOWIESZ SIĘ
czy twoje dane są bezpieczne i
dlaczego nie,
dlaczego uzależnisz się od
bezprzewodowego Internetu,
dlaczego script kiddies muszą
odejść i kto ich zastąpi.
CO POWINIENEŚ
WIEDZIEĆ
mieć podstawową wiedzę o
procesach produkcyjnych,
mieć ogólne pojęcie typowych
atakach.
współpracujące ze sobą serwery. Dzięki temu
komputer użytkownika nie musi mieć dużej mocy
obliczeniowej niezbędnej np. do przefiltrowania
kilku tysięcy e-maili. Serwery zrobią to szybciej
niż telefon. Urządzenie odbiorcze musi tylko
pobrać i wyświetlić dane oraz komunikować się z
serwerem – służy wyłącznie jako terminal.
Na tej samej zasadzie działają arkusze
kalkulacyjne dostępne online i inne aplikacje
wymagające dużej mocy obliczeniowej. Idea nie
jest nowa. Dokładnie tak samo działały pierwsze
komputery dostępne dla zwykłych użytkowników.
Mainframe znajdował się na uczelni lub w
siedzibie firmy, a pracownicy łączyli się z nim
z powolnych, ale stosunkowo tanich terminali.
Zmienił się tylko sposób dostępu do zasobów
– teraz zamiast jednego serwera wykorzystuje
się całą ich sieć, która dla użytkownika jest
jedynie abstrakcyjnym pojęciem, a jej fizyczna
realizacja nie ma znaczenia (stąd słowo cloud;
computing oznacza oczywiście obliczenia).
Sposób prezentacji danych i wygodę użytkowania
poprawiają nowoczesne techniki, takie jak AJAX.
Płatność za usługę
SaaS (Service as a Software) to model
dystrybucji oprogramowania, w którym programy
działają na serwerze, a użytkownikom – za
pośrednictwem Internetu – udostępniany jest
jedynie wynik działania aplikacji. Płatności zwykle
odbywają się w rocznych lub miesięcznych
cyklach, a w razie potrzeby można dokupić lepszy
Stopień trudności
Bezpiecznie jak
w chmurach
Nie uciekniemy od Cloud computingu. Dostawcy usług
przywiążą nas do siebie, po czym zaopiekują się naszymi
danymi. Nie nastąpi to w tym roku ani kolejnym, ale trend jest
jasny – coraz więcej danych i obliczeń będzie rozproszonych
w Sieci. To się po prostu opłaca.
27
HAKIN9
CLOUD COMPUTING
1/2010
pakiet usług, więcej miejsca na dysku czy
dodatkową moc obliczeniową. Rozwiązanie
to jest wygodne dla dostawcy i odbiorców.
Właściciel oprogramowania nie naraża
się na nielegalne kopiowanie programów,
otrzymuje stałą miesięczną opłatę i
przywiązuje do siebie użytkownika. Klient
nie musi płacić za całe oprogramowanie
od razu, może w dowolnym momencie
zmienić zakres usług (np. jeśli kupił ich
zbyt dużo lub nagle postanowi czasowo
rozszerzyć działalność). Dla małych
firm i osób prywatnych ważna jest także
obsługa serwerów przez doświadczonych
administratorów i lepszy sprzęt. Powierzenie
swoich danych, zwłaszcza jeśli są to
informacje kluczowe dla firmy, wiąże się
jednak z ryzykiem.
Obecnie technologia jest bardzo
młoda i nie ma regulacji w świadczeniu
usług backupu czy dostarczania
oprogramowania wykorzystując cloud
computing, ani tym bardziej płatności za
efekt, a nie aplikację. Rynek rozwija się
jednak szybciej niż zakładano, a analitycy
z organizacji Gartner twierdzą, że w ciągu
pięciu lat jego wartość przekroczy 150 mld
dolarów. W tym czasie firmy same zadbają
o stworzenie odpowiednich certyfikatów
bezpieczeństwa i edukację użytkowników,
ale dzisiaj nie wszyscy dostrzegają ryzyko.
Mniejsze firmy, które chcą za kilkaset złotych
rocznie mieć dostęp do umieszczonego
w chmurze dysku (a właściwie dysków, w
dodatku często wirtualizowanych – patrz
ramka) nie zawsze wiedzą, że ich dane
mogą zostać wykradzione, chociażby przez
nieuczciwego dostawcę.
Praktycznie nie ma dnia bez doniesień
o wycieku lub utracie danych. Korzystanie
z usług w chmurze oznacza duże zaufanie
do dostawcy. Główną kwestią jest wybór
i zaufanie odpowiedniej firmie – mówi
Łukasz Żur z firmy Infrastruktura24
oferującej backup z wykorzystaniem cloud
computingu i modelu SaaS. Wysyłając
dane w chmurę spodziewamy się, że zajmą
się nimi profesjonaliści, których zatrudnienie
byłoby dla nas zbyt dużym kosztem. Z
jednej strony jest to bezpieczne rozwiązanie,
ale z drugiej naraża dane np. na odczytanie
przez nieuczciwego dostawcę. Dane są
co prawda szyfrowane, ale jego sposoby
są różne. Spotkać można zarówno
sytuacje, w których posiadaczem klucza
szyfrującego jest dostawca usługi(!), aż
po zaawansowane sposoby szyfrowania,
w których pełną kontrolę przejmuje
użytkownik. Przechowywanie kopii klucza
przez usługodawcę gwarantuje nam, że nie
zostanie usunięty jeśli np. przechowywany
byłby na tym samym komputerze lokalnym,
który uległ awarii – w takim przypadku
zaszyfrowany backup na nic by się nie
zdał. Nieuczciwy dostawca mógłby jednak
zażądać opłaty za odszyfrowanie danych.
Takie sytuacje mogą zdarzać się właśnie
teraz, kiedy rynek dopiero się kształtuje, a
cloud computing – zwłaszcza w Polsce
– jest stosunkowo rzadko spotykany.
Bezpiecznie jak w banku?
Badania przeprowadzone przez kadrę
naukową Politechniki Wrocławskiej oraz
firmę Supersafe w 2008 roku pokazują, że
zaledwie 8% z 470 przebadanych małych
i średnich firm chroni ważne informacje
Rysunek 1.
Antywirus online wykorzystuje chmurę obliczeniową dostawcy, ale dostaje
pełen dostęp do danych. Ilu użytkowników przeczyta umowę?
Rysunek 2.
Narzędzia do backupu online to niepozorne programy, które dają dostęp
do nowoczesnych centrów danych za stosunkowo małe pieniądze
ATAK
28
HAKIN9 1/2010
CLOUD COMPUTING
29
HAKIN9
1/2010
wykorzystując do tego celu backup
online. 1/3 ze wszystkich firm odczuła
bolesne konsekwencje związane z utratą
cennych informacji. W jednym przypadku
na cztery było to związane z awarią
sprzętu komputerowego lub nieumyślnym
usunięciem danych przez pracownika.
Poza backupem popularne obecnie
rozwiązania wykorzystujące cloud
computing to dostęp do pakietów
biurowych, poczty i antywirusów. Klasyczne
czytniki zostały prawie całkowicie wyparte
przez webmaile. Thunderbird czy Outlook
potrafią skutecznie spowolnić starsze
komputery, a uruchomienie najnowszego
Office'a jest na nich prawie niemożliwe.
Użytkownik bez zastanowienia wybiera
więc Google Docs, przechowuje pocztę na
serwerze i daje pełen dostęp do swojego
komputera antywirusowi online. Jak
przekonują eksperci, bardzo wiele zależy
w tym przypadku od reputacji firmy, której
powierzamy własne dane. Odbiorcy usługi
nie zawsze wiedzą jak dokładnie działa
technologia chmur obliczeniowych i ufają
w tym względzie dostawcy. Jeden błąd lub
wyciek danych z takiej firmy może mieć
kluczowy wpływ na jej pozycję na rynku,
więc należy zakładać, że duzi dostawcy
będą starali się utrzymać wysoki poziom
bezpieczeństwa. Z drugiej strony, w razie
ewentualnego wycieku danych lub ataku
cyberprzestępców mogą pokusić się o
utajnienie tego faktu przed opinią publiczną.
W podobny sposób działają banki i duże
serwisy internetowe, które starają się
nie informować o ataku, gdyż mogłoby
to doprowadzić do spadku reputacji w
oczach klientów. Należy zdawać sobie
sprawę, że ukrywanie informacji o wycieku
danych lub ataku na klientów i infrastrukturę
ma też wady. Głównym zagrożeniem
jest to, że wielkie firmy będą próbowały
zbagatelizować sprawę zapewniając
użytkowników, że ich dane są bezpieczne.
Podobne sytuacje miały miejsce
wielokrotnie. Wspomnieć można chociażby
ubiegłoroczny wyciek bazy danych 100000
użytkowników serwisu społecznościowego
Wykop.pl. Jego właściciele przez kilka
tygodni nie ujawnili informacji o tym,
że hasła nie są już bezpieczne, a po
znalezieniu sprawcy poinformowały, że
wszystkie ukradzione kopie bazy zostały
odzyskane. Brzmi to niepoważnie, bo w
jaki sposób sprawdzić ile razy skopiowano
dane? Mimo to użytkownicy poczuli się
bezpieczni – do sprawy włączyła się
przecież policja, a administracja wysyłała
komunikaty o postępach. Większość tego
typu sytuacji, zwłaszcza, jeśli dotyczą
ważniejszych danych niż hasło do serwisu
społecznościowego, nigdy nie zostaje
ujawniona.
Uwaga na terminale
Nie tylko zachowanie w sytuacjach
kryzysowych, ale również same ataki będą
analogiczne jak w przypadku banków.
Dużo łatwiej jest zaatakować pojedynczego
klienta niż dobrze chronione centrum
danych, ale różnica w korzyściach jest
równie znacząca. Za kilka lat, kiedy cloud
computing rozwinie skrzydła, po stronie
użytkownika będziemy mieli netbooka,
tani komputer lub telefon, na których
główne oprogramowanie stanowi system
operacyjny i przeglądarka. Pakiet biurowy,
klienta poczty i inne programy przeniesiono
w chmurę, wykorzystywany jest również
dysk online od dostawcy usług. Nietrudno
domyślić się, co będzie celem ataku.
Wydawałoby się, że system powinien być
w tym przypadku wyjątkowo bezpieczny.
Niestety tak nie jest. W tanich netbookach,
potencjalnie najbardziej potrzebujących
wsparcia chmury, cały czas masowo
instaluje się leciwego już Windowsa
XP. Microsoft zastrzegł nawet, że na
komputerach mobilnych wyposażonych
w mniej niż 1GB RAM-u nie będzie
instalowana Vista ani Windows 7. Dla
zwykłego użytkownika nie jest to najlepsze
rozwiązanie – domyślnie skonfigurowana
Vista zapewni większe bezpieczeństwo
niż standardowy Windows XP bez service
packów. Jeszcze gorzej może wyglądać
sytuacja gdy Microsoft przestanie wspierać
ten system i nie będzie już wypuszczał łat
na wykryte luki. Bez wsparcia ze strony
Microsoftu użytkownik będzie po prostu
wystawiony na działanie cyberprzestępców.
Dotyczy to również starszych komputerów z
Windowsem 2000 czy 98, które cały czas
można spotkać na starych komputerach.
Na pierwszy rzut oka są oni sami sobie
winni, gdyż nie instalują poprawek i
korzystają ze starego oprogramowania.
Komputer takiego użytkownika może
jednak stać się stacją docelową do
zdobycia cenniejszych zasobów chmury,
które przeznaczone były dla większej
liczby osób. Nietrudno wyobrazić sobie
Rysunek 3.
Z cloud computingiem nieodłącznie wiąże się wirtualizacja. Na zrzucie
Windows XP, SUSE Linux i Windows 7 uruchomione na wspólnej fizycznej maszynie
Rysunek 4.
Chmura obliczeniowa
pozwoli połączyć wszystko: terminale,
słabe komputery i urządzenia o małej
mocy obliczeniowej
ATAK
28
HAKIN9 1/2010
CLOUD COMPUTING
29
HAKIN9
1/2010
złośliwe oprogramowanie, które wykorzysta
podłączony do zaatakowanego komputera
dysk online albo użyje dostępnej mocy
obliczeniowej do łamania haseł. Podobne
ataki były już wykorzystywana na
szeroką skalę (m.in. do złamania haseł
użytkowników eBay'a).
Warto zauważyć również rosnące
znaczenie telefonów komórkowych,
dla których podłączenie do chmury
obliczeniowej daje zupełnie nowe
możliwości. Najlepszym przykładem są
mobilne wersje przeglądarki Opera. W
tym przypadku strona pobierana jest
na serwer, następnie renderuje się ją z
uwzględnieniem możliwości wyświetlacza
klienta, kompresuje i dopiero taką wersję
wysyła na ekran telefonu. Wszystkimi tymi
operacjami zajmują się serwery Opery, a
aplikacja zainstalowana w telefonie działa
jedynie jako klient. Jeszcze dalej poszło
Google. Ustalenie granicy między tym, co
w systemie Android działa lokalnie, a w
chmurze jest bardzo trudne.
Dla kogo chmura?
Niektórzy, w szczególności firmy i instytucje
rządowe, nie mogą pozwolić sobie na
korzystanie z cudzych chmur, więc tworzą
własne. Chmura obliczeniowa jest w
rzeczywistości siecią serwerów, której
budowa dla użytkownika nie powinna mieć
znaczenia. W związku z tym każda firma,
która nie może powierzyć swoich danych
zewnętrznym dostawcom usług ma szanse
na zastosowanie cloud computingu,
którego głównym celem jest przecież
lepsze wykorzystanie zasobów i obniżenie
kosztów. W systemach takich pojawia się
problem z zapanowaniem nad serwerami
czy dyskami sieciowymi – wszystko to jest
przecież wirtualizowane. Pojawiło się już
określenie server sprawl (rozrost serwerów),
oznaczające gwałtowny wzrost liczby
wirtualnych maszyn, którymi coraz trudniej
jest zarządzać. Coraz mniejsze znaczenie
ma też fizyczna ilość komputerów czy
dysków – ważne jest to, co widzi użytkownik.
Administratorzy często uświadamiają sobie
kwestie związane z bezpieczeństwem
dopiero po wdrożeniu wirtualizacji.
Powszechną praktyką jest skupianie się na
dostarczaniu serwerów, a dopiero później
analizowanie, jak je zabezpieczyć – pisze
Rafał Janus z virtualfocus.pl, jednego z
najlepszych polskich serwisów zajmujących
się wirtualizacją. Stworzenie bezpiecznego
środowiska nie jest więc proste i wymaga
wiedzy. Warto nadmienić, że wirtualizacja
to nie tylko umieszczanie wielu serwerów
na jednej fizycznej maszynie. Pojęcie
to dotyczy również pamięci masowych
(wirtualne dyski), komputerów biurkowych
oraz aplikacji.
Ataki przyszłości
Potencjalnym niebezpieczeństwem mogą
być próby podszycia się pod dostawcę
usług. Obecnie często zdarzają się
ataki phishingowe (podszywanie się
pod banki i serwisy w celu przejęcia
konta użytkownika) oraz fałszowanie
wpisów w serwerach DNS. Atakujący
wykorzystują pośrednią witrynę, która
pobiera przekazane dane, zapisuje je
i natychmiastowo przekierowuje do
prawdziwego serwera. Podobny atak
można by przeprowadzić w odniesieniu
do cloud computingu. Główna idea
to przechwycenie danych wysyłanych
w chmurę. Można założyć, że są one
wartościowe, bo płatny hosting online
będzie używany do przechowywania
stosunkowo ważnych plików. Najprostszym
pomysłem, stosowanym początkowo w
phishingu, byłoby stworzenie własnej usługi
udającej np. Google Docs i zachęcenie
Rysunek 5.
Przykładem zastosowania chmury obliczeniowej są pakiety biurowe
dostępne online
Rysunek 6.
W kwestii bezpieczeństwa
usług wykorzystujących cloud computing
na razie powinniśmy kierować się
rekomendacjami, mówi Karel Oblug z
AVG Technologies
ATAK
30
HAKIN9 1/2010
CLOUD COMPUTING
31
HAKIN9
1/2010
internautów do skorzystania z niej.
Wymaga to jednak własnej infrastruktury.
Zamiast tego lepiej byłoby stworzyć tunel
między użytkownikiem a chmurą Google i
przechwytywać tylko interesujące dane. W
tym przypadku nie wystarczy sama strona
z formularzem logowania, ale konieczne
jest utrzymanie stałego połączenia – dane
są bowiem wymieniane stale, często
asynchronicznie z użyciem AJAX-u, a więc
bez odświeżania strony.
Rozwiązaniem tego problemu (ze strony
atakującego) mogłoby być przykładowo
postawienie serwera proxy i modyfikacja
przeglądarki ofiary tak, aby łączyła się za
jego pośrednictwem. Jeśli transmisja jest
szyfrowana (w przypadku Google Docs
nie jest) należałoby dodatkowo zająć się
jej złamaniem. Oczywiście jest to jedynie
model, a na tej samej zasadzie można
uruchomić znacznie bardziej złożone i
trudniejsze do wykrycia tunele. Atak taki
jest tylko pomysłem, a jego praktyczna
realizacja może być skomplikowana, ale
przechwycenie połączenia jest możliwe.
Możemy spodziewać się, że w przyszłości
pojawią się próby podszycia pod dostawcę
usług przetwarzania w chmurze właśnie w
ten sposób.
Obecnie często spotykanym atakiem
jest SQL injection, czyli wstrzyknięcie
zapytania do bazy danych prosto od strony
klienta. Jeśli serwer źle filtruje zapytania,
zadane chociażby przez przeglądarkę,
może okazać się, że użytkownik zmusi
go do wykonania niebezpiecznych
operacji. Błędy te dotyczą głównie
unikatowych systemów robionych na
konkretne zamówienie lub pisanych
przez niedoświadczonych programistów.
W przypadku dużych firm SQL injection
rzadko ma miejsce. Podobny atak można
by zastosować w przypadku usług
działających w chmurach obliczeniowych.
Analizując wysyłane i otrzymywane przez
przeglądarkę komunikaty, atakujący może
zlokalizować miejsca, w których da się
dokleić dodatkowy kod. W przeciwieństwie
do serwerów stron WWW, które dają co
najwyżej dostęp do bazy danych, chmury
obliczeniowe mogą zostać wykorzystane
do wykonania niebezpiecznego kodu
lub nawet umieszczenia go na stałe na
serwerach.
Gdzie zaatakować?
Atak na jedną maszynę jest zawsze
prostszy niż na całą ich sieć, ale w
przypadku chmur obliczeniowych celem
wcale nie musi być pojedynczy serwer.
Na samodzielnych serwerach atak
polega na znalezieniu świadczonych
przez niego usług, zidentyfikowaniu
oprogramowania, wykryciu jego słabych
punktów i skorzystaniu z programów,
które wykorzystują te dziury. To, czy
oprogramowanie pisane jest samodzielnie
czy ściągnięte z Internetu nie ma w tym
przypadku znaczenia. Podobnie wygląda
atak na tysiące zwykłych komputerów, ale
pomijana jest sprawa wykrywania błędów
w oprogramowaniu. Cyberprzestępcy
zarażają możliwie dużą liczbę komputerów
licząc na to, że w części z nich trafią
się dziurawe aplikacje, które można
wykorzystać. W przypadku chmury
obliczeniowej
sprawa wygląda
zupełnie inaczej.
Usługodawca
dostarcza tylko
interfejs aplikacji,
a cała część
obliczeniowa
znajduje się na
jego serwerach.
Jeśli architektura
oprogramowania
jest dobrze
opracowana, to
część użytkowa
aplikacji powinna
być bezpieczna
i całkowicie odizolowana od dostępu z
zewnątrz.
Pozwala to chronić uruchomioną
aplikację przed próbami wyszukiwania dziur
i zasadniczo czyni je bezpieczniejszymi.
Z drugiej strony programy, które nigdy nie
wychodzą poza serwery dostawcy usługi
mogą posiadać wiele dziur, o których
załatanie nikt nie będzie się specjalnie
martwił. Jeśli w jakiś sposób udałoby
się uzyskać dostęp do wnętrza systemu
(np. poprzez przekupienie pracowników),
atakujący mógłby liczyć na to, że
znalezione przez niego dziury pozostaną
niezauważone przez wiele miesięcy.
Żegnajcie, script kiddies!
Działanie takie wymaga pracy, ale może
być opłacalne. Obecnie małe firmy i osoby
prywatne nie mogą pozwolić sobie na
opiekę doświadczonych administratorów
czy audyt bezpieczeństwa posiadanych
urządzeń. Zwłaszcza zwykli użytkownicy nie
przejmują się specjalnie bezpieczeństwem
swoich danych, aplikacji i sprzętu. Duże
firmy sprzedające swoje usługi i zasoby
w ramach modelu SaaS przywiązują
znacznie większą wagę do bezpieczeństwa.
W dodatku będzie ona rosła wraz z
rozwojem rynku i konkurencji. Trudność w
dotarciu do atakowanego oprogramowania
i wykryciu luk oraz niezbędne kwalifikacje
doprowadzą do wzrostu cen exploitów
oraz informacji o lukach dnia zerowego
– ostrzegają eksperci. Atak na centrum
danych czy chmury serwerów nie będzie
już mógł być wykonany przez amatorów,
którzy przypadkiem znaleźli w sieci
odpowiednie programy (script kiddies),
ale stanie się domeną grup, które będą
w stanie zainwestować we własnych
programistów, czy właśnie przekupienie
pracowników atakowanej firmy w celu
wyciągnięcia programu na zewnątrz.
Większość osób mogłaby być z tego
powodu zadowolona – skończą się ataki
dla zabawy albo w celu pochwalenia
się znajomym – ale przyszłość nie jest
aż tak różowa. Same serwerownie są z
oczywistych względów, chociażby opieki
administratora, bezpieczniejsze niż typowy
domowy czy biurowy pecet, ale groźne
mogą okazać się aplikacje używane w
cloud computingu. Kontrolę nad atakami
na chmury obliczeniowe przejmie mafia
Rysunek 7.
Lokalizacja 38 centrów danych firmy Google. Źródło:
wayfaring.com/
ATAK
30
HAKIN9 1/2010
CLOUD COMPUTING
31
HAKIN9
1/2010
lub rządu państw przygotowujących się
do ceberwojny. Powrót do czasów grup
ganianych hackerów byłby najlepszą
możliwa perspektywą, bo nikt rozsądny
nie powinien zakładać, że wraz z
przeniesieniem większości usług w chmury
znikną problemy z atakami na dane.
Przeniosą się one po prostu na wyższy,
niedostępny dla większości osób, poziom.
Po drugiej stronie, poza bezpieczną
chmurą, mamy miliony zwykłych
użytkowników, którzy korzystają z tysięcy
różnych wyszukiwarek na setkach systemów
operacyjnych. Przenosząc swoje programy
do Sieci prawie całkowicie zrzucają oni
odpowiedzialność za swoje zasoby na
administratorów i dostawców usług. W
takiej sytuacji, wbrew logice, świadomość
dotycząca kwestii bezpieczeństwa może się
wśród nich zmniejszyć. Ciągłe korzystanie
z usług udostępnianych za pośrednictwem
Sieci, w tym ochrony antywirusowej, może
doprowadzić do zaniku świadomości
zagrożeń płynących z Internetu i większemu
zaufaniu do programów uruchamianych po
stronie serwera. Zmiany te nie będą jednak
znaczące.
Za ochronę takich użytkowników
mogliby wziąć się producenci
oprogramowania instalowanego na
lokalnych maszynach – w przyszłości
będą to głównie przeglądarki. Standardem
powinna stać się na przykład praca
każdej karty w osobnym procesie,
tak jak ma to miejsce w Google
Chrome. Z drugiej strony dostawcy
usług mogą nie dopuszczać do Sieci
niektórych użytkowników, korzystających
z nieaktualnego i niebezpiecznego
oprogramowania. Obecnie, aby uzyskać
dostęp do części zasobów, zwłaszcza
związanych z backupem danych, należy
skorzystać z oprogramowania klienckiego
dostarczonego przez dostawcę usługi.
Naturalnym wydaje się, że nie wszyscy
będą dopuszczali do swoich sieci stare
i niebezpieczne przeglądarki lub nie
wszystkie będą wspierane. Wskazuje na to
aktualne podejście banków, które działają
podobnie jak firmy związane z cloud
computingiem.
Powrót do korzeni
Zmiany w nastawieniu do bezpieczeństwa
mogą oznaczać powrót do początków
hakingu. Kiedy pojawili się źli hakerzy,
łamanie zabezpieczeń nie polegało na
pobraniu z sieci gotowych skryptów albo
kupnie magazynu, otwarciu go na dziale
Atak i wykorzystaniu opisanych programów.
Musiały one zostać wymyślone. Celem
osób przełamujących zabezpieczenia był
darmowy dostęp do telefonu, zasobów
mainframe'u albo po prostu chęć
udowodnienia innym, że system nie jest
bezpieczny. Włamania nie były aktem
wandalizmu, ale służyły konkretnym celom.
Oczywiście, wielkie firmy były okradane, ale
właściwie tylko one i konkurenci hakerów
stawały się ofiarami.
Później, wraz z upowszechnieniem się
Internetu, przyszła pora na przestępców
czyhających na nieświadomych
internautów, którzy w dalszym ciągu dają
się nabierać na próby wyłudzenia haseł,
zostawiają domyślne hasła i instalują
wszystko co tylko trafi im w ręce. Z drugiej
strony łatwość z jaką można uzyskać
narzędzia, ułatwiając włamania sprzyja
wszystkim internetowym wandalom.
Wykorzystanie ściągniętego z sieci exploita
w celu zrobienia żartu koledze może być
zabawne, ale ataki przeprowadzone przez
osoby niemające pojęcia o tym, co robi
pobrany z sieci program polegają zwykle
na bezsensownym zniszczeniu cudzej bazy
danych albo danych z serwera FTP.
Jeśli cloud computing rozwinie się do
poziomu, w którym korzystać będziemy
głównie z przeglądarki, to możemy
spodziewać się ponownej profesjonalizacji
hakingu. Znikną nie tylko firmowe serwery
WWW i FTP, ale też większość lokalnego
oprogramowania, którego dziury są
częstą przyczyną ataków na zwykłych
użytkowników.
Uzależnieni od dostawcy
Problemem groźniejszym od nawet
najlepszych hakerów może stać się
nagły brak dostępu do Sieci. Użytkownicy
indywidualni rzadko kiedy korzystają z
komputera niepodłączonego do Internetu,
a trend do ciągłego bycia online będzie
się zwiększał. Jeśli większość usług,
programów i danych przeniesiemy w
dostępne tylko przez Internet chmury
obliczeniowe, to odłączenie od Sieci może
oznaczać katastrofę. W ciągu najbliższych
kilku lat, dzięki lepszemu wykorzystaniu
GSM-u i pojawieniu się WiMAX
wzrośnie dostęp do bezprzewodowego
Internetu, ale cały czas będą pojawiały
się miejsca, w których znajdziemy się
poza zasięgiem. Nawet jeśli cały świat
zostanie pokryty sygnałem, to mogą
zdarzyć się awarie, które odetną od Sieci
setki osób. Ich komputery staną się w
tej sytuacji praktycznie bezużyteczne.
Bezpieczeństwo? Jeszcze nie teraz
Bezpieczeństwo danych przechowywanych w chmurach ma, przynajmniej na razie, małe
znaczenie dla klientów. Rozmowa z Karlem Oblukiem, dyrektorem ds.Technologii w AVG
Technologies, przeprowadzona dla magazynu hakin9.
Czy klienci ufają usługom w chmurach, czy preferują lokalne rozwiązania?
Wydaje mi się, że wielu użytkowników, którzy przechowują swoje dane online nie do końca
uświadamia sobie implikacje związane z kwestiami bezpieczeństwa. Ufają dostawcom tych
usług, a ich największym zmartwieniem jest to, by czas potrzebny na załadowanie plików
(backup) był jak najkrótszy. Wraz ze wzrastającą ilością funkcjonalności oferowanych przez
usługodawców oraz stale zwiększającą się przepustowością łącz, rozwiązania tego typu mogą
zyskiwać na popularności.
Jak cloud computing zmieni podejście zwykłego użytkownika do kwestii
bezpieczeństwa?
Z uwagi na fakt, iż zabezpieczenie danych tego typu jest bardzo skomplikowane, większość
użytkowników zaufa w tej kwestii dostawcom usług backupu, opierając się na rekomendacjach
i recenzjach. Podsumowując, nie uważam, by chmury obliczeniowe miały spowodować
diametralną zmianę w podejściu zwykłego użytkownika do kwestii bezpieczeństwa.
W jaki sposób chronione są dane przechowywane w chmurach?
Sposób, w jaki chronione są dane, w dużej mierze zależy od usługodawcy. Od prostego
kodowania z kluczem, w posiadaniu którego jest dostawca usługi, po systemy bezpieczeństwa
wykorzystujące złożone mechanizmy kodowania, a jedynym posiadaczem klucza jest sam
użytkownik.
ATAK
32
HAKIN9 1/2010
CLOUD COMPUTING
33
HAKIN9
1/2010
Inaczej wygląda sprawa firm, zwłaszcza
klasycznych, nastawionych na produkcję.
W ich przypadku dostęp do zewnętrznej
sieci nie jest konieczny przez cały czas,
a lokalne chmury obliczeniowe mogą
działać samodzielnie. Zadania takie jak
kontrola produkcji, logowanie wejść i wyjść
pracowników czy obsługa wewnętrznej
poczty i drukarek nie muszą wymagać
dostępu do Internetu. Z drugiej strony
zadania niemające bezpośredniego
wpływu na produkcję (backup, zewnętrzny
serwer poczty, hosting stron internetowych)
mogą zostać przeniesione na zewnątrz.
Posiadanie własnej chmury zapewni
oczywiście większe bezpieczeństwo i
konieczną niezależność od dostawców
Internetu, ale ogranicza podstawową zaletę
cloud computingu – skalowalność.
W obydwu przypadkach mamy
jednak do czynienia z uzależnieniem się
od dostawcy Internetu. W Polsce mamy
dostęp do kilku operatorów, co daje
możliwość wyboru i marginalizuje ryzyko
nieuczciwych operacji, ale nie wszędzie
tak jest. W krajach, w których działa tylko
jeden dostawca technologii GSM, może
on dyktować ceny, gdyż wie, że klienci
i tak zapłacą za dostęp do Sieci. Jeśli
dodatkowo operator jest kontrolowany przez
rząd, jak np. w Zjednoczonych Emiratach
Arabskich, mogą pojawić się próby kontroli
tego, co robią użytkownicy lub nawet
odcięcia ich od Internetu, a w praktyce
również komputerów. Znów dochodzimy do
punktu, w którym musimy zaufać kolejnej
firmie.
Dla największych firm dostarczających
usługi w modelu cloud computing
znaczenie ma również fizyczna
lokalizacja serwerowni. Jeśli usługi mają
być świadczone na całym świecie, to
opóźnienia związane z transferem danych
do serwera, znajdującego się tysiące
kilometrów od użytkownika, znacząco
wpłyną na szybkość transmisji. W tym
przypadku ważne jest rozmieszczenie
serwerów w okolicach, z których łączy
się najwięcej osób. Sprawa nie jest
jednak tak prosta. Google podaje, że
stworzenie jednego data center kosztuje
ich około 600 milionów dolarów, a roczne
utrzymanie wszystkich centrów danych
to wydatek rzędu 3 miliardów dolarów.
Duży wpływ na te wydatki ma lokalizacja
data centers. Wybierane są takie miejsca,
które zapewniają dostęp do taniej, a
ostatnio także zielonej, energii. Ważny
jest dostęp do rzek i jezior, których woda
jest używana do chłodzenia serwerowni
oraz otoczenie zapewniające prywatność
i bezpieczeństwo. Pod uwagę brane
są również podatki w danym kraju oraz
odległość do już istniejących centrów
danych. Dzięki takiej optymalizacji możemy
uzyskać odpowiedź na najbardziej
złożone zapytanie do wyszukiwarki po
dziesiątych częściach sekundy, a w
czasie wpisywania zapytania na bieżąco
dostajemy podpowiedzi. Każde wciśnięcie
klawisza zmusza do pracy kilkadziesiąt
serwerów Google, znajdujących się w
różnych częściach świata, a zużywana
przez nie energia wystarcza podobno do
zagotowania 100 ml (połowy szklanki) wody.
Zapłacimy za bezpieczne
chmury!
Kadra kierownicza w dziedzinie IT oczekuje
ochrony danych i aplikacji działających
w chmurze. Twierdzi tak 89% badanych,
co pokazują badania przeprowadzone
w październiku 2009 roku przez Trend
Micro, firmę dostarczającą rozwiązania
zabezpieczenia infrastruktury udostępnianej
przez Internet (security for-the-cloud).
Niestety tylko 40% ankietowanych bierze
pod uwagę wyłącznie bezpieczne
rozwiązania. Dla pozostałych ważniejsza
Chmura w oczach klienta
O tym, jak przechowywanie i przetwarzanie informacji w chmurach obliczeniowych postrzegane
jest przez klientów indywidualnych i biznesowych mówi Dorota Oviedo, analityk rynku ICT z firmy
Frost & Sullivan (www.frost.com).
Chmury obliczeniowe i dystrybucja oprogramowania w modelu SaaS to dziś nie tylko
modne hasła sektora ICT, ale wyraźne trendy rynkowe. Najwięksi gracze inwestują obecnie
w infrastruktury bazujące na chmurach obliczeniowych. Liderzy rynku telekomunikacji
zunifikowanej i pracy grupowej również propagują SaaS, co widać na przykładzie Cisco i
WebEx, IBM i LotusLive czy Microsoft i usług z rodziny BPOS. Ponadto popularność mediów
społecznościowych i poczty elektronicznej typu Gmail wśród użytkowników indywidualnych
wspomaga akceptację chmur.
Co ciekawe, zainteresowanie tymi usługami wykazują zarówno małe firmy, jak i
korporacje, które coraz chętniej oddają obowiązek administracji, zapewnienia dostępności i
bezpieczeństwa rozwiązania w ręce dostawcy usług, co pozwala im skoncentrować się na
rozwoju głównej działalności.
Spowolnienie gospodarki światowej zdecydowanie napędza ten rynek usług. Obecnie firmy
preferują rozwiązania oparte na wydatkach bieżących. Dla najmniejszych firm duże znaczenia
ma również poziom zaawansowania współczesnych systemów komunikacji biznesowej i brak
wykwalifikowanego personelu do zarządzania tymi systemami. W przypadku dużych firm
elastyczność usług komunikacyjnych pozwala na wypróbowanie dostępnych narzędzi. Chociaż
utrata kontroli i bezpieczeństwo są często wymieniane jako główne zagrożenie dla rozwoju
rynku, reputacja dostawcy usług, umowy SLA (o standard usługi) oraz przykłady wdrożeń
niwelują obawy potencjalnych klientów. W praktyce przeważają korzyści cenowe, szczególnie w
przypadku sektora małych firm.
Wirtualizacja
Wirtualizacja polega na programowym lub sprzętowym oddzieleniu warstwy zasobów
od aplikacji, które z nich korzystają. W ten sposób tworzy się abstrakcyjną warstwę, która
przysłania dostępne zasoby. Popularnym rozwiązaniem jest instalowanie wirtualnych systemów
operacyjnych. Tak zainstalowany system można zapisać i przenieść na inny komputer
wyposażony w oprogramowanie do wirtualizacji. Zajmuje to tyle, ile potrzeba na skopiowanie
plików do nowej lokalizacji. Na jednym fizycznym komputerze może znajdować się wiele
wirtualnych systemów operacyjnych.
Dzięki temu rozwiązaniu każdy z nich może pracować niezależnie i obsługiwać tylko jedną
aplikację, co pozwala na ochronę np. systemu z serwerem poczty, jeśli zaatakowany zostanie
system z serwerem FTP. Wirtualizacja pozwala na lepsze wykorzystanie zasobów – wiele mało
obciążonych serwerów może znajdować się na jednej fizycznej maszynie, a jeśli któryś z nich
zwiększy zapotrzebowanie na zasoby można go przenieść na inny komputer. Wirtualizowane
mogą być również dyski twarde (zarówno poprzez łączenie w macierz RAID, jak i dzielenie
fizycznych nośników), aplikacje czy procesory.
ATAK
32
HAKIN9 1/2010
CLOUD COMPUTING
33
HAKIN9
1/2010
jest skalowalność i obniżenie kosztów.
Takie podejście może mieć związek z
brakiem dostatecznej wiedzy na temat
bezpieczeństwa – co martwi – lub z
chłodną kalkulacją wykazującą, że ryzyko
utraty danych rekompensuje potencjalne
zyski. Z drugiej strony 61% pytanych nie
jest jeszcze gotowych do przeniesienia
infrastruktury w chmury, ale ma zamiar
skorzystać z tej technologii kiedy będzie
miała pewność, że jest ona bezpieczna.
Dostawcy oprogramowania, służącego
do tworzenia chmur obliczeniowych,
powinni więc zwrócić szczególną uwagę
na stworzenie bezpiecznych rozwiązań
i sposobu ich certyfikacji, gdyż tego
oczekują ich potencjalni klienci. Obecnie
porównanie konkurencyjnych systemów
jest trudne, a sami dostawcy podkreślają,
że klienci bazują głównie na zaufaniu i
poleceniach danej firmy. Uniwersalny
system certyfikatów mógłby rozwiązać ten
problem. Korzyści odnieśliby zarówno sami
użytkownicy, którzy mieliby ułatwiony wybór,
jak i uczciwe, pewne firmy.
Dostawcy na celowniku
Atak może dotyczyć usługodawcy, a nie
tylko użytkowników cloud computing.
Nietrudno wyobrazić sobie sytuację, w
której użytkownicy, zwłaszcza prywatni,
mogliby próbować uzyskać większą ilość
zasobów niż jest dla nich przeznaczone.
Warto więc zwrócić uwagę na
bezpieczeństwo samych serwerowni i
działających na nich aplikacji. Podstawowe
niebezpieczeństwa są takie jak w
przypadku innych usług tego typu (fizyczne
uszkodzenia, błędy pracowników), więc
doświadczeni administratorzy powinni
sobie z nimi poradzić. Dochodzą do
tego ataki z zewnątrz (np. DDoS) i próby
uruchomienia niezaufanego kodu przez
użytkowników.
Niezaprzeczalną zaletą chmury
obliczeniowej, również pod względem
bezpieczeństwa, jest jej rozproszenie.
Ataki Dos i DDoS, polegających
na zalaniu serwera falą zapytań i
wyczerpania zasobów, grożą większości
scentralizowanych usług. Obrona przed
tysiącami fałszywych zapytań to w
gruncie rzeczy filtrowanie ich przez serwer.
W przypadku chmury obliczeniowej
obciążenie dzielone jest na wiele maszyn, a
ryzyko wyczerpania zasobów pojedynczego
komputera spada.
W chmurze ułatwiona jest
również fizyczna ochrona danych. W
profesjonalnych rozwiązaniach dane
przechowywane są w wielu serwerowniach,
aby zapewnić szybki dostęp z każdego
miejsca na świecie. Serwery są więc
fizycznie oddalone od siebie, co chroni
przed pożarem w serwerowni, awarią
pojedynczej maszyny czy pomyłkami
pracowników.
W przypadku firm dostarczających
usługi w modelu cloud computing duże
znaczenie ma wirtualizacja. Nikogo
nie trzeba przekonywać o tym, że
fizyczne serwery są wykorzystywane w
większym stopniu, jeśli umieści się na
nich wiele maszyn wirtualnych. Tak jak
w innych przedsiębiorstwach, również
w firmach wykorzystujących chmurę,
pozwala to redukować koszty i zwiększyć
wykorzystanie serwerów, ale nie tylko.
Odchodzimy od modelu, w którym na
serwerze było kilka różnych aplikacji, a
przechodzimy do rozwiązania, w którym
na jednym wirtualnym serwerze jest
jedna aplikacja. W konsekwencji liczba
maszyn wirtualnych drastycznie rośnie,
wzrasta liczba wirtualnych aplikacji, a tym
wszystkim trzeba jakoś zarządzać – mówił
Rafał Kwaśny z firmy Novell, podczas
debaty przeprowadzonej przez serwis
VirtualFocus. Rozproszenie aplikacji na
samodzielne maszyny wirtualne pozwala
chronić wszystkich klientów przed atakiem
na pojedyncze aplikacje. W systemach
niewykorzystujących wirtualizacji lub
łączących wiele usług na jednej maszynie
wirtualnej istnieje ryzyko przejęcia kontroli
nad chronionymi aplikacjami i danymi
poprzez atak na mniej bezpieczne
rozwiązania działające na tej samej
maszynie. Układ jeden system – jedna
aplikacja znacząco zmniejsza to ryzyko.
Jeśli atakujący przejmie kontrolę nad
niezabezpieczonym programem, to w
najlepszym przypadku dostanie się tylko do
zwirtualizowanego systemu, na którym nie
ma żadnych znaczących danych.
Podsumowanie
Chmura obliczeniowa jest pojęciem na
tyle abstrakcyjnym, że problemem może
być prawna regulacja tego typu usług. Już
teraz giganci Internetu muszą brać pod
uwagę, że nie wszędzie mogą oferować
swoje usługi. Niektóre kraje nie pozwalają
na stosowanie narzędzi kryptograficznych
przez użytkowników cywilnych, w innych
mocno ograniczony jest dostęp do
materiałów o treściach erotycznych lub
możliwości przechowywania danych
osobowych. Część firm dostosowuje się
do międzynarodowych i lokalnych regulacji
– np. w YouTube nie obejrzymy filmów,
których nie dopuszcza prawo danego
kraju. Wraz z rozwojem cloud computingu
pojawią się nowe problemy. Czy dokument
przetwarzany na niemieckim serwerze,
ale przez użytkownika z Polski podlega
polskiemu prawu czy niemieckiemu? A co,
jeśli wykorzystywanych jest jednocześnie
kilkadziesiąt serwerów znajdujących się
w centrach danych w różnych krajach?
A jeżeli system operacyjny użytkownika
jest wirtualizowany? Jeśli taki użytkownik
popełni przestępstwo, to stwierdzenie,
który z serwerów znajdujących się w
chmurze wykonał nielegalne operacje
jest niemożliwy. Nawet jeśli część krajów
będzie regulować takie sytuacje, to z
pewnością nie dotyczy to wszystkich
państw. W dodatku prawa te mogą być
sprzeczne.
Specjaliści z firm dostarczających
rozwiązania do cloud computingu
nie przewidują drastycznych zmian
w podejściu zwykłych użytkowników
do spraw bezpieczeństwa. Jednak
przeniesienie większości oprogramowania
w dobrze chronione chmury obliczeniowe,
będące w rzeczywistości profesjonalnie
obsługiwanymi serwerowniami, pozwoli
zmniejszyć ryzyko ataku na domowe
komputery czy serwery w małych firmach.
Powód jest prosty – znajdzie się tam
tak mała ilość oprogramowania, że cały
obowiązek ochrony spadnie na dostawców
usług. Wybór klienta ograniczy się tylko
do wyboru zaufanej firmy dostarczającej
usługę. Zły wybór okaże się tragiczny w
skutkach, bo ilość danych przekazanych w
chmurę będzie stale rosła.
Marcin Kosedowski
Dziennikarz publikujący m.in. w magazynach Internet
Maker i PC World. Interesuje się anonimowością,
spamem i kryptografią. Obecnie kończy
studia na wydziale Elektroniki i Telekomunikacji
Politechniki Wrocławskiej. Kontakt z autorem:
marcin@kosedowski.com.