BEZPIECZEŃSTWO I OCHRONA SYSTEMÓW KOMPUTEROWYCH T. Błoch Praca dotyczy bezpieczeństwa systemów komputerowych i ich ochrony. Gwałtowny rozwój systemów komputerowych i połączeń sieciowych wymaga wielu zabezpieczeń, aby móc bezpiecznie funkcjonować w czasach wirusów, hackerów i wielu innych zagrożeń. Celem mojej pracy jest przedstawienie i omówienie usług zabezpieczających oraz zagrożeń bezpieczeństwa sieci. I. ZAGROŻENIA BEZPIECZEŃSTWA: 1. Klasyfikacja zagrożeń bezpieczeństwa 2. Klasyfikacja przestępców komputerowych 3. Badware 4. Wirusy komputerowe - klasyfikacja Wśród zagrożeń wyróżnić możemy dwie grupy. Po pierwsze, zagrożenia wynikające z celowego działania nieuprawnionego użytkownika. Po drugie, takie, które nie są skutkiem celowego działania. Jednak każde z tych zagrożeń może spowodować naruszenie jednego lub kilku aspektów bezpieczeństwa danych. 1. Klasyfikacja zagrożeń bezpieczeństwa 2. Klasyfikacja przestępców komputerowych 3. Badware to ogólna nazwa oprogramowania mogącego wyrządzić szkody ich użytkownikom. Dzieli się na: BADWARE FAŁSZYWKI WIRUSY TROJANY ROBAKI KRÓLIKI MAKRA 4. Najpopularniejsze jednak są wirusy komputerowe. Czyli programy posiadające zdolność do replikacji bez wiedzy użytkownika (samoreplikacja). Dzięki samoczynnemu powielaniu się takiego programu może on szybko rozprzestrzenić się w zainfekowanym systemie jak i poza nim (np. przez sieć komputerową czy za pośrednictwem nośników danych). KLASYFIKACJA WIRUSÓW KOMPUTEROWYCH WIRUSY NIEREZYDENTNE PLIKOWE REZYDENTNE DYSKOWE PLIKOWE HYBRYDOWE II. PODSTAWOWE USŁUGI ZABEZPIECZAJĄCE: 1. Identyfikacja 2. Uwierzytelnianie 3. Autoryzacja 4. Kontrola dostępu 5. Ochrona antywirusowa 6. Ochrona w Internecie 1. IDENTYFIKACJA Identyfikacja polega na stwierdzeniu tożsamości podmiotu, co oznacza, iż każdy użytkownik jest identyfikowany za pomocą identyfikatora. Identyfikator to nazwa lub numer przydzielony użytkownikowi, podający tylko niepotwierdzoną tożsamość. 2. UWIERZYTELNIANIE Proces uwierzytelniania podmiotów polega na weryfikacji tożsamości użytkownika, czyli sprawdzeniu czy jest tym, za kogo się podaje, a więc ma bezpośredni wpływ na bezpieczeństwo systemów. Weryfikacja polega na wymianie tajnej informacji pomiędzy użytkownikiem a aplikacją. 3. AUTORYZACJA Autoryzacja to proces przydzielania praw użytkownikowi w oparciu o identyfikator. Prawa dostępu określają czy użytkownikowi wolno czytać dany plik, czy tez może wprowadzać do niego zmiany lub w nim zapisywać. 4. KONTROLA DOSTĘPU Kontrola dostępu to nadzorowanie przestrzegania praw dostępu do zasobów sieci. Proces ten służy do nadawania lub odbierania prawa dostępu danego użytkownika do zasobu i do ochrony zasobu poprzez ograniczenia dostępu tylko dla użytkowników uwierzytelnionych i autoryzowanych. 5. OCHRONA ANTYWIRUSOWA Najskuteczniejszą metodą ochrony przed wirusami jest niedopuszczenie, aby dostały się one do systemu. Jednak nie jest to metoda, którą dałoby się stosować ze stuprocentowym pozytywnym skutkiem. Głównym elementem zapewniającym ochronę przed wirusami jest uruchamianie w systemie komputerowym wyłącznie programów pochodzących z bezpiecznych źródeł. Metody wykrywania wirusów: Sprawdzanie integralności – procedura polegająca na porównaniu aktualnych cech testowanego pliku z zapamiętanymi w bazie danych, Poszukiwanie sygnatur – procedura polegająca na porównaniu zawartości testowanego pliku ze zbiorem sygnatur różnych wirusów, Analiza heurystyczna – procedura polegająca na badaniu zachowania się programów i poszukiwaniu prób infekowania systemu, 6. OCHRONA W INTERNECIE Coraz więcej sieci prywatnych łączy się z Internetem, a wraz z tymi połączeniami powstają nowe zagrożenia ze strony hackerów internetowych. Można się przed tym ochronić, jeśli sieć prywatna odgrodzi się tzw. ścianą ogniową, czyli serwerem pełniącym funkcje bramy. Ściana ogniowa (firewall) zapewnia kontrolowane połączenie pomiędzy siecią prywatną i Internetem. Przechwytuje każdą przekazywaną między nimi wiadomość. W zależności od konfiguracji określa, czy pakiet danych lub żądane połączenie powinno być przepuszczone, czy też zatrzymane. Ściana ogniowa przepuszczenie przepuszczenie Chroniony Komputer/sieć Inny Komputer/sieć firewall odrzucenie odrzucenie III. REJESTRACJA I UWIERZYTELNIANIE 1. Uwierzytelnianie dwustronne 2. Uwierzytelnianie z udziałem trzeciej strony 3. Uwierzytelnianie za pomocą klucza publicznego 1. UWIERZYTELNIANIE DWUSTRONNE. W procedurze tej wyróżnić możemy dwa sposoby uwierzytelniania: Uwierzytelnianie dwukierunkowe – polega na wzajemnym uwierzytelnianiu się dwóch stron wobec siebie. Uwierzytelnianie jednokierunkowe – polega na uwierzytelnianiu użytkownika wobec aplikacji bądź aplikacji wobec użytkownika. W przypadku uwierzytelniania użytkownika wobec aplikacji następuje wysłanie przez użytkownika identyfikatora ID oraz hasła. Następnie aplikacja sprawdza je i użytkownik zostaje uwierzytelniony, 2. Uwierzytelnianie z udziałem trzeciej strony W wielu rozwiązaniach, aby dokonać uwierzytelniania, żąda się obecności zaufanej trzeciej strony. Ta trzecia strona potwierdza tożsamość klienta oraz serwera i często jest nazywana serwerem bezpieczeństwa. Jego zadaniem jest przechowywanie haseł, które wykorzystuje w procesie weryfikacji użytkowników i serwerów. 3. UWIERZYTELNIANIE ZA POMOCĄ KLUCZA PUBLICZNEGO. Metoda klucza publicznego nie żąda od użytkownika współdzielenia lub pamiętania tajnego klucza w żadnym z systemów. W wielu algorytmach kryptograficznych klucz używany do szyfrowania danych jest również kluczem służącym do ich deszyfrowania. Można jednak opracować algorytm, w którym jeden klucz używany jest do szyfrowania a drugi do deszyfrowania. Podejście to nazywa się szyfrowaniem z kluczem asymetrycznym i stanowi podstawę algorytmów z kluczem publicznym. Natomiast metoda, gdzie stosuje się jeden klucz do szyfrowania i deszyfrowania danych nazywa się szyfrowaniem z kluczem symetrycznym. IV. HASŁA W celu weryfikacji użytkowników i aplikacji już od wielu lat najczęściej używane są hasła, pomimo swych słabych stron. Hasła mogą być narażone na niebezpieczeństwo w dwóch przypadkach: W przypadku kradzieży hasła z bazy danych, w której jest przechowywane, W przypadku odgadnięcia hasła przez hackera, który znając je może zaatakować system, Bezpieczeństwo hasła: Ochrona hasła Nadzorowanie hasła: • Wprowadzanie hasła • Starzenie się hasła • Systemy z dwoma hasłami • Minimalna długość hasła • Blokowanie konta użytkownika Bezpieczeństwo hasła: Sprawdzanie hasła: • Bierne sprawdzanie hasła • Aktywne sprawdzanie hasła Przechowywanie hasła V. ZABEZPIECZENIA KRYPTOGRAFICZNE 1. Kryptografia asymetryczna 2. Kryptografia symetryczna 3. Podpis cyfrowy 1. Kryptografia asymetryczna Głównym zadaniem kryptografii asymetrycznej jest zapewnienie poufności. Niestety nie zapewnia ona autentyczności pochodzenia danych ani integralności danych. Kryptografia asymetryczna zwykle używana jest w praktyce do transportu kluczy stosowanych w kryptografii symetrycznej, a także w innych zastosowaniach włączając w to integralność danych i uwierzytelnianie, a także do szyfrowania małych jednostek danych, takich jak PIN czy numer karty kredytowej. Asymetryczne algorytmy deszyfrowania mogą także dostarczyć gwarancji autentyczności w protokołach uwierzytelniania jednostek i w protokołach ustanawiania klucza. 2. Kryptografia symetryczna Algorytmy z kluczem tajnym używają tego samego klucza do szyfrowania i deszyfrowania (albo ten drugi da się łatwo wyprowadzić z pierwszego). Kryptografia z kluczem jawnym Klucz 1 DANE Szyfrowanie Klucz 2 SZYFR Deszyfrowanie DANE Kryptografia z kluczem tajnym Klucz DANE SZYFR Szyfrowanie DANE Deszyfrowanie 3. Podpis cyfrowy Podpis cyfrowy jest blokiem danych, który został wygenerowany za pomocą określonego tajnego klucza. Algorytm użyty do generowania podpisu musi być taki, że bez znajomości klucza prywatnego nie jest możliwe stworzenie podpisu, który byłby zweryfikowany jako ważny. Klasy podpisów cyfrowych: Podpisy cyfrowe z dodatkiem – wymagają oryginalnej wiadomości jako wejścia dla algorytmu weryfikującego podpis, natomiast nie wymagają znajomości tajnego klucza użytkownika podpisującego wiadomość, Podpisy cyfrowe z odtwarzaniem wiadomości – nie wymagają oryginalnej wiadomości jako wejścia dla algorytmu weryfikującego podpis. VI. ZABEZPIECZENIA W SYSTEMIE WINDOWS 2000 1. Active directory 2. Protokoły zabezpieczeń i zabezpieczenia rozproszone 1. Active directory Usługi katalogowe Active Directory w systemie Windows 2000 służą do przechowywania założeń bezpieczeństwa domeny (Domain Security Policy) i informacji o kontach. Umożliwiają replikację i dostęp do danych o kontach dla wielu kontrolerów domeny (Domain Controllers — DCs) i ułatwiają zdalne administrowanie. 2. Protokoły zabezpieczeń i zabezpieczenia rozproszone Bezpieczeństwo systemu Windows obejmuje uwierzytelnianie w oparciu o standardowe internetowe protokoły zabezpieczeń. Kerberos 5 zastąpił NTLM w roli pierwotnego protokołu zabezpieczeń dostępu do zasobów w obrębie domeny lub pomiędzy domenami Windows 2000. Protokół uwierzytelniania Kerberos jest standardowym protokołem, którego zalety wykorzystano do uwierzytelniania w sieci Windows. Serwer aplikacji (docelowy) (3) Aktualny bilet sesji podczas ustanawiania połączenia (4) Weryfikacja biletu sesji wydanego przez centrum dystrybucji kluczy (KDC) (1) Początkowe uwierzytelnianie Klienta do centrum dystrybucji Kluczy (KDC) (2) Żądanie biletu sesji z centrum dystrybucji klucza (KDC) do serwera docelowego Centrum Dystrybucji kluczy Serwer katalogowy Systemu Windows Kontroler domeny systemu Windows Protokół uwierzytelniania Kerberos Infrastruktura zabezpieczeń internetowych firmy Microsoft jest oparta na standardach zabezpieczeń z kluczem publicznym, obejmujących algorytm szyfrowania RSA (Rivest Shamir Adleman) i standardy kryptografii z kluczem publicznym. Na poniższym rysunku przedstawiono elementy infrastruktury klucza publicznego Microsoftu. Programy użytkowe Interfejsy kart elektronicznych Usługa znakowania Sieciowe interfejsy API Plików Authenticode Standardy Komunikatów (PKCS) Usługi zarządzania certyfikatami Usługi Kryptograficzne Kanał bezpieczny WejścieWyjście pliku EFS Czytnik Sterownik urządzenia Sprzętowy usługodawca kryptograficzny Usługodawca kryptograficzny korzystający z algorytmu RSA Oprócz haseł w systemie Windows 2000 istnieje możliwość wykorzystywania kart elektronicznych do logowania interaktywnego. Karty elektroniczne, które, mimo że wyglądają jak zwykłe karty bankomatowe, zawierają tysiąc razy więcej informacji oraz służą do szyfrowania i bezpiecznego przechowywania kluczy prywatnych i certyfikatów, umożliwiając tym niezawodne uwierzytelnianie zabezpieczeń rozproszonych. Do konfigurowania i analizy ustawień zabezpieczeń w systemie Windows 2000 służą: Szablony zabezpieczeń Przystawki-konfigurowanie i analiza zabezpieczeń Program narzędziowy secedit, uruchamiany z wiersza poleceń Na poniższym rysunku przedstawiono architekturę umożliwiającą obsługę wielu protokołów zabezpieczeń zaimplementowaną w Windows 2000, która korzysta z interfejsu, SSPI. (Architektura wielokrotnego uwierzytelniania firmy microsoft) Plik zdalny Aplikacje DCOM CIFS/SMB Internet Explorer, Internet Information Serwer Bezpieczne RPC NTLM Kerberos MSV1_0/ SAM KDC/ Directory HTTP Aplikacje Active Directory Korzystające z Interfejsów ADSI LDAP SChannel SSL/TLS Poczta, chat, Grupy dyskusyjne POP3, NNTP DPA Usługi członkowskie Bezpieczeństwo systemów komputerowych opiera się przede wszystkim na wprowadzeniu odpowiedniej polityki bezpieczeństwa. Musi ona objąć m.in. ochronę danych związanych z bezpieczeństwem (takich jak: hasła, klucze szyfrowania itp.). Niestety jest to uciążliwe szczególnie w dużych przedsiębiorstwach i bardzo często pojawiają się błędy i luki w strategii działania. Ważnym aspektem jest także ciągłe wprowadzanie zmian, ulepszanie zabezpieczeń, gdyż niezmienna polityka bezpieczeństwa sprzyja hackerom, którzy w przypadku jakiegokolwiek niedociągnięcia bardzo łatwo mogą włamać się do systemu i skraść nasze tajne informacje. Mam nadzieje, że moja praca przybliżyła państwu tak ważne zagadnienie, jakim jest bezpieczeństwo systemów komputerowych i pomogła zrozumieć działanie podstawowych usług zabezpieczających.