Technologia informacyjna Bezpieczeństwo systemów informatycznych Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018
Pojęcie bezpieczeństwa systemu informatycznego Brak jednolitej definicji! System może być uznany za bezpieczny, jeśli jego użytkownik może na nim polegać a oprogramowanie działa zgodnie ze swoją specyfikacją Simson Garfinkel, "Practical Unix and Internet Security", II ed., O'Reilly, 2003
System inf. powinien być Dyspozycyjny (dostępny na bieżąco) AVAILABLE Niezawodny (odporny na awarie) RELIABLE Bezpieczny (zapewniający ochronę danych) SECURE Przyjazny (bezpieczny dla otoczenia) SAFE
Znaczenie bezpieczeństwa informatycznego dla społeczeństwa Ogromna rola systemów informatycznych dla funkcjonowania współczesnej cywilizacji Trudności zbudowania systemu spełniającego wszystkie wymagania bezpieczeństwa Niedoskonałości technik programowania Złożone polityki bezpieczeństwa Czynnik ludzki Konflikt interesów pomiędzy użytecznością systemu a ryzykiem związanym z jego wykorzystaniem
Natura problemów bezpieczeństwa Awarie sprzętu Błędy w oprogramowaniu Przypadkowe lub celowe działania użytkownika Działania nieświadome wynikające z braku wiedzy, naiwności itp. Działania świadome podyktowane chęcią uzyskania korzyści, poklasku lub odwetu
Zagrożenia bezpieczeństwa Włamanie do systemu komputerowego Nieuprawnione pozyskanie informacji Destrukcja danych i programów Sabotaż (paraliżowanie pracy systemu) Piractwo komputerowe i kradzież oprogramowania Oszustwo komputerowe i fałszerstwo Szpiegostwo komputerowe
Komponenty systemu informatycznego w aspekcie bezpieczeństwa Stanowisko komputerowe Infrastruktura sieciowa System operacyjny Aplikacje użytkowe
Problemy konstrukcji zabezpieczeń Absolutne bezpieczeństwo nie istnieje! Wszystkich zagrożeń nie da się przewidzieć z góry Nowe technologie = nowe zagrożenia Okres pomiędzy wykryciem zagrożenia a jego eliminacją nie jest zerowy Wyścig projektantów a hakerów Błędy w oprogramowaniu zawsze były i będą Skoro tak, to jaki poziom bezpieczeństwa jest zadowalający?
Główny cel zabezpieczenia systemu informatycznego System bezpieczeństwa powinien utrudnić atakującemu przeprowadzenie ataku w takim stopniu, aby zniechęcić go do podejmowania prób włamania się ze względów: Czasowych Kosztowych Innych kryteriów istotnych z punktu widzenia atakującego
Dobre praktyki Napastnik często nie atakuje mechanizmu zabezpieczeń tylko go omija poprzez znalezienie luk w systemie Aktualizować oprogramowanie Nie pozwalać na działanie napastnika od środka Należy stosować wielopoziomowe zabezpieczenia Uproszczenie struktury systemu = podniesienie jego bezpieczeństwa Należy korzystać ze wzorców rozwiązań oraz konstrukcji modułowych Zasada ograniczonego zaufania co do bezpieczeństwa systemu, stałe monitorowanie
Strategia bezpieczeństwa Strategia powinna zawierać elementy zarówno informatyczne jak i nie związane bezpośrednio z komputerami Elementy strategii Co chronić? (zasoby) Przed czym chronić? (identyfikacja zagrożeń) Jak chronić? Budżet Czas Praca Analiza ryzyka
Chronione zasoby Przede wszystkim Komputery Sieć Raporty (wydruki) Ważne i poufne dane nie zapominając o Kopie zapasowe (!) Wersje instalacyjne oprogramowania Dane kontrahentów i pracowników Zdolności produkcyjne firmy Wizerunek i reputację firmy
Identyfikacja zagrożeń Włamanie się do systemu Zainfekowanie systemu przez wirusy Destruktywne działania pracowników Błędy w oprogramowaniu systemowym oraz użytkowym Kradzież dysków i laptopów (zwłaszcza w podróży) Utrata łączności internetowej Likwidacja lub zniknięcie firmy serwisującej sprzęt lub produkującej oprogramowanie Nieobecność Administratora i/lub innych osób kluczowych z punktu widzenia działania systemu (np. choroba, wypadek) Zdarzenia określane mianem siły wyższej
Klasy ataków Ataki pasywne Atakujący ma dostęp do systemu, odczytuje wiadomości ale ich nie zmienia Ataki aktywne Atakujący jest pośrednikiem w przetwarzaniu danych w systemie i może nie tylko odczytać dane ale również je odpowiednio spreparować (ang. man in the middle )
Formy ataków Podsłuch Przechwycenie danych przechowywanych lub transmitowanych w systemie (np. hasło i login) w celu ponownego wykorzystania Podszywanie się Atakujący udaje podmiot dobrze znany atakowanemu (bank, stronę internetową, serwer, etc.) Wykorzystanie luk w systemie Posługiwanie się wiedzą o słabych miejscach w systemie i/lub gotowym narzędziem do wykorzystania tej wiedzy we własnym interesie Manipulacja Modyfikacja danych w celu przestawienia systemu w tryb z którego atakujący może wyciągnąć korzyści
Ewolucja ataków w czasie Wykorzystanie znanych lub słabych haseł Wirusy Przechwytywanie haseł Konie trojańskie Ataki DNS, przechwytywanie IP Ataki DOS (ang. denial of service) Spamowanie Dialery, robaki, spyware, adware Phishing Ataki na komunikatory Ataki na urządzenia mobilne Etc. 1990 1995 2000 2005
Rodzaje oprogramowania malware Źródło: http://pl.wikipedia.org/wiki/z%c5%82o%c5%9bliwe_oprogramowanie#mediaviewer/file: Malware_graph.svg
Podstawowe etapy ataku Skanowanie systemu w celu wykrycia słabo zabezpieczonego miejsca (protokół, usługa, etc.) Określenie celu ataku Przeprowadzenie ataku Modyfikacja systemu w celu umożliwienia powrotu w przyszłości Zacieranie śladów
Podstawowe środki ostrożności Ochrona stacji roboczej Ochrona usług Ochrona sieci lokalnej
Ochrona stacji roboczej Wyłączenie opcji uruchomienia komputera z nośników wymiennych (USB, CD/DVD, etc.) Ograniczenie wykorzystania nośników wymiennych przez użytkowników Ograniczenie przestrzeni oraz uprawnień użytkownika na dysku twardym Rejestracja prób logowania i wykorzystania systemu Bezpieczne kasowanie danych Uniemożliwienie wyłączenia usług bezpieczeństwa (antywirusy, zapora sieciowa, etc.) Stosowanie polityki haseł użytkownika Ograniczenie fizycznego dostępu do komputera
Ochrona sieci Wybór właściwej topologii sieci Ochrona okablowania (uniemożliwienie podpięcia się do sieci) Fizyczna ochrona serwerowni (przede wszystkim) oraz pomieszczeń ze stacjami roboczymi Zdefiniowanie listy komputerów które mogą się logować do sieci (np. na podstawie adresu MAC) Blokowanie kont użytkowników przebywających na urlopach Usuwanie nieużywanych kont użytkowników
Ochrona usług Wyłączenie lub dezaktywacja usług zbędnych (najlepiej poprzez całkowite odinstalowanie) Kontrola dostępu oraz funkcjonowania pozostałych usług (np. zapora sieciowa, programy typu antyspyware, etc.)
Złożoność problemu stosowania zabezpieczeń Asymetria Zabezpieczenie systemu wymaga usunięcia wszystkich jego słabych miejsc Do przeprowadzenia ataku wystarczy znaleźć jedno takie miejsce Kontekst działania systemu Należy zabezpieczyć nie tylko system informatyczny ale również całe jego otoczenie Zarządzanie i pielęgnacja zabezpieczeń Poziom bezpieczeństwa należy ciągle weryfikować i podnosić
Elementarne pojęcia Identyfikacja Możliwość rozróżnienia użytkowników (np. po ID) Uwierzytelnianie Weryfikacja tożsamości użytkownika Czy zna hasło Czy ma przedmiot (np. kartę identyfikacyjną) Autoryzacja Przydzielanie uprawnień do zasobów Kontrola dostępu Sprawdzenie czy prawa dostępu do zasobów są przestrzegane
Elementarne pojęcia (c.d.) Poufność Ochrona informacji przez jej ujawnieniem Integralność Ochrona informacji przed nieautoryzowaną modyfikacją Autentyczność Pewność co do pochodzenia informacji
Koncepcje nadania uprawnień Wszystko jest dozwolone Wszystko co nie jest zabronione, jest dozwolone Wszystko co nie jest dozwolone, jest zabronione Wszystko jest zabronione Stosuje się w większości systemów informatycznych
Metody uwierzytelniania Uwierzytelnianie jednokierunkowe Login, hasło Uwierzytelnianie z wykorzystaniem trzeciej (zaufanej) strony Login, hasło Poświadczenie
Mechanizmy uwierzytelniania użytkownika Hasła dostępu Geometria twarzy Termogram dłoni Odcisk palca Tęczówka oka Obraz siatkówki oka Podpis odręczny Głos Etc.
Hasła dostępu Są najczęściej używaną formą uwierzytelniania Mają liczne wady: Można złamać Można odgadnąć metodą brute-force lub atakiem słownikowym Można podsłuchać w czasie transmisji Można pozyskać inną metodą Np. przeczytać na kartce obok monitora ;) Z czasem są coraz słabsze, wymagają regularnej zmiany Domyślne konta użytkowników są problemem wielu systemów (predefiniowane konta i hasła)
Zalecenia dot. haseł Długość hasła powinna być > 6 znaków Nie wolno stosować imion, nazwisk, dat itp. Nie uzależniać nowego hasła od poprzedniego Nie zapisywać haseł w ogólnodostępnych miejscach Zmienić hasło w przypadku podejrzenie że ktoś mógł go zobaczyć / podsłuchać Stosować systemy haseł jednorazowych
Polityka bezpieczeństwa Powinna być elementem polityki biznesowej firmy Jest to formalny dokument opisujący strategię bezpieczeństwa Realizacja polityki bezpieczeństwa Zaprojektowanie Wdrożenie Zarządzanie (Monitorowanie, Okresowe audyty) Zakres polityki bezpieczeństwa Definicja celu Standardy i wytyczne Kluczowe zadania do wykonania Zakresy odpowiedzialności poszczególnych osób
Literatura Bezpieczeństwo systemów komputerowych (wykłady 1-3) http://wazniak.mimuw.edu.pl/index.php?title=bezpiecze%c5%84stwo_sys tem%c3%b3w_komputerowych