Wprowadzenie
Nawet najlepsze oprogramowanie czy sprzęt nie uchronią naszych zasobów jeżeli nie będziemy zdawać sobie sprawy z tego co i przed czym chcemy chronić. Polityka bezpieczeństwa jest problemem kluczowym ale jednocześnie bardzo subiektywnym. Każda firma ma inne wymagania w odniesieniu do pojęcia bezpieczeństwa. Każda firma inaczej sobie wyobraża chronienie swoich zasobów, motywując to innymi przyczynami. Nie bez znaczenia jest także fakt, że każda firma używa innego sprzętu i oprogramowania. Z tych to właśnie powodów polityka bezpieczeństwa każdej firmy musi być inna i dlatego też nie ma uniwersalnego „urządzenia” zabezpieczającego naszą sieć komputerową.
Bezpieczeństwo jest bardzo drogie, bowiem straty mogą być bardzo duże. Jednakże w wielu przypadkach może okazać się, że zastosowanie podstawowych zasad bezpieczeństwa jest niemalże wystarczające dla spełnienia naszych założeń polityki bezpieczeństwa. Jeżeli jesteśmy małą firmą, która utrzymuje na swoim serwerze publikacyjnym ogólnodostępne, typowe informacje marketingowe, dbamy o regularne kopie bezpieczeństwa, a w dodatku odetniemy dostęp do sieci publicznej dla komputerów zawierających „dyskretne” informacje, to prawdopodobnie będziemy zainteresowani jedynie chronieniem właśnie tego jednego serwera, zdając sobie sprawę że ewentualne straty mogą kosztować nas re-instalację systemu operacyjnego i odczytanie taśm archiwizacyjnych. Sytuacja ma się jednak zupełnie inaczej gdy do sieci publicznej podłączone jest wiele komputerów, w tym zawierających krytyczne, poufne informacje.
Dlaczego nasza sieć potrzebuje zabezpieczeń?
Nasze biura są na ogół dobrze zabezpieczone przed włamaniami. Używamy patentowych, coraz bardziej wymyślnych zamków, sejfów które mogą wytrzymać bardzo wysokie temperatury, pancernych drzwi, elektronicznych alarmów i wielu innych mechanizmów. Jako nowoczesna firma, dostrzegająca wagę i korzyści płynące z prowadzenia działalności w sieciach publicznych, podłączamy się do Internetu. Zamykamy wszystko na „potężne klucze” i idziemy spokojnie spać. Czy aby jednak nie zostawiliśmy otwartego okna - naszego podłączenia do Internet?
Większość przestępstw komputerowych (zwłaszcza tych najbardziej spektakularnych) związanych z włamaniami do systemów komputerowych nie jest raportowana - trochę „ze wstydu”, trochę z bojaźni przed utratą wiarygodności i prestiżu. Statystyki są jednak alarmujące:
•Miesięczny przyrost przypadków naruszania własności prywatnej za pośrednictwem publicznie dostępnych sieci lub połączeń wzrósł o 260% w latach 1985 do 1993. Według CSI (Computer Security Institute) z 9832 ataków w 1993 roku, 7860 zakończyło się sukcesem, z tego tylko 19 zostało oficjalnie zgłoszonych.
•Na konferencji CSI w 1995 roku przedstawiciel Departamentu Sprawiedliwości USA oraz oskarżyciel notorycznego hackera (włamywacza komputerowego) Kevina Mitnicka oświadczyli, że aktualna liczba ataków nie jest znana. Estymacje pokazują, że na każdy zgłoszony przypadek około 500 jest utrzymywanych w tajemnicy. Zwrócono także uwagę na fakt, iż nie należy się cieszyć z nieszczęścia naszych konkurentów, bowiem jutro możemy być ofiarą - jak w klasycznym kryminale. Wiele ataków jest jedynie polem doświadczalnym przed zaatakowaniem właściwej ofiary. Jako przykład podano centrum superkomputerowe firmy Boeing w Seattle, które było jedynie polem doświadczalnym przed atakiem na federalny system sądowniczy.
•Według National Center for Computer Crime Data (Santa Cruz, USA) roczne straty wynikłe z przestępstw komputerowych w samych Stanach Zjednoczonych osiągają wartość 550 milionów dolarów. Biorąc pod uwagę także straty związane z następstwami tych przestępstw dochodzimy do pułapu 5 miliardów dolarów rocznie.
•Zgodnie z CERT NASK w okresie 03.96 - 09.96 7% komputerów w polskim Internecie było próbkowanych pod względem możliwości realizacji włamania. Na nasze szczęście tylko ok. 1% z tych komputerów uległ udanemu atakowi hakerów. Dane dotyczą oczywiście tylko zgłoszonych wydarzeń (incydentów). Najczęściej spotykanymi typami ataków były próby wykorzystania:
•słabości wynikających z mechanizmów stosowanych w systemach rozproszonych takich jak NIS;
•„słabe hasła”;
•słabości protokołu HTTP stosowanego w serwerach WWW;
•„dziury” w oprogramowaniu systemowym (najczęściej sendmail).
Co możemy stracić? - w gruncie rzeczy zależy kim lub czym jesteśmy Możemy przyjść rano do pracy i zobaczyć, że nas serwer Internetu znajduje się w stanie inicjacji początkowej z dość zaskakującym komunikatem „missing operating system” i nasze połączenie ze światem jest nieczynne. Jeżeli wysyłamy klika listów na miesiąc zapewne zbytnio się tym nie zmartwimy. Co jednak gdy cały nasz biznes oparty jest na poczcie elektronicznej i serwerze WWW? Oszczędzamy koszty poprzez wdrożenie mechanizmów elektronicznej komunikacji. Jakie straty poniesiemy gdy je utracimy nawet tylko na kilka godzin? Możemy także pozbyć się centralnej bazy haseł i nikt nie będzie mógł podłączyć się do serwera. Wszystko to jednak błahostki. Możemy bowiem stracić dane związane z „tajnym projektem” lub udostępnić włamywaczowi konta naszego banku do dowolnej dyspozycji.
Według CERT NASK intruzi włamujący się do systemów w Polsce przeprowadzali najczęściej następujące działania:
•Wprowadzanie zmian w zaatakowanym systemie (np. modyfikacja plików haseł, podmienianie oprogramowania systemowego jak np. telnetd).
•Instalacja modułów typu koń trojański lub tzw. sniffer (podsłuchiwanie pakietów TCP/IP).
•Ingerencja w prywatność objawiająca się najczęściej przeglądaniem cudzej poczty elektronicznej.
•Powodowanie szkód moralnych i załamań systemów komunikacyjnych (np. zmiana zawartości stron WWW, kolportaż pornografii).
Wiele firm w imię podniesienia efektywności pracy wyposaża swój system komputerowy w mechanizmy, które mogą być przyczyną prawdziwych kłopotów i co najgorsze - całkowicie nie zdaje sobie z tego sprawy. Oto przykłady:
•Udostępnienie naszym pracownikom łącza dostępowego do serwera poczty elektronicznej dedykowanego do pracy w podróży lub z domu może być potencjalną, szeroko otwartą bramą dla włamywacza, zwłaszcza w przypadku zignorowania zaawansowanych mechanizmów autoryzacyjnych.
•Uruchomienie ogólnie dostępnego serwera WWW publikującego informacje o naszych produktach i ofercie oraz serwera Ftp, przeznaczonego do rozpowszechniania np. poprawek do produkowanego przez nas oprogramowania, może być potencjalnym, elektronicznym tunelem do innych, poufnych danych.
Niepowołany dostęp z zewnątrz to oczywisty przykład zagrożenia. Musimy jednak pamiętać o tym, że równie niebezpieczne, a może nawet bardziej, mogą być ataki z wnętrza naszej sieci. Jest wiele przykładów klasycznego sabotażu, naruszania zasad bezpieczeństwa wewnętrznego czy pozyskiwania utajnionych danych. Pozostawienie terminala stojącego na naszym biurku z aktywnym „super-użytkownikiem” może być bardzo kosztowne. 80% wszystkich problemów związanych z polityką bezpieczeństwa dużej firmy związane jest ze strukturą WEWNĘTRZNĄ przedsiębiorstwa! Zbudowanie wielkiej, wewnętrznej sieci typu IntraNet może być tak samo - a nawet bardziej - niebezpieczne jak otwarcie się na świat poprzez Internet. Nie wszyscy pracownicy kochają swoich dyrektorów, nie wszyscy są lojalni, a prawie wszyscy chcą zarabiać jak najwięcej.
W tym miejscu należałoby w zasadzie zadać sobie pytanie co to jest przestępczość komputerowa? Przestępczością komputerową jest: „zjawisko kryminologiczne, obejmujące wszelkie zachowania przestępne związane z funkcjonowaniem systemu elektronicznego przetwarzania danych, godzące bezpośrednio w przetwarzaną informację, jej nośnik i obieg w komputerze oraz całym systemie połączeń komputerowych, a także w sam sprzęt komputerowy oraz prawa do programu komputerowego”. Najważniejsze jest zatem zdanie sobie sprawy, że włamanie do naszego serwera nie jest tylko naszą winą i pozostaje w zgodzie z zasadą - jeżeli do komputera można się dostać - niezależnie od stosowanych technik i sposobów - to wszystko co na tym komputerze się znajduje jest nasze. Nie! - jest to normalne przestępstwo, takie jak opróżnienie naszego mieszkania przez włamywaczy, którzy wykorzystali do tego celu otwarte okno balkonowe na IV piętrze naszego bloku. Tak samo jak zgłaszamy fakt włamania do naszego mieszkania na policję tak samo powinniśmy zgłaszać włamania do naszych systemów komputerowych. Wprawdzie w Polsce istnieją jeszcze formalne problemy związane ze ściganiem przestępczości komputerowej, ale możemy zawsze skorzystać z pomocy specjalizowanych agencji takich jak np. CERT NASK, które gwarantują nam pełną dyskrecję i prawo do tajemnicy. Zamki i szyfry to jedna sprawa - ściganie przestępców to kolejny problem.
Bezpieczeństwo systemów komputerowych z punktu widzenia polityki bezpieczeństwa należy zatem postrzegać bardzo szeroko. Musimy rozważyć wszystkie możliwe zagrożenia - zarówno te zewnętrzne jak i wewnętrzne. Musimy wziąć pod uwagę wiele czynników takich jak: topologia sieci, użytkowane systemy operacyjne i sposoby autoryzacji użytkowników.
Niektóre elementy bezpieczeństwa sieciowego
Aktualnie na rynku dostępnych jest wiele narzędzi przeznaczonych do ochrony systemów komputerowych. W pewnym sensie mamy do czynienia z bardzo „modnym” trendem rynkowym zabezpieczania systemów. Moda ta jest oczywiście bardziej nakazem chwili niż nie mającym podstaw wymysłem, ale zarówno najbardziej zaawansowane aplikacje programowe i produkty sprzętowe dedykowane do ochrony naszej sieci nie zastąpią kluczowego elementu - polityki bezpieczeństwa.
Przez ostatnie dwadzieścia lat można zaobserwować silną ewolucję narzędzi zabezpieczających - mniej więcej tyle samo czasu poświęcono na próby włamań do systemów komputerowych co i na konstrukcję narzędzi zabezpieczających. Narzędzia ochrony mogą oddziaływać na różne poziomy naszej sieci jak i mogą używać bardzo różnych technik ochrony.
Najbardziej oczywistym sposobem ochrony naszych zasobów jest po prostu ochrona fizyczna wrażliwych elementów naszego systemu komputerowego takich jak np. pomieszczenie, w którym pracuje serwer, czy stacja robocza administratora sieci. Nigdy nie zakładajmy, że nikt poza jednym guru nie zna się na skomplikowanych poleceniach. Może nas to bardzo drogo kosztować. Ponieważ sieć i dostęp do danych sterowany jest właśnie z takich miejsc, ich zabezpieczenie jest kluczowe dla polityki bezpieczeństwa. Nawet ogromne pieniądze wydane na zabezpieczenia nie przyniosą żadnych rezultatów jeżeli nieuprawniony personel będzie miał swobodny (lub w miarę swobodny) dostęp do urządzeń typu konsola operatora. Często zdarza się także, że ktoś zrobi coś po prostu zupełnie nieświadomie - tak tylko kliknie sobie myszką na ekranie programu zarządzającego dostępem do sieci.
Następny poziom zabezpieczeń to bezpieczeństwo systemu operacyjnego. Doczekaliśmy się w tym zakresie pewnych standardów wypracowanych przez Departament Ochrony USA (oraz inne organizacje). Powstały pojęcia poziomów bezpieczeństwa systemów operacyjnych oraz sposoby certyfikacji tych systemów (przetestowane i zatwierdzone). Często słyszymy, że systemy takie jak UNIX czy Microsoft Windows NT uzyskały certyfikat klasy C2. Oznacza to, że systemy te wyposażono w mechanizmy kontroli dostępu, gwarantowania zezwoleń na czytanie i zapis kartotek oraz plików przez określonych użytkowników oraz notowanie (auditing) dostępów i autoryzacji.
Poziomy bezpieczeństwa - Orange Book
W dokumencie „Trasted Computer Standards Evaluation Criteria”, znanym także jako „Orange Book”, Departament Obrony USA zdefiniował siedem poziomów bezpieczeństwa komputerowego systemu operacyjnego. Różne poziomy określają różne sposoby zabezpieczania sprzętu, oprogramowania i danych. Klasyfikacja ma charakter „zawierania”, co oznacza, że wyższe poziomy mają wszystkie cechy poziomów niższych.
D1 Najniższy poziom bezpieczeństwa określający także całkowity brak wiarygodności systemu. Poziom ten nie wymaga certyfikacji, bowiem oznacza on po prostu brak jakichkolwiek zabezpieczeń. Naszym zdaniem do tej klasy należą także systemy pozornie bezpieczne. Przykładem jest procedura autoryzacji dostępu w sieciowych komputerach Microsoft Windows. Użytkownik pytany jest o identyfikator i hasło, ale wystarczy podać dane „z sufitu” i też mamy dostęp do lokalnych zasobów komputera. Trochę lepiej wygląda w tym przypadku zabezpieczanie swoich zasobów przed dostępem z innych komputerów w sieci i z tego punktu widzenia Microsoft Windows nie należą do klasy D1.
C1 Jest to najniższy poziom bezpieczeństwa. System operacyjny kontroluje uprawnienia użytkowników do odczytu i zapisu plików i kartotek oraz dysponuje mechanizmem autoryzacji dostępu. System taki nie ma na ogół zdefiniowanego tzw. super-użytkownika (np. w UNIX root) lub użytkownik taki nie jest bardziej „bezpieczny” niż pozostali. C1 jest także pozbawiony mechanizmów rejestrowania zdarzeń (auditing, logging).
C2 Poziom ten gwarantuje automatyczne rejestrowanie wszystkich istotnych - z punktu widzenia bezpieczeństwa - zdarzeń i zapewnia silniejszą ochronę kluczowych danych systemowych takich jak np. baza danych haseł użytkowych.
B1 Klasa ta obsługuje bezpieczeństwo na kilku poziomach takich jak „tajne” i „ściśle tajne”. Ma wdrożone mechanizmy uznaniowej kontroli dostępu do zasobów systemu, co może np. sprowadzić się do braku możliwości zmiany charakterystyki dostępu do plików i kartotek przez określonego użytkownika.
B2 Poziom wymaga przypisania każdemu obiektowi systemu komputerowego etykiety bezpieczeństwa określającej status tego obiektu w odniesieniu do przyjętej polityki bezpieczeństwa (np. gdy obiekt „użytkownik” żąda dostępu do obiektu „plik” system ochrony akceptuje lub odrzuca to żądanie na podstawie porównania zawartości etykiet bezpieczeństwa tych obiektów). Etykiety te mogą zmieniać się dynamicznie w zależności od tego co jest aktualnie użytkowane.
B3 Jest to rozszerzenie problemu bezpieczeństwa na sprzęt komputerowy. W tym przypadku bezwzględnie obowiązkowym jest chronienie zarówno przechowywanej jak i przesyłanej informacji. Przykładowo: terminale mogą być połączone z serwerem tylko za pośrednictwem wiarygodnego okablowania i specjalizowanego sprzętu gwarantującego, że nikt nie będzie w stanie „podsłuchać” naszej klawiatury.
A1 Jest to najwyższy poziom bezpieczeństwa. Cała konfiguracja sprzętowo-programowa wymaga matematycznej weryfikacji. Zarówno sprzęt jak i oprogramowanie musi podlegać specjalnej ochronie w trakcie transportu zapewniającej jego nienaruszalność (aby nikt niczego nie podmienił).
W tym miejscu należy zwrócić uwagę na problem wzrostu obciążenia systemu operacyjnego związanego z uaktywnieniem opcji bezpieczeństwa. W szczególności może okazać się, że mało wydajne serwery nie będą w stanie obsłużyć wszystkich użytkowników po uruchomieniu wszystkich programów zabezpieczających, ze względu na duże zużycie zasobów CPU i powierzchni dyskowej.
Hasła
System haseł jest najpopularniejszym sposobem identyfikacji i potwierdzania użytkownika w systemie komputerowym. Jest on szeroko stosowany zarówno w klasycznych systemach wielodostępnych jak i sieciowych systemach odległego dostępu. Ogólnie metoda ta pozwala stwierdzić, że użytkownik wydaje się być tym za kogo się podaje. O ile w przypadku systemów wielodostępnych, bazujących na klasycznych terminalach znakowych (łącza szeregowe), systemy haseł są stosunkowo bezpieczne o tyle w środowisku sieciowym są one bardzo proste do złamania.
•Istnieje możliwość łatwego nasłuchiwania połączenia sieciowego w celu pozyskania kombinacji identyfikator-hasło. Sztandarowym przykładem jest telnet. Odpowiednie programy typu LanWatch, IPtrace czy snoop są prostym narzędziem pozwalającym odczytać hasło. Klasyczne połączenie telnet nie jest bowiem kodowane i hasło wprowadzane jest do sieci „żywym” tekstem.
•Najprostszym sposobem pozyskania haseł jest zainstalowanie na swoim własnym koncie konia trojańskiego udającego pracę programu login (np. w UNIX). Program ten może być napisany w klasycznym shell-u i - jak to czyni system operacyjny - prosić o identyfikator i hasło. Dane te są zapamiętywane na dowolnym pliku, a następnie program wyświetla informację o niepoprawnej kombinacji identyfikator-hasło i wywołuje normalny program login. Użytkownik niczego nie podejrzewając rozpoczyna logowanie na terminalu a po komunikacie o błędzie uznaje, że się pomylił. Jego hasło jest już na pliku „złośliwego kolegi”.
•Typowym sposobem łamania haseł jest tzw. „Dictionary Attack” (atak poprzez słownik). Polega on na próbkowaniu programu autoryzującego całym słownikiem danych. Jeżeli weźmiemy pod uwagę, że w przypadku klasycznego systemu UNIX maksymalna długość hasła wynosi 8 znaków, a funkcja haszująca używa tylko siedmiu bitów znaczących otrzymujemy klucz o długości 56 bitów. Ponieważ większość użytkowników stosuje „normalne” hasła, pole poszukiwań może być zawężone tylko do np. małych liter - odpowiada to sytuacji używania klucza o długości 19 bitów. Tego typu hasła są dość łatwe do złamania za pomocą słowników. Przykładem ataku poprzez słownik jest program COPS (Computer Oracle Password and Security, ftp://cert.sei.cmu.edu/pub/cops/), który używa tej metody do diagnozowania skuteczności zabezpieczeń poprzez hasła.
•Użytkownicy grup roboczych bardzo często pożyczają hasła koledze, a ci skrzętnie je zapisują
np. na karteczkach przyklejonych do terminala. W takim przypadku nie istnieje potrzeba stosowania żadnych specjalnych technik hakerskich - wystarczy umieć czytać.
Istnieją oczywiście techniki pozwalające pracować z hasłami w sposób bardziej bezpieczny. Do najpopularniejszych z nich należą:
•W przypadku sporadycznych połączeń z odległymi komputerami stosowana jest technika ważności hasła tylko dla jednego połączenia Zakłada się, że przy nawiązywaniu łączności hasło zostanie podsłuchane i dlatego przed opuszczeniem odległego systemu użytkownik zobowiązany jest do zmiany swojego hasła.
•Wiele systemów operacyjnych ma możliwość narzucenia użytkownikom odpowiedniej polityki haseł. Co pewien okres czasu hasła ulegają przedawnieniu i użytkownik zmuszany jest do wprowadzenia nowego hasła. System wymaga stosowania odpowiednio ważonej kombinacji liter i znaków specjalnych. Administrator ma także możliwość przedawniania ważności kont (haseł).
•Bardzo bezpiecznym mechanizmem haseł są karty magnetyczne weryfikujące dostęp. Wygenerowane hasła charakteryzuje bardzo trudna do złamania kombinacja i odpowiednia długość (użytkownik nie musi pamiętać hasła - musi mieć kartę). Rozwiązania te są powszechnie stosowane np. w bankach i jak się można domyślać nie należą do najtańszych.
•Systemy jednokrotnych haseł. W systemach o hierarchicznej, protegowanej strukturze dostępu użytkownik może być zmuszony do ustalenia dużej ilości haseł w zależności od typu danych i aplikacji. Doprowadza to do ironicznej sytuacji, w której duża ilość haseł staje się niebezpieczna w użyciu. Wyobraźmy sobie użytkownika, który musi korzystać z 50 haseł - musi on je gdzieś zapisać, a w takim przypadku jedno hasło gwarantujące dostęp do różnych elementów i aplikacji systemu jest na pewno bezpieczniejsze.
•Systemy haseł jednokrotnego użycia należą do jednych z najbardziej technologicznie zaawansowanych rozwiązań. Szeroko stosowanym przekładem tej metody są karty mikroprocesorowe SecurID opracowane przez Security Dynamics. Każdy użytkownik posiada swoją kartę (małe urządzenie elektroniczne), która generuje hasło - weryfikowane przez dedykowany serwer - na podstawie tzw. PIN-u (stałego identyfikatora). Hasło ważne jest przez okres tylko 60-ciu sekund.
Szyfrowanie i prywatność
Normalny tekst zamieniany jest na przysłowiowy „bełkot”, którego odczytanie wymaga znajomości „tajnego” klucza - oczywiście czym dłuższego i bardziej skomplikowanego tym trudniejszego do złamania. Szyfrowanie zapewnia poufność i prywatność zarówno w odniesieniu do plików utrzymywanych na serwerze czy też danych przesyłanych poprzez sieć. Stosując szyfrowanie z dużym prawdopodobieństwem możemy założyć, że dane zostaną odczytane tylko przez uprawnione osoby.
Aktualnie mamy do czynienia z dwoma podstawowymi grupami systemów (algorytmów) szyfrujących. Pierwsza z nich i jednocześnie najbardziej popularna to algorytmy poufnego klucza, często określana także jako algorytmy symetryczne lub algorytmy klucza prywatnego. W tej metodzie ten sam klucz używany jest zarówno do szyfrowania danych jak i do ich rozkodowania. Ponieważ używany jest ten sam klucz do obu czynności musi on być utrzymywany w „wielkim” sekrecie. Zaletą tej metody jest stosunkowo niski nakład obliczeń ponoszonych na szyfrowanie i rozkodowanie nawet dużych plików. Oczywistą wadą jest konieczność dostarczenia klucza wszystkim zainteresowanym, co może doprowadzić do jego przechwycenia w przypadku przesyłania poprzez sieć publiczną.
Najbardziej znanymi algorytmami klucza poufnego są:
•RC4 - Rivers Cipher 4 opracowany przez Ronalda Rivesta. Używa on 40-bitowego klucza.
•DES - Data Encryption Standard wdrożony w 1978 roku przez IBM dla Narodowego Biura Standardów USA (National Institute of Standards and Technology - NIST). Używa 56-bitowego klucza i bitów parzystości. W 1994 roku został on ponownie zalecony do użytku federalnego na następne pięć lat.
•IDEA - International Data Encryption Algoritm. Jest on podobny do DES, ale używa bardziej skomplikowanych operacji i bazuje na kluczu 128-bitowym.
•Skipjack. Algorytm zaproponowany przez NIST do użytku w szyfrujących układach elektronicznych Clipper i Capstone. Wokół tych układów narodziło się wiele kontrowersji (dotyczy rynku USA), bowiem wyposażono je w odpowiedni mechanizm umożliwiający odpowiednim służbom rozkodowanie (podsłuchiwanie) informacji, oczywiście (czy raczej jak to mówią Amerykanie - niby) po uzyskaniu zezwolenia sądowego.
Ze wszystkimi algorytmami szyfrującymi, które wdrożono w Stanach Zjednoczonych wiążą się restrykcje eksportowe Rządu USA. Generalnie - bez zezwolenia - można eksportować oprogramowanie używające klucza o maksymalnej długości 40-bitów. Często zatem mamy do czynienia z różnymi odmianami algorytmów jak np. DES-40 stosowany w oprogramowaniu Z Mail Pro (http://www.clico.krakow.pl/software/netmanag). Restrykcje te nie dotyczą algorytmów wdrożonych poza USA. Przykładowo, istnieje specjalne wdrożenie DES (ftp://kampi.hut.fi/alo/), które jest opracowane w Europie i to w postaci public-domain. Firma Checkpoint stosuje w swoim oprogramowaniu Firewall-1 (http://www.clico.krakow.pl/software/sunsoft) metodę szyfrowania FWZ1, która może używać klucze o długości nawet 1024-bity i nie podlega restrykcjom Rządu USA
Witam,
oto numery seryjne i hasła do Twojego programu
-- Encrypted Text BEGIN, Key Name=clico-partner
-- (To decrypt, select Message->Decrypt in Chameleon Mail)
DQEBAFMAAAB47HyZviQ5rtMJ4oHUhjL7BIo+VNcdPEuqZizHpKJOWn/uNWaz
WykxWiAnEonkrDIEbBdmQZbVs0g1vdP3reXXzgF80OroCENfkM2O+3qIVLql
2c4Y+s0XDwP/fbtg2jkL0iF4AA==
-- Encrypted Text END
pozdrawiam,
Tekst zaszyfrowany programem Z Mail Pro (NetManage)
Druga grupa algorytmów szyfrujących oparta jest o tzw. metodę klucza publicznego, znaną także jako algorytmy klucza publiczno-prywatnego lub klucza asymetrycznego.
W przeciwieństwie do metody klucza poufnego komunikujące się ze sobą strony używają dwu różnych kluczy - jednego do zaszyfrowania przesyłki, drugiego do jej rozkodowania. Nazwa „klucz publiczny” wzięła się stąd, że algorytmy te bazują na generowaniu klucza przez każdą ze stron i ich wymianie za pośrednictwem sieci publicznej bez utraty prywatności, bowiem klucz publiczny staje się użyteczny jedynie w przypadku posiadania sekretnego, znanego tylko lokalnie, klucza prywatnego. Algorytmy tego typu gwarantują nam prywatność, ale nie gwarantują autentyczności co może doprowadzić do różnego typu ataków znanych jako „Man in the Middle” (człowiek w środku). Z tych to właśnie powodów algorytmy klucza publicznego są bardzo często stosowane wspólnie z tzw. podpisami cyfrowymi, pozwalającymi upewnić się co do wiarygodności źródła pochodzenia.
Najbardziej znanymi algorytmami klucza publicznego są:
•RSA - opracowany przez Ronalda Rivesta, Adi Shamira i Leonarda Adlemana na uniwersytecie MIT. Siła algorytmu bazuje na złożoności problemu rozkładu dużych liczb naturalnych na czynniki pierwsze. W tym przypadku mamy do czynienia z dość zabawną sytuacją. RSA jest opatentowany w USA (prawa należą do firmy RSA Data Security) i wszyscy korzystający z tego systemu muszą wnosić opłaty licencyjne. Nie dotyczy to jednak rynku europejskiego, bowiem algorytm został opublikowany przed jego opatentowaniem w USA. RSA jest niewątpliwie najbardziej popularnym algorytmem klucza publicznego, a jednocześnie uznawany za najbardziej odporny na brutalne ataki hakerów.
•El Gamal bazujący na skomplikowanych obliczeniach logarytmów dyskretnych.
Często z pojęciem szyfrowania wiązane są metody, czy raczej aplikacje takie jak PGP (Pretty Good Privacy). PGP jest fascynującym mechanizmem umożliwiającym użytkownikom kodowanie informacji utrzymywanej na zasobach serwera oraz szyfrowanie przesyłanych listów. Mechanizm ten realizuje jednak dużo więcej, bowiem zawiera narzędzia tworzenia, certyfikowania i zarządzania kluczami. Z tego punktu widzenia jest to metoda typu „wszystko-w-jednym”: poufność (szyfrowanie), stwierdzenie autentyczności i integralność danych (patrz dalej). Ze względu na stosowanie metody IDEA do szyfrowania (128-bitowy klucz) PGP podlega restrykcją eksportowym USA.
Podobnie można potraktować techniki typu SSL (Secure Sockets Layer) firmy Netscape. Metoda ta może być stosowana w odniesieniu do dowolnej aplikacji sieciowej (HTTP, telnet, NNTP, Ftp), ale doczekała się wdrożenia jedynie dla komunikacji przeglądarki z serwerem Web. Podobnie jak PGP gwarantuje ona stwierdzenie autentyczności, poufność i integralność Korzystanie z SSL wymaga uzyskania specjalnego klucza od firmy Versign, co na ogół wiąże się z opłatami licencyjnymi. Pewną alternatywą dla SSL jest propozycja firm Microsoft i NetManage: PCT (Private Communication Technology), jednak SSL jest dużo bardziej popularniejsze. Podobnie jak w innych przypadkach mamy dwie wersje SSL: 128-bitową dla rynku amerykańskiego i 40-bitowę dla innych rynków.
Autentyczność i integralność, autoryzacja
Stwierdzanie autentyczności (ang. authentication) polega na upewnieniu się, że obiekt jest właśnie tym za kogo (za co) się podaje. W dużych sieciach - nie mówiąc już o Internecie - proces ten ma niebagatelne znaczenie. Przykładem mogą tu być fałszywe listy. Otrzymujemy przesyłkę, której nadawcą może być zupełnie inna osoba niż wskazuje na to adres „From:”
Stwierdzenie integralności danych polega na upewnieniu się, że w trakcie transmisji zawartość przesyłki nie została naruszona - czyli, że nikt nie przechwycił np. naszego listu, nie zmienił jego zawartości i nie odesłał go do nas. Proces badania integralności zwykle łączony jest ze stwierdzaniem autentyczności Przykładowo - odpowiednio wdrożona metoda podpisów cyfrowych pozwala stwierdzić zarówno autentyczność jak i integralność danych.
Podpisy cyfrowe - będące blokiem danych umieszczonych na końcu przesyłki - tworzone są na ogół na bazie techniki szyfrowania w systemie klucza publicznego, a wiarygodność klucza publicznego utwierdzana jest w procesie certyfikacji. Wydawaniem certyfikatów mogą zajmować się niezależne organizacje takie jak Versign, dedykowane serwery (Certificate Authority) lub grupy takich serwerów połączone w strukturę hierarchiczną (Security Key Infrastructure). Podpis cyfrowy może powstać w wyniku zaszyfrowania zawartości przesyłki kluczem prywatnym nadawcy, dzięki czemu odbiorca rozszyfrowując podpis cyfrowy kluczem publicznym nadawcy i porównując go z zawartością przesyłki może określić autentyczność i integralność otrzymanych informacji.
Najczęściej w procesie utrzymywania integralności danych wykorzystywane są tzw. funkcje haszujące (skrótu), ponieważ stosowanie metody podpisu cyfrowego w odniesieniu do całego listu może być zarówno kosztowne jak i mało praktyczne. Działanie tych funkcji polega na przetwarzaniu arbitralnie długiego potoku danych do relatywnie krótkiego łańcucha.
W pewnym sensie funkcje haszujące można porównać do procesu tworzenia sum kontrolnych. Funkcje charakteryzuje brak możliwości uzyskania tej samej wartości dla dwóch różnych argumentów. Najbardziej popularnymi i wiarygodnymi funkcjami haszującymi są: MD2 (Message Digest 2), MD5 (Message Digest 5) i NIST Secure Hash Algorithm.
Autoryzacja (ang. authorization) polega na sprawdzaniu czy obiekt (użytkownik, aplikacja), który żąda dostępu do określonego zasobu systemu jest do tego upoważniony. Realizowane jest to przez system operacyjny lub dedykowane oprogramowanie.
Jednym z dobrze znanych systemów autoryzacji jest Kerberos. Używa on specjalnej metody kontroli uprawnień (użytkownik otrzymuje bilety na poszczególne usługi systemu od specjalnego serwera) i korzysta z algorytmu szyfrującego DES w trakcie transmitowania poprzez sieć wrażliwych informacji takich jak hasła. Podejrzenie sesji telnet obsługiwanej przez Kerberos nie umożliwia zatem przechwycenia hasła wprost. Dodatkowo, Kerberos definiuje przedział czasowy aktywności połączenia, po upłynięciu którego użytkownik musi ponownie poddać się procesowi autoryzacji, co stanowi zabezpieczenie przed intruzami próbującymi zareplikować przechwyconą sesję.
Bezpieczne IP
Jedną z metod próby globalnego zabezpieczenia transmisji w sieciach bazujących na protokole TCP/IP jest tzw. IP Security lub IP Sec, która de facto jest zbiorem protokołów opracowanych przez IETF (Internet Enginnering Task Force) a udokumentowanym w RFC 1825-1829. Standard ten gwarantuje autentyczność, prywatność i integralność danych działając na poziomie jądra IP. Niewątpliwą zaletą takiego rozwiązania jest zatem jego skuteczność w odniesieniu do każdej aplikacji sieciowej, niezależnie od tego, czy jest to poczta elektroniczna czy telnet. IP Sec zdefiniowano dla IPv4 (aktualnie stosowanego systemu adresowania IP), ale włączono go jako standardową własność do IPv6.
Wdrożenie IP Sec polega na używaniu dwu opcjonalnych nagłówków IP:
•AH - Authentication Header, dedykowany do stwierdzania autentyczności i integralności danych,
•ESP - Encapsulating Security Payload zapewniający prywatność (szyfrowanie).
Nagłówki mogą być używane rozłącznie albo wspólnie w zależności od potrzeb.
Specyfikacja IPS Sec umożliwia komunikującym się stronom na uzgodnienie odnośnych parametrów (mechanizm identyfikacji, algorytm szyfrowania, klucz, czas ważności połączenia, etc.), na bazie odpowiedniego pola w nagłówkach IP, tzw. SPI (Security Parameter Index). Dzięki temu istnieje możliwość ominięcia wszelkich restrykcji eksportowych USA, bowiem zamiast standardowego szyfrowania DES można uzgodnić np. 40-bitowy RC4. Jedynym nie ustalonym parametrem IP Sec jest sposób dystrybucji kluczy. Aktualna propozycja wskazuje na tzw. ISA Key Management Protocol (ISAKMP, Oalkey), ale na obecnym etapie używane są „ręczne” sposoby wymieniania kluczy. Jak dotąd jedynym komercyjnym pakietem posiadającym wdrożenie IP Sec i IPv6 jest OnNet32 for Windows z FTP Software (http://www.clico.krakow.pl/software/ftp).
„Ściany ognia”
Systemy „ścian ognia” (ang. firewall) to swego rodzaju zapory, mające stanowić przeszkodę przed wtargnięciem z sieci rozległych nieuprawnionych osób do zasobów naszej sieci lokalnej. Historycznie systemy firewall powstały w celu bronienia się przed atakami z Internetu, ale coraz częściej stosowane są do obrony przed atakami z wewnątrz sieci. Dobrym przykładem jest bronienie działu księgowości przed nieautoryzowanymi pracownikami. Ze względu na swoją kluczową rolę „ściany ognia” instalowane są na ogół na pomostach pomiędzy sieciami LAN i WAN, bądź w systemach współpracujących z routerami stanowiącymi te pomosty. Firewall może być programem, sprzętem wyposażonym w „zaszyte” w układach elektronicznych oprogramowanie jak również rozwiązaniem sprzętowo-programowym. Mimo ciągłych działań skierowanych przeciwko systemom firewall należą one do najbardziej skutecznych rozwiązań problemu bezpieczeństwa sieci. Należy jednak zaznaczyć, że „ściany ognia” wymagają bardzo solidnej i przemyślanej konfiguracji, która jest w zgodzie z założoną polityką bezpieczeństwa. Niektóre systemy, jak np. Solstice Firewall-1 firmy SunSoft (wersja OEM Checkpoint - http://www.clico.krakow.pl/software/sunsoft) stosują bardzo prosty, ale skuteczny warunek początkowy: wszystko co nie jest jednoznacznie dozwolone jest zabronione! Oznacza to, że po zainstalowaniu Firewall-1 otrzymujemy ścianę ognie nie do sforsowania zarówno w odniesieniu do ruchu wewnętrznego jak i zewnętrznego.
Systemy firewall chronią naszą sieć na kilku poziomach, a także umożliwiają wdrożenie zupełnie nowych własności:
•Użytkownicy wewnętrzni mogą mieć dostęp do wszystkich (lub wybranych) usług Internet, natomiast użytkownicy zewnętrzni nie będą mieli dostępu do jakiegokolwiek zasobu naszej sieci lokalnej.
•Usługi takie jak e-mail, ftp, WWW mogą być dozwolone dla ruchu zewnętrznego tylko w odniesieniu do specyficznego komputera. Daje to nam otwartość na świat jednocześnie chroniąc i ukrywając inne zasoby sieciowe.
•Zaawansowane systemy identyfikacji i kontroli tożsamości są skuteczną metodą zabezpieczenia określonych zasobów przed nieupoważnionym dostępem zarówno w odniesieniu do użytkownika jak i aplikacji. Często istnieje możliwość połączenia procesu identyfikacji z systemami kart elektronicznych (np. SecurID).
•Wszystkie wydarzenia są bardzo detalicznie monitorowane i rejestrowane, a niektóre z nich generują natychmiastowe alarmy.
•Pakiety mogą podlegać badaniu jeszcze przed ich pojawieniem się w systemie operacyjnym. Są niejako zdejmowane wprost z karty sieciowej. Jeżeli nie spełniają zasad polityki bezpieczeństwa są natychmiast odrzucane.
•Zawierają mechanizmy ukrywania adresów IP komputerów chronionej sieci lokalnej, tłumaczenia adresów IP (np. niepoprawnych adresów Internet na poprawne) lub translacji grupy wewnętrznych adresów IP do jednego lub kilku adresów zewnętrznych. Daje to m.in. wielkie możliwości podłączenia dużych sieci lokalnych do Internet z wykorzystaniem tylko jednego, przydzielonego nam adresu IP.
•Wiele systemów ma możliwość konstrukcji wirtualnych sieci prywatnych - VPN (Virtual Private Network), opartych na metodach szyfrowania transmisji danych. Oznacza to, że możemy utworzyć swoją sieć prywatną na bazie publicznych mediów takich jak Internet. Pozwala to np. łatwo połączyć różne, odległe oddziały firmy w jedną bezpieczną sieć. Niekiedy istnieje możliwość kodowania tylko niektórych typów usług (jak np. telnet) pozostawiając inne w normalnej postaci, co pozwala utrzymać efektywność całego systemu.
Każdy system firewall wprowadza oczywiście pewne obciążenie i obniża efektywność pracy. W dobrych rozwiązaniach są to jednak minimalne straty na poziomie 3%. Według dominującym na rynku jest Firewall-1 firmy Checkpoint (lub w wersji OEM SunSoft), który posiada 46% rynku. Na następnych miejscach plasują się: Border/Secure (7%), TIS (6%), Eagle/Raptor (3%) i ponad 400 innych firm. Wobec tak dużej przepaści pomiędzy pierwszą a drugą pozycją na rynku trudno się dziwić, że Firewall-1 jest często określany mianem standardu przemysłowego.
Narzędzia hackerów
Wypracowanie metody ochrony przed skutkami jakiejś broni dość często realizowane jest poprzez dokładną analizę zbrodniczego narzędzia. Dlatego też administratorzy sieci z reguły rozpoczynają badania skuteczności postawionych zapór poprzez stosowanie tych samych narzędzi, które używane są przez hackerów - a jest ich całkiem sporo. Istnieją firmy, które specjalizują się w opracowywaniu i sprzedaży tego typu programów, ale - jak to na Internet przystało - cała masa narzędzi jest dostępna za darmo. Chyba najbardziej popularnym i jednocześnie najsławniejszym z nich jest SATAN (Security Analysis Tool for Auditing Networks, np. ftp://ftp.win.tue.nl/pub/security/). Zgodnie z pracami National Computer Security Institute, USA znacząca większość firm używa SATAN-a do analizy bezpieczeństwa własnej sieci.
Innym „narzędziem” analizy stopnia zabezpieczenia sieci - które może okazać się bardzo przydatne - jest ... hacker „z referencjami”. Znane są instytucje, które zatrudnią takich ludzi płacąc im ogromne pieniądze za bronienie sieci przed atakami kolegów. Dobry hacker najlepiej wie co jest aktualnie „na topie”, jak to wykorzystać i jak się przed tym bronić. No cóż - jedyny problem to odróżnienie hackera z etykietą od złośliwca czy wręcz przestępcy.
Polityka Bezpieczeństwa w Systemach Komputerowych
2