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