Tematyka wykładu 4
Transkrypt
Tematyka wykładu 4
Tematyka wykładu 4 ● ● ● Ataki warstwy aplikacji: - rodzaje tzw. exploitów - izolacja usług za pomocą komendy chroot - Intrusion Detection System Spam: - ułomności protokołu SMTP - metody antyspamowe Anonimowość i prywatność w internecie: - proxy, TOR, cookies (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Dialog SMTP Rozpoczęcie połączenia Przedstawienie się 220 smtp.xyz.pl SMTP Rozpoczęcie wprowadzenia treści DATA Przygotowanie na transmisję treści 354 go ahead Przedstawienie się HELO/EHLO smtp.abc.pl Podanie nadawcy MAIL FROM:<[email protected]> Przyjęcie polecenia 250 smtp.xyz.pl 250-PIPELINING 250-SIZE 10406346 250-AUTH LOGIN MD5 Wprowadzenie treści ... Przyjęcie polecenia 250 smtp.xyz.pl Zakończenie transmisji QUIT Podanie odbiorcy RCPT TO: <[email protected] Przyjęcie polecenia 250 smtp.xyz.pl Przyjęcie treści 250 ok Przyjęcie zakończenia tranmisji 221 smtp.xyz.pl (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Elementy systemu pocztowego ● MUA (Mail User Agent) Program używany przez odbiorcę końcowego do wysyłania, odbierania, filtrowania, czytania, pisania listów itp. (Mozilla Thunderbird, MS Outlook, pine, mutt ) ● MTA (Mail Transfer Agent) Część systemu pocztowego zajmująca się odbiorem poczty i/lub jej dalszym przekazaniem do innych serwerów (Postfix, qmail, MS Exchange) ● MDA (Mail Delivery Agent) Część systemu pocztowego zajmująca się dostarczaniem poczty do lokalnego użytkownika (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej SMTP – przekazywanie poczty między MUA, MTA i MDA MUA 1 przesłanie wiadomości przez SMTP od użytkownika do serwera MTA X przesłanie wiadomości do właściwego serwera SMTP odbiorcy przekazanie wiadomości „do obróbki” MUA 2 MDA X odbiór wiadomości przez adresata poprzez POP3/IMAP MTA Y przekazanie wiadomości „do obróbki” MDA Y odbiór wiadomości przez adresata poprzez POP3/IMAP MUA 3 (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Spam – przykład nagłówka SMTP Return-path: <[email protected]> Envelope-to: [email protected] Delivery-date: Sun, 02 Nov 2008 08:37:50 +0100 Received: from [91.186.245.138] (helo=noonenone) by posejdon.wpk.p.lodz.pl with esmtp (Exim 4.24) id 1KwXWt-0001Kn-MB; Sun, 02 Nov 2008 08:37:49 +0100 Received: from [91.186.245.138] by mx2.giga.net.tw; Sun, 2 Nov 2008 09:37:42 +0200 Date: Sun, 2 Nov 2008 09:37:42 +0200 From: "Lee Valentine" <[email protected]> X-Mailer: The Bat! (v3.5) Educational Reply-To: [email protected] X-Priority: 3 (Normal) Message-ID: <[email protected]> To: [email protected] Subject: Kimberly monthly civic Content-Type: multipart/alternative; boundary="----------CFF8B67125BD3E5" X-Spam-Score: 0.5 SFAŁSZOWANY NAGŁÓWEK!! <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML><HEAD><TITLE></TITLE></HEAD><BODY> Wells Gannon categories musically wireless the offering welcomes - box matched! <BR><BR><A href="http://generosityoh.com"><STRONG>More info about ..</STRONG></A><BR><BR>Television Kev so cubicle peaceful hands convinced cargo blast Lanois fine to dealership Presidential finished or present realistically favour reliable or jobs optimised property. Ocean's clutter the facts are UNHOLY remained suggestion entire? Colonial mismanagement a embrace to thereby philosophies advance escalating! Bat built are formally and beneficial shown - neighbours variety adolescence aforces. Modern begun require to re served at broke force chance and illustrations and California to find? </BODY></HTML> SZUM INFORMACYJNY (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Metody antyspamowe ● sprawdzanie przez DNSBL weryfikacja przez adres IP ● MTA greylisting wstępne odrzucanie sesji SMTP ● analiza danych kopertowych sesji SMTP sprawdzanie poprawności parametrów komendy HELO/EHLO, wpisów MX/A w DNS itp. ● Filtry bayes'owskie analiza statystyczna słów w liście ● system challange-response prośba o potwierdzenie nadania listu MDA & MUA (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej exploity Przepełnienie bufora (ang. buffer overflow) void function (int a, int b) { int array [5] } main () { function(1,2); printf('adres powrotu wskazuje to miejsce'); } ZABEZPIECZENIE: SPRAWDZANIE WIELKOŚCI PRZEKAZYWANYCH DANYCH DO BUFORA!! STOS (OBSZAR PAMIĘCI) prawidłowy shellcode 0x8b43h b b 0x8b45h a a 0x8b47h RET 0x8b4bh 0x8b49h EBP 0xaaaaa array[5] NOOP NOOP NOOP NOOP execve(/bin/sh) 0x8b4bh Dostęp do danych w pamięci wykorzystując funkcję printf main () { int a; a=pobierz_z_internetu(); int b; b=pobierz_z_internetu(); printf('wartosc a=%n, b=%n',a,b); } 0xab11h haslo .... ... 0x8b47h b 0x8b49h a 0x8b4bh RET 0x8b4dh EBP 0x8b4fh .... … ... (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej IDS – Intrusion Detection System Obszary analizy firewall'a (np. iptables). Oparty o statyczne reguły. nagłówek ramki (np. Ethernet) nagłówek pakietu nagłówek segmentu dane aplikacji (np. IP) (np. TCP) (np. HTTP) Obszary analizy IDSa (np. Snort). Oparty o dynamiczna baze sygnatur. Przykład składni reguł Snorta: alert tcp any any -> 192.168.1.0/24 80 (content: "/cgi-bin/phf"; msg: "PHF probe!";) akcja protokół IP_źródła port_źródła kierunek IP_celu port_celu (zawartość komunikat) (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej IDS cd. - preprocesory Frag2 defragmentuje i normalizuje dane przychodzące w postaci fragmentów, co utrudnia ukrywanie ataków prowadzonych za pomocą nieprawidłowo sfragmentowanych pakietów IP. Stream4 rozwija model detekcji oparty na testowaniu pojedynczych pakietów umożliwiając śledzenie sesji (stanu połączenia) TCP i składanie (reasemblacji) strumieni TCP HTTP Inspect jest ogólnym dekoderem protokołu HTTP na poziomie warstwy aplikacyjnej. Głównymi zadaniami http_inspect jest przetwarzanie adresów URI, konwertując na ASCII znaki zakodowane w postaci szesnastkowej. Portscan Detector wykrywa próby skanowania portów, polegające na przekroczeniu pewnej progowej liczby prób połączeń z różnymi portami w określonym przedziale czasu. Back Orifice detektor wyszukuje w pakietach UDP próby połączeń konia trojańskiego Back Orifice i próbuje złamać zabezpieczające je słabe kodowanie. Arpspoof wykrywa podejrzane pakiety ARP, mogące sygnalizować próby ARP spoofingu. Performance Monitor udostępnia wszelkiego rodzaju statystyki liczbowe, odnośnie ilości przeanalizowanych pakietów, zużycia procesora itp. (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Chroot'owanie – co to takiego? Chroot (change root) – Operacja która tworzy katalog główny ( / ) w kontekście uruchomionego procesu (i jego potomków). Taki proces nie może uzyskać dostępu do plików spoza stworzonej w ten sposób „klatki”. Możliwa do wykonania tylko na systemach uniksowych. (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Chroot'owanie – schemat działania i sposoby komunikacji / jądro system plików (p_server1:1234) bin etc home user1 dev temp sbin ccccc / usr var tmp (p_server2) LINK „TWARDY” DO GNIAZDA UNIXOWEGO /tmp/p_server2 TCP/UDP 127.0.0.1:1234 bin (p_klient1) etc dev home sbin usr var (p_klient2) tmp (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Chroot'owanie – przygotowanie środowiska ● stworzenie listy plików wymaganych do uruchomienia procesu w izolowanym środowisku chroot strace proces 2>&1 | grep 'open' > plik fragment stworzonej listy: open("/etc/passwd", O_RDONLY) = 4 open("/lib/tls/libm.so.6", O_RDONLY) = 3 open("/lib/tls/libpthread.so.0", O_RDONLY) = 3 ● ● stworzenie katalogu w którym będzie rezydowało środowisko izolowane, oraz umieszczenie w nim plików wymaganych przez proces (!) mknod /chrootowany_katalog/dev/null c 2 2 uruchomienie środowiska izolowanego chroot chroot /chrootowany_katalog/ chrootowany_proces lub chrootuid /chrootowany_katalog/ użytkownik chrootowany_proces (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Serwery pośredniczące (ang. proxy) Aplikacji Transportowa Sieciowa Pośrednictwo na poziomie rutera (modyfikacja i filtracja wg. nagłówków IP i TCP, NAT) Pośrednictwo na poziomie przełacznika Dostępu do sieci Pośrednictwo na poziomie proxy (modyfikacja i filtracja wg. pól User-Agent, Treści żądań HTTP, itp.) Aplikacji Transportowa Transportowa Sieciowa Sieciowa Dostępu do sieci Dostępu do sieci możliwości Anonimowość (klient) ● Filtracja i kontrola zapytań (serwer WWW) ● Cache'owanie treści WWW ● Aplikacji zagrożenia podgląd treści przesyłanych przez proxy (serwer) ● open relay - spam ● (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej TOR – The Onion Routing ● ● ● ● Anonimowość poprzez zestawienie szyfrowanych obwodów między losowymi hostami (OR) Tor jest używany jako alternatywa dla tradycyjnych połączeń VPN, które ujawniają ilość, chronologię komunikacji i adresy komunikujących się hostów Ukryte zasoby w postaci pseudonazw domenowych .onion Słabość – korelacja czasu wejścia i wyjścia z tunelu umożliwia identyfikację hosta. (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej Cookies Ciasteczka (ang. cookies) to niewielkie informacje tekstowe, wysyłane przez serwer WWW i zapisywane po stronie użytkownika. Pozwalają na wprowadzenie dodatkowych informacji o sesji do bezstanowego protokołu HTTP. standardowa procedura nawiązania sesji HTTP z wykorzystaniem ciasteczek nawiązanie sesji HTTP z ustawieniem ciasteczek 'szpiegujących' 1: HTTP REQUEST Przeglądarka WWW 2: HTTP RESPONSE Set-Cookie: User=jan_nowak EST REQU P T T H 1: Serwer example.org Przeglądarka WWW Cookie: User=jan_nowak 2: COOKIE FILE: 2: COOKIE FILE: Nazwa: User Wartość: jan_nowak Domena: example.org Wygasa: 30-12-2009 -------------Nazwa: Session Wartość: abc_123 .... NSE RESPO nowak P T T H 2: r=jan_ kie: Use Set-Coo Set 2: HTT -Co okie P RES : Us PON S er_ x=u E _12 34 3: HTTP REQUEST Nazwa: User Wartość: jan_nowak Domena: abc.org ... -------------Nazwa: User_x Wartość: u_1234 Domena: spy_x.org … Serwer abc.org Co 3: H ok TT ie: P Us RE er_ QU x= ES u_ T 3: 12 HT 34 TP RE QU ES T Serwer SPY_X.org Serwer xyz.org (c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej