N, Wykład 6: Bezpieczeństwo w sieci 1
Ochrona danych Ochrona danych w sieci musi zapewniać: Poufność nieupoważnione osoby nie mają dostępu do danych Uwierzytelnianie gwarancja pochodzenia Nienaruszalność brak modyfikacji i/lub dodania niepożądanych danych Kontrolę dostępu wiadomo, kto i kiedy miał dostęp do danych Dostępność osoby uprawnione muszą mieć ciągły i niezakłócony dostęp do danych 2
Poziom bezpieczeństwa Nawet minimalne nakłady na bezpieczeństwo powodują znaczące jego zwiększenie Nie ma możliwości osiągnięcia pełnego bezpieczeństwa sieci i danych maksymalny Poziom bezpieczeństwa średni minimalny Nakłady minimalne średnie duże 3
Warstwowy model bezpieczeństwa Warstwa Zasoby fizyczne Warstwa dostępu do sieci Warstwa Internetu Warstwa transportowa Przykłady zagrożeń/ataków Awaria zasilania, zalanie, pożar, przegrzanie, włamanie lub kradzież, uszkodzenia łączy, nieuprawniony dostęp fizyczny do sprzętu lub infrastruktury Sniffing, arp-spoofing, mac-flooding Spoofing, icmp-redirect, icmp-flood Skanowanie, DoS, DDoS, DNS-spoofing Warstwa aplikacji Człowiek Buffer overflow, string formatting, SQL injection, wirusy, konie trojańskie, robaki, błędy w skryptach, backdoor Social engineering, hasło pod klawiaturą, nieuwaga Procedura bezpieczeństwa organizacji powinna zapewniać: Zapobieganie zagrożeniom Wykrywanie i aktywne przeciwdziałanie Procedury postępowania po ataku 4
Podstawowe narzędzia bezpieczeństwa Firewall ( zapora ogniowa ) - filtrowanie pakietów (mogą działać w w. sieci, transportowej i na poziomie połączeń) Architektura sprzętowa oparta o switche NAT i sieci lokalne oparte o adresy nieroutowalne Kryptografia używana w połączeniach sieciowych (w tym VPN) oraz do szyfrowania wiadomości Aktywny i pasywny system wykrywania włamań IDS (Intrusion Detection System) Oprogramowanie antywirusowe (na komputerach lokalnych i na serwerach np. poczty) Regularny i automatyczny backup 5
Zasady bezpiecznej konfiguracji Stosujemy system operacyjny z kontrolą dostępu, eskalacją uprawnień, systemem plików z kontrolą dostępu (Administrator na Windowsach...) Do zdalnego logowania/zarządzania tylko połączenia szyfrowane (SSH,...) Minimalizacja ilości programów działających na komputerze (tylko to co absolutnie konieczne) Częste instalacje aktualizacji oprogramowania Serwer nigdy nie służy do pracy interaktywnej (biurowej, przeglądania Internetu...) Każda uruchomiona usługa precyzyjnie konfigurowana (unikamy konfiguracji domyślnej) Przynajmniej na serwerze: firewall, IDS, backup Logowanie aktywności (najlepiej z kopią na zewnątrz) 6
Projektowanie sieci Często sieć lokalna składa się z wielu logicznych podukładów (np. serwery, działy firmy, dział IT) Poszczególne części są w inny sposób narażone na niebezpieczeństwa, inne są też konsekwencje incydentów Wskazane jest podzielenie sieci na strefy, każda z własną polityką bezpieczeństwa. Można je oddzielić np. routerami (i/lub firewallem), oraz mieć przynajmniej jeden IDS na każdą strefę. Komputery będą dobrze chronione przed atakami spoza strefy, ale będą narażone na ataki z wewnątrz. Włamanie na jeden z komputerów strefy oznacza zwykle przejęcie całej strefy. 7
Rozpoznawanie sieci Pierwszym etapem ataku na sieć jest uzyskanie maksymalnej ilości informacji o niej: Analiza zasobów internetowych (strony oficjalne, fora dyskusyjne, materiały promocyjne) zdrowy rozsądek Inżynieria społeczna podszywanie się pod osoby upoważnione i uzyskiwanie danych o sieci zdrowy rozsądek i szkolenie użytkowników Analiza wpisów DNS i Whois minimalizacja zbędnych wpisów Mapowanie sieci (uzyskiwanie listy aktywnych numerów IP i topologii połączeń) poprzez np. ICMP (ping) i traceroute blokowanie ICMP, IDS Skanowanie portów próba ustalenia na których portach TCP/UDP nasłuchują procesy serwerów konfiguracja serwerów, IDS 8
Identyfkacja systemu operacyjnego W wyniku rozpoznania sieci zwykle wybrany zostaje cel ataku. Następuje szczegółowa analiza danego urządzenia, w tym identyfikacja systemu operacyjnego Winietki zwracane przez usługi na serwerze usunięcie zbędnych informacji Analiza implementacji protokołu TCP/IP czyli implementacji funkcjonalności które nie zostały dostatecznie szczegółowo zdefiniowane, lub są zaimplementowane błędnie (np. TTL) Podobnie jak wyżej ale dla ICMP Podsłuchiwanie ruchu do/z systemu (konieczny dostęp do urządzenia w tej samej sieci) 9
Włamanie do sieci lub systemu Uzyskanie kombinacji login-hasło Inżynieria społeczna hasła oparte na powszechnie dostępnych danych personalnych, hasło pod klawiaturą, itp. Metoda brute-force (sprawdzenie wszystkich możliwości) zwykle wymaga lokalnego konta Podsłuchiwanie ruchu sieciowego (hasła wysyłane w postaci otwartej) Wykorzystanie backdoors Świadomie umieszczone w serwerze metody uzyskiwania dostępu do systemu Specjalne programy zainstalowane w trakcie włamania Exploits - błędy w oprogramowaniu buffer overflow, string formatting - zmiana kodu programu przez dane wysyłane SQL injection - skłonienie serwera bazy danych do wyświetlenia informacji z bazy danych 10
Podszywanie się spoofing Podszywanie się pod inną osobę/system/proces w celu przejęcia informacji/sesji/komunikacji arp-spoofing komunikacja na dany numer IP jest wysyłana na inny adres ARP (sieć lokalna) TCP spoofing próba włączenia się lub nawiązania połączenia TCP, tak aby przejąć transmisję informacji man-in-the-middle attack próba przekierowania połączenia tak aby przebiegało przez podsłuchujący system (sygnatury) DNS spoofing podanie fałszywej odpowiedzi DNS i przejęcie połączenia do danego hosta 11
Destabilizacja pracy Możliwy jest też atak na sieć polegający nie na włamaniu do systemów, a na zakłóceniu jej pracy Pochłanianie pasma (wejściowego lub wyjściowego) np. ICMP Pochłanianie zasobów np. inicjowanie dużej ilości połączeń TCP Zmiana routingu (ICMP) i ataki na DNS (zatruwanie cache, zalew zapytań DNS) Unieruchamianie serwerów przez wykorzystanie błędów w implementacji usług sieciowych DoS i DDoS skoordynowana akcja jednego lub wielu komputerów zalewająca serwer/sieć ogromną ilością informacji/zapytań 12