Bezpieczeństwo systemów komputerowych. Temat seminarium: Klasy ataków, przegl d, zasady ą Autor: in ż. Tadeusz Glinkiewicz Klasy ataków. Przegląd - zasady. Seminarium 2004 5.04.2004 PP, SKiSR 1
Plan prezentacji Wprowadzenie Cele i konsekwencje ataków Rodzaje ataków Etapy ataków Formy i przykłady ataków Podsumowanie 2
Wprowadzenie Attack - a sudden occurrence of uncontrollable conditions [21] 3
Cele ataków blokowanie komputerów lub poszczególnych usług przejęcie poufnych dokumentów i danych przechwytywanie haseł użytkowników nieautoryzowane zmiany konfiguracji serwerów i urządzeń sieciowych zakładanie tylnych wejść niszczenie danych zdobycie rozgłosu lub zaimponowanie znajomym 4
Konsekwencje ataków ośmieszenie i utrata zaufania klientów utrata lub zniszczenie istotnych dla firmy danych kradzież poufnych dokumentów dotyczących np. firmy kradzież nowych technologii przerwa w działaniu istotnych systemów bankructwo firmy 5
Etapy ataków [2] wybranie celu zdobycie ogólnodostępnych informacji wybranie metody ataku wykonanie ataku 6
Podział ataków Ze względu źródło ataku: zewnętrzne wewnętrzne Ze względu na złożoność ataku: prymitywne złożone 7
Formy ataków (1) [2] atak fizyczny odgadywanie haseł (np. brute force) logowanie klawiszy (keylogging) podsłuchiwanie (sniffing) wykorzystanie błędów w oprogramowaniu użytkowym lub systemowym (exploitation) odmowa usługi (Denial Of Service) nieuprawniona modyfikacja kodu (code injection) 8
Formy ataków (2) [2] wykorzystanie właściwości protokołów (np. DNS spoofing) atak człowiek w środku (Man in the middle) konie trojańskie (trojan horses) otwieranie tylnych wejść (backdoors) robaki internetowe (worms) socjotechniki (social engeneering) 9
Atak fizyczny (1) Sposób postępowania: Uzyskanie bezpośredniego dostępu do: komputerów elementów aktywnych lub pasywnych sieci konsoli uprawnionego użytkownika 10
Atak fizyczny (2) Środki zapobiegawcze: Fizyczne zabezpieczenie dostępu do obiektów o znaczeniu strategicznym (kraty, drzwi, klucze etc.) Wynajęcie agencji ochrony mienia 11
Odgadywanie haseł (1) Sposób : Zgadywanie haseł przy użyciu: hasła takiego samego jak nazwa użytkownika metody słownikowej (proste hasła ze słownika) nazw bliskich właścicielowi konta (np. imię córki) metody brutalnej (wszystkie kombinacje znaków) 12
Odgadywanie haseł (2) Środki zapobiegawcze: Stosowanie haseł: o zdefiniowanej minimalnej długości nie zawierających pospolitych wyrazów nie związanych bezpośrednio z użytkownikiem ze znakami alfanumerycznymi (np. T8dC%r5$) 13
Logowanie klawiszy (1) Zasada i sposób postępowania: przechwytywanie wciskanych klawiszy (hasła, kody, numery kont, numery kart, numery PIN etc.) zainstalowanie programu logującego (np. BlazingTools Perfect Keylogger [3] ) ustawienie sposobu uaktywnienia ustawienie sposobu podglądu zapisanych danych 14
Logowanie klawiszy (2) Środki ostrożności: logowanie się do systemu przy pomocy nieuchwytnej kombinacji klawiszy (np. Windows NT: Ctrl+Alt+Del) sprawdzenie programów uruchamianych przy starcie systemu (msconfig lub regedit) nie korzystanie z niesprawdzonych konsoli 15
Podsłuchiwanie (1) Zasada i sposób postępowania: użycie trybu diagnostycznego (promiscous mode). umożliwiającego analizę ruchu pakietów w sieci lokalnej (hub lub switch) instalacja programu podsłuchującego (np. Ettercap [4], dsniff) /specjalne uprawnienia/ konfiguracja usług i portów (np. TCP, 21 etc) odczytanie interesujących informacji (hasła, listy etc.) 16
Podsłuchiwanie (2) Obrona i wykrywanie: Stosowanie szyfrowanych połączeń (SSL, SSH, HTTPS, SFTP etc.) Analiza natężenia ruchu pakietów (przy sieci z przełącznikami) Użycie specjalnych programów (np. Snifftest, Nitwit, Promisc, Cpm [5]) wykrywających karty działające w specjalnym trybie 17
Błędy w oprogramowaniu (1) Zasada : Wykorzystanie luki w systemie celem zdobycia uprawnień administracyjnych np.: użycie względnej ścieżki do wywołania innego programu / -rwsr-xr-x cuxs / (tylne wejście) ) przez program z ustawionym bitem SUID [6] wykorzystanie prawa zapisu do pliku użytkownika root / -rwx----w- trap / (koń trojański) ) [6] przepełnienie bufora lub stosu(buffer/stack overflow) (LSD [20] i W2K) 18
Błędy w oprogramowaniu (2) Środki zapobiegawcze: instalacja najnowszych wersji oprogramowania stosowanie nowych łat na bieżąco i śledzenie informacji o bezpieczeństwie ([7],[8],[14]) ostrożne programowanie (brak nowych luk) 19
Odmowa usługi (1) Zasada : Odmowa usługi (ang. Denial Of Service) polega na całkowitym lub częściowym uniemożliwieniu korzystania z systemu. Atak może zostać przeprowadzony na wiele sposobów: dostęp fizyczny i zniszczenie serwera wysłanie dużej liczby pakietów z wielu komputerów jednocześnie uniemożliwiając normalnym użytkownikiem korzystania z systemu wysłanie spreparowanego pakietu zawieszającego system (Ping of Death [5], Winnuke, teardrop etc. ) 20
Odmowa usługi (2) Środki zapobiegawcze: instalacja uaktualnień i łat prawidłowa konfiguracja firewalla (prezentacja 11) 21
Modyfikacja kodu (1) Zasada i przykład zastosowania: Umieszczenie szkodliwego kodu programu poprzez odpowiednie spreparowanie parametru przekazywanego do skryptu PHP lub strony HTML ([9]). Umieszczenie złośliwego kodu na stronie forum czytanego przez zalogowanych użytkowników [6] i wykorzystanie funkcji document.cookie z js (<img src= <?=$url?> >) 22
Modyfikacja kodu (2) Środki zapobiegawcze: pisanie bezpiecznych skryptów PHP (prezentacja 21) zastosowanie specjalnych znaczników dla własnego forum dyskusyjnego i późniejsze analizowanie ich wraz z zamianą na dozwolone znaczniki HTML właściwa konfiguracja PHP ([10] np. Magic_quotes_gpc=On) 23
Wykorzystanie luk protokołów (1) Zasada : Wykorzystanie luk w protokołach polegających na braku autoryzacji źródła odpowiedzi na wysłane żądanie np. DNS, FTP ([6], [17]) Podmiana adresów IP/MAC pakietu w sieci (ang. Address-spoofing) (np. przy wykorzystaniu programu ARPOISON [12] ) 24
Wykorzystanie luk protokołów (2) Środki zapobiegawcze: wykorzystanie bezpieczniejszych protokołów (np. SFTP) dodatkowe sprawdzenie źródła odpowiedzi zastosowanie certyfikatów potwierdzających tożsamość komputerów (np. Thawte, Verisign) Czytanie komunikatów przeglądarek 25
Man in the middle (1) Zasada : Niepożądana osoba podszywa się pod docelowy komputer pośrednicząc w wymianie danych między klientem, a prawdziwym docelowym komputerem. W ten sposób można podejrzeć nawet zaszyfrowaną komunikację, bowiem ta jest rozszyfrowywana u niepożądanej osoby i zaszyfrowywana ponownie. 26
Man in the middle (2) Środki zapobiegawcze: Zastosowanie certyfikatów potwierdzających tożsamość docelowych komputerów (np. Thawte, Verisign) Czytanie komunikatów przeglądarek 27
Konie trojańskie (1) Definicja i przykłady: Koń trojański to użyteczny program zainstalowany w systemie, który może wykorzystać prawa administratora, powodując zagrożenie bezpieczeństwa systemu [18] Przykłady: BackOrfice, NetBus, SubSeven [5] 28
Konie trojańskie (2) Środki zapobiegawcze: sprawdzenie otwartych portów (np. netstat) programy antywirusowe ściany ogniowe nie uruchamianie załączników ani innych programów niewiadomego pochodzenia 29
Tylne wejście (1) Definicja: Tylne wejście/boczne wejście/furtka/backdoor: pozostawiony lub podrzucony przez programistę ukryty kod umożliwiający dostanie się do systemu bez odpowiednich uprawnień [19] 30
Tylne wejście (2) Środki zapobiegawcze: sprawdzenie otwartych portów (np. netstat) programy antywirusowe ściany ogniowe usunięcie niepożądanych użytkowników z prawami użytkownika root (UID = 0) nie uruchamianie załączników ani innych programów niewiadomego pochodzenia 31
Robaki internetowe (1) Zasada : Robak internetowy to rodzaj samodzielnie rozmnażającego się wirusa komputerowego przenoszonego drogą poczty elektronicznej w postaci załączników (ILOVEYOU), ew. wykorzystujący dziurę w systemie komputerowym (MSBLASTER). 32
Robaki internetowe (2) Środki zapobiegawcze: sprawdzenie otwartych portów (np. netstat) instalowanie aktualnych łat i uaktualnień stosowanie ścian ogniowych nie uruchamianie załączników ani innych programów niewiadomego pochodzenia 33
Socjotechniki (1) Definicja: Socjotechnika nauka o sposobach i wynikach świadomego wpływania na rzeczywistość społeczną [21]. 34
Socjotechniki (2) Środki zapobiegawcze: szkolenia pracowników spostrzegawczość nie podawanie nikomu własnych haseł sprawdzanie podejrzanych osób i informacji od nich otrzymywanych 35
Podsumowanie: Nie można całkowicie wyeliminować prób ataków Nie istnieje całkowita ochrona systemu (czynnik ludzki) Będą powstawać coraz bardziej wyrafinowane techniki ataków i coraz skuteczniejsze formy obrony 36
Pytania i uwagi 37