Pluskwy, robale i inne paskudztwo Aleksy Schubert Instytut Informatyki Uniwersytet Warszawski 20 listopada 2007.

1 Pluskwy, robale i inne paskudztwo Aleksy Schubert Insty...
Author: Józef Orłowski
0 downloads 0 Views

1 Pluskwy, robale i inne paskudztwo Aleksy Schubert Instytut Informatyki Uniwersytet Warszawski 20 listopada 2007

2 Pluskwy ● Do informatyki wprowadzone przez tę

3 panią – admirał Grace Hooper Pluskwy

4 ● Do informatyki wprowadzone przez tę panią – admirał Grace Hooper Pluskwy

5 ● Do informatyki wprowadzone przez Grace Hooper ● Pierwsza zachowana pluskwa wyglądała tak: Pluskwy

6 ● Do informatyki wprowadzone przez Grace Hooper ● Pierwsza zachowana pluskwa wyglądała tak: Pluskwy

7 ● Do informatyki wprowadzone przez Grace Hooper ● Pierwsza zachowana pluskwa to ćma znaleziona 9 września 1947 roku ● Termin ten był używany przez inżynierów jeszcze w XIX wieku

8 ●... ● Termin ten był używany przez inżynierów jeszcze w XIX wieku ● Pluskwy są niebezpieczne Pluskwy

9 ●... ● Termin ten był używany przez inżynierów jeszcze w XIX wieku ● Pluskwy są niebezpieczne Pluskwy

10 ● Do informatyki wprowadzone przez Grace Hooper ● Pierwsza zachowana pluskwa to była ćma znaleziona 9 września 1947 roku ● Termin ten był używany przez inżynierów jeszcze w XIX wieku ● Pluskwy są niebezpieczne ●...i bardzo trudne do wykrycia Pluskwy

11 ...tym bardziej, że nie wiadomo, czym są... Pluskwy

12 Robale ● Pierwszy internetowy robal użyty był w laboratoriach Xerox-a w roku 1978 ● Opis pojawił się w 1982 roku ● Pierwszy złośliwy robal powstał w roku 1989 napisany przez Roberta Morrisa ● Wykorzystywał kilka prostych luk: – sendmail, fingerd, rsh/rexec ● Tylko kopiowanie

13 Robale ● Szybkość rozprzestrzeniania się:

14 Robale ● Robert Morris stanął przed sądem – 3 lata okresu próbnego – 400 godzin prac publicznych – 10 050 dolarów grzywny Były przypadki, że w wyniku działania robali unieruchomiony został sprzęt lekarski

15 Inne paskudztwo ● Wirusy, makrowirusy ● Spam ● Konie trojańskie ● Adware ● Spyware ●...

16 Jak temu zaradzić? ● Wyszukiwarki błędów ● Piaskownice i wirtualizacja ● Skanery wirusów ● Zapory ogniowe ● Certyfikaty ● PCC (proof-carrying code) ●...

17 Wyszukiwarki błędów ● Pierwszy problem – czym jest błąd ● Podstawowy rodzaj błędu – przekroczenie zakresu bufora ● Trzeba używać funkcji snprintf zamiast sprintf ● Wady: – można przekroczenie zakresu uzyskać inaczej – wiele alarmów jest zbędne

18 Piaskownice i wirtualizacja ● Program działa w obudówce (piaskownicy) ● Jeśli chce wykonać podejrzaną operację (np. skasowanie pliku) obudówka mu – zabrania albo – pyta się użytkownika, czy można ● Wirtualizacja – można zrobić obudówkę dla całego systemu operacyjnego

19 Skanery wirusów ● Tworzenie i badanie sygnatur programów ● Wyłapywanie charakterystycznych wzorców ● Przypomina to trochę core wars ● Wady: – konieczność odświeżania oprogramowania antywirusowego – programy mogą ulec popsuciu w wyniku naprawy systemu

20 Zapory ogniowe ● Oddzielna sieć i maszyna odpowiedzialne za dostęp do Internetu ● Maszyna ma za zadanie: – ograniczać ruch – obsługiwać narażone usługi ● Wady: – potrzebna oddzielna maszyna – ograniczenia w funkcjonalności

21 Certyfikaty ● Po części używane w programach antywirusowych ● Dystrybutor programu oblicza skrót (np. SHA1) programu i go podpisuje ● Określenie odpowiedzialności ● Wady: – problemy z budowaniem zaufania – problemy z uzyskaniem zaufania przez dystrybutorów

22 Proof-carrying code ● Kod niosący dowód

23 Kod niosący dowód ● Proof-carrying code ● Matematyczna pewność poprawności ● Musi być wiadomo, czym jest błąd ● Wady: – pracochłonność – trudno uzyskać rzetelną sprawdzarkę

24 Zadanie int a[], int rozmiar; int i, j, min; i=0; while (i < rozmiar) { min = i; j = i+1; while (j < rozmiar) { if (a[j] < a[min]) { min = j; } j = j+1; } zamien(i, min, a); i = i+1; }

25 Zadanie

26 Założenia: ● a zawiera liczby naturalne, jej rozmiar jest liczbą naturalną ● rozmiar to liczba elementów a ● zamien(x, y, b) zamienia miejscami elementy na pozycjach x, y w b

27 Zadanie Pytania: ● Czy przebieg wykonania jest bezbłędny? ● Czy elementy w a po wykonaniu operacji ustawione są rosnąco? ● Czy elementy w a po wykonaniu operacji są takie same jak przed wykonaniem?

28 Miłej zabawy!