ataki i ids id 71413 Nieznany (2)

background image

1

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Zagrożenia

bezpieczeństwa i

systemy detekcji

włamań

DNS, routing, programy i

systemy operacyjne

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Zagadnienia

Wykorzystywanie luk systemów operacyjnych i ich programów
składowych

Exploit-y: programy testujące oprogramowanie systemowe pod kątem

wykorzystania jego potencjalnych słabości

Badanie programów pod kątem ich odporności na przepełnienie bufora
(buffer overflow exploits)
Wykorzystanie luk związanych z uruchamianiem programów o
uprawnieniach administratora

Ataki wymierzone w infrastrukturę sieci

DNS spoofing - fałszywe IP

Kierowanie ruchu do podstawionych bram (routing redirection)

Monitorowanie pracy i wykradanie danych z komputerów

Systemy detekcji wtargnięć (IDS - intrusion detection systems)

background image

2

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

DNS

Opanowanie serwera DNS = możliwość wprowadzanie w błąd
użytkowników sieci co do tożsamości komunikujących się ze
sobą komputerów

Ataki przeciwko DNS

Rozproszona baza danych z informacjami wiążącymi adresy IP z
nazwami komputerów

Serwer DNS - komputer z odpowiednim oprogramowaniem: zwykle
działający w systemie UNIX i posiadający usługę systemową BIND
(Berkeley Internet Name Domain)
Usłudze przydzielony jest port 53 TCP

Prośba o

pomoc

NIE

Poszukiwanie

odpowiedzi

w lokalnej

bazie danych

Sukces?

Algorytm działania serwera DNS

Żądanie

konwersji

Odpowiedź

TAK

...

Odpowiedź

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Mechanizm rozwikłania nieznanego adresu - serwery DNS
‘wyższego’ poziomu -

drzewo DNS

Ataki przeciwko DNS

Tworzenie lokalnej bazy danych DNS

Uaktualnianie każdorazowo, gdy zajdzie potrzeba (prośba o dane
dotyczące nieznanego wcześniej hosta), na podstawie informacji
pobranej z innego DNS

bond.mi6.uk.mil

kloss.abwehra.com

IP - ?

dns.mi6.def.mil

dns.root

Ktokolwiek w podsieci odwiedzał

hosta - IP będzie w tablicy i DNS

odpowie; jeśli nie: pyta dalej

dns.uk.mil

Jeżeli znany - odpowiedź, jeżeli

nie - przekazanie prośby

dns. mil

background image

3

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Ataki na DNS

DNS Spoofing - preparowanie odpowiedzi w wymianie danych
między DNS

Zapytanie o określenie adresu, jest opatrywane unikalnym ID -
odpowiedź zawiera to samo ID i na tej podstawie jest ona zatwierdzana

Jeżeli generacja kolejnych ID w serwerze jest deterministyczna -
możliwe jest jego przewidzenie i uprzedzenie prawdziwej odpowiedzi
spreparowanym pakietem

Uwarunkowania ataku

Hacker

Cel: wprowadzenie

fałszywego adresu D

do serwera DNS G

Serwer

DNS G

Nie ma w nim

dotychczas danych

o komputerze D

Serwer

DNS 2

D

DNS 2 zawiera

informacje

o komputerze D

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Ataki na DNS

Scenariusz ataku

Wysyła do DNS G prośbę o swój własny adres -

zyskuje aktualne ID pakietu

1

Wysyła do DNS G prośbę o adres D. Adresu nie ma w DNS G, więc będzie on
pytał kolejne serwery DNS, wysyłając do nich pakiety z

ID+1

2

Szybko podsyła do DNS odpowiedź w imieniu DNS 2 z fałszywymi danymi
komputera D

3

Ochrona

Stosowanie losowych zmian ID pakietów z zapytaniami o dane
(standardowy element aktualnych wersji programu BIND)

background image

4

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Ataki na DNS

DNS Spoofing - ochrona c.d.

Fałszywe serwisy www - mechanizm oszustwa

DNSSEC - uwierzytelnianie wymiany danych między serwerami
DNS - uaktualnianie informacjami pochodzącymi wyłącznie z
zaufanych źródeł

Tworzenie stron z pozornymi linkami (na stronie link prowadzi rzekomo
do pko.bp.pl, podczas gdy naprawdę wskazuje na
url=hack.com/pko.bp.pl)

Wybranie linku to odwołanie do serwera hack.com - atakujący wie,
jaka strona miała być wczytana - preparuje atrapę o wyglądzie
odpowiadającym oczekiwaniom użytkownika i zbiera za jej pomocą
wymagane informacje

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Ataki na DNS

DNS Spoofing poprzez DHCP

DHCP - użytkownik jest obsługiwany przez dynamicznie przypisywany
serwer DNS

Mechanizm ataku

1

Hacker wysyła

w imieniu serwera DHCP

do komputera z dynamicznie

przydzielanym IP informację o rzekomej zmianie adresu serwera DNS.

2

Serwer DNS należy do hackera i zawiera nieprawdziwe dane

Żądania użytkownika są obsługiwane przez podstawiony DNS - zamiast
połączeń z amazon.com itp., użytkownik wczyta spreparowane
odpowiednio strony atakującego

3

Ochrona - zablokowanie zewnętrznych żądań DHCP

background image

5

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Ataki związane z routingiem

Prosty protokół przesyłania pakietów (RIP - Routing Information)

A

A

B

B

C

C

Y

Y

D

D

E

E

F

F

G

G

Mam 1

do Y

Mam 2

do Y

Mam 3

do Y

Mam 4

do Y

Mam 2

do Y

Zakłada, że wszystkie routery są godne zaufania, bo trasa jest budowana
na podstawie ‘oświadczeń’ routera o odległości do wybranego hosta

Routery używają tablic (forwarding table) z informacjami o najkrótszych
połączeniach do różnych hostów, pobieraną od sąsiadów i okresowo
uaktualnianą (co ok. 30 s, między innymi po to by znać stan połączenia)

Pakiety są przesyłane najkrótszą drogą

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Ataki związane z routingiem

A

B

C

Y

D

E

F

G

Mam 1

do Y

Mam 2

do Y

Mam 3

do Y

Mam 4

do Y

Mam 2

do Y

x

Mam 1

do Y

Atak przeciwko RIP - podsunięcie fikcyjnych informacji o
odległości do celu

Przekazanie fałszywych informacji o odległości do celu wymusi
przesyłanie pakietów do określonych sieci przez router atakującego

Metody ochrony

Stosowanie innych protokołów - OSPF (Open Shortest Path Protocol)
Uwierzytelnianie

background image

6

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Ataki w OS i jego usługi - exploity

Język C

Powstał (lata 70-te) dla uniezależnienia UNIX-a od konkretnego
procesora (UNIX był napisany w języku assemblera)

main(){

...

F(5);

...

}

function F(int y)

{

int V;

V = y+100;

}

Mechanizm wywoływania funkcji w C

adres

kod

...

...

0x8054321

pushl $0x5

0x8054322

call $0x80543a0

0x8054328

...

...

0x80543a0

popl %eax

0x80543a1

addl $0x100,%eax

0x80543a4

...

Pamięć

Stos

czas

Argument:

5

Adres powrotu

0x8054327

5

0x8054327

5

Zmienne lokalne

V

0x80543a0

:

0x8054322

:

call 0x80543a0

:

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Przepełnienie bufora

main(){

...

F1(”

buffer_overflow

”)

;

...

}

function F1(char* y){

char txt[

8

];

...

strcpy(txt,y);

...

}

Zmiana adresu powrotu z procedury przez nadpisanie danymi

:

RET_ADDR

0xBF000001

txt[0]

txt[7]

:

CALL

0x80543a0

b

u

f

:

w

Pamięć

:

b

o

:

CALL

0x80543a0

:

Pamięć

:

Do zmiennej ‘txt’

kopiowane jest

więcej niż 8 znaków

Kod podstawiony

RET_ADDR

verflow

Nadpisanie adresu powrotu

Błąd programisty - skok niedozwolony przez OS i przerwanie programu

background image

7

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Przepełnienie bufora

Buffer overflow exploit - zamierzona wartość adresu powrotu

Ochrona

Idea postępowania - tak nadpisać adres powrotny, by wskazywał początek
procedury, którą chce się wykorzystać do przeprowadzenia ataku (może
to być dowolny z systemowych plików ‘dll’, dających dostęp do plików,
uprawnień, może to być uruchomienie serwera itp.)

Opracowywanie programów odpornych na atak (sprawdzanie danych
wprowadzanych przez użytkownika) - twórcy oprogramowania

Monitorowanie stanu komputera (np. obecność zrzutów ‘core’ w
katalogach użytkowników może świadczyć o działaniu exploit-a)

Stosowanie ogólnych zasad bezpieczeństwa - sprawdzone serwisy,
instalowanie ‘ugrade-ów’ i łat w systemach itp.

Inne ataki metodą przepełnienia bufora

Skrypty CGI (Perl, PHP)
Dowolne usługi OS, ...

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Ataki wykorzystujące SUID

Bit SUID (GUID) - określanie uprawnień programu

SUID/SGID wyzerowany - uprawnienia użytkownika (grupy), który go
uruchamia

Uruchomienie program z ustawionym SUID - uzyskanie uprawnień

instalującego (np. root-a)

Zerowanie flagi SUID jeżeli nie jest to konieczne
Instalowanie programów z kont o mniejszych uprawnieniach (jeżeli to
możliwe, np. użycie konta root jedynie do kopiowania binariów, zaś
instalacja z poziomu zwykłego użytkownika)

SUID/SGID (user id / group id) ustawiony - program ma uprawnienia
właściciela (tego, kto go zainstalował)

-r-

s

r-xr-x root bin 1000 some_prog DEC 13 02

Zmniejszanie zagrożenia atakiem

Potencjalne zagrożenie bezpieczeństwa

background image

8

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Wykorzystanie programu SUID do

uruchomienia programu

podstawionego przez atakującego

(root shell vulnerability)

Ataki wykorzystujące SUID

Uwarunkowania ataku

Program SUID wywołuje inne programy

Wywołanie nie jest poprzedzone dokonaniem żadnych sprawdzeń
(np. dotyczących lokalizacji uruchamianych plików)

Metoda ataku

Podstawienie pod procedurę (program, plik wsadowy) uruchamianą
przez program SUID swojego pliku

Scenariusz ataku

Utworzenie pliku o nazwie identycznej z programem uruchamianym
przez program SUID i odpowiednio spreparowanym kodem
Umieszczenie podstawianego pliku w dowolnym katalogu użytkownika
Dodanie na początku pliku ‘path’ ścieżki do wybranego katalogu

Wykonanie programu SUID (czyli, wykonanie ataku)

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Uruchamianie podstawionych programów - przykład

Ataki wykorzystujące SUID

Obiekt ataku - program

SubnetConfig

systemu UNIX - korzystający

z programu ‘

cat’

.

path = /temp:$path;

Dodanie na początek ścieżki systemowej ścieżki do wybranego foldera

Utworzenie pliku o nazwie ‘cat’ z kodem ingerującym w system zgodnie
z zamiarem atakującego (wstawienie polecenia kopiowania tekstu ‘++’
do pliku .rhosts)
Umieszczenie pliku w wybranym folderze (np. o nazwie ‘temp’)

Uruchomienie programu

SubnetConfig

, i pośrednio - procedury

cat

Wywołanie podstawionej procedury cat, modyfikującej plik .rhosts w
sposób pozwalający na uzyskanie uprawnień administratora
dowolnemu logującemu się użytkownikowi (program działa w imieniu
administratora, ma więc prawo modyfikacji pliku .rhosts)

Efekt

background image

9

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Wykorzystanie programu SUID do

nadpisania plików

(SUID file overwriting vulnerability)

Ataki wykorzystujące SUID

Uruchomienie programu SUID i zapewnienie, by tekst rejestrowany
w logu zawierał informacje, które mają znaleźć się w atakowanym
pliku (wprowadzany tekst jest jednocześnie wpisywany do logu i do
wybranego przez nas pliku)

Scenariusz

Utworzenie linku, łączącego plik logu programu SUID z plikiem,
który chcemy nadpisać (obiektem ataku).

program o uprawnieniach SUID tworzy plik, do którego wpisuje
dane (np. log).

program SUID nie upewnia się czy istnieją jakiekolwiek dodatkowe
uwarunkowania dla procedury zapisywania pliku (jak np. powiązanie
zapisywanego dziennika z innym plikiem)

Uwarunkowania ataku

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Nadpisywanie plików - przykład

Ataki wykorzystujące SUID

Jeżeli katalog domowy użytkownika jest otwarty do zapisu dla
wszystkich, napastnik może w nim umieścić swój .rhosts i w
ten sposób uzyskać możliwość logowania do konta

Atakowany plik - ‘.

rhosts’

systemu UNIX, wykorzystywany program -

PPS

(point to point serial protocol)

ln -s /.rhosts log

log

- alias do pliku dziennika programu PPS

Utworzenie linku

pps -o ‘++’

- wpisanie ‘++’ do .rhosts

Atak (uruchomienie programu)

mv log old_log

Zatarcie śladów

Po wykonaniu procedury, podmieniony plik .rhosts pozwala napastnikowi
na przejęcie kontroli nad komputerem

Efekt

background image

10

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Wydobywanie ‘wymazanych’ danych (usuwanie plików)

Wykradanie danych z komputerów

Wymaganie fizycznego dostępu do komputera lub instalacji
odpowiedniego oprogramowania

Windows - usunięcie pliku to jedynie usunięcie wpisu z tablicy
alokacji plików. Same dane pozostają na dysku do momentu ich
późniejszego nadpisania. W warunkach silnej defragmentacji dysku
dane te mogą być dostępne przez długi czas.
Ochrona - używanie programów do wymazywania danych (zastępują
wymazywane dane losowymi wartościami)

Swap file

Dane z RAM są czasowo składowane na dysku w tymczasowym pliku
(swap file), zawierającym mnóstwo cennych informacji (hasła, klucze,
treść dokumentów itp.)
Instalacja programu odczytującego dane z pliku tymczasowego
(i analizującego dane, np. w poszukiwaniu słów password itp.) daje
dostęp do tajnych informacji

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Inne metody podsłuchu

Wykradanie danych z komputerów

Pliki historii

Podsłuch klawiatury i portów lokalnych (keyboard snooping /
sniffing) - programowy lub sprzętowy

Idea programów detekcji - prośba o wpisanie zadanego tekstu i
sprawdzenie, czy został zarejestrowany w pliku

Przeglądanie automatycznie tworzonych plików historii daje informacje
o aktywności użytkownika

Uwaga na kawiarenki internetowe !

Zrzuty pamięci obrazu (‘zdjęcia’ ekranu)

Zdalne odczytywanie zawartości monitora

Metoda ochrony - zapewnienie spełnienia odpowiednich norm
(TEMPEST - Transient ElectroMagnetic PulsE Standard)

Monitor emituje fale elektromagnetyczne, które mogą być podsłuchane
i odczytane, zdradzając wyświetlane treści

background image

11

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Systemy detekcji włamań

Systemy detekcji włamań (intrusion detection)

Założenie - istnieją ślady możliwe do znalezienia przez analizę ruchu,
zużycie CPU, częstość operacji I/O, analizę pakietów, rodzaje aktywności
w odniesieniu do systemu (usuwanie plików) itp.

Detekcja bazująca na regułach

Detekcja bazująca na statystyce

Zapory nie chronią przed potencjalnymi włamaniami dokonywanymi
nie strzeżonymi przez nie kanałami (modem, dostęp bezprzewodowy,
ataki dokonywane od wewnątrz sieci)

Detekcja anomalii

Detekcja nadużyć

Statystyczne niezgodności w aktywności użytkownika
w stosunku do utworzonego wcześniej profilu

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Systemy detekcji włamań

Profil komputera - średnie obciążenie CPU, średnia liczba korzystających
z niego użytkowników, najczęściej wykorzystywane usługi itp.

Profil użytkownika -

Działanie - monitorowanie sesji i alarmowanie w sytuacjach wyraźnych,
dużych odstępstw od istniejącego profilu odniesienia

Detekcja nadużyć - porównywanie aktywności z charakterystykami znanych
ataków, zgromadzonymi w bazie danych systemu. Baza musi być na
bieżąco aktualizowana.

Ponieważ zasady mogą nie być jednoznaczne, detekcja aktywności
uznawanej za atak może wymagać zaawansowanych metod analizy.

Pakiety IDS

Internet Security Systems (dodatek do zapór programowych CheckPoint)
- monitorowanie TCP, UDP, ICMP

background image

12

Bezpieczeństwo systemów informatycznych

Krzysztof Ślot © 2002

Systemy detekcji włamań

Network Associates - CyberCop - rozproszony system z centralnym
serwerem analizy danych

Pożądane cechy systemu

Monitorowanie w czasie rzeczywistym

Celowe zasypywanie dziennika lawiną informacji

Preludium wielu ataków

Aby wyczyścić dziennik

Rozmiary dziennika mogą sięgać setek MB

Nietypowe godziny aktywności


Wyszukiwarka

Podobne podstrony:
ataki TCP id 71415 Nieznany (2)
Abolicja podatkowa id 50334 Nieznany (2)
4 LIDER MENEDZER id 37733 Nieznany (2)
katechezy MB id 233498 Nieznany
metro sciaga id 296943 Nieznany
perf id 354744 Nieznany
interbase id 92028 Nieznany
Mbaku id 289860 Nieznany
Probiotyki antybiotyki id 66316 Nieznany
miedziowanie cz 2 id 113259 Nieznany
LTC1729 id 273494 Nieznany
D11B7AOver0400 id 130434 Nieznany
analiza ryzyka bio id 61320 Nieznany
pedagogika ogolna id 353595 Nieznany
Misc3 id 302777 Nieznany
cw med 5 id 122239 Nieznany
D20031152Lj id 130579 Nieznany

więcej podobnych podstron