Page 1 Prezentacja: Najbardziej popularne metody w�ama� Aleksander Grygiel Page 2 Plan prezentacji � Skanery port�w � Ataki przez przepe�nienie bufora � Ataki z wykorzystaniem dowi�za� w /tmp � Ataki odmowy dost�pu Page 3 Skanowanie port�w � W sieciach TCP/IP ka�dy komputer udost�pnia us�ugi poprzez �porty� o numerach 0-65535. Typowe us�ugi to np.: telnet (23), ftp (21), http (80) � Ka�da us�uga udost�pniana przez serwer stanowi potencjaln� luk� w bezpiecze�stwie systemu � Skaner�w u�ywa si� do zbadania, kt�re porty na zdalnym komputerze s� otwarte � Dodatkowo skanery port�w potrafi� te� okre�li�, jaki jest system operacyjny na zdalnej maszynie Page 4 Otwieranie po��czenia w protokole TCP/IP Otwieranie po��czenia w protokole TCP/IP �Three way handshake� � Aby nawi�za� komunikacj�, klient wysy�a do serwera pakiet SYN � Serwer odpowiada pakietem SYN/ACK � Po jego otrzymaniu klient wysy�a pakiet ACK W�wczas po��czenie zostaje nawi�zane Page 5 Zasada dzia�ania skaner�w port�w Zasada dzia�ania skaner�w port�w � Skaner pr�buje nawi�za� po��czenie ze zdaln� maszyn� na kolejnych portach (wysy�a pakiety SYN) � Gdy otrzyma pozytywn� odpowied� (SYN/ACK), nie ko�czy procedury otwierania po��czenia (nie wysy�a potwierdzaj�cego ACK) � Po��czenie nie zostaje otwarte. Cz�sto skanowana maszyna nie rejestruje �adnych komunikat�w o skanowaniu � Na podstawie r�nic w implementacjach protoko�u TCP/IP, skanery potrafi� rozpozna� system operacyjny Page 6 Zaawansowane metody skanowania � Za pomoc� pakiet�w FIN (nie dzia�a na maszyny Windows) � Przy u�yciu �fragmentowanych� pakiet�w � Przy u�yciu pakiet�w ze sfa�szowanym adresem �r�d�owym (tzw. skanowanie ip.id) � Rozproszone skanowanie Page 7 Popularny skaner port�w: nmap �nmap� to bardzo popularny skaner port�w. Jest dost�pny w standardych dystrybucjach Linuxa. Posiada nawet graficzny interfejs dla X Windows (nmapfe) Page 8 Metody w�ama� w latach 90. Metody w�ama� w latach 90. � Przepe�nienie bufora (Buffer Overflow) � Ataki na katalog /tmp � Ataki �odmowy dost�pu� (Denial of Service) ATAKI LAT 90. Buffer Overflow /tmp races Denial Of Service Page 9 1. Przepe�nienie stosu (buffer overflow) 1. Przepe�nienie stosu (buffer overflow) � Podatne programy: �le lub niestarannie napisane programy SUID � Na co pozwala taki atak: uruchamianie dowolnego kodu z prawami roota � Metoda spopularyzowana przez artyku� w czasopi�mie Phrack pt. �Smashing The Stack For Fun And Profit� Page 10 Kiedy mo�na nadpisa� stos Kiedy mo�na nadpisa� stos int zr�b_co�(char* text){ char buf[100]; strcpy(buf, text); ... } Po wywo�aniu funkcji: -na stos k�adzione s� argumenty funkcji -nast�pnie adres powrotny -adres ramki stosu (EBP) -na koniec odk�adany jest obszar na zmienne lokalne Page 11 Jak to wykorzysta�? Jak to wykorzysta�? Najprostszy przypadek wykorzystania b��du BO: � Kompilujemy do postaci maszynowej fragment kodu uruchamiaj�cy pow�ok� (shell) � Generujemy �zab�jczy napis� o d�ugo�ci przekraczaj�cej rozmiar bufora w wadliwej funkcji � Przekazujemy taki napis do funkcji. Adres powrotny, le��cy w pami�ci za buforem, zostaje nadpisany wska�nikiem do naszego kodu uruchamiaj�cego shell � Zostaje uruchomiona pow�oka z uprawnieniami administratora (je�eli program mia� atrybut SUID) � Kod uruchamiaj�cy shell mo�na umie�ci� w samym �zab�jczym napisie� albo np. w zmiennej �rodowiskowej Page 12 Popularne funkcje C podatne na przepe�nienie przepe�nienie � strcpy � scanf � gets (patrz: man gets) � sprintf Page 13 Jak cz�ste s� b��dy BO ? Jak cz�ste s� b��dy BO ? Zadanie zaliczeniowe nr 1: realsh Page 14 Gdzie wykrywano b��dy BO Gdzie wykrywano b��dy BO � programy pocztowe Microsoftu � apache � pine � oracle � kerberos � samba � xterm i inne aplikacje X Windows � routery Cisco � firewalle (Check Point) � itd... Page 15 Ochrona przed atakami typu BO � Ograniczenie liczby program�w z atrybutem SUID do minimum � Bezpieczne kompilatory C (z kontrol� przepe�nienia bufora) � Zablokowanie wykonywania kodu w segmencie stosu (odpowiednia �ata na j�dro systemu) Page 16 2. Ataki z wykorzystaniem katalogu /tmp � Napastnik odgaduje nazw� pliku tymczasowego, kt�ry b�dzie stworzony przez proces innego u�ytkownika (np. roota) w katalogu /tmp � W /tmp tworzy dowi�zanie o takiej w�a�nie nazwie do kt�rego� z kluczowych plik�w systemowych, takich jak: /etc/passwd, rhosts itp. � Proces roota, pisz�c do pliku tymczasowego, faktycznie nadpisuje /etc/passwd Page 17 3. Ataki odmowy dost�pu (DoS) 3. Ataki odmowy dost�pu (DoS) � Celem takich atak�w jest zablokowanie niekt�rych us�ug albo zawieszenie atakowanego serwera � Wykorzystuje si� b��dy w implementacji program�w dostarczaj�cych us�ugi sieciowe (http, ftp, a tak�e np. serwery Quake2)... � ...jak r�wnie� b��dy w implementacji samego protoko�u TCP/IP Page 18 Przyk�ady atak�w DoS Przyk�ady atak�w DoS � Stare wersje najpopularniejszego serwera www, Apache 1.2.4, nie sprawdza�y d�ugo�ci nazwy pliku w poleceniu pobrania (GET nazwa_pliku). � Ka�dy znak �/� w nazwie pliku wyd�u�a� znacz�co czas trwania operacji (odszukanie pliku na dysku). � Prosty atak, powoduj�cy do�� znaczne spowolnienie serwera: GET ////... 7kb ...//// Page 19 Znane b��dy w implementacjach TCP/IP Znane b��dy w implementacjach TCP/IP � Ping of death � SYN flood � teardrop � land / la terra � smurf Page 20 SYN flood � Napastnik wysy�a bardzo du�o pakiet�w SYN do ofiary � Atakowany komputer dla ka�dego nadchodz�cego pakietu SYN pr�buje utworzy� po��czenie � Powstaj� �p�-otwarte� po��czenia (half-open): czekaj� na odpowied� od napastnika, kt�ra jednak nigdy nie nadejdzie � Powoduje to powa�ne spowolnienie albo ca�kowite zablokowanie ofiary Page 21 Land � Napastnik wysy�a pakiet ACK zawieraj�cy sfa�szowany adres �r�d�owy r�wny adresowi docelowemu � Atakowany host usi�uje nawi�za� po��czenie z samym sob� � Powoduje to zawieszenie maszyny Page 22 Teardrop � B��d w implementacji stosu TCP/IP, wyst�powa� zar�wno w systemach Windows, jak i Linux/Unix � System nie radzi� sobie z pofragmentowanymi pakietami � Odpowiednio spreparowane i pofragmentowane pakiety, przy ��czeniu w ca�o��, powodowa�y nadpisanie j�dra systemu � Firewalle bezradne: albo przepuszcza�y zab�jcze pakiety, albo same si� wyk�ada�y Page 23 Smurf � Napastnik wysy�a pakiety ICMP echo/reply typu broadcast do sieci po�rednicz�cej w ataku � Fa�szuje adres IP, podszywaj�c si� pod adres ofiary � Ofiara zalana odpowiedziami na pinga Internet Perpetrator Victim ICMP echo (spoofed source address of victim) Sent to IP broadcast address ICMP echo reply Page 24 Ochrona przed DoS � Ochrona przed atakami DoS jest bardzo trudna � ka�dy z nich jest inny i opiera si� na specyficznych b��dach w oprogramowaniu. � Nale�y ogranicza� do niezb�dnego minimum us�ugi sieciowe oferowane przez maszyn�. � Sta�e �ledzenie listy bugtraq oraz innych list po�wi�conych bezpiecze�stwu i b��dom w oprogramowaniu. (np.: www.securityfocus.com, www.ussrback.com) Page 25 Nowa odmiana tej metody: DDoS � Si�owy atak, polegaj�cy na zasypaniu ofiary lawin� pakiet�w � Utrudnia identyfikacj� napastnik�w � Bardzo skomplikowany, stosowany przeciwko du�ym serwisom internetowym (np. serwery DNS, Yahoo, itp.) Rozproszony atak odmowy dost�pu (Distributed Denial of Service)
Jajco039