2008 07 Bezpieczne instytucje finansowe

background image

58

OBRONA

HAKIN9 7-8/2008

O

czywistym jest, że typowe portale
internetowe mogą lekko odstąpić
od tej zasady i przedłożyć prostotę

użytkowania nad bezpieczeństwo, jednak w
przypadku instytucji finansowych takich, jak banki,
proces autoryzacji tożsamości musi zapewniać
maksymalny poziom ochrony danych osobowych,
informacji dotyczących stanu konta, historii
rachunku itp. Celem tego artykułu jest obiektywne
spojrzenie na obecne systemy informatyczne
wcześniej wymienionych instytucji, pokazanie
ich słabych i mocnych stron oraz po części
przedstawienie firm, które pracują w domenie
bezpieczeństwa internetowego i świadczą usługi
z zakresu wdrażania kompleksowych systemów
zabezpieczeń.

Autoryzacja tożsamości

Proces autoryzacji tożsamości, powszechnie
nazywany etapem logowania, jest jednym z
najważniejszych modułów aplikacji webowych.
Niestety, jest on zwykle mniej lub bardziej
zaniedbywany, przez co dane osobowe
użytkowników są potencjalnie narażone na
kradzież.

System autoryzacyjny powinien wymagać od

nas kilku rzeczy:

• czegoś, co wiemy (np. hasło, identyfikator),
• czegoś, co posiadamy (np. karta kredytowa),
• czegoś, z czym się utożsamiamy (np. odcisk

palca, skan siatkówki oka).

GRZEGORZ

PEŁECHATY

Z ARTYKUŁU

DOWIESZ SIĘ

z jakich etapów powinien

składać się bezpieczny system

autoryzacji,

jak uniknąć kradzieży danych

osobowych,

którym systemom bankowym

możesz zaufać przy

dokonywaniu transakcji online,

jakim firmom można powierzyć

proces wdrażania zabezpieczeń

aplikacji webowych.

CO POWINIENEŚ

WIEDZIEĆ

powinieneś mieć rozeznanie

w sposobie działania funkcji

skracających,

jak działa protokół SSL i jakie

możliwości zapewnia jego

stosowanie.

Bazując na tych danych, możemy wyróżnić 3
sposoby autoryzacji:

• jednoetapową, wymagającą tylko czegoś, co

wiemy,

• dwuetapową, wymagającą od nas czegoś, co

wiemy i czegoś, co posiadamy,

• wieloetapową, wymagającą równocześnie np.

identyfikatora, hasła, karty kredytowej i odcisku
palca.

Każdy z powyższych sposobów narażony jest
na ataki – zarówno po stronie klienta, jak i
podczas transmisji danych. Znanych jest całkiem
sporo metod przejęcia informacji przez osoby
trzecie, przed którymi solidny system powinien
być zabezpieczony. Opiszę teraz te najczęściej
wykorzystywane, a zarazem najbardziej
niebezpieczne.

Phishing

Jest to atak polegający na wyłowieniu poufnych
danych poprzez podszywanie się pod osobę lub
firmę posiadającą do nich autoryzowany dostęp.
Ten typ ataku oparty jest na inżynierii społecznej.
Atakujący może podmienić autentyczną stronę
banku na swój własny serwis i w ten sposób
pozyskać od użytkownika potrzebne dane. Adres
takiej strony jest najczęściej łudząco podobny
do oryginalnego – lub też po prostu osoba
atakująca infekuje serwery DNS, w wyniku czego
błędnie rozwiązują one adresy URL (sposób

Stopień trudności

Bezpieczne

instytucje

finansowe

Wraz z rozwojem aplikacji webowych aspekt bezpieczeństwa

stał się zagadnieniem istotnym zarówno dla projektantów

oprogramowania, jak i dla użytkowników końcowych, którym z

tego oprogramowania przyjdzie korzystać.

background image

59

BEZPIECZNE INSTYTUCJE FINANSOWE

HAKIN9

7-8/2008

działania napastnika zobrazowany jest
na Rysunku 1). Znacząca większość
instytucji finansowych na świecie
nie oferuje własnych mechanizmów
ochronnych przed tym atakiem, co jest
poważnym błędem. Odstępstwem jest
system Banku Amerykańskiego (Bank of
America) i polskiego banku BGŻ, gdzie po
wprowadzeniu identyfikatora wyświetlany
jest symboliczny obrazek, wybrany
podczas rejestracji. Daje to gwarancję na
połączenie z oryginalnym serwerem, a nie
podszytą stroną. Najnowsze przeglądarki
internetowe również udostępniają moduły
wykrywające próbę takiego oszustwa,
informując użytkownika o ewentualnych
zastrzeżeniach co do autentyczności
witryny. Przed phishingiem użytkownik może
się również do pewnego stopnia obronić
poprzez używanie zaufanych serwerów
DNS, do których zaliczamy np. OpenDNS
(serwer główny: 208.67.222.222, serwer
alternatywny: 208.67.220.220).

Człowiek pomiędzy

(man-in-the-middle)

Schemat tego ataku przedstawiony jest
na Rysunku 2. – atakujący występuje tutaj
w roli pośrednika pomiędzy serwerem a
klientem. Wszystkie dane przechodzą przez
jego komputer w formie niezaszyfrowanej,
nawet przy korzystaniu z połączenia
SSL. Jak to możliwe? Otóż protokół SSL
daje nam gwarancję na bezpieczne
połączenie z witryną, jednak nie daje
gwarancji na to, że połączyliśmy się z tą
witryną, z którą zamierzaliśmy. Co prawda
zabezpieczeniem są tutaj certyfikaty, jednak
podstawienie własnych – nieznacznie
różniących się od oryginałów – jest rzeczą
dość prostą. Zarówno IE, jak i Firefox
sygnalizują nawiązanie bezpiecznego
połączenia, pomimo, że w tej samej chwili
człowiek pomiędzy odczytuje wszystkie
nasze dane. Atak ten jest znany od dawna
– przy połączeniach HTTP był on trywialny
do przeprowadzenia, w przypadku HTTPS
jest tylko trochę bardziej skomplikowany
(co zostanie udowodnione w podpunkcie
Scenariusz ataku na system autoryzacji
tożsamości
). Nie istnieje jedno, w 100%
pewne zabezpieczenie przed tym
atakiem, jednak powinniśmy przynajmniej
w minimalnym stopniu utrudnić jego
wykonanie. Dobrym sposobem jest
generowanie skrótów danych krytycznych,

takich jak hasła. W tym celu poleciłbym
zastosowanie algorytmu HMAC w oparciu
o hasła jednorazowe (patrz Ramka).

Oprogramowanie

szpiegowskie

Kolejnym czyhającym na użytkownika
niebezpieczeństwem jest oprogramowanie
szpiegowskie, zainstalowane na jego
własnym komputerze. O ile kiedyś
przechwytywało ono jedynie wciśnięte
klawisze, w dzisiejszych czasach
oprogramowanie to jest znacznie
groźniejsze. Przechwytując zrzuty ekranu,
śledząc ruch myszki itp., atakujący jest w
stanie wykraść dane dotyczące logowania.

Zdolni projektanci systemów bankowych
wymyślają co chwile nowe zabezpieczenia
w tym kierunku, w polskim Internecie
niestety zatrzymały się one na poziomie
statycznej wirtualnej klawiatury, która nijak
jest w stanie ochronić użytkownika przed
wykradnięciem danych. Dobre rozwiązanie
zaprezentował CitiBank, umieszczając
wirtualną klawiaturę z losowym położeniem
znaków, co skutecznie chroni przed
większością ataków o tym charakterze.

Scenariusz ataku na

system autoryzacji tożsamości

Przedstawię teraz prosty scenariusz ataku na
bezpieczny system logowania. Celem będzie

Keyed-Hash Message Authentication Code

Teoria

Algorytm HMAC działa bardzo podobnie do funkcji skracających – z tym wyjątkiem, że do
wygenerowania tablicy wynikowej potrzebuje dodatkowego klucza szyfrującego. Dzięki temu wynik
funkcji może być weryfikowany pod względem autentyczności i aktualności. Wartość wynikową
obliczamy ze wzoru:

���������������������������������������

gdzie h jest funkcją skracającą, K jest naszym kluczem, a m wiadomością do zaszyfrowania.
Siła algorytmu HMAC zależy od złożoności klucza (K) oraz od funkcji skracającej (h). Tak samo, jak
w przypadku algorytmów md5, sha1 itp., odszyfrowanie danych zaszyfrowanych za pomocą tego
algorytmu jest z matematycznego punktu widzenia odpowiednio trudne.

Zastosowanie

Powyższy algorytm może znaleźć zastosowanie w procesie autoryzacji tożsamości, w którym
kluczem szyfrującym będzie hasło jednorazowe. Transmitowanie w ten sposób najważniejszych
danych skutecznie obroni nas przed kradzieżą danych osobowych np. w skutek ataku man-in-the-
middle.

Rysunek 1.

Zasada przeprowadzania ataku powszechnie znanego jako phishing

����

background image

60

HAKIN9 7-8/2008

61

HAKIN9

7-8/2008

system bankowy. Atak dokonany zostanie
w sieci lokalnej, na bramie zainstalowany
jest program Burp Proxy, pozwalający
dokonać ataku typu man-in-the-middle. Na
komputerze działającym w sieci lokalnej
uruchamiamy stronę internetową banku.
Przeglądarka nawiązuje w tym momencie

bezpieczne połączenie z naszym proxy
(Burp Proxy) z wykorzystaniem protokołu
SSL, podczas etapu inicjacyjnego zostają
wymienione klucze publiczne oraz ustalane
są algorytmy szyfrujące. Użytkownik jest
pewien, że połączył się z rzeczywistą witryną
banku. Burp po nawiązaniu połączenia z

klientem łączy się z faktyczną stroną banku
i od tego momentu działa w roli pośrednika
pomiędzy nieświadomym niczego
użytkownikiem a serwerem bankowym. W
związku z tym, że klient szyfruje dane kluczem
publicznym Burp'a, jesteśmy w stanie je
przechwycić w formie niezaszyfrowanej.
Rysunek 3. obrazuje konsekwencje braku
zabezpieczenia przed tego typu atakiem.

Implementacja bezpiecznego

procesu autoryzacji

Pokazałem już, jak w prosty sposób można
skompromitować obecne zabezpieczenia
w systemach logowania. Statystycznie w
dzisiejszych czasach najpowszechniejsza
wydaje się być autoryzacja jednoetapowa,
co uwarunkowane jest minimalnym
kosztem jej implementacji oraz największą
dostępnością dla użytkowników, dlatego też
przedstawię przykładową architekturę tego
właśnie systemu.

• Nawiązujemy połączenie z serwerem

(oczywiście dane są transmitowane
poprzez bezpieczny tunel SSL).

• Po stronie serwera generujemy hasło

jednorazowe (OTP) i przesyłamy je do
klienta – najlepiej za pomocą innego
kanału komunikacyjnego (np. w formie
SMSa).

• Pobieramy od użytkownika identyfikator

i hasło, po stronie klienta szyfrujemy
hasło algorytmem HMAC(otp,
password).

• Identyfikator i zaszyfrowane hasło

przesyłamy do serwera.

• Serwer po otrzymaniu identyfikatora

użytkownika porównuje
zaszyfrowane hasło ze swoim

W Sieci

http://www.rsa.com – jedna z najbardziej

renomowanych firm działających w
domenie bezpieczeństwa internetowego,

http://www.maximussoft.net – polska

firma wdrażająca bezpieczne systemy
autoryzacji tożsamości,

http://portswigger.net/proxy

– program napisany w Javie,
umożliwiający wykonywanie wielu
ataków w sieci lokalnej, np. man-in-
the-middle
, który został opisany w tym
artykule,

http://www.opendns.com – strona

domowa OpenDNS.

Rysunek 2.

Zasada przeprowadzania ataku typu man-in-the-middle

Rysunek 3.

Konsekwencje braku zabezpieczeń przed atakiem man-in-the-middle

OBRONA

background image

60

HAKIN9 7-8/2008

61

HAKIN9

7-8/2008

własnym skrótem. Jeżeli dane są
identyczne, proces autoryzacji
zostaje zakończony pomyślnie, a
użytkownik przekierowywany jest na
uwierzytelnioną stronę.

Firmy pracujące

w domenie bezpieczeństwa

Jeżeli mowa była już o lukach w
zabezpieczeniach, warto wspomnieć
również o sposobie ich wyeliminowania.
Polska jest krajem dosyć specyficznym pod
względem zaufania do firm działających w
domenie bezpieczeństwa, zajmujących się
wdrażaniem solidnych systemów autoryzacji.
O ile na całym świecie normą jest zlecanie
podwykonawstwa systemów zabezpieczeń
firmom działającym w tym sektorze rynku,
to w Polsce sprawa ta jest traktowana
powierzchownie i system taki wykonywany jest
łącznie z resztą projektu – w konsekwencji
czego otrzymujemy zazwyczaj aplikacje słabo
zabezpieczone, pozwalające w łatwy sposób
przechwycić poufne dane przez osoby
trzecie. Do firm godnych polecenia można
zaliczyć np. RSA lub polską firmę Maximus
Soft, posiadającą opatentowany w Stanach
Zjednoczonych system wieloetapowej
autoryzacji tożsamości net-auth. Adresy WWW
tych firm można znaleźć w Ramce W Sieci.

Podsumowanie

Mam nadzieję, że ten krótki – acz treściwy
– artykuł zweryfikował przynajmniej po
części Wasze poglądy na temat tego,
czym bezpieczeństwo tak naprawdę jest i
jak łatwo dopuścić do kradzieży własnych
danych osobowych, tak istotnych w
systemach instytucji finansowych. Istotnym
jest, aby poświęcić szczególną uwagę temu
zagadnieniu i w jak największym stopniu
ochronić się przed atakami, zwłaszcza
tymi opisanymi w artykule. Solidny system
autoryzacyjny jest podstawą każdej aplikacji
i pełni rolę miernika wiarygodności w
oczach klientów, dlatego też jego projekt i
implementację powinno zlecać się firmom z
odpowiednimi kwalifikacjami.

Grzegorz Pełechaty

Autor jest programistą, zajmującym się rozwojem

systemów operacyjnych. Hobbystycznie interesuje się

sprawami bezpieczeństwa aplikacji webowych. Pracował

wielokrotnie jako doradca ds. bezpieczeństwa przy

wdrażaniu dużych systemów informatycznych. Wolne

chwile spędza na rozwoju wolnego oprogramowania,

oglądaniu dobrego kina japońskiego i czytaniu książek.

Kontakt z autorem: g.pelechaty@gmail.com


Wyszukiwarka

Podobne podstrony:
2008 07 08 Bezpieczeństwo sieci Wi Fi [Bezpieczenstwo]
Rola rynku i instytucji finansowych INowy Prezentacja programu Microsoft PowerPoint
Instytucje finansowe
zif sciaga, Studia UE Katowice FiR, II stopień, Semestr I, Zarządzanie instytucjami finansowymi
Bezpieczenstwo w transakcjach finansowych
Hard Rock Cafe 2008 07
NA tescie z finansow u susmarskiego dzienni na I roku mieli, STUDIA, WZR I st 2008-2011 zarządzanie
bibl miedzynarodowe instytucje finansowe
Zarządzanie instytucjami finansowymi
międzynarodowe instytucje finansowe (15 str), Bankowość i Finanse
RIF skrot II wykl, licencjat, rok 3, Rachunkowość instytucji finansowych
inwestycje, STUDIA, WZR I st 2008-2011 zarządzanie jakością, finanse przedsiębiorstw
instytucje finansowe, 1
wyklad 06[1].01.2008, Zarządzanie studia licencjackie, Finanse publiczne
Pozabankowe instytucje finansowe, Materiały edukacyjne
Zarządzanie instytucjami finansowymi wykłady
Bezpieczeństwo transakcji finansowych wykład 01 04 15r
Podmiotowa klasyfikacja zjawisk finansowych, STUDIA, WZR I st 2008-2011 zarządzanie jakością, Finans
RODZAJE PODATEK, STUDIA, WZR I st 2008-2011 zarządzanie jakością, Finanse Publiczne

więcej podobnych podstron