prototypy metod i ingerencji w system czynna i bierna ingerencja Znane metody włamań prototypy metod i ingerencji w system czynna i bierna ingerencja
Ryzyko=słabe punkty+zagrożenie Słaby punkt – to możliwa furtka ataku Zagrożenie – jest działaniem lub zdarzeniem, które może naruszyć bezpieczeństwo otoczenia systemu informacji, elementy zagrożenia: Cele – aspekt bezpieczeństwa, który może zostać zaatakowany Sprawcy – ludzie lub firmy, od których wychodzi zagrożenie Zdarzenia – typy działań stwarzające zagrożenie
Intruzi Hacker (haker) – atakujący, który dokonuje naruszenia bezpieczeństwa dla samego faktu i potwierdzenia swoich umiejętności technicznych. Spy (szpieg) – atakujący w celu osiągnięcia informacji, którą można wykorzystać w sprawach politycznych. Terrorist (terrorysta) – atakujący, który próbuje wywołać zagrożenie w celu osiągnięcia korzyści politycznych.
Intruzi Corporate raider (szpieg przemysłowy) – atakujący, często pracownik, prowadzący nielegalną działalność w stosunku do konkurencji, celem osiągnięcia korzyści finansowych. Professional criminal (przestępca) – atakujący komputery w celu uzyskania osobistych korzyści finansowych.
Intruzi Vandal (wandal) – atakujący w celu dokonania zniszczenia. Voyeur (turysta) – atakujący dla samego doznania odczucia strachu związanego z faktem uzyskiwania istotnych informacji.
Klasyfikacja zagrożeń bezpieczeństwa Podział ze względu na miejsce skąd przeprowadzany jest atak: Zewnętrzne – atak przeprowadzany z systemu znajdującego się poza atakowaną siecią Wewnętrzne – atak przeprowadzany z systemu w atakowanej sieci
Klasyfikacja zagrożeń bezpieczeństwa (c.d.) Podział ze względu na zamiar ataku: Zamierzony – atakujący zdaje sobie sprawę z tego co robi Niezamierzony – atakujący przypadkowo dokonuje ataku
Klasyfikacja zagrożeń bezpieczeństwa (c.d.) Podział ze względu na efekt ataku: Aktywny – w wyniku ataku system komputerowy traci integralność Pasywny – atak polegający na wejściu do systemu bez dokonywania żadnych zmian
Motywacje hackera Wyzwanie Chciwość Złośliwy zamiar
Anatomia ataku
Ataki na bezpieczeństwo
Skanowanie Skanowanie adresów sieciowych - przeglądanie kolejnych adresów IP z założonego zakresu w celu wytypowania ofiary lub też poznania topologii atakowanej sieci Skanowanie portów sieciowych – przeglądanie kolejnych portów sieciowych systemu komputerowego w celu uzyskania informacji o otwartych portach i realizowanych usługach.
Skanowanie półotwarte
Reset scan
Spreparowane pakiety TCP/UDP Timedout Packet Fragmentation Invalid IP Header Length Invalid IP Field Values ICMP Address Mask Request Type 17 ICMP Timestamp Request Type 13
Wardialing
Identyfikacja systemu operacyjnego Techniki identyfikowania typu systemu operacyjnego bazują na analizowaniu stosu protokołów TCP/IP. Stos jest różnie implementowany przez różnych producentów systemów. Wyróżniamy dwie techniki: aktywne pasywne
Ataki destrukcyjne Sformatowanie partycji dysku twardego lub uruchomienie polecenia newfs/mkfs Usuwanie krytycznych plików (np. pliki z katalogu /dev lub pliku /etc/passwd) Wyłączenie zasilania komputera Przecięcie kabli sieciowych
DoS DoS – grupa ataków mająca na celu spowodowanie awarii lub przeciążenia hosta lub usługi w sieci.
Atak typu smurf
Distributed DoS
Atak przez przeciążenie procesami Użytkownik przyczynia się do zablokowania systemu, w którym działają również inni użytkownicy. Przykładowy kod: main() { while (1) fork(); } Sposoby działania: kill –TERM –1 exec /bin/su; password: ******
Ataki dyskowe Zapełnienie dysku Atak na strukturę katalogów while mkdir ./kolejny_katalog cd ./kolejny_katalog cp /bin/cc zapełnij done Problem z przestrzenią wymiany Problem z /tmp Problemy z I-node’ami
Atak przez przepełnienie bufora Przepełnienie bufora polega na przypisaniu pewnej zmiennej wartości, która zajmuje większy obszar pamięci niż zostało zaalokowane na tą zmienną. void problem_function(char *big_string) { char small_string[8]; strcpy(small_string, big_string); } void main() { char big_string[64]; int i; for(i=0;i<63;i++) big_string[i]=‘a’; problem_function(big_string);
Ataki nadpisujące zmienne systemowe W sytuacjach kiedy atakowany program stwarza możliwość nadpisania bufora, jego rozmiar jest tak mały, że nie zmieszczą się w nim bajty pozwalające na wywołanie shella. W takim przypadku można próbować wpisać ten kod do jednej ze zmiennych systemowych.
Ataki z wykorzystaniem zmiennych systemowych Linia poleceń: $ls –lga /usr/bin/example $PAKER=„./sh” $export PAKER $cat ./sh $example bash# Program example: void main() { char *pakuj; if((pakuj=getenv(„PAKER”))!=NULL { strcat(pakuj,” dane”); system(pakuj); } else { system(„/bin/gzip dane”); }
Ataki z wykorzystaniem dowiązań symbolicznych Program wizytówka: void main() { system(„/bin/cat $HOME/.wizytówka.cfg”); } Linia poleceń: $ln –s –f /etc/shadow ./.wizytówka.cfg $wizytówka root:L7Zfwf455:10165:-1:-1:-1:-1:-1:-1 ............... hacker:/ffW4Gger:10209:-1:-1:-1:-1:-1:-1
E-mail bombers Grupa programów, które również są wykorzystywane do ataków DoS. Algorytm jest prosty ale bardzo efektywny, polega na wysyłaniu jak największej liczby tych samych listów do tego samego odbiorcy.
Konie trojańskie i wirusy Konie trojańskie - pozwalają na na zdalną kontrolę komputera-celu. Programy tego typu są niebezpieczne ze względu na możliwość wykonywania operacji na komputerze znajdującym się w chronionej sieci (np. BackOrifice2000) Wirusy – samoreplikujące się programy, mogą doprowadzić do uszkodzeń sprzętu, systemu danych, otworzyć drzwi dla intruza itp.
Inżynieria społeczna Inżynieria społeczna jest wykorzystaniem poza technicznych środków do uzyskania nieautoryzowanego dostępu do informacji lub systemów. Wykorzystuje słabość czynnika ludzkiego.
Inne ataki Ataki przeprowadzane kanałem poleceń (command-channel atttacks) Ataki wykorzystujące dane (data-driven attack) Ataki na usługi trzecie (third-party attack) Sfałszowanie uwierzytelniania klientów (false authentification)