Systemy Ochrony Informacji INEU 001 dr inż. Tomasz Surmacz. 29 maja 2015

Wielkość: px
Rozpocząć pokaz od strony:

Download "Systemy Ochrony Informacji INEU 001 dr inż. Tomasz Surmacz. 29 maja 2015"

Transkrypt

1 Systemy Ochrony Informacji INEU 001 dr inż. Tomasz Surmacz 29 maja 2015

2 Zagadnienia organizacyjne Zagadnienia organizacyjne Konsultacje i formy kontaktu Konsultacje: środa 13:00-15:00, czwartek 15:00-17:00, pok. 105/C tsurmacz@ict.pwr.wroc.pl, Subject: INEU00001 lub SOI Sposób zaliczenia Kolokwium zaliczeniowe na przedostatnim wykładzie (3 czerwca) Zadania dodatkowe ogłaszane czasami na wykładach Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 2

3 Zagadnienia organizacyjne Literatura Garfinkel & Spafford Bezpieczeństwo w Uniksie i Internecie Silberschatz, Abraham Podstawy systemów operacyjnych Schneier, Bruce Kryptografia dla praktyków Kutyłowski, Mirosław Kryptografia. Teoria i praktyka zabezpieczania systemów komputerowych Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 3

4 Zagadnienia organizacyjne Tematyka wykładu Metody uwierzytelniania dostępu w systemach komputerowych (*) Podstawy kryptografii (*) Algorytmy z kluczem prywatnym i publicznym, funkcje skrótu Zastosowania kryptografii Secure Sockets Layer, certyfikaty Aktualne zagrożenia w systemach ochrony informacji Ochrona aplikacji sieciowych Integralność danych w systemach komputerowych Kopie bezpieczeństwa, systemy archiwizacji danych Problemy bezpieczeństwa w programowaniu aplikacji Pisanie bezpiecznych programów pułapki w funkcjach systemowych Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 4

5 Użytkownicy w systemie UNIX Użytkownicy w systemie UNIX System wielozadaniowy (multitasking) System wieloużytkownikowy (multiuser) Konieczność ochrony użytkowników przed sobą nawzajem Atrybuty użytkownika /etc/passwd: root:x:0:1:super-user:/root:/sbin/sh ts:x:128:10:tomasz Surmacz:/home/ts:/usr/bin/csh nobody:x:60001:60001:nobody:/: Nazwa użytkownika Identyfikator (uid) Grupa (nazwa i identyfikator gid) Hasło dostępu Katalog domowy Interpreter poleceń (shell) Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 5

6 Użytkownicy w systemie UNIX UID w systemie UNIX... Dla jądra systemu istotne są: uid procesu gid procesu prawa dostępu do pliku uprawnienia specjalne (euid==0) Wszelkie restrykcje dotyczące dostępu do urządzeń czy programów wymuszane przez system operacyjny odnoszą się do numeru użytkownika i numeru grupy, a nie do ich nazw. Lista użytkowników znajduje się w pliku /etc/passwd: root:x:0:0:root:/root:/sbin/sh operator:x:0:0::/home/oper:/bin/tcsh ftp:x:99:100:ftp:/var/ftp: nobody:x:65500:99:nobody:/: psz:x:120:120:psztymulec Zlosliwy:/home/psz:/bin/tcsh bromba:x:0:120:bromba:/home/bromba:/bin/tcsh ts:x:128:128:tomasz Surmacz:/home/ts:/bin/tcsh kch:x:120:120:kajetan Chrumps:/home/kch:/bin/tcsh apache:x:48:48:apache:/var/www:/bin/false mumin:x:1178:1178::/home/mumin:/bin/bash mysql:x:27:27:mysql Server:/var/lib/mysql:/bin/bash Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 6

7 Użytkownicy w systemie UNIX UID, GID w systemie UNIX Hasła użytowników przeniesione są obecnie do pliku /etc/shadow: root:gna54gd2ra@fg:11581:0:99999:7::: operator:$1$fixx5fg2nv3zahskrei.sw$ns0smhs1:11554:0:99999:7::: ftp:!:99:100:ftp:/var/ftp: ts:za564xfd45gz:11581:0:99999:14::: mpd:*:14279:0:99999:7::: statd:*:14279:0:99999:7::: ntp:*:14300:0:99999:7::: Dodatkowo plik /etc/group zawiera informacje o przynależności użytkowników do grup: wheel::0:tsurmacz,tmo,tom adm:x:4:ts daemon:x:1: dialout:x:20:ts,chipcard audio:x:29:pulse,ts,timidity operator:x:37: statd::40: www::80: others::100: nobody::60001: noaccess::60002: Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 7

8 Prawa dostępu Prawa dostępu Każdy plik w systemie ma swojego właściciela i właściciela grupowego Każdy plik opisany jest przez 3 grupy praw dostępu: dla właściciela (user) dla grupy (group) dla pozostałych użytkowników (other) Podstawowe prawa dostępu to (r)ead odczyt (w)rite pisanie e(x)ecute wykonanie user group others u g o drwxr-x--x root wheel number of links type (catalog/file/special device, Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 8

9 Prawa dostępu Dostęp do pliku Proces uzyska dostęp do pliku jeśli zostanie spełniony co najmniej jeden z warunków: Efektywny uid procesu to 0. Efektywny uid procesu jest zgodny z właścicielem pliku i prawa dostępu dotyczące właściciela zezwalają na dostęp. Efektywny uid procesu nie odpowiada właścicielowi pliku, ale efektywny gid lub jedna z dodatkowych grup, do których należy użytkownik, odpowiadają grupowemu właścicielowi pliku i prawa dostępu dla grupy zezwalają na dostęp. Efektywny uid ani gid (ani żadna z dodatkowych grup) nie odpowiadają właścicielom pliku, ale prawa dostępu dla pozostałych zezwalają na dostęp. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 9

10 Prawa dostępu Przykładowa zawartość katalogu domowego: drwxr-x--x 44 ts users 2048 Feb 27 16:39. drwxr-xr-x 47 ts users 3072 Feb 28 00:28.. -rw ts users 3476 May cshrc -rw ts users 3721 Feb 10 12:31.bashrc -rw-r--r-- 1 ts users 16 Jun forward drwx ts mail 1024 Feb 27 03:44 Mail drwxr-xr-x 3 ts users 1024 Jun News drwxr-xr-x 2 ts users 1024 Feb Done drwxr-xr-x 3 ts users 1024 Dec 1 14:31 hitch -rw-r--r-- 1 ts wheel 4029 Feb 11 03:13 back.tar.gz drwxr-xr-x 3 ts users 1024 Feb 11 03:44 bus drwxr-xr-x 3 ts users 1024 Feb 11 03:19 src Komendy pozwalające zmieniać prawa dostępu: chmod, chgrp chown (tylko użytkownik root!) umask lsattr, chattr Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 10

11 Prawa dostępu Bity specjalne: -rwsr-xr-x set-user-id -rwxr-sr-x set-group-id -rw------t sticky bit -rwxr-xr-t sticky bit (T+x) drwxr-sr-x set-group-id drwxr-lr-x obligatory locking (s-x) drwxrwxrwt sticky bit prw-rw-rw- nazwany strumień danych (named pipe) srw-rw-rw- gniazdo w domenie UNIX (UNIX-domain socket) brw-rw---- urządzenie blokowe (block device) crw-rw---- urządzenie znakowe (character device) lrwxrwxrwx dowiązanie symboliczne (symbolic link) Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 11

12 Prawa dostępu Typowe ustawienia: Typowe prawa dostępu do katalogów domowych: 755 lub 711 Katalogi domowe w systemie Linux: 775 Katalogi systemowe: 755 Niektóre podkatalogi /etc: 2755 lub 2775 Katalogi dostępne dla wszystkich do zapisu, takie jak /tmp lub /var/tmp: 1777 Pseudo terminale i terminale rzeczywiste /dev/*tty*: 622 lub 600 Katalog pocztowy: 1777 lub 2775 programy suid: 4511, ale częściej: 4755 Typowe ustawienia umask: Unix w ogólności: 022 lub 026 Linux: 002 Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 12

13 Prawa dostępu Bity specjalne z punktu widzenia bezpieczeństwa Set User ID (04000) Pozwala zmienić ID użytkownika związanego z procesem na czas jego wykonywania. Jeden z największych problemów bezpieczeństwa systemów UNIX. Set Group ID (02000) Pozwala zmienić ID grupy związanej z procesem na czas jego wykonywania. W przypadku katalogów wymusza zachowanie typu BSD (nowo powstające pliki będą miały właściciela grupowego takiego, jak właściciel katalogu). Obligatory locking wymusza obowiązkowe blokowanie dostępu do plików (zamiast blokowania fakultatywnego) Sticky bit (01000) W katalogach z publicznym prawem pisania (np. /tmp) wymusza kontrolę dostępu do kasowania plików i modyfikacji ich atrybutów. W plikach wykonywalnych powoduje, że po zakończeniu działania procesu nie jest zwalniana pamięć zawierająca kod programu (program jest gotowy do kolejnego uruchomienia). Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 13

14 Uwierzytelnianie i autoryzacja Uwierzytelnianie i autoryzacja Uwierzytelnianie authentication Okazanie systemowi komputerowemu dowodu tożsamości. Przekonanie programu lub systemu komputerowego o tożsamości osoby usiłującej uzyskać dostęp do systemu. Przykłady metod: karta identyfikacyjna. klucz sprzętowy. hasło dostępowe znane tylko właścicielowi. udzielenie odpowiedzi na specjalnie zadane pytania. analiza głosu lub sposobu pisania na klawiaturze. Autoryzacja Uzyskanie dostępu do systemu lub jego specyficznych usług Wiązana często z uwierzytelnianiem, ale jest osobnym, niezależnym procesem. Wymagana przy wykonaniu pewnych operacji, np. kasowania rekordów bazy, dostępie w trybie administratora, itp. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 14

15 Uwierzytelnianie i autoryzacja Problemy z uwierzytelnianiem i autoryzacją mocne metody uwierzytelniania wykorzystują przynajmniej 2 z poniższych cech: coś, co wiesz (hasło? PIN?) coś, co masz (token?, karta?) coś, czym jesteś (obraz siatkówki oka?) niepodważalność dokonanego uwierzytelnienia użytkownika odpowiedzialność użytkownika za swoje działania konsekwencje prawne działań podejmowanych przez użytkowników Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 15

16 Hasła tradycyjne Hasła tradycyjne łatwo zgadnąć lub złamać łatwo podejrzeć można je przechwycić/podsłuchać można je ukraść (socjotechniki) kiepski sposób uwierzytelnienia użytkownika, tym gorszy autoryzacji kosztowne w zarządzaniu Hasła w systemie UNIX Przechowywane w /etc/passwd lub /etc/shadow Tradycyjne hasła szyfrowane jednokierunkowo za pomocą crypt(), ograniczone do 8 znaków Linux możliwość szyfrowania za pomocą MD5 (nieograniczona długość) root:gna54gd2ra@fg:11581:0:99999:7::: root1:$1$fixx5fg2nv3zahskrei.sw$ns0smhs1:11554:0:99999:7::: ts:aza564xfd45gz:11581:0:99999:14::: Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 16

17 Hasła tradycyjne Weryfikacja haseł Hasła są przechowywane w systemie w postaci zaszyfrowanej. Funkcja szyfrująca to funkcja jednokierunkowa i odszyfrowanie hasła nie jest możliwe. Aby sprawdzić poprawność wprowadzonego hasła, jest ono ponownie szyfrowane tym samym kluczem i porównywane są wersje zaszyfrowane. Jeśli zaszyfrowane wersje są identyczne wprowadzone hasło jest poprawne. W hasłach szyfrowanym funkcją crypt() kluczem są 2 pierwsze znaki zaszyfrowanej wersji hasła. Łamanie haseł (password cracking) Nie jest możliwe rozkodowanie hasła przechowywanego w systemie. Jest możliwe jego zgadnięcie, szyfrując dużą liczbę prawdopodobnych haseł, jeśli tylko istnieje automatyczna metoda sprawdzenia, czy otrzymaliśmy pozytywny wynik (metoda brute force atak siłowy). Aby udaremnić takie ataki, hasła powinny być wybierane w rozsądny sposób. Istnieje wiele automatycznie działających łamaczy haseł crack, Jack the Ripper i inne. Większość z tych programów potrafi rozdzielić pracę pomiędzy wiele komputerów korzystając z mechanizmów współbieżności. W sieci można znaleźć wiele słowników dających się wykorzystać do łamania haseł, także dla języka polskiego czy japońskiego. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 17

18 Hasła tradycyjne Porównanie bezpieczeństwa haseł Porównanie mocy haseł zawierających różne klasy znaków. Do wyliczenia czasu łamania przyjmujemy prędkość 8000 operacji szyfrowania na sekundę, co można osiągnąć za pomocą pojedynczego procesora klasy Pentium 300 MHz. 10 komputerów łamiących równolegle to samo hasło zmniejszy potrzebny czas łamania dziesięciokrotnie. Używane znaki liczba haseł czas łamania Hasło 4-cyfrowe (kod PIN) sekundy typowy słownik języka naturalnego s Hasło 4-literowe minuta Hasło 8-cyfrowe godziny 25 minut Hasło 6-literowe godzin Hasło 8-literowe, tylko małe litery dni Hasło 8-znakowe, małe litery i cyfry lat Hasło 8-literowe, małe i wielkie litery lat 8 znaków, znaki ASCII lat 8 znaków, znaki ASCII lat Wszystkie możliwości funkcji MD lat Szacowany wiek Wszechświata lat Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 18

19 Hasła tradycyjne Złe hasła Imię i/lub nazwisko. Własne, dziewczyny, psa lub kota. Kogokolwiek. Imiona ulubionych postaci fantasy/sf. Nazwiska, imiona, pseudonimy ulubionych aktorów lub grup muzycznych. Nazwa komputera, na którym jest konto. Numer telefonu lub numer rejestracyjny samochodu. Jakakolwiek data urodzin. Informacje, które można łatwo uzyskać o właścicielu konta (adres, hobby, data urodzin). Słowa, które można znaleźć w słowniku. Dowolnym. Na przykład polskim, japońskim lub suahili. Proste wzory znaków umieszczonych blisko na klawiaturze, np. qwerty, qwertz lub 1qaz2wsx. Takie samo, jak stosowane w innym systemie komputerowym. Dowolne z powyższych, wpisane wspak (!dałkyzrp net kaj kat) Dowolne z powyższych z Pierwszymi Lub Ostatnimi ZnakamI pisanymi wielkimi literami. Dowolne z powyższych poprzedzone lub uzupełnione pojedynczą cyfrą lub znakiem przestankowym. D0w0ln3 z p0wyższych z4p1s4n3 w udz1wn10ny sp0sób (np. r00t lub f00tba11). Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 19

20 Hasła tradycyjne Dobre hasła Zawierające zarówno małe jak i WIELKIE litery. Trudne do zgadnięcia. Zawierające cyfry i/lub znaki przestankowe. Także w środku. Łatwe do zapamiętania, by nie trzeba ich było zapisywać. Zawierające co najmniej 7 znaków lub więcej. Łatwe do szybkiego wpisania, najlepiej oburącz, by było je trudno podejrzeć w trakcie pisania. Nie zawierające niektórych problematycznych znaków, czy ^H. Przykłady: Hasło 1: 12gtnpp12gwztp Hasło 2: PBTwJBpSanz Hasło 3: CzswzmsR8wtpmm Jak to zapamiętać? Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 20

21 Hasła tradycyjne Dobre hasła Zawierające zarówno małe jak i WIELKIE litery. Trudne do zgadnięcia. Zawierające cyfry i/lub znaki przestankowe. Także w środku. Łatwe do zapamiętania, by nie trzeba ich było zapisywać. Zawierające co najmniej 7 znaków lub więcej. Łatwe do szybkiego wpisania, najlepiej oburącz, by było je trudno podejrzeć w trakcie pisania. Nie zawierające niektórych problematycznych znaków, czy ^H. Przykłady: Hasło 1: 12gtnpp12gwztp Hasło 2: PBTwJBpSanz Hasło 3: CzswzmsR8wtpmm Jak to zapamiętać? 12 groszy, tylko nie płacz proszę 12 groszy w zębach tu przynoszę Partyzanci Broz-Tity wyzwolili Jugosławię Bez pomocy Sowietów, awantura na zabawie Ci z sąsiedniej wsi zaczęli, myśmy skończyli Rambo 8 w telewizji patrzcie moi mili... Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 21

22 Hasła tradycyjne Inne uwagi dotyczące haseł Należy unikać stosowania tego samego hasła w różnych systemach, szczególnie wtedy, gdy komputery te administrowane są niezależnie (np. dostęp do konta na uczelni, konta firmowego i prywatnej skrzynki pocztowej w darmowym serwisie pocztowym). Najlepsze są hasła, których nie trzeba nigdzie zapisywać, lecz można je zapamiętać. Jeśli haseł jest zbyt dużo, by je wszystkie pamiętać, rzadziej używane powinny być zapisane w bezpieczny sposób: np. na dyskietce, zaszyfrowane kluczem PGP/GPG; zaszyfrowane w bazie notesu PDA lub smartfona; w ostateczności zapisane na papierze w niejawny sposób, a nie w postaci prostej i w innym miejscu, niż nazwa systemu/użytkownika; W żadnym wypadku na małej żółtej karteczce przyklejonej na monitorze lub pod klawiaturą. Hasła nigdy nie powinny być jawnie przesyłane pocztą elektroniczną. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 22

23 Hasła tradycyjne Przeciwdziałanie snifferom Hasła jednorazowe Systemy pytanie-odpowiedź (challenge-response) Hasła S/Key Karty tokenowe SecurID i inne Chronią dostęp, dane nadal narażone są na podsłuch Ataki aktywne podsłuch połączony ze zgadywaniem ostatnich znaków Kodowane sposoby dostępu SSH STELNET Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 23

24 Systemy pytanie-odpowiedź Systemy pytanie-odpowiedź Ang.: Systemy challenge-response Ogólna metoda podawania różnych informacji w celu identyfikacji przed systemem. Identyfikacja na podstawie znajomości pewnego algorytmu (sprawdzanego na serwerze). Np. jeśli kluczem algorytmu ma być znajomość pewnych książek/filmów należących już do klasyki :-), przykładowe pytania lub zdania prowadzące do znalezienia właściwego słowa-hasła mogą brzmieć: Np. jeśli algorytm to ((6 x) mod y) + z: ? 1 5 2? 3 7 1? A jeśli kluczem algorytmu ma być znajomość książek fantasy i s-f, komiksów oraz filmów, pytanie może polegać na uzupełnieniu cytatu lub zastąpieniu fałszywego fragmentu prawdziwym (oraz zidentyfikowaniu tytułu i autora), np: Sześć razy sześć? Najlepsze kasztany są na placu Bema. Matylda lubi je tylko jesienią. Hejkum kejkum... Systemy pozwalające wyliczyć odpowiedź w pamięci są raczej proste i łatwe do złamania. Bardziej skomplikowane wymagają zapisania algorytmu w urządzeniu zewnętrznym (tokenie), któremu zadajemy podane pytanie i przepisujemy jego odpowiedź w miejsce hasła. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 24

25 Hasła zmienne w czasie Hasła zmienne w czasie hasło zmienia się automatycznie co minutę, centralny serwer autoryzacyjny, do zalogowania się potrzebne jest specjalne urządzenie wielkości breloka do kluczy lub karty kredytowej, kod podawany na wyświetlaczu uzupełniany jest kodem PIN, po użyciu hasło traci ważność natychmiast i nie może zostać użyte do zalogowania się na inny system, problem synchronizacji serwera z tokenem. gwarancja lub raczej licencja udzielana na czas 2-3 lat. Istniejące rozwiązania: tokeny VASCO lub Secure ID Bardziej zaawansowane rozwiązania: klawiatura pozwalająca wpisać PIN, który uaktywnia urządzenie. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 25

26 Hasła zmienne w czasie Synchronizacja czasu w Secure ID Serwer Czas Token Teraz Modyfikacja czasu tokena nie jest możliwa. Serwer może wyliczyć zarówno poprzednie, jak i następne hasło. Po zauważeniu rozbieżności można oszacować różnicę i zapamiętać poprawkę (indywidualnie dla każdego tokena). W przypadku kłopotów z lokalizacją wyświetlanej liczby w ciągu, system może poprosić o podanie kolejnej. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 26

27 Hasła zmienne w czasie Hasła zmienne w czasie Tokeny RSA: standardowo: hasło zmienia się automatycznie co minutę, kod podawany na wyświetlaczu uzupełniany jest kodem PIN, po użyciu hasło traci ważność natychmiast i nie może zostać użyte do zalogowania się na inny system, Tokeny VASCO: Klawiatura zabezpieczająca dostęp do tokena za pomocą kodu PIN 2 tryby pracy: standardowy - generator haseł zmiennych w czasie dodatkowy challenge-response: kod podany na stronie WWW należy przepisać na klawiaturze w celu uzyskania odpowiedzi Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 27

28 Hasła jednorazowe S/Key Hasła jednorazowe S/Key Hasła są kodowane funkcją skrótu MD4, MD5 lub SHA Hasło n-te jest zakodowanym przez funkcję skrótu hasłem n 1 Tajne hasło to hasło zerowe Rozpoczynamy od hasła 99, dochodząc do 0. pass 0 md5(pass0) pass 1 md5(pass1)=md5(md5(pass0)) pass 2 md5(md5(...md5(pass0)...)) pass 98 pass 99 md5(pass98) Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 28

29 Hasła jednorazowe S/Key Do zalogowania się na system z użyciem S/Key potrzebne są: Lokalnie (na laptopie, innym komputerze w sieci lokalnej, palmtopie) uruchomiony program key oraz: numer kolejny hasła, identyfikator systemu (różny na różnych komputerach), tajne hasło inicjujące system (znane tylko właścicielowi i nie przesyłane nigdy przez sieć) albo: lista haseł przygotowana i wydrukowana wcześniej, z której zostaje zużyte pojedyncze hasło. 90: MERT GOLF GOAL WEB WOW LIST 91: DUN MEMO FORK USER PIN BUSY 92: FLAW KIT SUB CALF THE SLUR 93: END LEG OVER TEE TRAG MATH 94: MIND CUP PAY HIS NAVE BAD 95: SEC GORY MARC KATE LOOK SILL 96: DUAL DESK FLEA FOOT BHOY OINT 97: AHOY ARE HANS OWNS WET NIP 98: JOY BONY ELBA BACH LIP LOAN 99: HE FORE TIE INTO NEE CAST Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 29

30 Hasła jednorazowe S/Key Przykładowa sesja z użyciem S/Key telnet okapi.ict.pwr.wroc.pl Connected to okapi.ict.pwr.wroc.pl. login: tsurmacz s/key 83 ok PASSCODE or Password: (turning echo on) PASSCODE or Password: kick duty unit awn mate rook Last login: Tue Sep 11 23:58:59 from papaja.ict.pwr.wroc.pl Sun Microsystems Inc. SunOS 5.7 You have mail. 1 okapi:~> telnet okapi Connected to okapi.ict.pwr.wroc.pl. login: tsurmacz s/key 82 ok PASSCODE or Password: (turning echo on) PASSCODE or Password: kick duty unit awn mate rook Login incorrect Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 30

31 Hasła jednorazowe S/Key Implementacja S/Key Do zainicjowania systemu używana jest komenda keyinit lub skeyinit Kolejne hasła przechowywane są w pliku /etc/skeykeys Plik czytelny dla wszystkich potencjalne problemy jak z hasłami w /etc/passwd, lecz znacznie mniejsze prawdopodobieństwo złamania. ts 0095 papaja62928 fbb8f536d17d5b50 Nov 28, :45:47 Hasło nr 95 zapisane w formie 64-bitowej liczby wymaga do zalogowania podania hasła numer 94 w postaci liczby (heksadecymalnie) lub słów słownika. Kolejne hasła można generować za pomocą key -n lub skey -n: papaja 2 ~> skey -n 5 95 papaja62928 Note: Do not use this program while logged in over an insecure connection. Enter secret password: 91: OS ROOD MAY PAP CARD HUNK 92: ROB NOEL SEES HAND WE DATA 93: BRED TAUT RAGE GIBE TOLD UN 94: BARE HAAS SIR BRIG CANT WARN 95: DUMB KIN MAD HEFT CHIN LAME Po dojściu do początku listy, nową listę można wygenerować bezpiecznie zwiększając identyfikator systemu (papaja62929). Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 31

32 Listy haseł Listy haseł Używane głównie przez banki jako podstawowa i najtańsza metoda implementacji haseł jednorazowych time keys. Losowo generowana lista haseł musi być przekazana klientowi w bezpieczny sposób (np. zwykłą pocztą) Hasła SMS-owe Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 32

33 Podsumowanie metod autentykacji i autoryzacji dostępu Podsumowanie metod autentykacji i autoryzacji dostępu Hasła są słabą metodą autentykacji, ale ciągle najprostszą w użyciu Hasła S/Key nie wymagają żadnego specjalnego sprzętu, lecz są kłopotliwe w użyciu. Lepsze metody identyfikacji użytkowników wymagają zwykle specjalnych urządzeń. Zastosowanie powyższych metod w systemie UNIX wymaga odpowiednich zmian w programach serwerów dokonujących autoryzacji dostępu, a więc rekompilacji serwerów ze źródeł, np: login logowanie na konsoli, przez modemy, terminale, sieciowo za pośrednictwem protokołu telnet, itp. in.ftpd dostęp przez FTP pop3d czytanie poczty za pomocą POP3 xdm logowanie okienkowe X11, na konsoli systemu lub zdalnie su dostęp do konta root i innych za pomocą komendy su passwd zmiana różnych rodzajów haseł za pomocą programu passwd Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 33

34 Techniki kryptograficzne Techniki kryptograficzne Techniki kryptograficzne pozwalają zabezpieczyć przed niepowołanym dostępem dane znajdujące się na dysku, nawet gdy inni mają dostęp do tego komputera. Zaszyfrowane dane mogą być w bezpieczny sposób transmitowane przez sieć i nawet jeśli zostaną przechwycone, ich zawartość jest nadal bezpieczna. Szyfrowanie może być dokonywane w miarę potrzeb np. tylko na czas transmisji, w celu utworzenia bezpiecznego kanału komunikacyjnego. Kryptografia pomaga wykryć przypadkowe lub celowe modyfikacje danych. Technik kryptograficznych można użyć w celu weryfikacji autora dokumentu (podpis elektroniczny). ale... nie zabezpieczy przed usunięciem plików. jeśli jakiś program lub ktoś jest w stanie podmienić programy, z których korzystasz, może uzyskać dostęp do jawnej wersji plików. Wersje plików w postaci niezaszyfrowanej mogą znajdować się w katalogach tymczasowych. Należy je kasować w sposób pewny. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 34

35 Techniki kryptograficzne Pojęcia dotyczące szyfrowania Algorytm szyfrowania Funkcja, oparta zwykle na solidnych podstawach matematycznych (by zapewnić o jej mocy), dokonująca właściwego szyfrowania lub deszyfracji. Dobre algorytmy szyfrowania z reguły są publicznie znane, a ich moc jest oparta na tajności zastosowanych kluczy. Klucz szyfrowania Używany przez algorytm szyfrujący do przekształcenia danych z postaci jawnej do zaszyfrowanej lub na odwrót. Mają podobną funkcję jak hasła, ale system nie porównuje podanego hasła z hasłem zapamiętanym w pliku, lecz używa go do przekształcenia. Długość klucza Zależna od używanego algorytmu. Dłuższe klucze są bezpieczniejsze, ale wymagają dłuższego czasu na szyfrowanie/deszyfrację, więc konieczny jest kompromis. Tekst jawny Informacje, które będą szyfrowane Tekst niejawny lub zaszyfrowany (ciphertext) Dane uzyskane po zaszyfrowaniu danych jawnych. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 35

36 Techniki kryptograficzne Techniki kryptograficzne Rodzaje szyfrów Szyfry strumieniowe Przekształcają tekst jawny w szyfrogram bit po bicie Najprostszy: generator strumienia klucza tworzy strumień bitów k 1, k 2,..., k i, który jest sumowany modulo 2 z ciągiem bitów tekstu jawnego p 1, p 2,..., p i tworząc strumień bitów szyfrogramu c i = p i k i. Po odebraniu tekst jawny wyliczany jest jako p i = c i k i po obu stronach generator klucza musi działać identycznie. Aby system był odporny na kryptoanalizę, po wyłączeniu/włączeniu nie powinien rozpoczynać pracy od zera, lecz za każdym razem od innego klucza inicjującego. Ze względu na konieczność zmiany klucza przy resecie szyfry strumieniowe nadają się raczej do szyfrowania ciągłej transmisji bitów pomiędzy stronami niż pojedynczych wiadomości. Generator strumienia klucza jest generatorem okresowym. Długość okresu stanowi o bezpieczeństwie systemu. Szyfry blokowe Przekształcają tekst jawny w szyfrogram blokami o ustalonej (dla danego algorytmu) długości. Łatwiejsze w implementacji programowej niż szyfry strumieniowe. Minimalna wielkość bloku może być i wadą np. w transmisji danych z terminala komputerowego znak po znaku. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 36

37 Techniki kryptograficzne Podstawowe tryby pracy szyfrów blokowych ECB Elektroniczna Książka Kodowa (Electronic Code Book) Każdy blok tekstu jest szyfrowany niezależnie od pozostałych. Najłatwiejszy do zastosowania. Błąd transmisji/uszkodzenie w pojedynczym bloku szyfrogramu powoduje jedynie uszkodzenie pojedynczego bloku tekstu jawnego. Podatny na kryptoanalizę jeśli mamy dostęp do tekstu jawnego i szyfrogramu, możemy zacząć odtwarzać książkę kodową. Podatny na ataki z podstawieniem lub powtórzeniem bloku. tekst jawny klucz szyfrator bufor transmisja szyfrogramu CBC Wiązanie Bloków Zaszyfrowanych (Cipher Block Chaining) Tekst jawny jest przed zaszyfrowaniem sumowany modulo 2 z poprzednimi blokami szyfrogramów. Podatny na błędy transmisji uszkodzenie bloków szyfrogramu powoduje niemożność odszyfrowania kolejnych bloków. Inne tryby (Cipher Feedback Mode (CFB); Output Feedback Mode (OFB) itp.) tekst jawny klucz szyfrator bufor transmisja szyfrogramu Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 37

38 Techniki kryptograficzne Systemy z kluczem prywatnym i publicznym Systemy z kluczem prywatnym Ten sam klucz jest używany zarówno do szyfrowania jak i deszyfrowania. Jeżeli szyfrowana jest transmisja danych, klucz musi być znany obu stronom przed rozpoczęciem transmisji i uzgodniony z użyciem innego kanału komunikacyjnego. Zwane również systemami z kluczem symetrycznym. szyfrowanie deszyfrowanie Klucz szyfrowania adfadgfsdghjd asfvahjhsdjsa ajsdhgfawgas sdavfalukad sdgweknzzsv asdvawoinvi tekst jawny szyfrogram tekst jawny Systemy z kluczem publicznym Korzystają z klucza publicznego (który może być ogólnie znany, opublikowany w gazecie, itp.) w celu szyfrowania danych i klucza prywatnego w celu deszyfracji. Zwane również systemami z kluczem asymetrycznym. Klucz prywatny szyfrowanie deszyfrowanie adfadgfsdghjd asfvahjhsdjsa ajsdhgfawgas sdavfalukad sdgweknzzsv asdvawoinvi tekst jawny szyfrogram tekst jawny Klucz publiczny Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 38

39 Techniki kryptograficzne Systemy z kluczem prywatnym i publicznym Systemy z kluczem prywatnym (symetrycznym) są znacznie szybsze niż systemy z kluczem publicznym (asymetrycznym), ale nie mogą zostać użyte w celu utworzenia bezpiecznego kanału komunikacyjnego jeśli nie dysponujemy już innym bezpiecznym kanałem komunikacyjnym w celu przesłania kluczy (problem jajka i kury). Systemy z kluczem publicznym mogą zostać użyte do utworzenia bezpiecznego kanału komunikacyjnego nawet wtedy, gdy nie możemy wymienić kluczy w sposób tajny, ale są znacznie wolniejsze niż systemy symetryczne. Dlatego najpopularniejsze są: Systemy hybrydowe Wolniejszy w działaniu system z kluczem publicznym jest używany w celu nawiązania komunikacji i wymiany losowo wygenerowanego klucza sesji, który jest następnie używany jako klucz symetryczny, znany przez obie strony i obowiązujący tylko na czas trwania tego połączenia. Obecnie prawie wszystkie systemy kryptograficzne są systemami hybrydowymi. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 39

40 Systemy z kluczem prywatnym Systemy z kluczem prywatnym ROT13 Szyfr Cezara nie będący prawdziwym szyfrem, lecz metodą używaną w systemie Usenet News do zasłaniania treści uważanych za obraźliwe, niesmaczne lub mogące urazić osoby nie chcące ich czytać. Zwykły kod podstawieniowy przesuwający kody o 13 pozycji, zastępując literę a literą n, b o, itd. (a także n przechodzi w a itd.). Przykład zaszyfrowanego tekstu: Cbmqebjvravn qyn Xerjalpu v Manwbzlpu Xeóyvxn crypt Tradycyjna metoda szyfrowania w systemach UNIX, oparta o niemiecki system Enigma z kluczem zmiennej długości. Zawiera sumę kontrolną, co ułatwia ataki automatyczne za pomocą odpowiednio napisanych programów, nie jest więc uznawany obecnie za bezpieczny. Dodatkowo sprawę komplikuje fakt istnienia w systemie UNIX jednokierunkowej funkcji skrótu o nazwie crypt, która nadal jest uważana za bezpieczną i używana np. do szyfrowania haseł. DES Data Encryption Standard Rozwinięty w latach 1970 przez amerykańskie biuro NIST i firmę IBM. Używa 56-bitowych kluczy i nie jest obecnie uważany za bezpieczny. Potrójny DES DES zastosowany trzy razy pod rząd z różnymi kluczami (strumieniowo zaszyfruj kluczem 1, deszyfruj kluczem 2, szyfruj kluczem 3), dając tym samym efektywną długość klucza 168 bitów. Zdecydowanie bezpieczniejszy, ale ciągle podatny na pewne typy ataków. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 40

41 Systemy z kluczem prywatnym RC2, RC4 i RC5 Wszystkie rozwinięte przez Ronalda Rivesta około początku lat 90, trzymane w tajemnicy przez pewien czas, po czym ujawnione w anonimowych listach wysłanych przez Usenet news w latach Wszystkie wyglądają na mocne. RC2 i RC5 są szyframi blokowymi, RC4 jest szyfrem strumieniowym. RC2 i RC4 dopuszczają stosowanie kluczy o długości od 1 do 2048 bitów, RC5 nie ma żadnych limitów. Wersje eksportowe do niedawna limitowane były do 40 bitów tajnych. IDEA International Data Encryption Algorithm, rozwinięty w Zurychu, następnie opatentowany. Używa kluczy 128- bitowych. Używany przez PGP, SSH i inne programy. Istnieją implementacje dostępne publicznie (wolne od patentów) poza USA. Z powodu praw patentowych, używanie IDEA w USA jest z reguły nielegalne. Skipjack Algorytm objęty jak dotąd tajemnicą, rozwijany przez NSA, korzysta z kluczy 80-bitowych. Blowfish Alternatywa dla algorytmu Skipjack. Rozwinięty w środowisku otwartym i ciągle sprawdzany pod względem bezpieczeństwa. Mimo to używany przez wiele aplikacji. AES (Rijndael) Advanced Encryption Standard. Przyjęty w 2001 jako następca DES (zwycięzca konkursu ogłoszonego w 1997 przez NIST (National Institute of Standards and Technology), Klucz 128, 192 lub 256 bitów, operuje na 128-bitowych blokach danych. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 41

42 Systemy z kluczem prywatnym Systemy z kluczem publicznym Diffie-Hellman System wymiany kluczy pomiędzy dwoma lub więcej stronami. Nie jest sam w sobie systemem kryptograficznym, lecz metodą dokonania bezpiecznej wymiany danych przez kanał publiczny. Szeroko używany jako podstawowa metoda ustalania klucza sesji do późniejszego wykorzystania w transmisji z kluczem prywatnym. RSA Nazwany od nazwisk autorów profesorów uniwersytetu MIT w Bostonie: Ronalda Rivesta, Adi Shamira, a także profesora USC: Leonarda Adlemana. Może być używany do szyfrowania danych lub podpisywania dokumentów. Klucz o dowolnej długości, jednak bezpieczne wartości to co najmniej 512 bitów. ElGamal Używany podobnie jak RSA. Oparty na metodach wykładniczych i arytmetyce resztowej. DSA Digital Signature Algorithm. Rozwinięty przez NSA, używany wyłącznie do generowania podpisów cyfrowych (choć jest możliwe użycie go do szyfrowania). Czasem zwany DSS. Dowolna długość klucza, lecz standardowo używa się bitów. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 42

43 Systemy z kluczem prywatnym Moc algorytmu Potrójny des jest uznawany za tak samo bezpieczny jak pojedynczy DES z kluczem 112-bitowym Załóżmy, że posiadamy układ scalony potrafiący wykonać milion szyfrowań DES na sekundę Załóżmy, że potrafimy zbudować komputer złożony z 1 miliona takich układów Aby sprawdzić wszystkie możliwości (atak siłowy) musimy wykonać operacji operacji operacji na sek. = sekund lat To ciągle około 16 razy dłużej niż szacowany wiek wszechświata (10 10 lat). Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 43

44 Szyfr z kluczem publicznym algorytm Diffie-Hellman Szyfr z kluczem publicznym algorytm Diffie-Hellman Pierwszy wynaleziony algorytm z kluczem publicznym. Oparty na trudności znalezienia logarytmów liczb w ciałach skończonych (np. liczbach całkowitych ograniczonych wielkością) w porównaniu do łatwości znalezienia potęg liczb w tych samych zbiorach skończonych. Bardzo proste podstawy matematyczne: Dwie strony muszą uzgodnić dwie duże liczby całkowite n i g, takie, że: 1 < g < n Te liczby nie muszą być tajne. Dwoje użytkowników Alicja i Bob mogą dokonać ich wymiany z użyciem kanału publicznego. Alicja wybiera losowo dużą liczbę x i wylicza: X = g x mod n Bob wybiera losowo dużą liczbę y i wylicza: Y = g y mod n Alicja wysyła X do Boba. Bob wysyła Y do Alicji. Oboje zachowują odpowiednio x i y w tajemnicy. X oraz Y stają się powszechnie znane Alicja wylicza k = Y x mod n Bob wylicza k = X y mod n Zarówno Bob jak i Alicja są w posiadaniu tej samej liczby k = k = (g xy mod n), a nikt inny, kto podsłuchiwał kanał komunikacyjny i wymianę liczb n, g, X i Y nie jest w stanie odtworzyć tej liczby na ich podstawie, bo x i y nie były wymieniane i są trzymane w tajemnicy. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 44

45 Kryptograficzne funkcje skrótu Kryptograficzne funkcje skrótu Zwane także funkcjami haszującymi lub kryptograficznymi funkcjami sumy kontrolnej W powtarzalny sposób przetwarzają dane wejściowe dowolnej długości na łańcuch wynikowy o stałej, niewielkiej długości. Funkcje jednokierunkowe, tzn. te same dane dają ten sam wynik, ale nie jest możliwe odtworzenie danych wejściowych na podstawie wyniku. Nawet drobna zmiana w danych wejściowych zmienia znaczącą część lub całość wyniku, nie jest więc możliwe do przewidzenia jak zmienić dane wejściowe tak, by otrzymać ten sam wynik funkcji skrótu. Przy co najmniej 128 bitach wynikowych, atak siłowy w celu znalezienia danych generujących zadany skrót jest poza zasięgiem jakichkolwiek systemów komputerowych ( możliwości do sprawdzenia). Mogą być używane do sprawdzania spójności danych lub podpisów cyfrowych. Zamiast podpisywać kryptograficznie całą wiadomość, co wymagałoby kosztownego szyfrowania kilobajtów lub megabajtów danych metodą asymetryczną, można wyliczyć jej skrót MD5 i podpisać wyłącznie skrót. Skrót MD5 lub SHA ważnych plików może zostać wygenerowany i zapamiętany gdzieś poza systemem, aby w razie wątpliwości przekonać się, czy pliki nie zostały zmodyfikowane. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 45

46 Kryptograficzne funkcje skrótu Algorytmy Funkcji Skrótu MD2, MD4 i MD5 Najczęściej używane funkcje, produkujące 128-bitowy wynik. Funkcja MD2 opublikowana w RFC1319, nie ma żadnych znanych ułomności, lecz jest bardzo wolna. MD4 została opublikowana w RFC1186 i RFC1320 szybka, zwięzła, zoptymalizowana na procesory typu little-endian (Zilog, Intel). Wkrótce po opublikowaniu odkryto pewne potencjalne metody ataku, co w rezultacie zaowocowało utworzeniem funkcji MD5 nieco wolniejszej, ale bezpieczniejszej i najszerzej obecnie stosowanej. SHA (SHA-1, SHA-2) Działająca podobnie jak algorytm MD4/MD5, ale produkuje 160-bitowe wyniki. Zaprojektowana przez NSA. HAVAL Modyfikacja algorytmu funkcji MD5, dla danych wyjściowych od 92 do 256 bitów i regulowaną liczbą wewnętrznych iteracji algorytmu. Może być używana, by tworzyć skróty szybciej niż MD5 (ale o gorszej jakości) lub wolniej, ale za to bezpieczniej. SNEFRU Produkuje 128 lub 256 bitów wyjściowych. Regulowana liczba wewnętrznych iteracji, jednak analiza algorytmu wskazuje, że 4-przebiegowa funkcja SNEFRU produkuje dane obciążone pewnymi kluczowymi słabościami, a rekomendowana 8-przebiegowa funkcja jest wolniejsza niż MD5 czy HAVAL. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 46

47 Paradoks dnia urodzin Paradoks dnia urodzin 1. Jaka jest minimalna liczba osób w grupie, aby z prawdopodobieństwem p > 0.5 znalazła się w niej osoba obchodząca urodziny tego samego dnia co ja? (albo dowolnego innego dnia wyznaczonego a priori) Jaka jest minimalna liczba osób w grupie, aby z prawdopodobieństwem p > 0.5 znalazły się 2 osoby obchodzące urodziny tego samego dnia? 23 Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 47

48 Paradoks dnia urodzin Paradoks dnia urodzin 1. Jaka jest minimalna liczba osób w grupie, aby z prawdopodobieństwem p > 0.5 znalazła się w niej osoba obchodząca urodziny tego samego dnia co ja? (albo dowolnego innego dnia wyznaczonego a priori) Jaka jest minimalna liczba osób w grupie, aby z prawdopodobieństwem p > 0.5 znalazły się 2 osoby obchodzące urodziny tego samego dnia? 23 Zastosowania Łamanie funkcji haszujących ( atak urodzinowy lub kolizja ) wygenerowanie 2 dokumentów o tym samym skrócie jest łatwiejsze niż by się mogło wydawać Sposób ataku: generujemy 2 grupy dokumentów poprawnych i niepoprawnych, 1. i 2. grupa różni się od siebie treścią, w każdej grupie różnice między nimi polegają na formatowaniu, spacjach, itp. (nieistotne dla treści), znajdujemy kolizję skrótu dowolnego dokumentu z grupy 1. z dowolnym dokumentem z grupy 2, przedstawiamy do podpisu dokument z grupy 1. (jego skrót), później twierdzimy, że został podpisany dokument z grupy 2. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 48

49 Paradoks dnia urodzin Inne zastosowania systemów z kluczem publicznym Szyfrowanie danych Klucz prywatny szyfrowanie deszyfrowanie Podpis elektroniczny adfadgfsdghjd asfvahjhsdjsa ajsdhgfawgas sdavfalukad sdgweknzzsv asdvawoinvi tekst jawny szyfrogram tekst jawny Klucz publiczny Klucz prywatny podpisywanie weryfikacja ok tekst jawny Klucz publiczny -- sdgweknzzsv asdvawoinvi podpisany tekst jawny tekst jawny Obie te techniki mogą być zastosowane jednocześnie w celu wysłania zaszyfrowanej podpisanej wiadomości. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 49

50 PGP & GPG PGP & GPG Pretty Good Privacy Całkiem Niezła Prywatność, Gnu Privary Guard Pierwsza wersja programu napisana w 1990 przez Philipa Zimmermana, dla systemów UNIX i MS-DOS. Przez długi czas program był traktowany przez rząd USA, na równi ze wszystkimi mocnymi programami kryptograficznymi jak broń, a więc nie można go było wywozić (eksportować) z USA. Mimo to wyeksportowany legalnie, w postaci książki z pełnym kodem źródłowym programu (zabronienie jej wywozu byłoby sprzeczne z poprawką do Konstytucji USA gwarantującą wolność słowa). Korzysta z kluczy asymetrycznych do szyfrowania lub podpisywania poczty, artykułów news i plików. Korzysta z różnych metod szyfrowania, takich jak RSA, DSA, IDEA, etc. Różne wersje PGP mają (lub nie) wbudowane różne moduły kryptograficzne, ponieważ niektóre z nich są opatentowane w niektórych częściach świata. Z powodów patentowo-licencyjnych powstało w miarę upływu czasu wiele różnych wersji PGP. Często są one wzajemnie niekompatybilne (brak wspólnego podzbioru dostępnych modułów). Można użyć PGP do zaszyfrowania wiadomości przeznaczonej dla jednego lub wielu odbiorców. Można użyć PGP do podpisania wiadomości w sposób kryptograficzny. Obu tych metod można użyć jednocześnie. Posiada własny system zarządzania kluczami z mechanizmem rozproszonego zaufania. Klucze można podpisywać, tworząc sieć zaufania ( a domain of trust ). Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 50

51 Zastosowania kryptografii Zastosowania kryptografii Aplikacje użytkownika końcowego korzystają z funkcji kryptograficznych w celu ochrony danych przechowywanych w systemie komputerowym: PGP, używane do szyfrowania/deszyfrowania danych; PGP, używane do ręcznej weryfikacji podpisów cyfrowych; SSH, używane do zdalnego logowania w bezpieczny sposób; Różnorakie programy szyfrujące zawartość plików lub dysków; Możliwości szyfrowania wbudowane w wiele aplikacji (edytory tekstu, bazy danych, arkusze kalkulacyjne, itp.) Warstwy oprogramowania sieciowego korzystają z funkcji kryptograficznych, stanowiących odrębną warstwę (sytuowaną zwykle w okolicach warstwy transportowej lub sesji), dostarczając tym samym mechanizmów nieobecnych w niższych warstwach. SSL, używane do nawiązywania szyfrowanych połączeń, wbudowane w wielu aplikacjach klienckich, takich jak Netscape, MSIE, lynx, pine, etc. SSH, używane w celu zestawiania tuneli i forwardowania portów; PGP, używane jako automatyczna warstwa dokonująca szyfrowania/deszyfrowania; wszystkie programy VPN (Virtual Private Networks). Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 51

52 Przykłady zastosowań kryptografii Przykłady zastosowań kryptografii Systemy pocztowe i Usenet News PGP Pretty Good Privacy GPG Gnu Privacy Guard Połączenia zdalne i praca interaktywna SSH Secure Shell Stelnet Secure Telnet WWW i inne usługi Protokół SHTTP (niewypał) SSL Secure Socket Layer W protokole HTTPS serwerów WWW W protokole TLS i AUTH serwerów pocztowych Jako przezroczysta warstwa w innych protokołach opartych na TCP Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 52

53 Kryptografia uwagi Kryptografia uwagi Bezpieczeństwo systemu kryptograficznego powinno zależeć od utrzymania w tajemnicy kluczy, a nie algorytmu. Wiele firm oferuje algorytmy typu maść wężowa (snake-oil), które nigdy nie były sprawdzane pod względem mocy i bezpieczeństwa. Binarne dane uzyskane w wyniku funkcji XOR i binarne dane uzyskane jako wynik funkcji kryptograficznej wyglądają podobnie i nie można ich rozróżnić bez zastosowania kryptoanalizy. Algorytmy utrzymywane w tajemnicy z reguły okazują się najsłabszymi lub zawierającymi podstawowe błędy z punktu widzenia bezpieczeństwa. Kompresja informacji przed szyfrowaniem zwiększa entropię wiadomości i utrudnia jej kryptoanalizę. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 53

54 Kryptografia podsumowanie Kryptografia podsumowanie Zabroniona lub ograniczona restrykcjami w niektórych krajach, np. do niedawna we Francji. Do roku 2000 restrykcje eksportowe z USA. Niektóre z algorytmów są opatentowane w różnych krajach i nie mogą być wszędzie stosowane bez uiszczania odpowiednich opłat licencyjnych. Nieustające wysiłki rządów różnych państw (w tym USA) do obowiązkowego nadzoru nad kluczami ( key escrow ) Można z niej korzystać w celu ochrony danych przez ich szyfrowanie. Systemy z kluczem publicznym mogą być również używane w celu elektronicznego podpisywania dokumentów i weryfikacji ich autentyczności. Weryfikacja autentyczności danych: sprawdzenie, czy dokument został podpisany kluczem prywatnym autora. Sprawdzanie tożsamości drugiej strony: Wysłanie zapytania (np. losowo wybrana liczba) zaszyfrowanego kluczem publicznym adresata i oczekiwanie na odesłanie rozszyfrowanej odpowiedzi. (Np. w ssh). Weryfikacja danych Sprawdzanie skrótów kryptograficznych wybranych plików (funkcje haszujące). Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 54

55 Kryptografia w sprzęcie Kryptografia w sprzęcie Przykład: Prosty zamek elektroniczny w oparciu o ibutton Każdy ibutton to urządzenie elektroniczne komunikujące się protokołem 1Wire i posiadające unikalny elektroniczny identyfikator wygrawerowany laserowo w krzemie Czytnik ibutton otwiera drzwi na podstawie odczytanego 64-bitowego numeru przyłożonej pastylki ibutton. Problemy: Trywialne do podrobienia techniką nagraj-odtwórz (aktywny spoofing) Pojedynczy ibutton może zostać sklonowany lub zaemulowany za pomocą innego urządzenia, dając efektywnie taki sam dostęp. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 55

56 Kryptografia w sprzęcie (c.d.) Kryptografia w sprzęcie (c.d.) Rozwiązanie: Kryptograficzny ibutton Pewne tajne dane są przechowywane w pamięci nieulotnej ibuttona i nie są możliwe do odczytania wprost. Te same dane muszą być znane w systemie autoryzacji dostępu za pomocą ibuttona. Czytnik ibutton wysyła jakieś dane (mogą być losowe) do ibuttona Odebrane dane są doklejane do pamiętanych danych tajnych i dopiero z nich razem wewnątrz ibuttona liczony jest skrót kryptograficzny Do czytnika transmitowany jest wyliczony skrót. Jeśli taki sam skrót został wygenerowany w systemie autoryzacji dostępu, autoryzacja jest poprawna. Tajne dane nie są nigdy transmitowane pomiędzy ibuttonem i czytnikiem, więc nie mogą zostać skradzione. Analogiczny problem dotyczy identyfikacji za pomocą prostych tagów RFID lub zwykłych kart ATM (wyłącznie z paskiem magnetycznym) autoryzowanych PINem Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 56

57 SSH SSH Używany do bezpiecznego zdalnego logowania się (łączy funkcjonalność programów telnet, rlogin i rsh) Połączenie jest szyfrowane, Identyfikacja klienta przed serwerem, ale i serwera przed klientem, Możliwość tunelowania innych połączeń przez szyfrowany kanał, Możliwość tunelowania X11, Różne metody uwierzytelniania i autoryzacji dostępu: hasła tradycyjne, pliki.shosts,.rhosts, /etc/host.equiv, klucze RSA pliki authorized keys lub agent ssh Różne metody szyfrowania: mocne lecz wolne, ale i szybkie, choć mniej bezpieczne (IDEA, DES, 3DES, Blowfish i inne). SCP do kopiowania plików. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 57

58 SSH Forwardowanie portów SSH Klienta SSH można wykorzystać do tunelowania (forwardowania) dowolnych portów TCP pomiędzy systemami, które nawiązały bezpieczne połączenie. Forwardowane porty są tunelowane szyfrowanym kanałem i są bezpieczne. Tunelowanie można wykorzystać do ochrony haseł i innych tajnych danych, które mogłyby zostać podsłuchane podczas komunikacji innymi protokołami sieciowymi (np. POP3, SMTP). Przykład tunelowania: Logowanie ze stacji wks1 na serwer server2 przy pomocy: ssh -l nazwa-konta -L1025:localhost:25 -L1110:server3:110 server2 Pierwszy parametr -L powoduje, że klient ssh lokalnie na komputerze wks1 otwiera port Ktokolwiek połączy się z tym portem zostanie przeniesiony na drugi koniec szyfrowanego kanału (na serwerze server2) i stamtąd nawiąże połączenie na port 25 komputera localhost (czyli server2). Drugi parametr -L otwiera lokalnie (na wks1) port numer 1110, a każdy klient/proces łączący się z tym portem jest automatycznie przenoszony na server2 (przez kanał szyfrowany), gdzie server2 otworzy połączenie na port 110 serwera server3 (zdalna część opcji -L). Dzięki temu cała poczta przesyłana między wks1 a server2 jest bezpieczna, zakładając, że połączenie między server2 (serwer SMTP) a server3 (serwer POP3) znajduje się w chronionej sieci lokalnej. Podobne połączenia mogą być nawiązywane przez klientów SSH dla systemu MS-Windows, takich jak teraterm lub putty. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 58

59 SSH Tunelowanie SSH Ilustracja ostatniego przykładu: wks1 server2 25 server ssh tunnel Porty 2000 na kliencie, 1025 i 1101 na serwerze, to tymczasowo zajęte porty służące do nawiązywania połączeń. Połączenie między wks1:2000 i server2:22 dokonywane jest poprzez sieć publiczną, narażoną na podsłuchiwanie. Połączenie między server2:1025 i server2:25 jest połączeniem wewnętrznym. Połączenie między server2:1051 i server3:110 dokonywane jest poprzez sieć lokalną. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 59

60 SSH Sieci VPN VPN Virtual Private Network, tworzy bezpieczny kanał komunikacyjny między dwoma punktami połączonymi w sposób pozostawiający wiele do życzenia z punktu widzenia bezpieczeństwa (np. Internet) OpenVPN domyślnie wykorzystuje port 1194 (TCP lub UDP), ale może być skonfigurowany na dowolnym Mechanizmy, z których korzystają rozwiązania VPN: IPSec PPTP Istniejące rozwiązania: CISCO VPN i klient UNIX VPN OpenVPN (Open Source) Terminologia: Urządzenie tap odpowiednik interfejsu Ethernet (np. /dev/eth0) Wszyscy klienci VPN widzą się nawzajem (płaska sieć) Urządzenie tun odpowiednik urządzenia łączącego wirtualnie 2 punkty (np. /dev/ppp0) Routing VPN na poziomie warstwy 3 OSI Możliwość konfigurowania podsieci Płaska struktura może wymagać stosowania PROXY ARP Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 60

61 Pakiet tripwire Pakiet tripwire Wykorzystywany w systemie UNIX do śledzenia integralności plików wykonywalnych i danych Baza danych przechowuje: Kryptograficzne skróty plików liczone na kilka sposobów (Snefru, Haval, MD4, MD5, CRC, etc) Data i czas ostatniej modyfikacji pliku Data i czas ostatniej modyfikacji i-węzła Liczba twardych dowiązań do pliku lub katalogu Prawa dostępu do pliku lub katalogu Jeśli którakolwiek z bieżących wartości nie zgadza się podczas porównywania z wartościami w bazie danych, podnoszony jest alarm. Kryteria porównywania mogą być wybierane selektywnie, zależnie od rodzaju pliku, np. logi systemowe mogą zwiększać rozmiar, a ich zawartość się zmienia, ale: ich i-węzeł oraz daty modyfikacji i-węzła nie powinny się zmieniać ich rozmiar nie powinien się zmniejszać (z wyjątkiem cotygodniowej rotacji) prawa dostępu nie powinny się zmieniać Utworzenie bazy danych: tripwire -initialize Uaktualnienie bazy danych: tripwire -update Interaktywna weryfikacja: tripwire -interactive Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 61

62 Wykrywanie włamań tripwire Wykrywanie włamań tripwire Pakiet pozwalający wykrywać modyfikacje plików w systemie Tworzy bazę danych, która może zawierać dla każdego pliku: Prawa dostępu (w tym bity suid/sgid) i właściciela Daty ctime, mtime i atime Liczbę dowiązań Wielkość pliku Numer i-węzła Sumy kontrolne: CRC, MD4, MD5, SHA i inne Wszystkie te parametry mogą być okresowo kontrolowane i w razie niezgodności raportowane Nie wszystkie zmiany muszą oznaczać podniesienie alarmu, na przykład: Typ pliku [ ] OK [ ] ALARM Logi systemowe data modyfikacji, wielkość, sumy kontrolne zmniejszenie rozmiaru Katalog /tmp atime, mtime, liczba dowiązań prawa dostępu, ctime Katalogi systemowe atime prawa dostępu, mtime, ctime, l. dowiązań, i-num Pliki w /etc atime praktycznie cokolwiek Plik /etc/mtab atime, mtime, zawartość (po reboocie) i-num... Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 62

63 Wykrywanie włamań tripwire tripwire Odtworzenie (odszyfrowanie) konfiguracji: twadmin --print-cfgfile > twcfg.txt Utworzony w ten sposób plik tekstowy można poprawiać, a następnie ponownie zainstalować w systemie (szyfrując go) za pomocą: Utworzenie (zaszyfrowanie) konfiguracji: twadmin --create-cfgfile --site-keyfile./key twcfg.txt Inicjowanie bazy: tripwire --init Weryfikacja systemu plików z bazą: tripwire --check Uaktualnienie definicji plików w bazie: tripwire --update --interactive Uaktualnianie zasad monitorowania plików: twadmin --print-polfile > policy.txt vi policy.txt tripwire --update-policy policy.txt Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 63

64 tripwire przykład raportu tripwire przykład raportu Report generated by: root Report created on: Sun Dec 12 04:20: Database last updated on: Wed Dec 8 18:31: Modified object name: /etc/lilo.conf Property: Expected Observed * Inode Number * Mode -r rw * Size * Modify Time Thu Nov 18 19:04: Sat Dec 11 03:00:24 * 2004 * CRC32 DdsJ3d DIPiip * MD5 Bpu+67FjXaF3X8+aVKDP2u BVa8jQ830v+kRD4DRtbrrE Rule Name: Boot Scripts (/etc/rc.d) Severity Level: 100 Added object name: Added object name: /etc/rc.d/rc.mrtg /etc/rc.d/rc.snmpd Modified object name: /etc/rc.d/rc.firewall Property: Expected Observed * Mode -rwx r-x Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 64

65 tripwire przykład raportu tripwire przykład raportu Modified object name: /etc Property: Expected Observed * Num Links * Modify Time Fri Oct 15 19:39: Thu Oct 21 11:51: Modified object name: /etc/shadow Property: Expected Observed * Inode Number * Modify Time Fri Oct 15 19:39: Thu Oct 21 11:51: * CRC32 BABTuP ACmq4q * MD5 A4MskYXlKSULil8ZOqy78V DcmVCrPvVGZv7AjidYKN2q Modified object name: /etc/shadow- Property: Expected Observed * Size * Modify Time Fri Oct 15 18:32: Fri Oct 15 19:39: * CRC32 DNkCb7 BABTuP * MD5 D1Gbg9ta4Ioel6EV5UK9s8 A4MskYXlKSULil8ZOqy78V Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 65

66 SSL SSL Używane w celu poprawy bezpieczeństwa usług korzystających z protokołów TCP. HTTP TELNET (stelnet) SMTP (sendmail v i późniejsze) IMAP/POP3 inne Działa jako warstwa pośrednia: Początkowo komunikacja zostaje nawiązana w standardowy sposób (funkcje bind(), accept() i connect()). Przejście do transmisji z wykorzystaniem SSL może być wymuszane lub opcjonalne i negocjowane. Jeżeli obie strony mogą korzystać z SSL, połączenie zostaje podniesione do poziomu SSL, poprzez wymianę kluczy, certyfikatów, autoryzację itd., pozostawiając nadal 2 połączone ze sobą gniazdka punkty końcowe transmisji, ale udostępniając także nowe struktury komunikacyjne SSL, operujące na szyfrowanym strumieniu danych (SSL write(), SSL read()). Tutorial dotyczący programowania SSL: (szczególnie 2- częściowy artykuł w plikach PDF, opisujący krok po kroku pisanie aplikacji typu klient-serwer. Kopia jest dostępna pod adresem Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 66

67 Stos TCP/IP podczas korzystania z SSL Stos TCP/IP podczas korzystania z SSL Aplikacji Prezentacji Sesji WWW POP FTP Telnet SMTP SSL SMB DNS DHCP SNMP BOOTP TFTP NetBIOS Transportowa Sieciowa TCP RIP OSPF ICMP UDP IP Łącza ARP RARP SNAP LLC (c)ts Fizyczna (c)2001 TS Ethernet, Token Ring, PtP, ATM,... Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 67

68 Protokoły bezpieczeństwa w aplikacjach internetowych Protokoły bezpieczeństwa w aplikacjach internetowych Aplikacji PGP OpenPGP Prezentacji S/MIME S-HTTP SSH Sesji Kerberos SSL TLS DTLS Transportowa Sieciowa IPSec IKE ±cza IEEE 802.1AE PPTP (c)ts L2TP (IpSec/IKE) Fizyczna (c)2001 TS Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 68

69 SSL Secure Socket Layer SSL Secure Socket Layer szyfruje dane pozwala zabezpieczyć się przed atakami typu Man-in-the-middle korzysta z certyfikatów w celu sprawdzenia tożsamości obu stron Certyfikaty weryfikacja tożsamości obu stron zabezpieczenie przed spoofingiem (podszywaniem się) automatyczne pobieranie certyfikatów podczas nawiązywania połączenia system podpisów Certificate Authorities Korzystanie z SSL W sposób jawny: przez użycie protokołu takiego jak HTTPS przez korzystanie z bibliotek SSL poprzez odpowiednie funkcje Niejawnie: z użyciem TLSWRAP Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 69

70 SSL Secure Socket Layer SSL Secure Socket Layer Dwa podstawowe cele korzystania z SSL: dwustronne uwierzytelnienie i zapewnienie bezpieczeństwa utworzenie bezpiecznego kanału komunikacyjnego, który mogą wykorzystać wyższe warstwy protokołu Aplikacji Prezentacji Sesji Transportowa Sieciowa Łącza WWW POP FTP Telnet SMTP ARP RARP SSL SMB DNS DHCP SNMP BOOTP TFTP TCP NetBIOS RIP OSPF ICMP SNAP LLC UDP IP (c)ts Fizyczna (c)2001 TS Ethernet, Token Ring, PtP, ATM,... Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 70

71 SSL Secure Socket Layer SSL/TLS krótka historia rozwoju We wczesnych latach 90 IETF ustanowiła grupę roboczą Web Transaction Security (WTS) Spowodowało to powstanie protokołu warstwy aplikacji nazwanego Secure Hypertext Transfer Protocol (S-HTTP), opisanego w eksperymentalnych RFCs 2659 i 2660 Nieezależnie od tego, Netscape Communications zaproponowało i opatentowało protokół warstwy transportowej nazwany Secure Sockets Layer (SSL) SSL jest umieszczony nad połączeniową warstwą transportową zapewniającą wolny od błędów przesył danych (TCP lub podobna) W 1994 SSL 2.0 został zaimplementowany przez Netscape Communications w przeglądarce Netscape Navigator Microsoft zaproponował podobną koncepcję nazwaną Private Communication Technology (PCT) i poprawioną/rozbudowaną wersję Secure Transport Layer Protocol (STLP) w roku 1995 W 1996 powstała specyfikacja SSL 3.0 (obecnie RFC6101) W 1999 IETF założył grupę roboczą Transport Layer Security (TLS) (RFC 2246), aby rozwiązać spór między Netscape Communications (SSL) i Microsoftem (PCT/STLP) Dalszy rozwój skupił się na TLS, owocując standardem TLS 1.1 (RFC 4346) w kwietniu 2006, jak również protokołem Datagram TLS 1.0 (DTLS) (RFC 4347) W kwietniu 2008 została ogłoszona specyfikacja TLS 1.2 RFC 5246 Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 71

72 SSL Secure Socket Layer Ograniczenia/wady SSL SSL/TLS mają zapewniać bezpieczną komunikację pomiędzy dwoma punktami SSL/TLS nie są kompletną platformą bezpieczeństwa nie rozwiązują problemów takich jak: SQL injection Cross-site scripting (XSS) Cross-site request forgery (CSRF) Korzystanie z SSL/TLS może powodować problemy z implementacją polityki bezpieczeństwa (content screening) i może wymagać instalacji proxy SSL/TLS Ataki MITM W teorii zabezpieczenie przed atakami Man in the Middle W praktyce problemy z zarządzaniem certyfikatami i strukturą ich uwierzytelniania Błędy w kodzie SSL Błędy w interpretowaniu kodów błędu weryfikacji certyfikatów (ostatnio: wybory 2014) ( ) Heartbleed attack (OpenSSL do 1.0.1e włącznie) ( ) poodle attack na SSL 3.0 (także TLS 1.0 i TLS 1.1) Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 72

73 SSL Secure Socket Layer SSL Certyfikaty Certyfikat jest odpowiednikiem pary kluczy w kryptografii z kluczem publicznym Certyfikat publiczny oprócz publicznej części klucza zawiera informacje o jego właścicielu: Certificate Name identyfikator certyfikatu Expiry Date Data wygaśnięcia ważności (z reguły rok od utworzenia certyfikatu) Common Name nazwa intytucji/osoby (widoczna jako issued to/wystawiony dla ) Address adres osoby kontaktowej (administrator związany z serwerem/domeną) Organisation nazwa instytucji, dla której wystawiany jest certyfikat Department dział/oddział/jednostka organizacyjna City / Town miasto związane z instytucją/oddziałem State / Province województwo itp. Country kraj Private Key Length długość klucza prywatnego: obecnie zalecane: 2048 bitów, minimum 1024 A także: numer wersji, sumer seryjny, algorytm użyty do podpisania, instytucję podpisującą (issuer), czas ważności, klucz publiczny Część publiczna certyfikatu musi być podpisana przez CA (Certificate Authority) lub samodzielnie Część prywatna z definicji nie powinna być nigdzie publikowana i pozostać tajna Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 73

74 SSL Secure Socket Layer Definicje i standardy ANSI X.509 certyfikaty RFC 2246 TLS RFC 2487 SMTP over TLS RFC 2818 HTTPS ( port 443) RFC 4346 TLS 1.1 RFC 5246 TLS 1.2 Wykorzystanie SSL OpenSSL ( Apache SSL ( mod ssl ( Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 74

75 Standardy i źródła informacji w Internecie Standardy i źródła informacji w Internecie Standardy Otwarte Ustalane przez ISOC (Internet Society) ISOC jest zarządzany przez Internet Architecture Board (IAB) IAB polega w swojej pracy na: Internet Engineering Task Force (IETF) - wprowadzanie nowych standardów Internet Assigned Numbers Authority (IANA) koordynacja przydzielania numerów pomiędzy protokoły Nowe standardy są najpierw publikowane jako drafty petencjalni kandydaci do zostania dokumentem RFC (Request For Comments) Po obowiązkowej dyskusji, testach i ocenie IETF otrzymuje rekomendację publikacji dokumentu i nadaje mu numer RFC Nawet po publikacji i zaakceptowaniu jako standard, dokument pozostaje otwarty na komentarze, może być poprawiany lub zmieniony przez inny ( updated by, obsoleted by ) Cały ten proces jest opisany... oczywiście w dokumencie RFC. (RFC 2223 :-)) Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 75

76 Standardy i źródła informacji w Internecie Dokumenty RFC Dostępne w wielu miejscach, np. ftp.rtfm.mit.edu Uwaga na notki: Obsoletes, Obsoleted by, Updates i Updated by Przykłady najbardziej znanych dokumentów RFC: RFC 821 Simple Mail Transfer Protocol (obsoleted by RFC 2821). RFC 822 Standard for the format of ARPA Internet text messages. (SMTP headers, obsoleted by RFC 2822) RFC 1652 SMTP Service Extension for 8bit-MIME transport. (ESMTP protocol) RFC 826 Ethernet Address Resolution Protocol. (ARP) RFC 1144 Compressing TCP/IP headers for low-speed serial links. (V. Jacobson. PPP header compression) RFC 2508 Compressing IP/UDP/RTP Headers for Low-Speed Serial Links. S. Casner, V. Jacobson. RFC 1131 OSPF specification. RFC 1142 OSI IS-IS Intra-domain Routing Protocol. RFC 2460 Internet Protocol, Version 6 (IPv6) Specification. W okolicach 1 kwietnia każdego roku tradycyjnie pojawiają się trochę mniej poważne dokuemnty: RFC 1149 Standard for the transmission of IP datagrams on avian carriers. RFC 1925 The Twelve Networking Truths. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 76

77 Typowe problemy bezpieczeństwa w systemie MS-Windows Typowe problemy bezpieczeństwa w systemie MS-Windows Podejście System wie lepiej automatyczne uruchamianie załączników poczty elektronicznej. automatycznie rozpoznawanie typu pliku przez jądro systemu. niespójne sprawdzanie typów plików przez jądro i programy poziomu użytkownika. Wybór bezpieczeństwa systemu na poziomie Wszystko albo nic. ukryta funkcjonalność w programach rozprowadzanych w postaci binarnej. Problemy w konfiguracji systemu niewłaściwe prawa dostępu do plików systemowych lub urządzeń zewnętrznych. niebezpieczne środowisko pracy (możliwość nadpisywania plików systemowych). domyślne uprawnienia zapisu dla wszystkich w wielu plikach systemowych. ogólna złożoność współdziałania programów ze sobą. Właściwe techniki pisania programów brak spójnego interfejsu pomiędzy programami w kwestiach bezpieczeństwa. złożoność interfejsu programistycznego (API) systemu operacyjnego (ponad funkcji w MS- Windows, około 400 w systemach UNIX). typowe podejście do rozwiązywania problemów za pomocą obejść (workarounds). Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 77

78 Typowe problemy bezpieczeństwa w systemach UNIX Typowe problemy bezpieczeństwa w systemach UNIX Bugi w programach setuid buffer overflow przepełnienie bufora printf() string attacks ataki na łańcuchy formatujące printf() obsługa sygnałów względne ścieżki w exec() race condition, czyli wyścig w publicznie zapisywalnych katalogach (np. /tmp) Problemy z konfiguracją systemu Nieprawidłowe prawa dostępu do plików lub urządzeń zewnętrznych Nieprawidłowe i niebezpieczne opcje montowania zdalnych systemów plików Częste stosowanie domyślnych uprawnień odczytu dla wszystkich (w systemach komercyjnych, szczególnie w usłudze NFS) Dobre nawyki w pisaniu bezpiecznych aplikacji Pozbywanie się niepotrzebnych przywilejów (euid==0) gdy nie są potrzebne czarna lista funkcji systemowych, które nigdy nie powinny być używane w programach typu suid. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 78

79 Problemy shell-a Problemy shell-a Typowe inicjowanie powłoki podatne na ataki: PATH=.:/usr/bin:/bin:/usr/local/bin set path = (. /usr/bin /bin /usr/local/bin) sh lub ksh csh Co się stanie po wpisaniu: cd /tmp ls -l? Należy także unikać niepoprawnej składni, która umieszcza katalog. w ścieżce: PATH=:/usr/bin:/bin:/usr/local/bin: sh lub ksh zamiast: PATH= /usr/bin:/bin:/usr/local/bin sh lub ksh Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 79

80 Problemy bezpieczeństwa w aplikacjach Problemy bezpieczeństwa w aplikacjach Nadpisywanie bufora Brak sprawdzania zakresów przy kopiowaniu danych Dane kopiowane z wejścia (stdin) Parametry programu (argv) Zmienne środowiskowe (getenv()) Korzystanie z strcpy() zamiast strncpy() Korzystanie z gets() zamiast fgets() Niewłaściwe korzystanie z sscanf() Błędy przy kontroli zakresów w pętlach for, niepoprawne warunki zakończenia pętli for, while lub do. Programy, które miały tego typu problemy: Większość. bind Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 80

81 Problemy bezpieczeństwa w aplikacjach Problemy bezpieczeństwa w aplikacjach Nadpisywanie bufora Ramka stosu wywołania funkcji Parametry funkcji przekazywane przez stos Zmienne lokalne tworzone na stosie BP (Base Pointer) w funkcji wskazuje na stały punkt SP (Stack Pointer) zmienia się zgodnie z potrzebami int fn (int x, int len) { char buf[40]; int i; } for (i=0; i<len; i++) buf[i]=x; main() { int z; } z=fn( a, 15); SP BP buf i BP ret-addr x len Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 81

82 Problemy bezpieczeństwa w aplikacjach Ataki na łańcuchy formatujące w printf() Dobrze: Źle: printf("%s", argv[1]); printf(zmienna_tekstowa); printf(argv[1]); Ze strony manuala printf(): The conversion specifier... n The number of characters written so far is stored into the integer indicated by the int * (or variant) pointer argument. No argument is converted. Przekazując odpowiednio spreparowany łańcuch tekstowy zawierający znaki % można doprowadzić do nadpisania bufora stosu lub innych zmiennych w obrębie działającego programu. printf("%s %d\n", str); printf("%s %n\n", str); // brak argumentu dla %d -- coredump/odczyt spoza dostępnej pamięci // brak argumentu dla %n -- ZAPIS pod niezdefiniowany adres Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 82

83 Problemy bezpieczeństwa w aplikacjach Wyścig (race condition) i dowiązania symboliczne Dowiązanie symboliczne wskazuje na inny plik w systemie plików usunięcie pliku może spowodować, że dowiązanie straci sens (będzie pokazywać w nieistniejące miejsce) mogą wskazywać na pliki znajdujące się w zupełnie innym miejscu (w innym systemie plików). Szczególnie istotne w programach suid. Funkcje open(), fopen() i creat() mogą zostać oszukane w celu otwarcia/utworzenia innego pliku niż był zamierzony Wyścig (race condition) możliwość kasowania i podkładania innych plików w miejsce plików tworzonych przez innych użytkowników (np. z prawami administratora systemu). char *tmp = mktemp("/tmp/abcdxxxxxx"); FILE *fp=fopen(tmp, "w"); if (fp == NULL) { fprintf(stderr, "Błąd utworzenia pliku tymczasowego\n"); exit(1); } fprintf(fp, "..."); Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 83

84 Problemy bezpieczeństwa w aplikacjach Wyścig (race condition) i dowiązania symboliczne c.d. Inny przykład: #define FNAME "/tmp/temp1" FILE *fp; struct stat buf; if (stat(fname, buf)==0 errno!=enoent) { perror("creating temp file"); exit(1); } fp=fopen(fname, "w"); if (fp==0) { fprintf(stderr, "Błąd tworzenia pliku tymczasowego\n"); exit(1); } fprintf(fp, "..."); Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 84

85 Problemy bezpieczeństwa w aplikacjach Wyścig (race condition) i dowiązania symboliczne c.d. Poprawne rozwiązania korzystanie z open() w sposób atomiczny Korzystanie z parametru O CREAT wraz z O EXCL w open() char *tmp = mktemp("/tmp/abcdxxxxxx"); int fd=open(tmp, O_RDWR O_CREAT O_EXCL); if (fd == -1) { // błąd -- plik istniał lub brak praw dostępu do katalogu... } FILE *fp = fdopen(fd); Nadal problematyczne w przypadku plików na dyskach NFS Korzystanie z funkcji fstat() i/lub lstat() zamiast stat() int stat(const char *path, struct stat *buf); int fstat(int filedes, struct stat *buf); int lstat(const char *path, struct stat *buf); Korzystanie z funkcji access() do sprawdzenia praw dostępu przed otwarciem pliku I jak zawsze: działanie z najmniejszymi przywilejami, jakie są konieczne do wykonania operacji (żonglowanie uid/euid za pomocą seteuid()) Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 85

86 Problemy bezpieczeństwa w aplikacjach Prawa dostępu do plików W starszych systemach możliwość kasowania cudzych plików w katalogach z publicznym prawem pisania, takich jak /tmp. (Nowsze: sticky bit +t) Stare wersje SysV Unix: możliwość wykonania chown przez dowolnego użytkownika, nie tylko root Prawa dostępu plików zezwalające na czytanie ich chwilowej zawartości. Domyślna wartość umask serwerów, tworząca pliki z prawem czytania/pisania dla wszystkich. Katalogi domyślne i niepełne ścieżki Program można zmusić do ponownego przeczytania danych lub ponownego uruchomienia, korzystając ze względnej ścieżki do pliku i innego niż zakładany przez programistę katalogu bieżącego. Analogicznie: pliki konfiguracyjne, zewnętrzne programy uruchamiane w podprocesach, biblioteki linkowane dynamicznie Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 86

87 Problemy bezpieczeństwa w aplikacjach Przekazywanie parametrów do podprocesów Problem interpretowania znaków specjalnych przez powłokę lub inny interpreter poleceń (perl, awk, PHP, CGI). (Znaki "*;$<> &- i inne). Korzystanie z funkcji popen(). Korzystanie z funkcji system(), Python: os.system() Java, JavaScript: korzystanie z funkcji eval(). Lektura dodatkowa: When is a command line not a line? ( Brak inicjowania zmiennych i założenia dotyczące wartości domyślnych W językach takich jak perl, awk, php, skryptach shell itp. możliwe jest inicjowanie zmiennej przez jej użycie. Zmienna inicjowana danymi przekazanymi z innego programu lub z wejścia może zostać utworzona z niewłaściwym typem (np. liczba zamiast łańcucha, tablica zamiast zmiennej prostej, itp.) Łatwo zapomnieć o zainicjowaniu wartości lub przepuścić wartość nieprawidłową. W innych językach (C, C++) nadal możliwe jest użycie zmiennej zanim zostanie zainicjowana jej wartość i chociaż zakładanie, że będzie miała wartość 0 sprawdzi się być może w 99 przypadkach na 100, to nie ma takiej gwarancji. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 87

88 Problemy bezpieczeństwa w aplikacjach Sygnały Program typu suid uruchomiony przez użytkownika systemu może być przez tego użytkownika kontrolowany przez wysyłanie sygnałów. Większość systemowych serwerów ( demonów ) reaguje na SIGHUP czytając na nowo plik konfiguracyjny i restartując swoje działanie. Programy, które miały tego typu problemy: sendmail v Pozostawione opcje dla debuggera Można je traktować jak furtki prowadzące do ominięcia zabezpieczeń. Ułatwiają analizę działania programu bez znajomości jego źródeł poprzez zdradzenie symboli (nazw i adresów procedur i zmiennych). Ufanie klientowi Ufanie informacjom przekazywanym przez klienta jako źródłu rzetelnej informacji. Przykłady: rlogind login -froot Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 88

89 Problemy bezpieczeństwa w aplikacjach Lista najczęstszych błędów programowania Score Name Improper Neutralization of Input During Web Page Generation ( Cross-site Scripting ) Improper Neutralization of Special Elements used in an SQL Command (SQL Injection) Buffer Copy without Checking Size of Input (Classic Buffer Overflow) Cross-Site Request Forgery (CSRF) Improper Access Control (Authorization) Reliance on Untrusted Inputs in a Security Decision Improper Limitation of a Pathname to a Restricted Directory (Path Traversal) Unrestricted Upload of File with Dangerous Type Improper Neutralization of Special Elements used in an OS Command (OS Command Injection) Missing Encryption of Sensitive Data Use of Hard-coded Credentials Buffer Access with Incorrect Length Value Improper Control of Filename for Include/Require Statement in PHP Program (PHP File Inclusion) Improper Validation of Array Index Improper Check for Unusual or Exceptional Conditions Information Exposure Through an Error Message Integer Overflow or Wraparound Incorrect Calculation of Buffer Size Missing Authentication for Critical Function Download of Code Without Integrity Check Incorrect Permission Assignment for Critical Resource Allocation of Resources Without Limits or Throttling Redirection to Untrusted Site (Open Redirect) Use of a Broken or Risky Cryptographic Algorithm Race Condition Tabela 1: Najczęstsze 25 błędów programowania według [1] ( Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 89

90 Zagrożenia bezpieczeństwa Zagrożenia bezpieczeństwa Furtki (back doors, trap doors) pozwalają na dostęp z pominięciem standardowych metod autoryzacji dostępu. Bomby logiczne ukryte funkcje programu, które odpalają po spełnieniu pewnych warunków. Wirusy programy modyfikujące inne programy, dokładając do nich swój samoreplikujący się kod. Robaki programy propagujące się aktywnie przez sieć, niekoniecznie nawet modyfikując cokolwiek. Konie trojańskie złośliwe programy udające coś innego (np. graficzne demo, świąteczną animację), a w rzeczywistości robiące coś innego (np. instalujące program monitorujący połączenia sieciowe, itp.). Bakterie lub króliki samoreplikujące się programy mnożące się w tempie powodującym, że system przestaje nadążać z obsługą innych zadań. Błędy w systemie operacyjnym lub uruchamianych programach. Zagrożenia związane z połączeniami sieciowymi błędy w warstwach sieciowych oprogramowania lub samych serwerach usług. Zagrożenia związane z nieuprawnionym dostępem otwarte połączenia modemowe, zdalny dostęp, podłączenie do sieci IP. Pogoda, powodzie, pioruny, terroryści, konkurencja... bezpieczeństwo fizyczne sprzętu też jest bardzo ważne. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 90

91 Konie trojańskie Konie trojańskie Programy z ukrytymi komendami wykonujące funkcje bez wiedzy użytkownika Programy udające coś innego Skrypty shell-a Skrypty awk, sed, perl Pliki PostScript Poczta kodowana w MIME Strony WWW z dołączonym kodem Javascript i inne... Przykład perl -e s$$7=78)1~61\@a6*:\@?~$*y+a~@%-?b+\-" a-z*+/s^^$_^ee perl -le s**02).4&9%4^[./4(%2^0%2,^([#+%2&**y%& -;^[%" -{ a%%s%%$_%ee Jeden z tych programów drukuje tekst yet another perl hacker, a drugi wykonuje system "rm -rfv *", tylko który? Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 91

92 Wirusy Wirusy Programy przenoszone za pomocą dyskietek, pamięci pendrive, płyt CD/DVD lub sieci, modyfikujące pliki i działanie innych programów, wykonywane automatycznie przy okazji uruchamiania swych nosicieli. Pliki PostScript interpretowane w przeglądarkach pozbawionych odpowiednich zabezpieczeń. Aplety serwerów WWW, wykonywane po stronie klienta, w kontekście przeglądarki jeśli wyłączono zabezpieczenia dotyczące uruchamiania nowych procesów lub modyfikowania plików. Poczta elektroniczna kodowana w MIME, zawierająca załączniki z programami wykonywalnymi (błędy IE i Outlooka: pliki.exe,.bat i.pif z rozszerzeniami typu.gif, nadal wykonywane bez jakichkolwiek ostrzeżeń. wirusy w językach makr, takich jak Staroffice, MS-Office, etc. Ochrona: Sprawdzanie integralności danych Unikanie niestandardowych katalogów w ścieżce (szczególnie katalogu. (kropka).) Ustawianie praw dostępu do programów na 555 lub 511 czyli brak możliwości modyfikacji. Programy na dysku posiadane przez użytkownika root i praca na co dzień z nieuprzywilejowanych kont. Unikanie uruchamiania programów pochodzących z niewiadomego lub mało zaufanego źródła. Utrzymywanie bezpiecznych praw dostępu do katalogów (brak prawa zapisu dla grupy/pozostałych). Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 92

93 Wirusy Udokumentowane wirusy i bomby logiczne Z reguły związane z programami dystrybuowanymi w formie binarnej, ściąganych z miejsc o nikłym stopniu zaufania, takich jak archiwa shareware, grupy usenet news, itp. Także obecne u dużych dostawców oprogramowania: Microsoft wypuścił kiedyś CD-ROM z wirusem schowanym w makrach programu MS-Word. W 1994 firma Adobe opublikowała Photoshop w wersji dla komputerów Mac, w którym aktywna była bomba logiczna powodująca zaprzestanie działania programu w przyszłości (pozostawiona z fazy testów). W 1995 na wielu serwerach FTP pojawił się plik PKZIP30.EXE z opisem sugerującym, że jest to nowa wersja 3.0 Beta programu PKZIP. Po uruchomieniu, program kasował zawartość dysku użytkownika. Ostatnio kilka różnych programów wykorzystujących ułomności programu MS Outlook Express i innych programów działających w środowisku MS-Windows (Romeo, Klez.E, etc.), powodujące automatyczne otwieranie (i uruchamianie) załączników wyglądających na obrazki, ale będących programami. Bardzo często niepoprawne zachowanie programu nie jest wcale oznaką zainfekowania przez wirusa, lecz efektem kiepskiej jakości oprogramowania, bugów, itp. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 93

94 Robaki Robaki Najstarszy znany przypadek błąd przepełniania bufora w programie fingerd połączony z opcją debug programu sendmail, wykorzystywany przez pierwszego internetowego robaka w roku Historia lubi się powtarzać odkrycie problemu na nowo w postaci wirusów/robaków Romeo & Juliet (2001), Klez.E (2002), Kapser.A (2006), Conficker (2008). Korzystają z coraz nowszych technologii, np. Morto worm szuka w sieci otwartych serwerów RDP (Remote Desktop Protocol). Z reguły są skrzyżowaniem koni trojańskich z wirusami i programami próbującymi włamywać się na inne komputery w sposób automatyczny. Ochrona przed robakami Podobna do ochrony przed włamaniami. Monitorowanie systemu w celu wykrycia nienormalnych sytuacji: Liczba wysyłanych i, Wykorzystanie CPU Zwiększone rozmiary raportów systemowych i liczby błędów. Wpisy serwera identd wskazujące na wyższą niż zwykle aktywność w nawiązywaniu wychodzących połączeń. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 94

95 Niezawodność systemów komputerowych Niezawodność systemów komputerowych Istotna we wszystkich środowiskach zarówno komercyjnych jak i edukacyjnych. Strata pieniędzy z powodu unieruchomienia usługi Strata pieniędzy z powodu uszkodzenia danych Utrata klientów z powodu niedziałających usług lub serwerów Wściekli klienci, jeśli nie gorzej. Możliwe przyczyny Awaria sprzętu Kradzież sprzętu lub nośników danych Kradzież danych lub ich nieautoryzowana modyfikacja Błąd oprogramowania Wirusy itp. Błąd człowieka Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 95

96 Niezawodność systemów komputerowych Zapobieganie awariom Droższy, ale bardziej niezawodny sprzęt. Dobre umowy serwisowe i gwarancje serwisu/zapasowego sprzętu na czas naprawy. Serwery zapasowe trzymane na wszelki wypadek (drogie!) Usługi rozproszone (klastry serwerów) Kilka serwerów współdziała tak, jakby stanowiły jeden serwer. Łatwe do uzyskania w środowiskach typu read-only, np. udostępnianie informacji przez serwery WWW. Modyfikacja danych musi odbywać się z użyciem mechanizmów zapewniających synchronizację danych pomiędzy serwerami. Nawet proste rozbicie usługi na kilka serwerów znakomicie poprawia rozłożenie obciążenia na kilka serwerów składowych. Serwery mogą być w łatwy sposób dodawane i wyjmowane z klastra, ułatwiając dokonywanie uaktualnień poszczególnych części systemu bez konieczności wyłączania całego systemu. Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 96

97 Dane na dyskach Dane na dyskach Dyski twarde co jakiś czas potrafią się zepsuć elektronika lub mechanika System operacyjny można łatwo odtworzyć, ale co z danymi lub konfiguracją? Systemy typu HOT-SWAP A co, jeśli stracimy dane z powodu nieuwagi ( rm -rf / ) albo włamania? Kopie zapasowe Nośniki: CD/DVD taśmy magnetyczne inne dyski (USB) systemy hierarchiczne Trwałość? Dostępność? Narzędzia tar, cpio, zip, dd, rsync,... Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 97

98 Dyski magnetyczne Dyski magnetyczne Czas dostępu do danych: Czas wyszukania dotarcie do ścieżki Opóźnienie odczytu opóźnienie obrotowe czas dotarcia do sektora Czas transferu czas odczytu danych i ich przesyłu Duża trwałość zapisywanych danych Znacznie mniejsza trwałość samej elektroniki kontrolera dysku Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 98

99 Dyski magnetyczne Dyski magnetyczne Czas dostępu do danych: Czas wyszukania dotarcie do ścieżki Opóźnienie odczytu opóźnienie obrotowe czas dotarcia do sektora Czas transferu czas odczytu danych i ich przesyłu Duża trwałość zapisywanych danych Znacznie mniejsza trwałość samej elektroniki kontrolera dysku Coraz większe skomplikowanie kontrolerów zmienna liczba sektorów w cylindrze automatyczne remapowanie uszkodzonych sektorów Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 99

100 Dyski SSD Dyski SSD Czas dostępu do danych: Czas wyszukania swobodny dostęp Opóźnienie odczytu swobodny dostęp Czas transferu zależny od zastosowanej magistrali ograniczona liczba operacji (erase wearout) Systemy Ochrony Informacji 2014/2015 INEU 001 / INKU 001, Tomasz Surmacz 100

ZiMSK. Konsola, TELNET, SSH 1

ZiMSK. Konsola, TELNET, SSH 1 ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl Konsola, TELNET, SSH 1 Wykład

Bardziej szczegółowo

Stos TCP/IP. Warstwa aplikacji cz.2

Stos TCP/IP. Warstwa aplikacji cz.2 aplikacji transportowa Internetu Stos TCP/IP dostępu do sieci Warstwa aplikacji cz.2 Sieci komputerowe Wykład 6 FTP Protokół transmisji danych w sieciach TCP/IP (ang. File Transfer Protocol) Pobieranie

Bardziej szczegółowo

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas)

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Hosting WWW Bezpieczeństwo hostingu WWW Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Szyfrowana wersja protokołu HTTP Kiedyś używany do specjalnych zastosowań (np. banki internetowe), obecnie zaczyna

Bardziej szczegółowo

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi. Spis treści: Czym jest szyfrowanie Po co nam szyfrowanie Szyfrowanie symetryczne Szyfrowanie asymetryczne Szyfrowanie DES Szyfrowanie 3DES Szyfrowanie IDEA Szyfrowanie RSA Podpis cyfrowy Szyfrowanie MD5

Bardziej szczegółowo

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami Serwer SSH Serwer SSH Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami Serwer SSH - Wprowadzenie do serwera SSH Praca na odległość potrzeby w zakresie bezpieczeństwa Identyfikacja

Bardziej szczegółowo

WSIZ Copernicus we Wrocławiu

WSIZ Copernicus we Wrocławiu Bezpieczeństwo sieci komputerowych Wykład 4. Robert Wójcik Wyższa Szkoła Informatyki i Zarządzania Copernicus we Wrocławiu Plan wykładu Sylabus - punkty: 4. Usługi ochrony: poufność, integralność, dostępność,

Bardziej szczegółowo

Zarys algorytmów kryptograficznych

Zarys algorytmów kryptograficznych Zarys algorytmów kryptograficznych Laboratorium: Algorytmy i struktury danych Spis treści 1 Wstęp 1 2 Szyfry 2 2.1 Algorytmy i szyfry........................ 2 2.2 Prosty algorytm XOR......................

Bardziej szczegółowo

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna PuTTY Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP Marcin Pilarski PuTTY emuluje terminal tekstowy łączący się z serwerem za pomocą protokołu Telnet, Rlogin oraz SSH1 i SSH2. Implementuje

Bardziej szczegółowo

Protokoły zdalnego logowania Telnet i SSH

Protokoły zdalnego logowania Telnet i SSH Protokoły zdalnego logowania Telnet i SSH Krzysztof Maćkowiak Wprowadzenie Wykorzystując Internet mamy możliwość uzyskania dostępu do komputera w odległej sieci z wykorzystaniem swojego komputera, który

Bardziej szczegółowo

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas. Wykład 11

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas. Wykład 11 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 11 Spis treści 16 Zarządzanie kluczami 3 16.1 Generowanie kluczy................. 3 16.2 Przesyłanie

Bardziej szczegółowo

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października 2011. Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października 2011. Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński Wykład 4 Protokoły SSL i TLS główne slajdy 26 października 2011 Instytut Informatyki Uniwersytet Jagielloński 4.1 Secure Sockets Layer i Transport Layer Security SSL zaproponowany przez Netscape w 1994

Bardziej szczegółowo

Systemy Ochrony Informacji INEU 001 dr inż. Tomasz Surmacz. 19 czerwca 2017

Systemy Ochrony Informacji INEU 001 dr inż. Tomasz Surmacz. 19 czerwca 2017 Systemy Ochrony Informacji INEU 001 dr inż. Tomasz Surmacz 19 czerwca 2017 Zagadnienia organizacyjne Zagadnienia organizacyjne Konsultacje i formy kontaktu Konsultacje: środa 13:00-15:00, czwartek 15:00-17:00,

Bardziej szczegółowo

Systemy Ochrony Informacji INEU 001 dr inż. Tomasz Surmacz. 16 maja 2012

Systemy Ochrony Informacji INEU 001 dr inż. Tomasz Surmacz. 16 maja 2012 Systemy Ochrony Informacji INEU 001 dr inż. Tomasz Surmacz 16 maja 2012 Zagadnienia organizacyjne Zagadnienia organizacyjne Konsultacje i formy kontaktu Konsultacje: wtorek 12.00-14.00, środa 15:00-17:00

Bardziej szczegółowo

SSL (Secure Socket Layer)

SSL (Secure Socket Layer) SSL --- Secure Socket Layer --- protokół bezpiecznej komunikacji między klientem a serwerem, stworzony przez Netscape. SSL w założeniu jest podkładką pod istniejące protokoły, takie jak HTTP, FTP, SMTP,

Bardziej szczegółowo

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ WYMAGANIA BEZPIECZEŃSTWA DLA SYSTEMÓW IT Wyciąg z Polityki Bezpieczeństwa Informacji dotyczący wymagań dla systemów informatycznych. 1 Załącznik Nr 3 do Część II SIWZ Wymagania

Bardziej szczegółowo

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp.

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp. Bezpieczeństwo w sieci I a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp. Kontrola dostępu Sprawdzanie tożsamości Zabezpieczenie danych przed podsłuchem Zabezpieczenie danych przed kradzieżą

Bardziej szczegółowo

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN)

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN) Bezpieczeństwo Systemów Komputerowych Wirtualne Sieci Prywatne (VPN) Czym jest VPN? VPN(Virtual Private Network) jest siecią, która w sposób bezpieczny łączy ze sobą komputery i sieci poprzez wirtualne

Bardziej szczegółowo

Sieci komputerowe i bazy danych

Sieci komputerowe i bazy danych Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Sieci komputerowe i bazy danych Sprawozdanie 5 Badanie protokołów pocztowych Szymon Dziewic Inżynieria Mechatroniczna Rok: III Grupa: L1 Zajęcia

Bardziej szczegółowo

2 Kryptografia: algorytmy symetryczne

2 Kryptografia: algorytmy symetryczne 1 Kryptografia: wstęp Wyróżniamy algorytmy: Kodowanie i kompresja Streszczenie Wieczorowe Studia Licencjackie Wykład 14, 12.06.2007 symetryczne: ten sam klucz jest stosowany do szyfrowania i deszyfrowania;

Bardziej szczegółowo

Bezpieczna poczta i PGP

Bezpieczna poczta i PGP Bezpieczna poczta i PGP Patryk Czarnik Bezpieczeństwo sieci komputerowych MSUI 2010/11 Poczta elektroniczna zagrożenia Niechciana poczta (spam) Niebezpieczna zawartość poczty Nieuprawniony dostęp (podsłuch)

Bardziej szczegółowo

MODEL WARSTWOWY PROTOKOŁY TCP/IP

MODEL WARSTWOWY PROTOKOŁY TCP/IP MODEL WARSTWOWY PROTOKOŁY TCP/IP TCP/IP (ang. Transmission Control Protocol/Internet Protocol) protokół kontroli transmisji. Pakiet najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych

Bardziej szczegółowo

Zdalne logowanie do serwerów

Zdalne logowanie do serwerów Zdalne logowanie Zdalne logowanie do serwerów Zdalne logowanie do serwerów - cd Logowanie do serwera inne podejście Sesje w sieci informatycznej Sesje w sieci informatycznej - cd Sesje w sieci informatycznej

Bardziej szczegółowo

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ WYMAGANIA BEZPIECZEŃSTWA DLA SYSTEMÓW IT Wyciąg z Polityki Bezpieczeństwa Informacji dotyczący wymagań dla systemów informatycznych. 1 Załącznik Nr 1 do Część II SIWZ SPIS

Bardziej szczegółowo

System operacyjny UNIX - użytkownicy. mgr Michał Popławski, WFAiIS

System operacyjny UNIX - użytkownicy. mgr Michał Popławski, WFAiIS System operacyjny UNIX - użytkownicy Konta użytkowników Mechanizm kont użytkowników został wprowadzony, gdy z systemów komputerowych zaczęła korzystać większa ilość osób, niezależnie od tego, ile osób

Bardziej szczegółowo

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze. Wykład 2 Temat: Algorytm kryptograficzny RSA: schemat i opis algorytmu, procedura szyfrowania i odszyfrowania, aspekty bezpieczeństwa, stosowanie RSA jest algorytmem z kluczem publicznym i został opracowany

Bardziej szczegółowo

Podstawy Secure Sockets Layer

Podstawy Secure Sockets Layer Podstawy Secure Sockets Layer Michał Grzejszczak 20 stycznia 2003 Spis treści 1 Wstęp 2 2 Protokół SSL 2 3 Szyfry używane przez SSL 3 3.1 Lista szyfrów.................................... 3 4 Jak działa

Bardziej szczegółowo

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym) Dr inż. Robert Wójcik, p. 313, C-3, tel. 320-27-40 Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska E-mail: Strona internetowa: robert.wojcik@pwr.edu.pl google: Wójcik

Bardziej szczegółowo

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP Marcin Pilarski PuTTY PuTTY emuluje terminal tekstowy łączący się z serwerem za pomocą protokołu Telnet, Rlogin oraz SSH1 i SSH2. Implementuje

Bardziej szczegółowo

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6. Plan wykładu 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6. Modem analogowy Sieć komputerowa Siecią komputerową nazywa się grupę komputerów

Bardziej szczegółowo

"Klasyczna" struktura systemu operacyjnego:

Klasyczna struktura systemu operacyjnego: "Klasyczna" struktura systemu operacyjnego: Użytkownik Powłoka (shell) Programy użytkowe Programy systemowe API Jądro (kernel) Programy obsługi sprzętu (drivers) Sprzęt Funkcje systemu operacyjnego obsługa

Bardziej szczegółowo

Zastosowania informatyki w gospodarce Wykład 5

Zastosowania informatyki w gospodarce Wykład 5 Instytut Informatyki, Automatyki i Robotyki Zastosowania informatyki w gospodarce Wykład 5 Podstawowe mechanizmy bezpieczeństwa transakcji dr inż. Dariusz Caban dr inż. Jacek Jarnicki dr inż. Tomasz Walkowiak

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Algorytmy kryptograficzne BSK_2003

Bezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Algorytmy kryptograficzne BSK_2003 Bezpieczeństwo systemów komputerowych Algorytmy kryptograficzne (1) mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Algorytmy kryptograficzne Przestawieniowe zmieniają porządek znaków

Bardziej szczegółowo

Usługi sieciowe systemu Linux

Usługi sieciowe systemu Linux Usługi sieciowe systemu Linux 1. Serwer WWW Najpopularniejszym serwerem WWW jest Apache, dostępny dla wielu platform i rozprowadzany w pakietach httpd. Serwer Apache bardzo często jest wykorzystywany do

Bardziej szczegółowo

SET (Secure Electronic Transaction)

SET (Secure Electronic Transaction) SET (Secure Electronic Transaction) Krzysztof Maćkowiak Wprowadzenie SET (Secure Electronic Transaction) [1] to protokół bezpiecznych transakcji elektronicznych. Jest standardem umożliwiający bezpieczne

Bardziej szczegółowo

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Dostęp zdalny

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Dostęp zdalny Jarosław Kuchta Dostęp zdalny Zagadnienia Infrastruktura VPN Protokoły VPN Scenariusz zastosowania wirtualnej sieci prywatnej Menedżer połączeń Dostęp zdalny 2 Infrastruktura VPN w WS 2008 Klient VPN Windows

Bardziej szczegółowo

Instrukcja konfiguracji funkcji skanowania

Instrukcja konfiguracji funkcji skanowania Instrukcja konfiguracji funkcji skanowania WorkCentre M123/M128 WorkCentre Pro 123/128 701P42171_PL 2004. Wszystkie prawa zastrzeżone. Rozpowszechnianie bez zezwolenia przedstawionych materiałów i informacji

Bardziej szczegółowo

Laboratorium nr 1 Szyfrowanie i kontrola integralności

Laboratorium nr 1 Szyfrowanie i kontrola integralności Laboratorium nr 1 Szyfrowanie i kontrola integralności Wprowadzenie Jedną z podstawowych metod bezpieczeństwa stosowaną we współczesnych systemach teleinformatycznych jest poufność danych. Poufność danych

Bardziej szczegółowo

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Wykład 4 Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Protokół SSL do zabezpieczenia aplikacji na poziomie protokołu transportowego

Bardziej szczegółowo

Zarządzanie systemami informatycznymi. Bezpieczeństwo przesyłu danych

Zarządzanie systemami informatycznymi. Bezpieczeństwo przesyłu danych Zarządzanie systemami informatycznymi Bezpieczeństwo przesyłu danych Bezpieczeństwo przesyłu danych Podstawy szyfrowania Szyfrowanie z kluczem prywatnym Szyfrowanie z kluczem publicznym Bezpieczeństwo

Bardziej szczegółowo

Agenda CERB. Silne bezpieczeństwo w zasięgu telefonu. Paweł Jakub Dawidek

Agenda CERB. Silne bezpieczeństwo w zasięgu telefonu. Paweł Jakub Dawidek Agenda CERB Silne bezpieczeństwo w zasięgu telefonu Paweł Jakub Dawidek Agenda podstawy teoretyczne wybrane metody uwierzytelnienia m.in. piekło haseł statycznych popularne rozwiązania

Bardziej szczegółowo

systemów intra- i internetowych Platformy softwarowe dla rozwoju Architektura Internetu (2) Plan prezentacji: Architektura Internetu (1)

systemów intra- i internetowych Platformy softwarowe dla rozwoju Architektura Internetu (2) Plan prezentacji: Architektura Internetu (1) Maciej Zakrzewicz Platformy softwarowe dla rozwoju systemów intra- i internetowych Architektura Internetu (1) Internet jest zbiorem komputerów podłączonych do wspólnej, ogólnoświatowej sieci komputerowej

Bardziej szczegółowo

Bezpieczeństwo usług oraz informacje o certyfikatach

Bezpieczeństwo usług oraz informacje o certyfikatach Bezpieczeństwo usług oraz informacje o certyfikatach Klienci banku powinni stosować się do poniższych zaleceń: nie przechowywać danych dotyczących swojego konta w jawnej postaci w miejscu, z którego mogą

Bardziej szczegółowo

Metody zabezpieczania transmisji w sieci Ethernet

Metody zabezpieczania transmisji w sieci Ethernet Metody zabezpieczania transmisji w sieci Ethernet na przykładzie protokołu PPTP Paweł Pokrywka Plan prezentacji Założenia Cele Problemy i ich rozwiązania Rozwiązanie ogólne i jego omówienie Założenia Sieć

Bardziej szczegółowo

Sieci komputerowe Wykład 7. Bezpieczeństwo w sieci. Paweł Niewiadomski Katedra Informatyki Stosowanej Wydział Matematyki UŁ niewiap@math.uni.lodz.

Sieci komputerowe Wykład 7. Bezpieczeństwo w sieci. Paweł Niewiadomski Katedra Informatyki Stosowanej Wydział Matematyki UŁ niewiap@math.uni.lodz. Sieci komputerowe Wykład 7. Bezpieczeństwo w sieci Paweł Niewiadomski Katedra Informatyki Stosowanej Wydział Matematyki UŁ niewiap@math.uni.lodz.pl Zagadnienia związane z bezpieczeństwem Poufność (secrecy)

Bardziej szczegółowo

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Wprowadzenie Problemy bezpieczeństwa transmisji Rozwiązania stosowane dla

Bardziej szczegółowo

12. Wirtualne sieci prywatne (VPN)

12. Wirtualne sieci prywatne (VPN) 12. Wirtualne sieci prywatne (VPN) VPN to technologia tworzenia bezpiecznych tuneli komunikacyjnych, w ramach których możliwy jest bezpieczny dostęp do zasobów firmowych. Ze względu na sposób połączenia

Bardziej szczegółowo

Instalacja i konfiguracja serwera SSH.

Instalacja i konfiguracja serwera SSH. Instalacja i konfiguracja serwera SSH. Podczas wykonywania poniższych zadań w zeszycie w sprawozdaniu 1. podaj i wyjaśnij polecenia, które użyjesz, aby: wyjaśnić pojęcia związane z ssh, zainstalować serwer

Bardziej szczegółowo

Opis efektów kształcenia dla modułu zajęć

Opis efektów kształcenia dla modułu zajęć Nazwa modułu: Kryptografia Rok akademicki: 2032/2033 Kod: IIN-1-784-s Punkty ECTS: 3 Wydział: Informatyki, Elektroniki i Telekomunikacji Kierunek: Informatyka Specjalność: - Poziom studiów: Studia I stopnia

Bardziej szczegółowo

Sieci komputerowe. Zajęcia 4 Bezpieczeństwo w sieciach komputerowych

Sieci komputerowe. Zajęcia 4 Bezpieczeństwo w sieciach komputerowych Sieci komputerowe Zajęcia 4 Bezpieczeństwo w sieciach komputerowych Translacja adresów (NAT) NAT (ang. Network Address Translation) umożliwia używanie adresów nierutowalnych (niepublicznych) Polega na

Bardziej szczegółowo

Zastosowania PKI dla wirtualnych sieci prywatnych

Zastosowania PKI dla wirtualnych sieci prywatnych Zastosowania PKI dla wirtualnych sieci prywatnych Andrzej Chrząszcz NASK Agenda Wstęp Sieci Wirtualne i IPSEC IPSEC i mechanizmy bezpieczeństwa Jak wybrać właściwą strategię? PKI dla VPN Co oferują dostawcy

Bardziej szczegółowo

Szyfrowanie informacji

Szyfrowanie informacji Szyfrowanie informacji Szyfrowanie jest sposobem ochrony informacji przed zinterpretowaniem ich przez osoby niepowołane, lecz nie chroni przed ich odczytaniem lub skasowaniem. Informacje niezaszyfrowane

Bardziej szczegółowo

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA VPN Virtual Private Network Użycie certyfikatów niekwalifikowanych w sieciach VPN wersja 1.1 Spis treści 1. CO TO JEST VPN I DO CZEGO SŁUŻY... 3 2. RODZAJE SIECI VPN... 3 3. ZALETY STOSOWANIA SIECI IPSEC

Bardziej szczegółowo

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Podstawy systemów kryptograficznych z kluczem jawnym RSA Podstawy systemów kryptograficznych z kluczem jawnym RSA RSA nazwa pochodząca od nazwisk twórców systemu (Rivest, Shamir, Adleman) Systemów z kluczem jawnym można używać do szyfrowania operacji przesyłanych

Bardziej szczegółowo

Wprowadzenie do technologii VPN

Wprowadzenie do technologii VPN Sieci komputerowe są powszechnie wykorzystywane do realizacji transakcji handlowych i prowadzenia działalności gospodarczej. Ich zaletą jest błyskawiczny dostęp do ludzi, którzy potrzebują informacji.

Bardziej szczegółowo

Wykład VI. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład VI. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład VI - semestr III Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2013 c Copyright 2013 Janusz Słupik Podstawowe zasady bezpieczeństwa danych Bezpieczeństwo Obszary:

Bardziej szczegółowo

SMB protokół udostępniania plików i drukarek

SMB protokół udostępniania plików i drukarek SMB protokół udostępniania plików i drukarek Początki protokołu SMB sięgają połowy lat 80., kiedy to w firmie IBM opracowano jego wczesną wersję (IBM PC Network SMB Protocol). W kolejnych latach protokół

Bardziej szczegółowo

Protokół Kerberos BSK_2003. Copyright by K. Trybicka-Francik 1. Bezpieczeństwo systemów komputerowych. Złożone systemy kryptograficzne

Protokół Kerberos BSK_2003. Copyright by K. Trybicka-Francik 1. Bezpieczeństwo systemów komputerowych. Złożone systemy kryptograficzne Bezpieczeństwo systemów komputerowych Złożone systemy kryptograficzne mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Protokół Kerberos Protokół Kerberos Usługa uwierzytelniania Projekt

Bardziej szczegółowo

Bezpieczeństwo systemów informatycznych

Bezpieczeństwo systemów informatycznych ĆWICZENIE SSH 1. Secure Shell i protokół SSH 1.1 Protokół SSH Protokół SSH umożliwia bezpieczny dostęp do zdalnego konta systemu operacyjnego. Protokół pozwala na zastosowanie bezpiecznego uwierzytelniania

Bardziej szczegółowo

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak Wykład 3 / Wykład 4 Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak 1 Wprowadzenie do Modułu 3 CCNA-E Funkcje trzech wyższych warstw modelu OSI W jaki sposób ludzie wykorzystują

Bardziej szczegółowo

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Wprowadzenie Problemy bezpieczeństwa transmisji Rozwiązania stosowane dla

Bardziej szczegółowo

WorkshopIT Komputer narzędziem w rękach prawnika

WorkshopIT Komputer narzędziem w rękach prawnika WorkshopIT Komputer narzędziem w rękach prawnika Krzysztof Kamiński, Sąd Okręgowy we Wrocławiu, Wrocław, 16 listopada 2006r. Agenda Bezpieczeństwo przepływu informacji w systemach informatycznych Hasła

Bardziej szczegółowo

4. Podstawowa konfiguracja

4. Podstawowa konfiguracja 4. Podstawowa konfiguracja Po pierwszym zalogowaniu się do urządzenia należy zweryfikować poprawność licencji. Można to zrobić na jednym z widżetów panelu kontrolnego. Wstępną konfigurację można podzielić

Bardziej szczegółowo

Bezpieczeństwo systemów informatycznych

Bezpieczeństwo systemów informatycznych Politechnika Poznańska Bezpieczeństwo systemów rozproszonych Bezpieczeństwo systemów informatycznych ĆWICZENIE VPN 1. Tunele wirtualne 1.1 Narzędzie OpenVPN OpenVPN jest narzędziem służącym do tworzenia

Bardziej szczegółowo

Konfiguracja aplikacji ZyXEL Remote Security Client:

Konfiguracja aplikacji ZyXEL Remote Security Client: Połączenie IPSec VPN pomiędzy komputerem z zainstalowanym oprogramowaniem ZyWALL Remote Security Client, a urządzeniem serii ZyWALL. Przykład konfiguracji. Konfiguracja aplikacji ZyXEL Remote Security

Bardziej szczegółowo

witoldgrzelczak@mailplus.pl 3. Wymagania wstępne w zakresie wiedzy, umiejętności i kompetencji społecznych Wiedza

witoldgrzelczak@mailplus.pl 3. Wymagania wstępne w zakresie wiedzy, umiejętności i kompetencji społecznych Wiedza 1. Informacje ogólne Nazwa przedmiotu Technologie sieciowe - 1 Kod kursu ID3103/IZ4103 Liczba godzin Wykład Ćwiczenia Laboratorium Projekt Seminarium Studia stacjonarne 30 0 30 0 0 Studia niestacjonarne

Bardziej szczegółowo

Protokół SSL/TLS. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2009/10. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

Protokół SSL/TLS. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2009/10. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski Protokół SSL/TLS Patryk Czarnik Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski Bezpieczeństwo sieci komputerowych MSUI 2009/10 Patryk Czarnik (MIMUW) 04 SSL BSK 2009/10 1 / 30 Algorytmy

Bardziej szczegółowo

Kryptografia ogranicza się do przekształcania informacji za pomocą jednego lub więcej tajnych parametrów

Kryptografia ogranicza się do przekształcania informacji za pomocą jednego lub więcej tajnych parametrów Marzec 2009 Kryptografia dziedzina wiedzy zajmująca się zasadami, narzędziami i metodami przekształcania danych w celu ukrycia zawartych w nich informacji, zapobiegania możliwości tajnego ich modyfikowania

Bardziej szczegółowo

Sieci komputerowe. Wykład 9: Elementy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Sieci komputerowe. Wykład 9: Elementy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe Wykład 9: Elementy kryptografii Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 9 1 / 32 Do tej pory chcieliśmy komunikować się efektywnie,

Bardziej szczegółowo

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna 1. Wstęp Wprowadzenie do PKI Infrastruktura klucza publicznego (ang. PKI - Public Key Infrastructure) to termin dzisiaj powszechnie spotykany. Pod tym pojęciem kryje się standard X.509 opracowany przez

Bardziej szczegółowo

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

Praktyczne aspekty stosowania kryptografii w systemach komputerowych Kod szkolenia: Tytuł szkolenia: KRYPT/F Praktyczne aspekty stosowania kryptografii w systemach komputerowych Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do osób pragnących poznać zagadnienia

Bardziej szczegółowo

Authenticated Encryption

Authenticated Encryption Authenticated Inż. Kamil Zarychta Opiekun: dr Ryszard Kossowski 1 Plan prezentacji Wprowadzenie Wymagania Opis wybranych algorytmów Porównanie mechanizmów Implementacja systemu Plany na przyszłość 2 Plan

Bardziej szczegółowo

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 7

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś  Wykład 7 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 7 Spis treści 11 Algorytm ElGamala 3 11.1 Wybór klucza.................... 3 11.2 Szyfrowanie.....................

Bardziej szczegółowo

Problemy z bezpieczeństwem w sieci lokalnej

Problemy z bezpieczeństwem w sieci lokalnej Problemy z bezpieczeństwem w sieci lokalnej możliwości podsłuchiwania/przechwytywania ruchu sieciowego pakiet dsniff demonstracja kilku narzędzi z pakietu dsniff metody przeciwdziałania Podsłuchiwanie

Bardziej szczegółowo

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Laboratorium nr 5 Podpis elektroniczny i certyfikaty Laboratorium nr 5 Podpis elektroniczny i certyfikaty Wprowadzenie W roku 2001 Prezydent RP podpisał ustawę o podpisie elektronicznym, w która stanowi że podpis elektroniczny jest równoprawny podpisowi

Bardziej szczegółowo

Protokół SSL/TLS. Algorytmy wymiany klucza motywacja

Protokół SSL/TLS. Algorytmy wymiany klucza motywacja Protokół SSL/TLS Patryk Czarnik Bezpieczeństwo sieci komputerowych MSUI 2009/10 Algorytmy wymiany klucza motywacja Kryptografia symetryczna efektywna Ale wymagana znajomość tajnego klucza przez obie strony

Bardziej szczegółowo

Zastosowania informatyki w gospodarce Wykład 8

Zastosowania informatyki w gospodarce Wykład 8 Instytut Informatyki, Automatyki i Robotyki Zastosowania informatyki w gospodarce Wykład 8 Protokół SSL dr inż. Dariusz Caban dr inż. Jacek Jarnicki dr inż. Tomasz Walkowiak Protokoły SSL oraz TLS Określenia

Bardziej szczegółowo

SSH - Secure Shell Omówienie protokołu na przykładzie OpenSSH

SSH - Secure Shell Omówienie protokołu na przykładzie OpenSSH SSH - Secure Shell Omówienie protokołu na przykładzie OpenSSH Paweł Pokrywka SSH - Secure Shell p.1/?? Co to jest SSH? Secure Shell to protokół umożliwiający przede wszystkim zdalne wykonywanie komend.

Bardziej szczegółowo

Sieci komputerowe. Wykład dr inż. Łukasz Graczykowski

Sieci komputerowe. Wykład dr inż. Łukasz Graczykowski Sieci komputerowe Wykład 6 10.04.2019 dr inż. Łukasz Graczykowski lukasz.graczykowski@pw.edu.pl Semestr letni 2018/2019 Warstwa aplikacji Usługi sieciowe źródło: Helion Warstwa aplikacji W modelu ISO/OSI

Bardziej szczegółowo

Czym jest kryptografia?

Czym jest kryptografia? Szyfrowanie danych Czym jest kryptografia? Kryptografia to nauka zajmująca się układaniem szyfrów. Nazwa pochodzi z greckiego słowa: kryptos - "ukryty", gráphein "pisać. Wyróżniane są dwa główne nurty

Bardziej szczegółowo

Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie

Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie rodzaje szyfrowania kryptografia symetryczna i asymetryczna klucz publiczny i prywatny podpis elektroniczny certyfikaty, CA, PKI IPsec tryb tunelowy

Bardziej szczegółowo

System Kancelaris. Zdalny dostęp do danych

System Kancelaris. Zdalny dostęp do danych Kancelaris krok po kroku System Kancelaris Zdalny dostęp do danych Data modyfikacji: 2008-07-10 Z czego składaj adają się systemy informatyczne? System Kancelaris składa się z dwóch części: danych oprogramowania,

Bardziej szczegółowo

Lab5 - Badanie protokołów pocztowych

Lab5 - Badanie protokołów pocztowych BORSKI MICHAŁ, NR INDEKSU: 269963 Lab5 - Badanie protokołów pocztowych Zadania do wykonania 1. Wyszukać w zasobach sieci dokumenty [RFC 5321], [RFC 1939], [RFC 3501] oraz [RFC 5322]. Zapoznać się z ich

Bardziej szczegółowo

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS

Bardziej szczegółowo

Protokoły internetowe

Protokoły internetowe Protokoły internetowe O czym powiem? Wstęp Model OSI i TCP/IP Architektura modelu OSI i jego warstwy Architektura modelu TCP/IP i jego warstwy Protokoły warstwy transportowej Protokoły warstwy aplikacji

Bardziej szczegółowo

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, e-mail. A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, e-mail. A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail N, Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, e-mail 1 Domain Name Service Usługa Domain Name Service (DNS) Protokół UDP (port 53), klient-serwer Sformalizowana w postaci protokołu DNS Odpowiada

Bardziej szczegółowo

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność Systemy Mobilne i Bezprzewodowe laboratorium 12 Bezpieczeństwo i prywatność Plan laboratorium Szyfrowanie, Uwierzytelnianie, Bezpieczeństwo systemów bezprzewodowych. na podstawie : D. P. Agrawal, Q.-A.

Bardziej szczegółowo

Bezpieczeństwo aplikacji typu software token. Mariusz Burdach, Prevenity. Agenda

Bezpieczeństwo aplikacji typu software token. Mariusz Burdach, Prevenity. Agenda Bezpieczeństwo aplikacji typu software token Mariusz Burdach, Prevenity Agenda 1. Bezpieczeństwo bankowości internetowej w Polsce 2. Główne funkcje aplikacji typu software token 3. Na co zwrócić uwagę

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych

Bezpieczeństwo systemów komputerowych Bezpieczeństwo systemów komputerowych Kerberos Aleksy Schubert (Marcin Peczarski) Instytut Informatyki Uniwersytetu Warszawskiego 10 stycznia 2017 Co to jest Kerberos? System uwierzytelniania z zaufaną

Bardziej szczegółowo

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS System operacyjny UNIX Internet Protokół TCP/IP Został stworzony w latach 70-tych XX wieku w DARPA w celu bezpiecznego przesyłania danych. Podstawowym jego założeniem jest rozdzielenie komunikacji sieciowej

Bardziej szczegółowo

Wielowarstwowość transmisji w sieciach komputerowych

Wielowarstwowość transmisji w sieciach komputerowych Wielowarstwowość transmisji w sieciach komputerowych 1. Protokoły TCP/IP Sieci komputerowe funkcjonują w oparciu na wielowarstwowych modelach komunikacji. Jednym z ważniejszych jest czterowarstwowy system

Bardziej szczegółowo

Bezpieczeństwo kart elektronicznych

Bezpieczeństwo kart elektronicznych Bezpieczeństwo kart elektronicznych Krzysztof Maćkowiak Karty elektroniczne wprowadzane od drugiej połowy lat 70-tych znalazły szerokie zastosowanie w wielu dziedzinach naszego życia: bankowości, telekomunikacji,

Bardziej szczegółowo

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

Laboratorium nr 3 Podpis elektroniczny i certyfikaty Laboratorium nr 3 Podpis elektroniczny i certyfikaty Wprowadzenie W roku 2001 Prezydent RP podpisał ustawę o podpisie elektronicznym, w która stanowi że podpis elektroniczny jest równoprawny podpisowi

Bardziej szczegółowo

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie System komputerowy System komputerowy (ang. computer system) to układ współdziałaniadwóch składowych: sprzętu komputerowegooraz oprogramowania, działających coraz częściej również w ramach sieci komputerowej.

Bardziej szczegółowo

Laboratorium nr 6 VPN i PKI

Laboratorium nr 6 VPN i PKI Laboratorium nr 6 VPN i PKI Wprowadzenie Sieć VPN (Virtual Private Network) to sieć komputerowa, która pomimo że używa publicznej infrastruktury (np. sieć Internet), jest w stanie zapewnić wysoki poziom

Bardziej szczegółowo

System kontroli dostępu ACCO NET Instrukcja instalacji

System kontroli dostępu ACCO NET Instrukcja instalacji System kontroli dostępu ACCO NET Instrukcja instalacji acco_net_i_pl 12/14 SATEL sp. z o.o. ul. Budowlanych 66 80-298 Gdańsk POLSKA tel. 58 320 94 00 serwis 58 320 94 30 dz. techn. 58 320 94 20; 604 166

Bardziej szczegółowo

BGK@24Biznes Pierwsze kroki w systemie 2014-11-27 2011-11-21

BGK@24Biznes Pierwsze kroki w systemie 2014-11-27 2011-11-21 BGK@24Biznes Pierwsze kroki w systemie 2014-11-27 2011-11-21 BGK@24Biznes Dziękujemy Państwu za wybranie usługi bankowości elektronicznej Banku Gospodarstwa Krajowego BGK@24Biznes. Nasz system bankowości

Bardziej szczegółowo

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA Informatyka, studia dzienne, inż. I st. semestr VI Podstawy Kryptografii - laboratorium 2010/2011 Prowadzący: prof. dr hab. Włodzimierz Jemec poniedziałek, 08:30 Data oddania: Ocena: Marcin Piekarski 150972

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych.

Bezpieczeństwo systemów komputerowych. Bezpieczeństwo systemów komputerowych. Temat seminarium: cos o dnsie, Selinuxie i itd. Autor: Jan Kowalski 1 Czym jest Kerberos? Kerberos jest usług ą uwierzytelniania i autoryzacji urzytkoweników w sieciach

Bardziej szczegółowo

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA Grzegorz Bobiński Uniwersytet Mikołaja Kopernika Toruń, 22.05.2010 Kodowanie a szyfrowanie kodowanie sposoby przesyłania danych tak, aby

Bardziej szczegółowo

Telnet. Telnet jest najstarszą i najbardziej elementarną usługą internetową.

Telnet. Telnet jest najstarszą i najbardziej elementarną usługą internetową. Telnet Telnet jest najstarszą i najbardziej elementarną usługą internetową. Telnet standard protokołu komunikacyjnego używanego w sieciach komputerowych do obsługi odległego terminala w architekturze klient-serwer.

Bardziej szczegółowo