SK Moduł 13

From Studia Informatyczne

Enlarge

Enlarge
Sieć komputerowa stwarza ogromne możliwości. Za pomocą komputera dołączonego do sieci można pogadać z przyjaciółmi, napisać list, wysłać zdjęcia, posłuchać muzyki. Można też zapłacić rachunek za telefon, zamówić pizzę lub kupić płytę CD. Jednocześnie sieć niesie zagrożenia. Wraz z listem można otrzymać wirusa, który może skasować całą zawartość komputera, może ktoś się włamać i przejąć nasze wyniki pracy, numery kont bankowych, kart kredytowych. Należy się przed tym bronić. Sposobów na to jest wiele. Dobór metody zastosowanej do obrony jak i zakres tej obrony powinien być ściśle związany z potrzebami. Potrzeby zaś wynikają ze specyfiki wykorzystywania sieci. W inny sposób wykorzystują sieć przedsiębiorstwa a w inny indywidualni użytkownicy. Niniejszy rozdział ma za zadanie przybliżyć tylko część zagadnień związanych z bezpieczeństwem. Na całość zabrakło by miejsca. Aby mówić o ochronie w pierwszej kolejności należy poznać zagrożenia. Zagrożenia mogą być różne i specyficzne dla danego fragmentu sieci ale z pewnym przybliżeniem możemy je podzielić następujące grupy:

uzyskanie przez osoby niepowołane dostępu do danych transmitowanych przez sieć lub przechowywanych na dołączonych do sieci komputerach; uzyskanie przez osoby niepowołane dostępu do innych zasobów (moc obliczeniowa komputerów itd.); utrata danych na skutek złośliwej ingerencji zewnętrznej; fałszerstwo danych (np. poprzez podszycie się pod innego nadawcę w poczcie elektronicznej). Większość zagrożeń sieciowych jest związana z Internetem i wypływa z niedoskonałości protokołu TCP/IP. Do tego dochodzi jeszcze niechlujstwo dostawców systemów operacyjnych i popularnego oprogramowania. Przerzucają oni kosztowne testy oprogramowania na użytkowników. Problem stał się na tyle poważny, że żaden użytkownik sieci nie może czuć się bezpiecznie. Nie można też popadać w paranoję i nie używać sieci. Jak to robić, spróbuje odpowiedzieć ten rozdział.


Enlarge
Najbardziej znanym zagrożeniem w sieciach komputerowych - i nie tylko - są wirusy komputerowe. Wirusy komputerowe to proste programy komputerowe, które potrafią się powielać na komputerze użytkownika bez jego wiedzy. Oprócz powielania mogą wykonywać jeszcze dodatkowe zadania. Wirusy komputerowe istnieją prawie tak długo jak istnieją komputery. Często powstawały jako wynik nudów programistów. Pisali oni proste programiki, aby wykazać się swoimi umiejętnościami w zakresie programowania i wiedzy o komputerach. Wirusy wykonują różne zadania. W zależności od zamysłu twórcy wirusa mogą to być zadania nieszkodliwe takie jak otwarcie okienka z mniej lub bardziej sensownym komunikatem jak i procedura formatowania dysku twardego. Wirusy wykorzystują luki w zabezpieczeniach systemów operacyjnych oraz oprogramowania użytkowego pracujących na tych systemach. Wirusy generalnie atakują systemy operacyjne stworzone przez firmę Microsoft czyli systemy DOS/WINDOWS. Są też pojedyncze wirusy działające w środowisku UNIX, ale poza jednym przypadkiem z przed wielu lat nie wyrządziły one wiele szkód. Wirusy są programami binarnymi, czyli są wynikiem kompilacji programu napisanego w jednym z języków programowania jak - na przykład język C - lub zestawami instrukcji napisanych w językach wysokiego poziomu, które są wykonywane przez interpreter. Wirusy w postaci programów wykonywalnych były popularne przed laty. Ich główną drogą przenoszenia były dyskietki. Aby zarazić komputer trzeba też było wykazać się pewną niefrasobliwością gdyż polecenie uruchomienia programu z wirusem musiał wydać użytkownik. Wirus doklejał się wtedy do innych programów wykonywalnych. Skutki posiadania wirusa w systemie mogły się ujawnić po wielu tygodniach lub miesiącach. Mógł to być zwykły komunikat na ekranie jak i operacja kasowania dysku. Sposób przenoszenia wirusów ograniczał ich zasięg, ale w miarę popularyzowania się usług sieciowych zmieniała się ich droga przenoszenia. Wirusy zaczęto rozsyłać np. za pomocą poczty elektronicznej. W przypadku wirusów w postaci binarnej użytkownik stosujących się do pewnych zasad był w stanie uniknąć zarażenia komputera wirusem. Wystarczyło nie otwierać załączników poczty elektronicznej, które zawierały programy. Użycie poczty do transmisji wirusów spowodowało ich szybkie rozprzestrzenianie się po świecie. Pojawiły się także nowe rodzaje wirusów wykorzystujące np. możliwość tworzenia makr w popularnym pakiecie Microsoft Office. Zagrożeniem stały się więc nie tylko pliki zawierające programy, ale też pliki, w których przesyłane są dokumenty. Dokumenty nadesłane od znanej osoby są traktowane jako bardzo ważne i odbiorca próbuje je otworzyć, co powoduje uruchomienie makra z wirusem. Bardziej zaawansowani użytkownicy blokują możliwość uruchamiania makr w otrzymanym dokumencie. Ogranicza to możliwość uruchomienia wirusa makrowego, ale go nie eliminuje. Dodatkowo, aby ułatwić obsługę, poczty firma Microsoft dodała do swojego programu pocztowego szereg funkcji, które w zamierzeniu miały ułatwić jego obsługę. Stały się one pożywką dla wirusów, gdyż pliki dołączane do listu były automatycznie otwierane. Wystarczyło więc nadać list z wirusem a program pocztowy prawie automatycznie go otworzył i wirus się uaktywniał. Kolejne generacje wirusów potrafią coraz więcej. Są wyposażane we własne serwery pocztowe co pozwala im się samodzielnie rozsyłać. Potrafią korzystać z książek adresowych programów pocztowych. Wykorzystują je jako źródło potencjalnych ofiar. Jako adres nadawcy potrafią wybrać dowolny adres z książki adresowej. Utrudnia to przeciętnemu użytkownikowi poczty wykrycie fałszerstwa, gdyż dość często otrzymuje list od znanej sobie osoby, choć tytuł i treść są podejrzane. Obecne wirusy wykorzystują do rozprzestrzeniania się różne technologie sieciowe. Wykorzystywane są błędy w językach skryptowych baz danych, współdzielone zasoby w systemie windows, dziury w oprogramowaniu oraz błędy w protokołach komunikacyjnych takich jak na przykład sieci p2p (np. kazaa). Oprócz znanych możliwości niszczenia zasobów zgromadzonych na komputerach wirusy posiadły także możliwość zakłócania pracy sieci. Niektóre z nich - próbując się rozsyłać - generują spory ruch sieciowy. Zdarzały się też takie, które rozprzestrzeniały się po sieci tylko po to, by określonego dnia przypuścić atak na wybrany popularny serwis sieciowy. Atak powodował blokadę serwisu. Rozwój narzędzi programistycznych powoduje też szybkie powstawanie nowych odmian tego samego wirusa. Najczęściej wykorzystują tę samą lukę w systemach do rozprzestrzenia się zmieniania jest natomiast dodatkowa funkcjonalność. Kolejne odmiany wirusów są zazwyczaj coraz bardziej groźne. I tak wirus, który wyświetlał napis w stylu "Witaj" może się zmienić w wirusa niszczącego dane na dysku. Wirusy zaczęto dzielić na różne kategorie. Najczęściej spotykanymi nazwami są robaki i trojany.

Robaki Robakami (ang. Worms) określa się programy podobne do wirusów, które zostały opracowane w celu szybkiego zainfekowania jak największej liczby komputerów. Robaki rozprzestrzeniając się poprzez sieć mogą z jednego zainfekowanego komputera rozprzestrzenić się do tysięcy lub nawet milionów komputerów. Ich masowa reprodukcja powoduje ogromny ruch w sieci. W symulacjach teoretycznego robaka o nazwie Warhol Worm stwierdzono, że w ciągu kwadransa jest możliwe zarażenie nawet 9 000 000 komputerów (patrz http://www.opoka.org.pl/varia/internet/wirusy.html). Konie trojańskie Konie trojańskie lub trojany swoja nazwę wywodzą ze starożytnej Troi. Są jakby współczesną wersją drewnianego konia trojańskiego. Miejscem ich operowania jest sieć Internet. Po zainfekowaniu systemu nie czynią w nim żadnych zniszczeń tylko oczekują na polecenia z zewnątrz. W odróżnieniu od typowego wirusa ich kod zawarty jest w dwóch plikach. W jednym jest kod "wirusa", który jest instalowany na komputerze ofiary. W drugim pliku jest kod "sterownika" za pomocą, którego można sterować trojanem na komputerze ofiary. Trojan daje możliwość przejęcia kontroli nad komputerem ofiary. Zakres kontroli zależy od trojana a w zasadzie od jego twórcy. Trojan sam w sobie nie jest groźny gdyż, jego szkodliwość jest zależna od osoby, która danego trojana kontroluje. Często może się on ograniczyć do wyświetlenia głupiego komunikatu, ale nie należy wykluczać działań bardziej destrukcyjnych. Dialery Dialery są dość często wiązane z wirusami, choć nimi nie są. Są to programiki, które zmieniają ustawienia sieciowe komputera wyposażonego w modem. Duża część użytkowników łączy się do internetu wykorzystuje połączenia modemowe. Są to darmowe numery operatorów jak na przykład numer 0202122 TPSA czy też numery płatne, gdzie użytkownik otrzymuje jakiś dodatkowy zestaw usług. Dialer dokonuje zmiany numeru telefonu, za pomocą którego jest realizowany dostęp do Internetu na inny numer. Najczęściej jest to numer telefonu typu 0-700 gdzie opłata za wynosi kilka złotych za minutę. Operatorzy tych numerów mają podpisane umowy na dzielenie zysków z operatorami telekomunikacyjnymi. Oferują oni najczęściej dostęp do płatnych serwisów pornograficznych. Problem z dialerami jest taki, że są one instalowane na komputerach w sposób podstępny, przypominający działanie wirusów. Skutkami działania dialerów zagrożone są głównie komputery korzystające z połączeń modemowych. Problem stał się na tyle poważny, że niektóre programy antywirusowe są wyposażane w możliwości wykrywania i usuwania dialerów.


Enlarge
Obrona przed wirusami jest sprawą złożoną. Składa się na nią szereg czynników. Jednym z nich jest dobór miejsca ochrony. Wirusy stanowią największe zagrożenie dla komputerów PC. Komputer taki może pracować w firmie, lub stanowić prywatną własność i pracować w domu użytkownika. W przypadku firmy ochrona komputera jest zależna od polityki firmy, a w przypadku prywatnego komputera za ochronę odpowiedzialny jest jego użytkownik. Ważny jest też dobór miejsca, w którym chce się ochronę zastosować. Przed wirusami można bronić się bezpośrednio na zagrożonych komputerach jak i na serwerach usług sieciowych, które te wirusy mogą przenosić. Zapewnienie skutecznej ochrony jest kombinacją postępowania użytkownika i zastowanych metod ochrony.

Enlarge
Użytkownik może w dużej mierze ustrzec się przed zarażeniem komputera wirusem niezależnie od faktu, czy korzysta z komputera firmowego, czy też z komputera prywatnego. Główną drogą - choć nie jedyną - rozprzestrzeniania się wirusów jest obecnie poczta elektroniczna. Jeśli użytkownik nie odbiera podejrzanych przesyłek, to ma duże szansę na uniknięcie zarażenia komputera wirusem. Dobrą metodą jest też zmiana programu pocztowego z popularnego Outlooka na inny. Większość wirusów rozprzestrzeniających się poprzez pocztę korzysta z niedoskonałości tego programu. Zastosowanie innego powoduje zmniejszenie ryzyka wpuszczenia wirusa do komputera. Trzeba jednak pamiętać, że wirusy dostają się do komputera nie tylko poprzez pocztę elektroniczną, lecz także poprzez inne usługi. Pociąga to za sobą konieczność zastosowania dodatkowych narzędzi. Najczęściej na komputerach instaluje się programy antywirusowe.

Enlarge
Typową ochroną komputera jest zainstalowanie programu antywirusowego. Klasyczny program antywirusowy składa się ze skanera oraz bazy sygnatur wirusów. Skaner dokonuje przeglądu plików w komputerze. Zawartość porównuje z bazą sygnatur. Aby program był skuteczny, to baza z sygnaturami wirusów musi być aktualna. Bazy więc muszą być aktualizowane nawet kilka razy dziennie. Według Marka Sella twórcy programu antywirusowego MKSVIR ( http://www.mks.com.pl), miesięcznie przybywa około 150 - 200 wirusów (patrz http://www.computerworld.pl/artykuly/22179.html). Oznacza to że w ciągu roku w bazie może przybyć nawet około 2000 nowych wirusów. Powoduje to wydłużenie pracy programu antywirusowego co w efekcie przekłada się na niższy komfort pracy przy komputerze. Ponieważ niektóre wirusy mogą być bardzo niebezpieczne, wymaga to, aby firmy tworzące oprogramowanie antywirusowe dostarczały bardzo szybko aktualizacje. Wymusza to na nich niemal 24 godzinny cykl pracy. Przekłada się to na koszty tworzenia oprogramowania, a te powodują wysoką cenę oprogramowania. Nowoczesne programy antywirusowe potrafią wykryć wirusa i zablokować otwarcie pliku, w którym wirus się znajduje. Potrafią także kontrolować pocztę elektroniczną i blokować możliwość otwarcia listu, w którym jest wirus. Nie są w stanie jednak zabezpieczyć wszystkiego. Co gorsza, bardzo często są wyłączane przez użytkowników, gdyż zwalniają pracę komputera.

Enlarge
Problem ochrony antywirusowej można podjąć bardziej kompleksowo. Użytkownicy sieci mogą bronić się sami, ale można także wspomóc ich. Identyfikując sposoby przenoszenia się wirusów można spróbować przegrodzić im drogę, zanim dotrą do komputera ofiary. Skoro najwięcej wirusów roznoszonych jest pocztą to można zwalczać wirusy na serwerach pocztowych. Koszty wdrożenia tego rozwiązania nie są małe, ale jest to opłacalne. Sprawdzenie już na serwerze poczty, czy list nie zawiera wirusa, pozwala na podjęcie akcji zanim list trafi do skrzynki. Najczęściej list z wirusem trafia do kwarantanny lub jest kasowany. Systemy antywirusowe zainstalowane na serwerach pocztowych pozwalają także wysłać list z ostrzeżeniem do nadawcy listu. Kontrola antywirusowa poczty na serwerze pozwala także wdrożyć centralną, niezależną od użytkownika politykę postępowania z podejrzanymi przesyłkami. Użytkownik nie musi wiedzieć, że przyszedł do niego list. Tego typu polityka jest wdrażana w firmach. Centralny serwer pocztowy z systemen antywirusowym pozwala także na częściową rezygnację z programów antywirusowych na stacjach klienckich. Jest to przydatne zwłaszcza w systuacji gdy w firmie pracują starsze komputery, na których instalacja programów antywirusowych jest niemożliwa. Operatorzy darmowych i płatnych portali internetowych także wdrażają ochronę antywirusową poczty. Mają jednak problem prawny co zrobić z listem, który zawiera wirusa. W przypadku firmy wystarczy jedno polecenia właściciela i wszystkie zawirusowane listy mogą być kasowane. W przypadku portalu zachodzi konflikt prawem użytkownika do zachowania poufności korespondencji, a koniecznością świadczenia bezpiecznej usługi. Problem ten w każdym portalu jest inaczej rozwiązywany i regulowany przez regulamin, z którym należy się zapoznać przed otwarciem konta poczty elektronicznej.

Choć poczta elektroniczna jest jedną z głównych dróg przenoszenia wirusów w sieci, to nie jest jedyną. Praktycznie każda z usług sieciowych może być wykorzystana przez wirusy. Powstają więc narzędzia, które mają usprawnić ochronę antywirusową. Ograniczają się one jednak do najbardziej popularnych usług, jak na przykład serwisy www. Dostępne są też narzędzia, które - po zinstalowaniu w sieci - potrafią przeglądać i analizować dane zanim trafią do komputera klienta. Tego typu rozwiązania stosują najczęściej firmy, których sieci są dołączone do Internetu. Oprócz możliwości blokowania dostępu wirusom, interesująca jest też możliwość blokowania innych niechcianych treści, jak strony serwisów erotycznych. Podobne rozwiązania mogli by wprowadzić operatorzy oferujący dostęp do Internetu indywidualnym klientom. Nie robią jednak tego, gdyż przypomina to cenzurowanie treści. Dla mniej popularnych usług raczej nie powstają specjalizowane narzędzia kontroli antywirusowej. Wynika to rachunku ekonomicznego. Usług jest bardzo dużo i zrobienie dla każdej z nich specjalizowanego narzędzia było by kosztowne, a rynek potencjalnych nabywców byłby niewielki. Taniej wychodzi blokowanie za pomocą firewali dostępu do zbędnych usług sieciowych.


Enlarge
Kilkadziesiąt lat temu nieliczne firmy posiadały centra obliczeniowe, w których obrabiano dane dla potrzeb firmy. Niektóre firmy nie posiadały własnych centrów ale korzystały z mocy obliczeniowej centrów przetwarzania danych. Wraz z upowszechnieniem się komputerów PC możliwość przetwarzania danych została przeniesiona z centr do własnych ośrodków firmowych. W firmach powstały sieci LAN. Pozwalały one na łatwiejszą wymianę danych w obrębie firmy. Większe mają oddziały, a w nich sieci LAN. Pomiędzy tymi odległymi sieciami dość często zachodzi konieczność wymiany danych, gdyż ułatwia to zarządzanie firmą. Niemniej jednak dane pozostawały w obrębie jednej firmy. Obecnie dane mogą być obrabiane zarówno wewnątrz danej firmy jak także za pomocą Internetu poprzez wymianę z innymi. Dane są także gromadzone na prywatnych komputerach. Często wartość zgromadzonych danych przewyższa wartość komputerów, na których są gromadzone. Dla przeciętnego użytkownika komputer to sprzęt (procesor, pamięć, dyski, klawiatura) oraz oprogramowanie (system Windows, pakiet Office itp). W przypadku utraty komputera zakup nowego i instalacja oprogramowania zajmuje kilka godzin - natomiast odtworzenie danych, jeśli w ogóle będzie możliwe, może zająć lata. Dokumentów, które pisało i gromadziło się przez lata, nie da się odtworzyć szybko. Dlatego należy chronić dane, które się zgromadziło lub wytworzyło. Charakter tych danych może być różny bo mogą być to dane o klientach, bazy danych z produktami, zdjęcia, filmy reklamowe, itd. Niezależnie od charakteru danych czy posiadacza tych danych, musza być one gromadzone na fizycznych nośnikach. Przez nośniki można rozumieć komputery z dyskami twardymi, dyskietki, serwery, macierze dysków, taśmy magnetyczne, CD-ROM-y i inne mniej lub bardziej znane rozwiązania. Wszystko to wymaga ochrony. Niestety, najczęściej przez ochronę rozumie się bezpieczeństwo informatyczne, czyli firewalle i ograniczone uprawnienia kont użytkowników oraz oprogramowanie antywirusowe. Jest to podejście bardzo ograniczone gdyż problem jest zdecydowanie bardziej złożony. W pierwszej kolejności należy przeanalizować modele gromadzenia danych. W typowym modelu dane firmy są gromadzone na centralnym serwerze (serwerach). Tak funkcjonuje większość firm, ale - jak pokazuje Internet - nie jest to jedyny możliwy model gromadzenia i przechowywania danych. Innym jest system, w którym dane są rozpraszane pomiędzy użytkowników - członków danej organizacji. Przykładem takich modelów przechowania danych są systemy P2P używane przez internautów do wymiany plików z muzyką, filmami, grami. Możliwe są także różne systemy pośrednie. Krótka analiza obu modeli powinna przybliżyć problemy, związane z bezpieczeństwem danych choć prawdopodobnie nie naświetli wszystkich.

Enlarge
Jako pierwszy przeanalizowany zostanie model centralny gromadzenia danych. Typowy przykład takiego modelu gromadzenia danych to serwer lub serwery, które dość często wyposażone są w macierze dyskowe, ale już nie zawsze w biblioteki taśm do robienia kopii zapasowych. Taki model ma wiele, zalet, ale też i wady. Największą zaletą jest to, że wiadomo gdzie te dane fizycznie są przechowywane, a więc można zorganizować ich sprawną ochronę. Ochrona powinna być całościowa, a więc obejmować musi:

fizyczne bezpieczeństwo samego serwera; zasilanie; strategię tworzenia kopii zapasowych; procedury awaryjne; zasady dostępu; ochronę sieciową.


Enlarge
Kluczowym aspektem bezpieczeństwa fizycznego serwera, a co za tym idzie danych na nim zgromadzonych, jest dobór miejsca, w którym zostanie ulokowany. Najczęściej o tym miejscu mówi się "serwerownia", ale nie zawsze miejsce jest dobrane właściwie. Przy budowie serwerowni zwraca się uwagę na następujące czynniki:

Zasilanie w serwerowni powinno zapewnić prace serwera (serwerów) a także klimatyzacji. Powinno być także przewidziane zasilanie awaryjne całej serwerowni na wypadek awarii zasilania podstawowego. Nowoczesne komputery wymagają stałej temperatury pracy oraz stałej wilgotności. Takie warunki zapewnia klimatyzacja. Moc klimatyzacji powinna zapewnić możliwość usunięcia ciepła wytworzonego przez pracujące urządzenia. Zabezpieczenia antywłamaniowe: Jeśli serwery nam się nie spalą, to mogą stać się łupem złodziei. Najbardziej popularne są włamania i wykradanie danych poprzez sieć, ale nie należy wykluczyć próby kradzieży całych serwerów lub przynajmniej dysków twardych z danymi. Czasami jest to znacznie prostsze, niż włamanie poprzez sieć. Ważnym aspektem lokalizacji serwerowni oraz jej wyposażenia, a co za tym idzie bezpieczeństwa danych, jest zapewnienie odporności na swojego rodzaju klęski żywiołowe oraz zdarzenia przypadkowe, jak: wybijanie studzienek, przeciekanie dachu, awarie instalacji wodno-kanalizacyjnych i ciepłowniczych Firma musi mieć jasne i określone procedury opisujące zasady dostępu, zarówno do centrów danych znajdujących się w jej posiadaniu jak i do samych danych.


Enlarge
W rozwiązaniach centralnych ważną rolę w ochronie danych spełniają serwery. Ich zadaniem podstawowym jest przechowywać i udostępniać dane. Jest szereg rozwiązań sprzętowych dostępnych w serwerach, które pozwalają tak skonfigurować system plików aby uzyskać poprawę wydajności serwerów z jednoczesną poprawą ochrony danych. Najbardziej znane to systemy RAID. Powszechnie stosuje się trzy wersje RAID: 0,1,5 oraz kombinacje RAID 0+1.

Pliki zgromadzone w systemie mogą ulec niepożądanym zmianom. Zmiany te mogą być np. efektem włamania do serwera. Nie można całkowicie zapobiec włamaniom. Można za to zadbać, aby modyfikacje plików były możliwie szybko wykrywane. Posłużyć się można sumami kontrolnymi md5. Należy wyliczyć te sumy dla wszystkich plików krytycznych. Ważne jest aby plik z obliczonymi sumami trzymać poza serwerem - najlepiej na wymienialnym nośniku np. dyskietce. Okresowo należy dokonywać sprawdzenia sum kontrolnych plików. Dane z jakiegoś powodu mogą ulec zniszczeniu. Aby nie narazić firmy lub siebie na całkowitą utratę danych, które często stanowią podstawę działalności, należy wykonywać kopie zapasowe. Już samo wykonywanie kopii jest skomplikowanym problemem technicznym, szczególnie gdy system pracuje całodobowo. Zawartość danych w takim systemie ulega ciągłym zmianom. W praktyce, aby wykonać kopie systemu na daną chwilę należało by system odłączyć na czas wykonywania kopii. Nowe systemy operacyjne, potrafią zablokować stan plików na potrzeby wykonania kopii zapasowej bez konieczności przerywania pracy systemu. Tworzenie kopii zapasowych powinno być ściśle określone w strategii ochrony informatycznej. Nośniki, na których wykonywana jest kopia, powinny być udokumentowane i właściwie przechowywane. Może się okazać, że znacznie prościej będzie ukraść zestaw taśm, na których jest kompletna kopia systemu niż dokonać włamania do systemu poprzez sieć komputerową. Taśmy lub inne nośniki z kopiami zapasowymi nie powinny być przechowane w tym samym pomieszczeniu, w którym znajdują serwery. Jest to wygodne, ale w wypadku jakiejś katastrofy może okazać się zgubne. Najlepiej kopie zapasowe trzymać w innym budynku. Jak pokazały wydarzenia 11 września wymóg ten wcale nie jest przesadzony. System może ulec awarii i dane zostaną utracone, bądź dostęp do nich będzie niemożliwy. Na taką okoliczność należy utworzyć procedury awaryjne, które pozwolą przywrócić system do pracy. Procedury powinny być na bieżąco aktualizowane. Podnosi to koszt bieżącej obsługi systemu, bo ktoś musi nad tym czuwać, ale w przypadku awarii powinno wydatnie skrócić czas jej usuwania. Długość przerwy pracy może się w przypadku firmy przenieść na konkretne straty finansowe.


Enlarge
Jak już wspominano poprzednio, Internet jest siecią sieci. Chcemy aby nasza sieć była siecią bezpieczną. Tymczasem nie ma jednoznacznej definicji czym jest sieć bezpieczna . Można przyjąć, że bezpieczna sieć to sieć, w której spełnione są wymagania:

dostępności i niezawodności; integralności przechowywanych i przetwarzanych danych; poufności i autentyczności. Kiedyś za taką sieć uważało się sieć LAN (Local Area Network). Sieci LAN były małe, obejmowały jedno piętro lub budynek. Dzisiaj sieć może obejmować wiele budynków na różnych krańcach świata. Sieci LAN budują firmy dla własnych potrzeb, powstają w sieciach osiedlowych. Różne są cele budowy tych sieci. Firmom służą one do wsparcia działalności biznesowej, a sieci osiedlowe mogą służyć ich użytkownikom do zabawy. Sieć jest tak bezpieczna, jak bezpieczne są komputery przyłączone do niej. W przypadku firmy może istnieć centralna polityka określająca co na komputerze w sieci LAN może być zainstalowane, a co nie powinno być. Inaczej jest w sieci osiedlowej. Pracują tam prywatne komputery i ich właściciele decydują co na nich jest. Sieć LAN to nie tylko komputery i ich oprogramowanie; to także urządzenia, które posłużyły do jej zbudowania. Obecnie do budowy sieci LAN wykorzystuje się urządzenia pracujące w standardzie Ethernet. Standard ten oferuje szereg rozwiązań, które mogą podnieść bezpieczeństwo sieci LAN.


Enlarge
Media w sieciach LAN

Sieć LAN to komputery oraz urządzenia realizujące transmisje danych. Pomiędzy urządzeniami a komputerami musi być zrealizowane połączenie. Obecnie w sieciach LAN do budowy połączeń wykorzystuje się kable miedziane, światłowody oraz radio. Każda z tych technik niesie ze sobą określone zagrożenia. Kabel koncentryczny. Za pomocą tego typu kabli budowano sieci w topologii szyny. Najczęściej używanym kablem był kabel RG 58. Poszczególne stacje są oddalone co najmniej 2,5 metra (liczonego po kablu). Maksymalna długość kabla wynosi 185 metrów. Sposób budowy sieci w oparciu o kable koncentryczne powoduje poważne niebezpieczeństwo. Każda stacja podłączona do kabla otrzymuje wszystkie pakiety, które pojawiają się na kablu. Wystarczy więc przejąć jeden z komputerów i za pomocą oprogramowania typu sniffer można podsłuchiwać dowolną transmisje danych. Dodatkowym niebezpieczeństwem jest konieczność wykonania dobrego uziemienia kabla. W warunkach polskich jest to trudne do uzyskania. Ponieważ kabel taki łączy komputery przyłączone do różnych faz zasilania, możliwe jest pojawienia się przepięć. Mogą prowadzić one do uszkodzeń sprzętu, jak również mogą stanowić zagrożenie dla osób pracujących przy komputerach. Skrętka kategorii 5 i 5+ Za pomocą tego typu kabli buduję się obecnie większość okablowania strukturalnego. Sieć LAN zbudowana jest wtedy w topologii gwiazdy. W środku gwiazdy ulokowane są urządzenia aktywne. Ponieważ połączenia są typu komputer - urządzenie, to o danych transmitowanych do komputera decydują urządzenia aktywne. Istnieje także możliwość podsłuchu, co jest transmitowane w kablu, za pomocą specjalistycznych urządzeń.


Enlarge
Sieci bezprzewodowe Buduje się je tam, gdzie położenie kabli jest kosztowne i nie zawsze się opłaca. Z punktu widzenia sieci LAN najczęściej stosuje się standardy 802.11, 802.11a i 802.11b. Centralnym urządzeniem lokalnej sieci bezprzewodowej jest punkt dostępowy (ang. access point) wyposażony w anteny dookólne. Zasięg sieci nie przekracza kilkuset metrów. Tego typu sieć jest łatwa do podsłuchania. Zdarza się, że nie potrzeba do tego żadnych specjalnych urządzeń. Mechanizmy bezpieczeństwa zastosowane dla celów autoryzacji użytkowników okazały się niewystarczające. Zostały one poprawione w standardzie 802.11g, ale dopiero okaże się w praktyce na ile spełnią swoje zadania.

Huby - jeszcze parę lat temu podstawowym urządzeniem sieci LAN był hub. Działanie huba jest proste. Pakiety otrzymane na jednym porcie wysyła do innych. Oznacza to, że każdy komputer podłączony do huba otrzymuje cały ruch przez niego przechodzący. Wystarczy więc, aby ofiarą włamywaczy stał się jeden z komputerów, a po zainstalowaniu programu typu sniffer będą mieli wgląd do całej sieci. Niektóre huby miały możliwość zdalnego zarządzania. Może to stanowić potencjalne niebezpieczeństwo, gdyż bardzo często pozostawione są domyślne hasła. Grozi to przejęciem kontroli nad urządzeniem poprzez nieuprawnione osoby. Ponieważ huby mają dość ubogie możliwości związane z zarządzaniem, to stopień zagrożenia nie jest wysoki. Może się jednak zdarzyć że złośliwy włamywacz wyłączy część lub wszystkie porty na hubie, co spowoduje przerwę w pracy sieci. Przełączniki - są to obecnie podstawowe urządzeniami wykorzystywane do budowy sieci LAN. Przełączniki uczą się adresów MAC urządzeń przyłączonych do ich poszczególnych portów. Pozwala im to na efektywne kierowanie pakietów. Otrzymany pakiet przełącznik wysyła wyłącznie do urządzenia, które ma go otrzymać. Utrudnia to możliwość podsłuchiwania, co się dzieje w sieci, przez dowolny komputer pracujący w tej sieci. Przełączniki można podzielić na dwie grupy: zarządzalne i niezarządzalne. Przełączniki niezarządzalne, jak sama nazwa wskazuje, nie mają możliwości zarządzania. Przenoszą tylko ruch w sieci. Przełączniki zarządzalne pozwalają na ustawienie różnych opcji zależnych od możliwości przełącznika. Najczęściej możliwe jest podzielenie przełącznika na VLAN-y oraz zbieranie statystyk ruchu z poszczególnych portów. W części przełączników możliwe jest mirrorowanie ruchu jednego portu na drugi. Opcja ta może być wykorzystana przez potencjalnego włamywacza do podsłuchania ruchu wybranego komputera. Aby temu zapobiec należy zadbać o bezpieczeństwo urządzeń. Powinny mieć one pozmieniane domyślne hasła i ustawienia protokołu SNMP.


Enlarge
Obecnie sieci LAN posiadają podłączenia do Internetu lub połączenia z innymi sieciami LAN. Połączenia te nie zawsze można zrealizować wykorzystując technologię sieci LAN. Rozwiązana sieci LAN mają z reguły zbyt mały zasięg. Połączenia te można zbudować w oparciu o dzierżawę dedykowanych łącz. Mogą być to dzierżawione linie telefoniczne, światłowody, kanały cyfrowe, linie napowietrzne. Każde z tego typu łącz niosą za sobą określone możliwości zapewnienia bezpieczeństwa.

Linie telefoniczne Linie telefoniczne nie oferują dużego pasma transmisji. Pozwalają na realizację krótkich łączy rzędu kilometrów. Linie tego typu nie oferują wysokiego poziomu bezpieczeństwa. Można je w stosunkowo prosty sposób podsłuchiwać. Wystarczy zainstalować podsłuch obok linii gdzieś na trasie jej przebiegu. Podsłuchy tego typu nie należą do kosztownych. Wykrycie tego typu podsłuchu może być bardzo trudne, a zatrudnienie ochrony do strzeżenia linii bardzo kosztowne. Aby realizować bezpieczną transmisje poprzez tego typu linie należy posłużyć się technikami kryptograficznymi - szyfrować dane. Linie światłowodowe Linie światłowodowe zapewniają duże pasmo transmisji na bardzo duże odległości. Same w sobie zapewniają wysoki poziom bezpieczeństwa. Jest je dość trudno podsłuchać. Do niedawna nie było to w ogólne możliwe. Są one jednak dość kosztowne. Budowa tego typu linii lub ich dzierżawa może być zbyt kosztowna dla pojedynczej firmy. Ponadto w warunkach polskich coraz trudniej otrzymać dzierżawę takich linii. Kanały cyfrowe Kanały cyfrowe zapewniają określoną przepływność pomiędzy dwoma punktami. Kanały może zestawić operator telekomunikacyjny. Generalnie są dwa typy kanałów: kanały cyfrowe zestawione dla potrzeb transmisji danych realizowane w technikach Frame Relay i ATM oraz kanały zestawiane dla potrzeb transmisji głosu. Niezależnie od wyboru typu kanału, jego bezpieczeństwo jest zależne od operatora, od którego kanał jest dzierżawiony. W zasadzie najlepiej jest założyć, że kanał nie jest bezpieczny i dla podniesienia bezpieczeństwa danych transmitowanych poprzez kanał cyfrowy należy je szyfrować. Linie napowietrzne Obecnie na rynku dostępna jest szeroka gama urządzeń pozwalających na zrealizowanie bezprzewodowej transmisji danych. Bezpieczeństwo tych rozwiązań jest zależne od użytych technik. Jeśli transmisja będzie realizowana za pomocą technik laserowych, to jest szansa na ograniczenie możliwości podsłuchu. W przypadku technik radiowych ograniczenie możliwości podsłuchu jest bardzo trudne ze względu na rozproszenie wiązki. W zasadzie, aby uniknąć kłopotów należy transmitowane dane szyfrować.


Enlarge
Sieci LAN są dołączane do Internetu lub innych sieci LAN. Takie połączenie niesie za - oprócz korzyści takich jak dostęp do różnych danych zawartych w Internecie - sobą także niebezpieczeństwa. Łączność z inną siecią oznacza możliwość dostępu do jej zasobów jak i dostęp z jej komputerów do naszej sieci. Jeśli tą siecią jest Internet, to potencjalny dostęp możliwy jest prawie dla całego świata. Aby ograniczyć potencjalne niebezpieczeństwa związane z połączeniem z inną siecią, należy określić a następnie wdrożyć politykę bezpieczeństwa. Polityka musi definiować, co ma być udostępnianie, a co nie, oraz do jakich zasobów mogą sięgać użytkownicy sieci. W realizacji tych celów mogą pomóc nam różnorodne rozwiązania techniczne.

Enlarge
Komputery pracujące w obecnych sieciach używają protokołu IP w wersji 4. Znaczna większość zagadnień związanych z bezpieczeństwem związanych jest z protokołem IP. Protokół ten powstał dla potrzeby sieci wojskowych i miał działać w zamkniętym środowisku. Nie wprowadzono bezpośrednio do niego mechanizmów poprawiających bezpieczeństwo transmisji. Różne jego niedoskonałości posłużyły jako mechanizmy realizacji ataków. Najbardziej znane rodzaje ataków sieciowych to:

Skanowanie sieci - jest to atak, który nie do końca jest atakiem. Skanowanie sieci pozwala atakującemu wykryć włączone komputery i urządzenia sieciowe. W zależności od rodzaju skanu możliwe jest też wykrycie otwartych portów TCP/UDP, co pozwala potencjalnemu napastnikowi określić, które usługi są aktywne. Skanowanie sieci można przyrównać do wykonywania zwiadu przed decydującym atakiem; Fałszowanie adresu (ang. adress spoofing) - jest to atak, w którym sfałszowany zostaje adres nadawcy. Zamiast orginalnego adresu wstawiany jest adres z wewnętrznej sieci. Atak ten pozwala na oszukanie prostych filtrów ochronnych opartych na adresach; Routing źródłowy (ang. Source Routing) - w protokole TCP/IP można podać trasę, przez jaką ma przejść pakiet, aby dotrzeć do miejsca docelowego. Ponieważ możliwość ta bardzo rzadko jest wykorzystywana, to większość urządzeń sieciowych ignoruje pakiety ze znacznikami routingu źródłowego co uniemożliwia różnorodne ataki; Denial of Service - atak polegający na wysyłaniu serii pakietów IP, który powoduje spowolnienie lub zaprzestanie pracy usługi, do której pakiety są wysyłane. Odmiana ataku Distributed Denial of Service (DDOS) jest wykonywana z wielu komputerów równocześnie. Przejęcie sesji - atak polegający na przejęciu przez osobę nieuprawnioną (hackera)sesji użytkownika. Od momentu przejęcia sesji hacker uzyskuje dostęp do zasobów z uprawnieniami osoby, której sesje zawłaszczył; Przepełnienie bufora - atak polegający na wykorzystaniu niedoskonałości stosu TCP/IP implementowanego w urządzeniach sieciowych. Odpowiednio spreparowany zestaw pakietów jest w stanie przepełnić bufor w stosie, co najczęściej prowadzi do odcięcia urządzenia od sieci. Efektem dodatkowym może być reset urządzenia. Przed częścią z tych ataków można się uchronić, jeśli wykorzysta się możliwości urządzeń, które przenoszą ruch pakietów IP.


Enlarge
Urządzeniami, które realizują połączenia międzysieciowe, są routery. Usytuowanie routerów na styku sieci LAN z Internetem lub pomiędzy sieciami LAN czyni z niego bardzo ważny element bezpieczeństwa. Większość routerów jest optymalizowana pod kątem transmisji pakietów IP. Bardzo często jako funkcję dodaną posiadają one możliwość zakładania tzw. list dostępu (ang. access list). Pozwalają one na tworzenie różnych filtrów. Filtry tworzone na routerach mogą wykorzystywać pola zawarte w nagłówkach protokołu IP oraz TCP i UPD. Filtry mogą obniżać wydajność routera, gdyż każdy pakiet przed przesłaniem musi być przeanalizowany pod kątem zgodności z filtrem. Im dłuższy filtr, tym przetwarzanie pojedyńczego pakietu trwa dłużej. Przydatnym filtrem, który można zastosować na routerach, jest filtr antyspofingowy. Pozwala on na ograniczenie znacznej ilości ataków wykonywanych na sieć. Router jako urządzenia pośredniczące w transmisji pakietów pomiędzy sieciami musi być także urządzeniem bezpiecznym. Routery mają możliwość zdalnego zarządzania, co może pozwolić nieuprawnionym osobom na przejęcie kontroli nad nimi. Jeśli jest to możliwe należy często zmieniać domyślne ustawienia związane z hasłami, a także utworzyć filtry, które ograniczą możliwość zdalnego zarządzania tylko do wybranych komputerów. Routery wymieniają z innymi routerami tablice routingu. Czynią to za pomocą protokołów routingu. Za pomocą takich protokołów można podesłać fałszywe tablice. Nieautoryzowanych zmian w tablicach routingu można uniknąć stosując mechanizmy bezpieczeństwa zawarte w protokołach dynamicznego routingu. Protokoły takie jak RIP-2 czy OSPF pozwalają na autoryzację rozsyłanych tablic. Pozwala to uniknąć zaakceptowania fałszywych danych. W większości routerów można też określić, poprzez które to interfejsy będą wymieniane informacje o routingu. W połączeniu z filtrami pozwala to na ograniczenia do minimum możliwości zaakceptowania przez router fałszywych tablic routingu.

Enlarge
Termin firewall czyli ściana ogniowa pochodzi z techniki budowlanej. Terminem określa się specjalnie skonstruowaną ścianę, która ma zapobiegać rozprzestrzenianiu się ognia. W sieciach komputerowych terminem firewalla określa się oprogramowanie, które jest usytuowane na styku sieci LAN z inną siecią np. Internetem i ma zapobiegać przedostawaniu się pożaru z innej sieci do chronionej sieci LAN. Usytuowanie firewalla jest podobne jest do usytuowania routera. Z tego powodu firewall dość często jest lokowany tuż za routerem lub występuje jako połączenie funkcjonalności routera i firewalla w jednym pudełku. Firewall podobnie jak router posiada możliwość filtrowania pakietów. Zasadnicza różnica jest w możliwości pamiętania stanu sesji. Filtr pakietów z pamięcią określa się mianem statefull inspection. Tego typu filtr pozwala na pełniejszą kontrolę przechodzących pakietów. Jeśli zostaną wykryte pakiety nie przynależne do danej lub do żadnej, sesji to mogą być ignorowane. W wypadku resetu firewalla wszystkie sesje są zrywane i muszą być od początku zainicjowane.

Mimo, że przyjmuje się, że firewall broni dostępu z zewnątrz do chronionej sieci, to jednak równie dobrze może blokować dostęp na zewnątrz sieci. Ta właściwość pozwala na określenie, jakie usługi mogą być udostępniane z sieci LAN. Te możliwości techniczne firewalla pozwalają na zbudowanie polityki dostępu, która zawiera co ma być z chronionej sieci dostępne na zewnątrz jak również co z zewnątrz jest dostępne w sieci. Na firewallach integruje się także szereg innych usług. Firewalle są obecnie bramami VPN, pozwalają autoryzować użytkowników oraz logować zdarzenia. Potrafią także przekierowywać ruch z niektórych usług. Przykładem może być poczta elektroniczna. Bardzo często firewall przekierowuje ruch z poczty elektronicznej do specjalnego hosta, na którym działa skaner antywirusowy lub filtr antyspamowy. Pozwala to lepiej chronić sieć. Firewalle potrafią także realizować usługi związane z translacją adresów. Ponieważ adresów IP zaczyna brakować to w sieciach LAN, powszechne się stało używanie adresów prywatnych (klasy 172.16.0.0 - 172.31.255.255, 10.0.0.0 - 10.255.255.255, 192.168.0.0 - 192.168.255.255). Aby jednak możliwy był dostęp z sieci LAN wykorzystującej prywatną pulę adresów, stosuje się techniki NAT ( ang. Network Address Translation) oraz PAT (ang. Port Adress Translation). Pozwalają one komputerom z niepublicznymi adresami IP korzystać z Internetu. Użycie prywatnych adresów w sieci LAN podnosi jej bezpieczeństwo. Niemożliwe jest bowiem dostanie się z Internetu do dowolnego komputera. Zagrożone są wyłącznie komputery, które w jakiś sposób są widoczne w sieci Internet.


Enlarge
NAT jest techniką mapowania adresu IP na adres IP w skali 1 do 1. Oznacza to, że aby udostępnić dostęp wszystkim komputerom z sieci LAN, musielibyśmy posiadać tyle adresów, ile mamy komputerów. W tym momencie numeracja przy użyciu prywatnych adresów IP traci nieco sens. Numeracja 1 do 1 odkrywa przed potencjalnym napastnikiem całą naszą sieć. Technika NAT ma sens stosowania w odniesieniu do serwerów. W przypadku komputerów jako użytkowników sieci jest ona zbytnią rozrzutnością.

Enlarge
PAT albo IP Masquerading pozwala na mapowanie 1 do wielu. Pozwala to wielu komputerom posiadających prywatne adresy IP korzystać z dostępu do Internetu. W technice tej wykorzystywany jest fakt, że sesja TCP/IP składa się z par (adres źródła, port źródła) (adres docelowy, port docelowy). W przypadku translacji NAT na urządzeniu realizującym translację podmieniany jest tylko adres źródłowy, natomiast w przypadku translacji PAT podmieniany jest adres źródłowy i port źródłowy. Ponieważ portów może być ponad 65 000, to teoretycznie tyle komputerów może być ukrytych za jednym adresem IP. PAT ukrywa strukturę sieci LAN przed potencjalnym napastnikiem. Nie łatwo jest określić, ile komputerów jest schowanych za pojedynczym adresem.

Enlarge
Serwer proxy jest to program występujący w roli pośrednika dla innego programu działającego na innym komputerze. Serwery proxy mogą być także pośrednikami dla konkretnych protokołów. Najczęściej spotykanymi są serwery proxy dla www. Zasada działania serwera proxy jest bardzo prosta. Program żądający dostępu do danych przesyła swe zapytanie do serwera proxy a on wysyła je w świat - do komputera, który wysłał zapytanie. Serwer proxy może być jawnie zdefiniowany w konfiguracji programu, lub też przekierowanie zapytań do serwera proxy może być realizowane przez router lub firewall bez wiedzy użytkownika programu. W takiej sytuacji serwer proxy określa się jako transparent proxy. Serwery proxy ukrywają przed światem zewnętrznym wewnętrzną strukturę sieci. Mogą także poprawiać jakość pracy sieci. Np. serwery proxy www mogą zapisywać na dyskach wyniki zapytań, a na następne zapytanie odpowiadać korzystając z już zgromadzonych danych. Powoduje to zmniejszenie ruchu na łączu do Internetu (patrz slajd).

Enlarge
Firewalle, serwery proxy oraz routery z filtrami potrafią zapewnić dostęp do i z sieci na podstawie konkretnych protokołów i usług. Nie potrafią zaś ocenić, czy przez dopuszczoną usługę nie jest dokonywany jakiś atak. Takie funkcje potrafią realizować systemy IDS (ang. Intrusion Detection Systems). Istnieją dwa typy systemów IDS:

sieciowe; systemowe. IDS sieciowy (ang. network-based) bazuje na badaniu ruchu sieciowego. IDS pracuje podobnie jak sniffer. Pobiera z sieci pakiety (na poziomie warstwy fizycznej) poprzez adapter (kartę) sieciowy ustawiony w trybie pasywnym promiscous. Tryb ten umożliwia przechwytywanie wszystkich pakietów podróżujących w danym segmencie sieciowym. W przypadku gdy IDS zostanie podłączony podłączony do przełącznika to na port, do którego jest przyłączony, musi być kopiowany ruch z portu, który ma być nadzorowany. Najczęściej w ten sposób nadzorowany jest port, poprzez który odbywa się transmisja danych z siecią zewnętrzną. Przechwycone pakiety są następnie poddawane analizie w czasie rzeczywistym. Wymaga to sporych mocy obliczeniowych od urządzenia realizującego analizę. Przechwycone pakiety mogą być analizowane pod kątem: dopasowywanie wzorców - dopasowywane są pakiety jak i ich zawartość, która jest porównywana z bazą sygnatur; badanie częstości zdarzeń i przekraczania ustalonych limitów ich ilości; wykrywania odstępstw od standardów RFC określających działanie protokołów; wykrywania korelacji pomiędzy pomniejszymi zdarzeniami; wykrywania anomalii statystycznych. Najczęściej realizowane jest dopasowywanie wzorców, gdyż jest to technicznie najłatwiejsze w realizacji. Podobnie ma się z wykrywaniem odstępstw od definicji protokołów. Określenie limitów zdarzeń wymaga sporej wiedzy od administratora. Pewne nietypowe zachowania sieci nie muszą oznaczać zagrożenia, a mogą być tylko specyfiką jej funkcjonowania. Tak samo ma się rzecz z wykrywaniem anomalii statystycznych oraz korealacji pomiędzy zdarzeniami. W razie wykrycia ataku system IDS może wykonać jedną ze zdefiniowanych przez administratora akcji. Może to być: e-mail do administratora z informacją o zdarzeniu; aktualizacja filtrów na routerze, która powoduje blokadę dalszego ataku; aktualizacja filtrów na firewallu, która powoduje blokadę dalszego ataku. Wykrywanie zdarzeń w trybie rzeczywistym oraz możliwość aktualizacji filtrów pozwala na bardzo szybką automatyczną reakcję. Niestety, możliwe staje się wtedy przeprowadzenie takiego ataku, po którym automatycznie ustawione filtry odetną możliwość funkcjonowania niektórym pożądanym usługom. IDS systemowy (określany czasami Host IDS) jest instalowany na chronionych komputerach. Podstawowym zadaniem takiego IDS-a jest wykrywanie nietypowych zachowań w obrębie komputera. Mniej istotne jest źródło ich pochodzenia. Analizie poddawana jest komunikacja między wybranymi procesami, kontrolowana jest integralność kluczowych plików systemowych oraz analizowane są logi. W wypadku wykrycia niepożądanych zdarzeń o ich wystąpieniu informowany jest administrator sieci lub użytkownik komputera. Działanie tego typu systemów IDS jest ściśle związane z systemami operacyjnymi komputerów, na których te systemy pracują. Bardzo często możliwa jest też analiza ruchu sieciowego wchodzącego do komputera. Ma to tę zaletę, że wykrywa to zdarzenia wewnątrz sieci LAN, które nie mogą być nadzorowane przez sieciowy IDS. Wymaga to jednak rezerwy mocy komputera, na którym ten system ma pracować.


Enlarge
Kilka lat temu podstawowym celem ataków były serwery sieciowe i pracujące na nich serwisy. Wraz z rozwojem Internetu w sieci pojawiła się ogromna liczba komputerów. Twórcy systemów operacyjnych nie przywiązywali dużej wagi do bezpieczeństwa. Na systemach uniksowych włączone były wszystkie serwisy sieciowe niezależnie od tego, czy były potrzebne czy nie. Systemy Windows firmy Microsoft realizowały podobną zasadę. Ułatwiało to życie użytkownikom, bo wystarczyło włączyć komputer i wszystko działało. Sieci w firmach mają administratorów oraz są chronione centralnymi firewallami. Inaczej jest ze zwykłymi posiadaczami komputerów. Ponieważ zaczęli korzystać z Internetu, to ich komputery stały się potencjalnymi celami ataków. Jako odpowiedź na to powstały rozwiązania nazywane Personal Firewall. Podstawowa różnica w stosunku do klasycznych firewalli polega na tym, że chronią one pojedynczy komputer w sieci, a nie sieć. W zależności od producenta mogą mieć one funkcjonalność zarówno filtra pakietów jak i IDS systemowego. Mogą też być wyposażane w klientów sieci VPN. Większość z personalnych firewalli posiada predefiniowaną politykę bezpieczeństwa, która w znacznym stopniu podnosi bezpieczeństwo pojedynczego komputera. Możliwe jest też centralne zarządzanie polityką bezpieczeństwa na firewallach zainstalowanych na komputerach firmowych. Tego typu rozwiązania dostarczają producenci firewalli chroniących sieci. Pozwala to podnieść bezpieczeństwo poszczególnych komputerów wewnątrz sieci, jak wreszcie na objęcie polityką bezpieczeństwa komputerów użytkowników mobilnych korzystających z laptopów jak również objęcie polityką bezpieczeństwa użytkowników pracujących na rzecz firmy w domu.

Enlarge
Ponieważ prawie niemożliwe jest zbudowanie sieci, w której nie dałoby się zrealizować podsłuchu, trzeba pomyśleć o innym sposobie zabezpieczenia transmisji. Z pomocą przychodzą techniki kryptograficzne. Nie zabezpieczają one w 100 % transmisji, ale utrudniają możliwość jej odczytania w momencie przechwycenia. Techniki kryptograficzne dostarczają także mechanizmy potwierdzania tożsamości oraz integralności przesyłanych danych. Najczęściej kryptografia jest kojarzona z szyfrowaniem. Dane lub tekst w postaci jawnej są przekształcane za pomocą funkcji szyfrującej do postaci zaszyfrowanej. Z przekształceniem tym związany jest jakiś klucz lub para kluczy. Przekształcenie to może być jednokierunkowe lub dwukierunkowe. W przypadku przekształceń jednokierunkowych bardzo trudne jest odzyskanie tekstu jawnego z zaszyfrowanego tekstu. Jest to wykorzystywane przy przechowywaniu haseł. Szyfry dwukierunkowe pozwalają odtworzyć tekst jawny z zakodowanej informacji. W zależności od użytego algorytmu szyfrowania możliwe jest odzyskanie treści wiadomości za pomocą tego samego klucza (szyfry symetryczne) lub innego klucza z pary (szyfry asymetryczne). Poniżej są omównione podstawowe pojęcia związane z kryptografią.

Szyfr - jest to algorytm oraz klucz. Algorytm to umowny sposób zamiany tekstu jawnego na tekst zaszyfrowany. Algorytm określa przekształcenie, które zostanie wykonane przy użyciu klucza. Ilustruje to następujący przykład algorytmu: bierzemy znak tekstu, odszukujemy go w tekście gazety. Zliczamy, który to jest znak i zamieniamy na numer jego wystąpienia. Kluczem, który zostanie użyty do szyfrowania będzie gazeta. Jak widać algorytm jest prosty i każdy może go poznać, ale aby zaszyfrować i odszyfrować tekst potrzebne jest te same wydanie gazety. W technice cyfrowej mamy do czynienia z bitami. Kluczem najczęściej jest jakaś liczba losowa o określonej długości. Najczęściej spotykane wartości to 40, 64, 128, 512 lub 1024 bity. Można przyjąć, że im dłuższy klucz, tym zaszyfrowana wiadomość jest trudniejsza do odczytania przez osoby nieupoważnione. Funkcja skrótu - tworzy unikalną dla danej wiadomości sumę kontrolną. Wiadomość może mieć dowolną długość, funkcja skrótu wygeneruje zawsze liczbę o ustalonej długości (np. 126 lub 160 bitów). Funkcja skrótu uzyskana bezpiecznym algorytmem (SHA-1) ma dwie bardzo ważne własności: każda zmiana w wiadomości (nawet jednego bitu) powoduje nieprzewidywalną zmianę wartości skrótu oraz praktycznie niemożliwe jest obliczenie oryginalnej wiadomości na podstawie jej skrótu (jednokierunkowość). Dodatkowo żadne dwie różne wiadomości nie "wygenerują" takiej samej wartości funkcji skrótu (bezkolizyjność). Funkcje skrótu są wykorzystywane przy sprawdzaniu zachowywania integralności przesyłanych danych. Szyfr symetryczny - szyfr z jednym kluczem. Bezpieczeństwo wiadomości w systemie symetrycznym opiera się na utrzymaniu w tajemnicy klucza służącego jednocześnie do szyfrowania, jak i do rozszyfrowywania przesyłanej wiadomości. W idealnym przypadku klucz powinny znać tylko dwie osoby: nadawca i odbiorca. Szyfr asymetryczny powstał w wyniku prac matematycznych nad teorią liczb i funkcji asymetrycznych, czyli takich, które łatwo obliczyć (zakodować), ale bardzo trudno obliczyć ich funkcją odwrotną (złamać kod). W efekcie złamanie kodu asymetrycznego o dostatecznej długości kluczy może wymagać pracy najsilniejszych komputerów świata przez setki lat. W praktyce, szyfr asymetryczny to szyfr z parą kluczy: prywatnym (znanym tylko jego właścicielowi) i publicznym (dostępnym dla każdego), obydwa klucze są ze sobą powiązane matematycznie. Wiadomość zaszyfrowana jednym z kluczy (publicznym) może być rozszyfrowana tylko drugim (prywatnym), co pozwala na bezpieczną korespondencję w kierunku "świat zewnętrzny" - właściciel klucza prywatnego. W przypadku podpisu cyfrowego następuje zamiana: nadawca szyfruje skrót wiadomości kluczem prywatnym, a każda zainteresowana osoba może go zweryfikować kluczem publicznym.


Enlarge
SSL jest protokołem opracowanym przez firmę Netscape. Jest on otwartym standardem, dzięki czemu jest zaimplementowany między innymi w większości przeglądarek internetowych. Obecnie są w użyciu dwie specyfikacje tego protokołu wersja: 2.0 i 3.0. Protokół SSL zapewnia trzy podstawowe funkcje:

prywatność - dane transmitowane przy użyciu protokołu SSL są szyfrowane; potwierdzenie tożsamości serwera za pomocą certyfikatów cyfrowych, co utrudnia możliwość podszycia się pod serwer; integralność przesyłanych danych przy użyciu sum kontrolnych - utrudnia to dokonanie wandalizmu na transmitowanych danych. SSL pierwotnie został opracowany do zabezpieczenia transmisji pomiędzy serwerem, a przeglądarka WWW. Pierwszą przeglądarką, która posiadała wsparcie dla SSL była przeglądarka firmy Netscape. Ponieważ na stosie protokołów TCP/IP warstwa SSL znajduję się pomiędzy warstwą aplikacji a warstwą transportową, to możliwe jest wykorzystanie protokołu SSL dla różnych aplikacji. Umieszczenie SSL nad stosem TCP/IP pozwala wykorzystać istniejące internetowe standardy bez konieczności ustawienia SSL jako protokołu aplikacji. SSL jest obecnie wykorzystywany przez wiele aplikacji, jak telnet czy ftp.


Enlarge
Za pomocą protokołu SSL klient może potwierdzić tożsamość serwera, do którego się łączy. W tym celu protokół SSL korzysta z algorytmu RSA, oraz certyfikatów nadawanych serwerom przez jedną z niezależnych organizacji certyfikujących ( Thawte, Verisign). Organizacje te mają upoważnienie od RSA Data Security Inc. właściciela algorytmu szyfrowania RSA. Oczywiście, aby otrzymać certyfikat należy wystąpić o jego otrzymanie. Certyfikat taki jest podpisany przez organizację, która go wydała. Większość przeglądarek posiada listę centrów certyfikujących i jest w stanie automatycznie zweryfikować poprawność certyfikatu serwera, z którym połączenie następuje. Ponieważ certyfikaty podpisywane przez organizacje certyfikujące są płatne, więc nie zawsze są stosowane. Każda organizacja może samodzielnie wygenerować certyfikat. W takim wypadku, po uzyskaniu połączenia z serwerem należy certyfikat obejrzeć i samodzielnie podjąć decyzję o akceptacji.

Enlarge
W czasie transmisji danych wykorzystywany jest jednorazowy klucz sesji. Aby go uzgodnić, program klienta oraz serwer wykorzystują technikę kluczy publicznych. W uproszczeniu mechanizm ustanawiania sesji wygląda następująco:

klient wysyła komunikat Client.Hello zawierający informacje o kliencie oraz klucz publiczny (najczęściej generowany w czasie instalacji); serwer analizuje dane. Jeśli wersja SSL oraz mechanizmy szyfrowania się zgadzają, odsyła zaszyfrowany kluczem publicznym klienta komunikat Server.Hello. W odpowiedzi znajduje się klucz publiczny serwera; klient po otrzymaniu odpowiedzi odsyła komunikat zawierający żądanie przesłania klucza sesji. Komunikat jest zaszyfrowany za pomocą klucza publicznego serwera; po otrzymaniu komunikatu od klienta serwer odsyła zaszyfrowany kluczem publicznym klienta klucz sesji, który będzie wykorzystany do transmisji danych. Ten sposób przekazywania klucza jest wykorzystywany nie tylko przez SSLa. Można go spotkać także w innych technikach kryptograficznych używanych w Internecie.


Enlarge
SSL wykorzystuje technologię potwierdzania serwerów i szyfrowania opracowaną przez RSA Data Security, Inc; która jest właścicielem algorytmu RSA. Ze względu na ograniczenia exportowe USA, maksymalna długość klucza wynosiła do niedawna 40 bitów. Obecnie ograniczenia zostały osłabione długość klucza, jaki można stosować, wynosi 128 bitów. Ograniczenie to nie dotyczy USA gdzie można wykorzystywać klucz o długości 512 bitów. Im dłuższy klucz tym wyższy poziom bezpieczeństwa. Poziom rośnie wykładniczo wraz ze wzrostem długości klucza. Pozwolenie na używanie klucza 128 bitowego w wersjach eksportowych produktów kryptograficznych jest prawdopodobnie związane z tym, że rząd USA dysponuje komputerami, które są w stanie rozszyfrować dane zaszyfrowane takim kluczem, nawet przy zastosowaniu szyfrów asymetrycznych. Jednakże moc obliczeniowa zwykłych komputerów też wzrasta i najpewniej w niedalekiej przyszłości stosowanie klucza 128 bitowego też nie będzie rozwiązaniem gwarantującym rozsądny poziom bezpieczeństwa.

Enlarge
Sieć komputerowa pozwala na zdalny dostęp do zasobów. Nie zawsze wymiana danych pomiędzy komputerami odbywać się będzie za pomocą protokołu http z szyfrowaniem SSL. Może się zdarzyć konieczność użycia innych aplikacji, np. już działających w sieciach LAN. Koszty modyfikacji aplikacji tak by - na przykład - korzystały z mechanizmów protokołu SSL, mogą okazać się bardzo duże. Rozwiązaniem dla tej sytuacji jest zastosowanie technik VPN (ang. Virtual Private Network).

Koncepcja VPN VPN - (wirtualne sieci prywatne) jest rozszerzeniem prywatnej sieci LAN najczęściej chronionej firewallem na wybrane komputery znajdujące się w sieci publicznej. Osiągane jest to za pomocą dwukierunkowych kanałów służących transmisji danych przez sieci publiczne (najczęściej Internet) z zachowaniem bezpieczeństwa przesyłanych danych. Podczas transmisji poprzez kanał dane są szyfrowane, dzięki czemu nawet po ich przechwyceniu przez niepowołane osoby ich odczytanie jest bardzo utrudnione, a czasami prawie nie możliwe, gdyż proces deszyfrowania wymaga użycia odpowiedniego klucza. W ramach koncepcji VPN możliwe jest sprawdzanie tożsamości zdalnego użytkownika poprzez uwierzytelnianie kryptograficzne. Dodatkowo, dane są szyfrowane oraz enkapsulowane w pakietach IP, co pozwala na przeźroczyste przenoszenie danych transmitowanych w różnych protokołach. Architektura VPN Przy użyciu VPN-ów można realizować różnorodne architektury połączeń, które są najczęściej kombinacją trzech podstawowych typów: klient do klienta, klient do sieci, sieć do sieci. W przypadku transmisji typu klient do klienta możliwa jest bezpieczna wymiana danych pomiędzy dwoma komputerami. Trudno jest to kwalifikować do VPN'u, ale mogą zdarzyć się sytuacje, że taki tryb transmisji będzie potrzebny. VPN'y powstały głównie jako odpowiedź na potrzebę zapewnienia bezpiecznej transmisji danych pomiędzy użytkownikami znajdującymi się poza firmą (np. w podróży), a siecią firmy. Pierwsze standardy VPN odpowiadały właśnie tym oczekiwaniom. Okazało się, że taniej jest wykorzystywać jako platformę transmisji Internet. Połączenie do lokalnego dostawcy Internetu jest znacznie tańsze niż połączenie do siedziby firmy, która to można znajdować się nawet za granicą. Wkrótce okazało się, że budowa bezpiecznych połączeń pomiędzy oddziałami firm za pomocą dedykowanych łączy jest równie kosztowna, więc rozszerzono standardy VPN na potrzeby budowy połączeń typu sieć do sieci.


Enlarge
Zasada działania wirtualnej sieci prywatnej polega na zestawieniu wirtualnego kanału komunikacyjnego wewnątrz publicznej sieci, do której ma się ograniczone zaufanie, a poprzez którą będą przesyłane zaszyfrowane dane. Transmisja kanałem komunikacyjnym jest obsługiwana przez protokół tunelujący (ang. tunneling protocol). Zasada działania wirtualnego kanału polega na zestawieniu logicznego połączenia między klientem VPN zlokalizowanym na przykład na komputerze użytkownika i serwerem VPN. Kanał pozwala na bezpieczną pracę w taki sposób, jakby istniało bezpośrednie połączenie z siecią prywatną, w której zlokalizowany jest serwer. Podczas inicjacji połączeń wirtualnej sieci prywatnej oprogramowanie klienta komunikuje się z bramką (serwerem) VPN. Kiedy serwer VPN pozytywnie zweryfikuje uprawnienia, oprogramowanie zestawi odpowiednie połączenie. Pakiety przesyłane przez tunel będą opatrywane odpowiednimi nagłówkami zależnymi od sieci, poprzez którą będzie zestawione połączenie. Kiedy pakiety dotrą do serwera na drugim końcu tunelu, nagłówek pakietu zostanie usunięty, a informacje będą ostatecznie przekazane do właściwego odbiorcy w sieci lokalnej.

Bezpieczeństwo tuneli VPN jest ściśle związane z protokołami użytymi do ich tworzenia i szyfrowania. Obecnie dostępnych jest kilka standardów VPN. Nie są one ze sobą zgodne, należy więc zadbać o to, aby po stronie klienta i serwera były zainstalowane te same protokoły.


Enlarge
Patrząc na siedmiowarstwowy model ISO/OSI można przyjąć, że są trzy kategorie VPN'ów. W warstwie drugiej można umieścić produkty oparte na protokołach PPTP (Point-to-Point Tunneling Protocol) i L2TP (Layer 2 Tunneling Protocol), które obecnie są stosowane w większości połączeń wirtualnych sieci prywatnych. W warstwie trzeciej można umieścić produkty zbudowane na protokole IPSec. Produkty VPN warstwy czwartej wykorzystują również kapsułkowanie i szyfrowanie, ale produkty związane z tą warstwą są mniej uniwersalne, gdyż zapewniają możliwość bezpiecznej transmisji danych dla konkretnej aplikacji, np. poczty elektronicznej.

PPTP (Point-to-Point Tunneling Protocol) Opracowany został wspólne przez Microsoft i US Robotics, PPTP jest rozszerzeniem PPP (Point-to-Point Protocol), standardowego protokołu komunikacyjnego Internetu, używanego do asynchronicznej transmisji łączem szeregowym punkt-punkt bez ograniczania przepływności. PPP funkcjonuje w warstwie drugiej, więc połączenie PPTP, które umożliwia enkapsulację pakietów PPP, pozwala przesyłać pakiety IP, IPX i NetBEUI (NetBIOS Extended User Interface). Oprogramowanie darmowego klienta PPTP jest dostępne na większość systemów operacyjnych Microsoftu, a także na systemy Linux. W systemach MS-Windows jako protokół szyfrujący wykorzystywany jest MPPE (Microsoft Point to Point Encryption). Jest oparty na standardowym systemie kryptograficznym RSA (Rivest, Shamir, Adleman), który obsługuje szyfrowanie 40-bitowe lub 128-bitowe. Można dyskutować, czy jest to wystarczający poziom szyfrowania. L2TP (Layer 2 Tunneling Protocol) L2TP jest dziełem organizacji zajmującej się standaryzacją w Internecie IETF (Internet Engineering Task Force). Powstał poprzez połączenie PPTP oraz L2F (Layer 2 Forwarding), który to opracowała firma Cisco. L2F zaprojektowany przez Cisco Systems jest przeznaczone głównie do obsługi transmisji między routerami. Protokół L2TP, podobnie jak PPTP, pozwala na transport ramek PPP (Point-to-Point Protocol). Zaletą L2TP jest możliwość transmisji danych po sieci IP, lecz również po sieciach X.25, Frame Relay oraz ATM (Asynchronous Transfer Mode). IPSec (Internet Protocol Security) IPSec powstał z inicjatywy firmy Cisco System jest protokołem warstwy trzeciej i jak sama nazwa wskazuje zapewnia szyfrowanie na poziomie protokołu IP. IPSec tak naprawdę nie jest protokołem, tylko zbiorem otwartych standardów. W ramach standardów IPSec zdefiniowanych jest kilka nowych formatów pakietów: nagłówek autentykacyjny (authentication header AH), który zapewnia integralność przesyłanych danych, oraz obszar danych - encapsulating security payload (ESP), zapewniający dodatkowo poufność transmisji. Parametry IPSec pomiędzy dwoma urządzeniami mogą być negocjowane poprzez centralną jednostkę Internet Key Exchange (IKE, znaną wcześniej jako Internet Security Association Key Management Protocol, lub ISAKMP/Oakley). IKE używa cyfrowych certyfikatów do autoryzacji urządzenia, umożliwiając tworzenie dużych sieci wirtualnych. Możliwe jest użycie statycznie zdefiniowanych współdzielonych kluczy zamiast certyfikatów. Zastosowanie tego do dużych sieci jest raczej trudne w realizacji, gdyż dla każdego połączeniu należało by wygenerować oddzielną parę kluczy. IPSec jest zaprojektowany do bezpiecznego tworzenia tuneli przez sieć IP między ochranianymi sieciami lokalnymi, lub pomiędzy klientem a siecią chronioną. IPSec wykorzystuje w transmisji 168-bitowe szyfrowanie Triple DES, a także umożliwia szyfrowanie pakiet po pakiecie.


Enlarge
IPSec pracuje w dwóch trybach, transportowym i tunelowym (tunnel mode) - szczegóły na slajdzie. W trybie transportowym kodowane są w pakiecie wyłącznie dane, natomiast oryginalny nagłówek IP pozostaje niezmieniony. Powoduje to konieczność dodania kilku bajtów do każdego pakietu. Nieruszony nagłówek IP umożliwia urządzeniom sieci publicznej określanie adresu początkowego i docelowego każdego pakietu. Pozwala to urządzeniom pośrednim bezproblemowo przetwarzać dodatkowe informacje z nagłówka IP (np. informacje o gwarancji jakości usług). Z drugie strony, pozostawienie niezakodowanego nagłówka umożliwia nieautoryzowanym użytkownikom prowadzenie analizy ruchu pomiędzy poszczególnymi węzłami. Mają jednak oni nikłe szanse na stwierdzenie, jakiego typu była ta transmisja.

W trybie tunelowym oryginalny pakiet wejściowy IP jest w całości szyfrowany, stając się zawartością z danymi w nowym pakiecie IP. Tryb ten umożliwia urządzeniom sieciowym pracę jako IPSec proxy. IPSec proxy przejmuje niezaszyfrowany ruch od hostów, szyfruje go i wysyła wzdłuż tunelu IPSec. IPSec proxy na drugim końcu tunelu deszyfruje oryginalny pakiet IP i przesyła go do docelowego miejsca w systemie. Główną zaletą tego rozwiązania jest fakt, że docelowe systemy nie muszą być modyfikowane, by korzystać z usług IPSec. W trybie tunelowym prawie niemożliwe jest dokonanie analizy ruchu poprzez osoby nieuprawnione, gdyż w tym trybie można jedynie określić końce tunelu, a nie właściwego nadawcę i odbiorcę informacji. Z drugiej strony, jeśli oryginalny nagłówek IP zawierał dodatkowe informacje o jakości ruchu staną się one niewidoczne dla hostów pośredniczących w transmisji.


Enlarge
Security Association (SA bezpieczne połączenie) jest relacją pomiędzy dwoma lub więcej jednostkami, która określa w jaki sposób jednostki używać będą systemów zabezpieczeń do bezpiecznej komunikacji. Security Association jest relacją jednokierunkową. Oznacza to, że dla każdej pary komunikujących się urządzeń należy zdefiniować przynajmniej dwa bezpieczne połączenia - z A do B i z B do A. Security Association jest parą składającą się z losowo wybranego numeru Security Parameter Index (SPI) i adresu IP odbiorcy. Kiedy system wysyła pakiet, który wymaga ochrony IPSec, przegląda SA w swojej bazie, uruchamia odpowiedni proces i wtedy wkłada właściwy SPI do nagłówka IPSec. Kiedy węzeł wyposażony w IPSec otrzymuje pakiet, przegląda SA po adresie docelowym i SPI w swojej bazie i wtedy analizuje pakiet IPSec posiada mechanizmy stwierdzające, czy SA jest ustawione, natomiast samo z siebie nie ma mechanizmów pozwalających takie połączenia budować. Za negocjacje i budowę połączeń odpowiedzialny jest Internet Key Management Protocol (IKMP). IKE negocjuje bezpieczne połączenie dla IPSec. W ramach procesu negocjacji każda jednostka sprawdza się nawzajem i ustanawia wspólne klucze.

Aby połączenie IPSec mogło być zestawione, oba końce, które będą połączone muszą się wzajemnie autentyzować. W ramach IKE dopuszczone jest kilka sposobów uwierzytelniania. Ważne jest to że obie jednostki muszą wyrazić zgodę na wspólny protokół autentyzacyjny, który zbudują w procesie negocjacyjnym. Obecnie zaimplementowane są trzy mechanizmy autentyzacji: Pre-shared keys - takie same klucze pre-instalowane są na każdym hoście. IKE autentykuje każdy węzeł przez wysyłanie skróconych danych klucza, które zawierają klucze typu pre-shared. Public key cryptography - czyli każda strona generuje pseudo losowy numer i koduje go w kluczu publicznym drugiej strony. Digital signature (podpis elektroniczny) - każde urządzenie podpisuje cyfrowo zbiór danych i wysyła je do drugiej strony. IPSec jest obecnie dostępny w wielu urządzeniach sieciowych takich jak routery i przełączniki oraz systemach operacyjnych. Implementacje IPSec są dostępne w systemach Windows 2000, XP, Linux, FreeBSD. Nie wszystkie chcą ze sobą współpracować. Wynika to na przykład z braku wsparcia dla niektórych odmian algorytmów szyfrujących. Przykładem może być implementacja FreeSWAN na Linuxa, która nie pozwala na użycie pojedynczego DESa.


Enlarge
Kodowanie danych w czasie transmisji, trzymanie ich na serwerach z systemami RAID nie zapewnia nam pewności, że do danych nie sięgają osoby postronne. Częściową pewność możemy uzyskać określając, które komputery mają dostęp do pewnych zasobów. Jest to jednak nie do końca wystarczające, bo w domu przy komputerze może usiąść dziecko a w firmie inny pracownik. Aby mieć pewność, że do danych ma dostęp osoba lub instytucja do tego uprawniona, należy zastosować mechanizmy autoryzacji i potwierdzania tożsamości. Można to osiągnąć za pomocą haseł, certyfikatów, kluczy prywatnych i innych metod.

Enlarge
Standardową metodą potwierdzania tożsamości jest konto w systemie. Konto pozwala na określenie tożsamości użytkownika, opisania jego praw w systemie, czasu jego ważności. Wymusza to na prowadzenie bazy kont. Konto stanowi parę: identyfikator użytkownika oraz hasło. System kont wychodzi z założenia, że tylko osoba korzystająca z danego identyfikatora zna właściwe hasło. Hasło powinno być tajne. W tej chwili konta można prowadzić na pojedynczych komputerach, np. na komputerach pracujących pod kontrolą systemu Windows XP. Gdy liczba komputerów jest większa, to należy rozważyć utworzenie centralnej bazy kont. Istnienie takiej bazy oznacza konieczność przesyłania identyfikatora użytkownika oraz jego hasła poprzez sieć. Stanowi to potencjalne zagrożenie dla systemu kont.

Bezpieczeństwo konta jest związane z hasłem. Hasło w większości systemów jest przechowywane w postaci zaszyfrowanej. Najczęściej do zaszyfrowania hasła są używane algorytmy jednokierunkowe. Z tekstu jawnego, jakim jest hasło, tworzą one ciąg odpowiadających mu znaków. Aby potwierdzić hasło w czasie logowania do sytemu użytkownik jest proszony o podanie swojego identyfikatora, a następnie swojego hasła. Hasło jest szyfrowane i porównywane z zaszyfrowanym hasłem przechowywanym w systemie. Jeśli weryfikacja przebiegnie prawidłowo, to użytkownik uzyskuje dostęp do przyznanych mu zasobów. Bezpieczne hasła Sposób przechowywania haseł nie pozwala na ich łatwe odczytanie. Niestety pamięć ludzka jest zawodna i jako hasło wybiera się proste w zapamiętaniu teksty. Najczęściej są to trywialne hasła typu imię żony, dziecka czy teściowej. Takie hasła jest bardzo łatwo złamać metodami słownikowymi. Z drugie strony bardziej skomplikowane hasła stają się trudne do zapamiętania. Może to prowadzić do sytuacji zapisywania haseł i naklejania ich na monitorach oraz pod spodem klawiatur. Obniża to bezpieczeństwo całego systemu, bo nie mamy pewności, że osoba, która się autoryzowała w systemie, jest osobą właściwą. Ważnym czynnikiem wpływającym na bezpieczeństwo jest długość hasła. Hasła krótkie są podatne na ataki polegające na przeszukaniu wszystkich możliwych kombinacji znaków. To nie zajmuje zbyt dużo czasu przy obecnych mocach obliczeniowych komputerów. Dodanie jednej litery powoduje wydłużenie przeszukania 24-krotnie. Obecnie, niektóre systemy unixowe nie pozwalają założyć haseł krótszych niż pięcioznakowe. Dodatkowo wśród znaków musi się pojawić co najmniej jeden lub dwa znaki nie będące literą. Zwiększa to znacząco zbiór przeszukiwania, ale także utrudnia zapamiętanie hasła. Hasła jednorazowe Nie zawsze można posłużyć się dwukrotnie tym samym hasłem. Powodów może być wiele. Jednym z nich jest brak zaufania do miejsca, z którego realizuje się połączenie do systemu. Rozwiązaniem są hasła jednorazowe. Każdemu użytkownikowi generuje się listę jednorazowych haseł. Użytkownik po użyciu hasła do zalogowania skreśla je z listy. Podczas następnego logowania musi wykorzystać następne hasło. Każde hasło można wykorzystać tylko raz. Gdy lista haseł zostanie wyczerpana, trzeba użytkownikowi stworzyć następną. Niestety, każdy użytkownik musi nosić przy sobie listę haseł i zawsze korzystać z nich w odpowiedniej kolejności. Pominięcie choćby jednego hasła z listy uniemożliwi następne logowanie. Problemem jest także dystrybucja haseł. Użytkownik musi otrzymać wydrukowaną listę haseł. Oznacza to, że musi osobiście zgłosić się do administratora lub też zestaw haseł musi być do niego wysłany listem poleconym.


Enlarge
W relacjach biznesowych konieczne jest zawieranie umów. Ważność umowy jest ściśle związana z podpisem - obecnie odręcznym. Liczba osób uprawniona do składania podpisów w danej firmie jest ograniczona. Firmy współpracujące ze sobą mogą znajdować się w różnych zakątkach świata i trudno jest oczekiwać ciągłych podróży uprawnionych osób w celu składania podpisu. Częściowo ten problem rozwiązano za pomocą uznawania dokumentów przesłanych faksem. Rozwiązać ten problem może podpis cyfrowy.

Enlarge
Podpis cyfrowy musi spełniać te same warunki co podpis odręczny, tzn. powinien być trudny lub niemożliwy do podrobienia, umożliwiać weryfikację i na trwałe łączyć się z dokumentem. Sama idea podpisu cyfrowego pochodzi z roku 1976. Stała się możliwa do zrealizowania dzięki postępom w kryptografii. Przy podpisach cyfrowych używa się kryptografii klucza publicznego (np. RSA) opartej na dwóch dużych liczbach: kluczach prywatnym i publicznym. Taką parę unikalnych kluczy przypisuje się każdemu użytkownikowi systemu. Warunkiem koniecznym jest założenie, że dostęp do klucza prywatnego posiada tylko i wyłącznie jego właściciel (oraz tylko on używa go do podpisywania dokumentów), natomiast odpowiadający mu klucz publiczny musi być osiągalny dla każdej zainteresowanej osoby (np. poprzez umieszczenie na dedykowanym serwerze kluczy publicznych). W ten sposób odbiorca podpisanej wiadomości może zweryfikować otrzymany dokument wraz z podpisem. Podpis cyfrowy powinien zapewniać:

uniemożliwienie podszywanie się innych pod daną osobę (uwierzytelnienie osoby, autentyfikacja), zapewnienie wykrywalności wszelkiej zmiany w danych transakcji (integralność transakcji), zapewnienie niemożliwości wyparcia się podpisu przez autora, umożliwienie weryfikacji podpisu przez osobę niezależną.


Enlarge
Matematyka dla realizacji podpisu cyfrowego gotowa jest od wielu lat. Problemem podstawowym jest stworzenie infrastruktury podpisu cyfrowego. Infrastruktura potrzebna jest dla potrzeb całkowitego ustalenia właściciela klucza. W przypadku małej organizacji można posłużyć się metodami kurierskimi dla celów wymiany kluczy publicznych. W świecie podpisów odręcznych w przypadku wątpliwości dokumenty potwierdza się u notariusza. Podobnie jest przy podpisie cyfrowym. W warunkach powszechnego stosowania podpisu konieczne jest wprowadzenie do schematu tzw. zaufanej trzeciej strony (ang. Trusted Third Party). Trzecia strona zwana Organem Certyfikacji będzie musiała zarejestrować w swojej bazie danych wszystkich użytkowników podpisu cyfrowego i wygenerować im klucze. Oczywiście generacja kluczy musi być poprzedzona fizyczną identyfikacją petenta, który wpierw okazuje swój dowód osobisty, a następnie otrzyma spersonalizowaną kartę mikroprocesorową z zapisanymi na niej kluczami. Klucze będą rozprowadzane wraz dołączonymi do nich certyfikatami. Po otrzymaniu wiadomości podpisanej certyfikowanym kluczem, jej weryfikacja nieco się wydłuża, gdyż najpierw należy sprawdzić poprawność wiadomości kluczem publicznym nadawcy, a następnie sprawdzamy certyfikat klucza, tym razem używając klucza publicznego Organu Certyfikacji. Oczywiście musimy ufać Organowi Certyfikacji, że nie pomylił się podczas ustalania tożsamości nadawcy.

Enlarge
Realizacja podpisu cyfrowego składa się z dwóch faz. W fazie pierwszej wyznaczany jest skrót wiadomości (np. za pomocą algorytmu MD5). Skrót jest szyfrowany przy użyciu prywatnego klucza za pomocą algorytmu kryptografii z kluczem publicznym (np. RSA) . Zaszyfrowany skrót jest traktowany jako podpis wiadomości. Jest do niej dołączany i razem z nią wysyłany do odbiorcy. W drugiej fazie odbiorca weryfikuje podpis (patrz rysunek 8.6). Podobnie jak w przypadku nadawcy wyznaczany jest skrót wiadomości oraz dekodowany jest podpis wiadomości przy użyciu klucza publicznego nadawcy. Po odszyfrowaniu podpisu powinien zostać otrzymany skrót wiadomości. Jeśli zdekodowany skrót oraz wyliczony są sobie równe, to oznacza, że wiadomość podpisała właściwa osoba.

Enlarge
Podpis cyfrowy może w przyszłości mieć ogromne znaczenie dla prowadzenia działań gospodarczych. Pozwala on na szybkie zawieranie umów poprzez sieć, co obniży ich koszty. Pozwala także na weryfikację użytkowników. Wszystko to będzie zależne od powszechności wdrożenia. Ustawy związane z podpisem cyfrowym narzucają na firmy ogromne wymagania. Jedno z nich wiąże się z wdrożeniem PKI (ang. Public Key Infrastructure). PKI składa się z trzech głównych elementów :

Urzędu Rejestracji (ang. Registration Authority - RA), który dokonuje weryfikacji danych użytkownika, a następnie jego rejestracji; Urzędu Certyfikacji (ang. Certification Authority - CA), który wydaje certyfikaty cyfrowe. Wydanie jest poprzedzone procesem identyfikacji zgłaszającego. Po pozytywnym rozpatrzeniu zgłoszenia następuje wydanie certyfikatu wraz z datą jego rozpatrywania. Repozytoriów kluczy, certyfikatów i list unieważnionych certyfikatów (ang. Certificate Revocation Lists - CRLs). Typowa jest realizowana w oparciu o protokół LDAP. Podstawowym celem repozytorium jest udostępnianie publicznych kluczy, certyfikatów oraz dat ich unieważnienia. LDAP to jedno z rozwiązań. Inne rozwiązania mogą być oparte o protokoły X.500, HTTP, FTP, czy też wykorzystywać pocztę elektroniczną. Certyfikat może zostać unieważniony przed datą jego wygaśnięcia. Przyczyny tego mogą być rozmaite np. ślub i zmiana nazwiska lub zmiana adresu poczty elektronicznej czy ujawnienie klucza prywatnego lub kradzież PIN'u. W takich przypadkach CA powinno odwołać certyfikat i umieścić jego numer seryjny na ogólnodostępnej liście CRL. Jak widać, PKI jest kombinacją środków technicznych, oprogramowania oraz regulaminów. Zalecane jest aby RA i CA były oddzielnymi instytucjami. RA ma za zadanie sprawdzać dane użytkowników. W przedsiębiorstwie rolę RA może pełnić dział kadr. Wydawaniem certyfikatów zajmować się może pion informatyki. Certyfikat cyfrowy składa się z klucza publicznego właściciela, który jest podpisany przez centrum certyfikacji, oraz danych o właścicielu. Format certyfikatu jest opisany przez normę X.509. Wydanie certyfikatu przez CA wiąże się głównie z przeprowadzeniem procesu generacji kluczy i powiązaniem ich z danymi użytkownika oraz umieszczeniem danych w repozytorium. Repozytorium jest już typowym oprogramowaniem. Aby to wszystko sprawnie funkcjonowało potrzebne są także aplikacje, które bez problemów będą się odwoływać do zasobów PKI. Szacuje się, że koszty zbudowania własnej infrastruktury dla potrzeb podpisu elektronicznego, są na tyle wysokie, że zaczyna się to opłacać przy co najmniej 10 000 użytkownikach. W warunkach rentowności polskich firm może być to znacznie większa liczba. Rozwiązaniem jest korzystanie z usług zewnętrznych operatorów, którzy utworzą ogólnodostępne centra PKI. W praktyce, ze względu na koszty, firmy wykupują klucze wyłącznie dla tych pracowników, którym jest to niezbędne.


Enlarge
Obecnie dokonanie przelewu bankowego nie wymaga udania się do oddziału banku. Można to zrealizować dostając się do konta poprzez internet lub poprzez specjalny numer telefoniczny i aplikację. Dostęp poprzez internet jest najczęściej realizowany przy pomocy przeglądarek www używających protokołu SSL ze 128 bitowym kluczem szyfrującym. Dodatkowo użytkownik musi podać swój identyfikator i hasło. Hasło może być generowane za pomocą specjalnego urządzenia zwanego tokenem. Każdy bank stosuje swój własny system tokenów. Najczęściej są to rozwiązania sprzętowe wyglądem przypominające kalkulator. Pozwalają one na wygenerowanie hasła ważnego przez stosunkowo krótki czas. Podnosi to bezpieczeństwo systemu, bo tym samym hasłem nie da się posłużyć dwa razy. Alternatywą, którą oferują banki dla celów realizowania przelewów, jest dostęp do konta poprzez specjalną aplikację i numer telefoniczny. Bezpieczeństwo tego typu transakcji jest związane z aplikacją, którą dostarcza bank.