Bazy danych i usługi sieciowe



Podobne dokumenty
Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Problemy z bezpieczeństwem w sieci lokalnej

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

Program szkolenia: Bezpieczny kod - podstawy

Ochrona systemów informacyjnych. SSL (Secure Socket Layer) - protokół bezpiecznych połączeń sieciowych

Zdalne logowanie do serwerów

SSL (Secure Socket Layer)

Podstawy Secure Sockets Layer

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

Protokół SSL/TLS. Algorytmy wymiany klucza motywacja

Bezpieczeństwo systemów komputerowych

ZiMSK. Konsola, TELNET, SSH 1

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

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

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

The OWASP Foundation Session Management. Sławomir Rozbicki.

Protokoły zdalnego logowania Telnet i SSH

5. Metody uwierzytelniania i bezpiecznej komunikacji Certyfikat klucza publicznego oparty o standard X.509

Usługi sieciowe systemu Linux

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

Modele uwierzytelniania, autoryzacji i kontroli dostępu do systemów komputerowych.

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

Bezpieczeństwo usług oraz informacje o certyfikatach

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

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

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

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,

UNIWERSYTET EKONOMICZNY WE WROCŁAWIU. Sprawozdanie. Analizator sieciowy WIRESHARK. Paweł Jarosz Grupa 20 IiE

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

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

WSIZ Copernicus we Wrocławiu

SET (Secure Electronic Transaction)

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

INTERNET - Wrocław Usługi bezpieczeństwa w rozproszonych strukturach obliczeniowych typu grid

Bezpieczne protokoły Materiały pomocnicze do wykładu

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

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

Stos TCP/IP. Warstwa aplikacji cz.2

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

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

Bezpieczeństwo systemów informatycznych

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Protokół HTTPS. Adam Danecki Informatyka gr. 1.4

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

Protokół 802.1x. Środowisko IEEE 802.1x określa się za pomocą trzech elementów:

Sprawozdanie nr 4. Ewa Wojtanowska

5. Metody uwierzytelniania i bezpiecznej komunikacji Certyfikat klucza publicznego oparty o standard X.509

Portal SRG BFG Instrukcja korzystania z Portalu SRG BFG

System Użytkowników Wirtualnych

Sesje i logowanie. 1. Wprowadzenie

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

11. Autoryzacja użytkowników

Bezpieczeństwo systemów komputerowych.

POLITYKA CERTYFIKACJI KIR dla ZAUFANYCH CERTYFIKATÓW NIEKWALIFIKOWANYCH

Technologia Internetowa w organizacji giełdy przemysłowej

Gatesms.eu Mobilne Rozwiązania dla biznesu

Trojan bankowy Emotet w wersji DGA

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

Języki programowania wysokiego poziomu. PHP cz.3. Formularze

Portal SRG BFG. Instrukcja korzystania z Portalu SRG BFG

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

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

POLITYKA CERTYFIKACJI KIR dla ZAUFANYCH CERTYFIKATÓW NIEKWALIFIKOWANYCH

Instrukcja konfigurowania poczty Exchange dla klienta pocztowego użytkowanego poza siecią uczelnianą SGH.

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

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

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Środowisko IEEE 802.1X określa się za pomocą trzech elementów:

Zastosowania informatyki w gospodarce Wykład 8

Bezpieczeństwo poczty elektronicznej

Aplikacje internetowe - laboratorium

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

Wykład 6: Bezpieczeństwo w sieci. A. Kisiel, Bezpieczeństwo w sieci

Ataki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW

Lab5 - Badanie protokołów pocztowych

Problemy z bezpieczeństwem w sieci lokalnej

BEZPIECZEOSTWO SYSTEMU OPERO

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

Sieci komputerowe i bazy danych

Wprowadzenie do kryptografii i bezpieczeństwa. Po raz czwarty

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Instrukcja logowania do systemu Rejestru Unii dla nowych użytkowników

Technologie informacyjne - wykład 5 -

SSL VPN Virtual Private Network with Secure Socket Layer. Wirtualne sieci prywatne z bezpieczną warstwą gniazd

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

Projektowani Systemów Inf.

Silne uwierzytelnianie dla klienta indywidualnego

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

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

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

BEZPIECZEŃSTWO W SIECIACH

Zastosowania PKI dla wirtualnych sieci prywatnych

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

Bezpieczna bankowość efirma24

Protokół IPsec. Patryk Czarnik

Technologie zapewniajace bezpieczeństwo w systemach operacyjnych (PKI, Smart Cards, SSL, SSH)

TelCOMM Wymagania. Opracował: Piotr Owsianko Zatwierdził: IMIĘ I NAZWISKO

Transkrypt:

Bazy danych i usługi sieciowe Bezpieczeństwo Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 1 / 27

Bezpieczeństwo Zabezpiecza się transmisje zasoby aplikacje maszyny P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 2 / 27

Kryptografia ROT13 szyfr podstawieniowy P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 3 / 27

Kryptografia Nowoczesne szyfry symetryczne (klucz prywatny) np. DES, AES asymetryczne (klucz publiczny) np. RSA Nowoczesne szyfry są oparte na praktycznej nieodwracalności pewnych operacji arytmetycznych P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 4 / 27

Szyfr asymetryczny Generowanie kluczy Alicja do Boba Wspólny klucz Komunikat zaszyfrowany kluczem prywatnym, może zostać odczytany kluczem publicznym i odwrotnie. Szyfry asymetryczne mogą służyć do zabezpieczania komunikatu i potwierdzania autentyczności nadawcy. P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 5 / 27

Uwierzytelnianie i autoryzacja (authentication and authorization) Uwierzytelnianie Potwierdzanie tożsamości drugiej strony (np. użytkownika). Można uwierzytelniać przez wiedzę (hasła) posiadanie przedmiotu (tokena, listy haseł jednorazowych, telefonu). Hasło powinno być przesyłane zaszyfrowane, albo wcale (np. Kerberos). P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 6 / 27

Uwierzytelnianie i autoryzacja (authentication and authorization) Uwierzytelnianie Potwierdzanie tożsamości drugiej strony (np. użytkownika). Można uwierzytelniać przez wiedzę (hasła) posiadanie przedmiotu (tokena, listy haseł jednorazowych, telefonu). Hasło powinno być przesyłane zaszyfrowane, albo wcale (np. Kerberos). Autoryzacja Określanie uprawnień klienta (użytkownika). ACL Access Control Lists P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 6 / 27

Proste uwierzytelnianie HTTP Od pierwszej specyfikacji HTTP 1.0 Login i hasło wpisywane w niekonfigurowalnym oknie dialogowym wyświetlanym przez przeglądarkę Weryfikacja dostępu na serwerze Nie wymaga użycia specjalnej aplikacji (np. skryptu PHP) Nazwa użytkownika i hasło są przesyłane otwartym tekstem P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 7 / 27

Proste uwierzytelnianie HTTP Obecnie stosuje się moduł serwera Apache Lista kontroli dostępu przechowywana w pliku tekstowym na serwerze (np..htpasswd) Hasła w pliku zaszyfrowane Można zabezpieczyć całość lub część serwisu internetowego Pliki.htaccess - lista kontroli dostępu P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 8 / 27

Uwierzytelnianie za pomocą formularzy Formularze są częścią HTML Dane wysyłane są na serwer za pomocą jednej z metod: GET (jako parametry adresu) POST (w treści zapytania (request)) Na serwerze istnieje aplikacja (np. skrypt PHP) do której trafiają dane Aplikacja sprawdza poprawność danych i podejmuje decyzję o uwierzytelnieniu lub odrzuceniu Hasła mogą być przechowywane w bazie danych P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 9 / 27

Ciasteczka Cookies Zapewnienie trwałości połączenia z serwerem Cookie - plik tekstowy przechowujący tożsamość przeglądarki internetowej względem konkretnego serwera WWW (lub aplikacji na serwerze) Ustawiane wraz z pierwszym odwiedzeniem strony (lub po uwierzytelnieniu) Mogą zawierać dodatkowe informacje o kliencie Mają termin ważności (expires) P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 10 / 27

Sesje Po uwierzytelnieniu serwer tworzy obiekt sesji Dane sesji w pliku lub bazie danych Serwer umieszcza w pliku cookie identyfikator sesji i wysyła do klienta W kolejnych żądaniach przeglądarka przesyła cookie do serwera, który może odnaleźć dane sesji Dodatkowe informacje z cookie również są przesyłane wraz z nagłówkiem żądania Dane z cookie nie są zabezpieczone Dane sesji nie są nigdy przesyłane (tylko identyfikator) P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 11 / 27

Inne sposoby utrzymywania stanu sesji Klient może wyłączyć obsługę cookies Identyfikator sesji można przekazać jako: Część adresu URL - niebezpieczeństwo przekazania identyfikatora sesji niepowołanej osobie Pole ukryte formularza - w przypadku metody POST, identyfikator nie będzie widoczny w adresie URL Wszystkie metody narażone są na próbę przechwycenia identyfikatora sesji - jest on przesyłany otwartym tekstem P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 12 / 27

Bezpieczne połączenie Protokół SSL - Secure Socket Layer Zapewnia uwierzytelnianie i bezpieczne przesyłanie informacji Obecnie standardem jest rozszerzenie protokołu SSL: TLS - Transport Layer Security Protokół warstwy transportowej - umożliwia wykorzystanie przez protokoły z wyższych warstw (telnet, HTTP, POP3, IMAP) P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 13 / 27

Bezpieczne połączenie ClientHello (K S) dostępne parametry połączenia oraz liczba losowa używaną potem przy generowaniu kluczy ServerHello (S K) wybrane parametry połączenia: wersję protokołu SSL, rodzaj szyfrowania i kompresji, oraz podobną liczbę losową Certificate (S K) certyfikat pozwalający klientowi na sprawdzenie tożsamości serwera ServerKeyExchange (S K) klucz publiczny ServerHelloDone (S K) można przejść do następnej fazy P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 14 / 27

Bezpieczne połączenie ClientKeyExchange (K S) wstępny klucz sesji, zaszyfrowany za pomocą klucza publicznego serwera; na podstawie ustalonych w poprzednich komunikatach dwóch liczb losowych (klienta i serwera) oraz ustalonego przez klienta wstępnego klucza sesji obie strony generują klucz sesji używany do faktycznej wymiany danych. ChangeCipherSpec (K S) można przełączyć się na komunikację szyfrowaną Finished (K S) już zaszyfrowany, gotowość do wymiany danych ChangeCipherSpec (S K) potwierdzenie przejścia na komunikację szyfrowaną Finished (S K) już zaszyfrowany, gotowość do wymiany danych P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 15 / 27

Certyfikaty Certyfikat zawiera nazwę i klucz publiczny właściciela. Certyfikat jest podpisany przez wystawcę (CA Certification Authority) CA tworzą strukturę hierarchiczną. Certyfikaty głównych CA są dołączone do przeglądarek. Przejęcie CA powoduje załamanie systemu. P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 16 / 27

Man-in-the-middle attack Aspidistra (1945) Turing porn farm Kradzież informacji (np. kluczy i haseł) P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 17 / 27

Distributed Denial of Service (DDoS) P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 18 / 27

Distributed Denial of Service (DDoS) c.d. Mechanizmy ICMP Strategie SYN nawiązywanie i porzucanie połączeń TCP Na poziomie aplikacji RUDY R-U-Dead-Yet? W nieskończoność otwarte żądanie POST atak rozproszony atak odbity sieci botów (botnets) atak niezamierzony (Slashdotting) Obrona firewall dedykowane urządzenia i aplikacje P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 19 / 27

Atak na program Wojny rdzeniowe (Tron ;-) Wirusy 1949 Theory of self-reproducing automata John von Neumann 1971 Creeper ARPANET 1981 Elk Cloner Apple DOS 3.3 1986 (c)brain Makro-wirusy Wektory infekcji pliki wykonywalne systemowe przestrzenie dysków i dyskietek (boot records) skrypty dokumenty zawierające makra dowolne pliki powodujące wystąpienie błędów w programach, które je otwierają P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 20 / 27

Przepełnienie bufora (buffer overflow) Pozwala zmienić działanie programu (np. przejąć nad nim kontrolę). Przeciwdziałanie kontrola wyjścia poza zakres tablicy bezpieczne biblioteki randomizacja przestrzeni adresowej P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 21 / 27

Cross Site Scripting (XSS) Zawartość wprowadzona przez użytkownika zostaje pokazana bez kontroli. tymczasowe stałe Przykład 1 Alicja często odwiedza stronę Boba. Strona Boba wymaga logowania i przechowuje prywatne dane. 2 Mallory zauważa, że strona Boba jest podatna na XSS. 3 Mallory tworzy URL wykorzystujący lukę i wysyła Alicji e-mail z linkiem, który wskazuje na stronę Boba i zawiera kod umożliwiający przejęcie hasła. 4 Alicja klika na link, będąc zalogowana na stronie Boba. 5 Skrypt Mallory ego wykonuje się w przeglądarce Alicji, tak jakby pochodził z serwera Boba i wysyła szczegóły sesji Mallory emu. P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 22 / 27

SQL injection P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 23 / 27

Obrona Aplikacji poprawne programowanie sanityzacja napisów separacja programów wirtualizacja Sieci blackholes honeypots (atak przez fałszywe domeny) Good design vs. Security through obscurity P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 24 / 27

Tunele i VPN (Virtual Private Networks) P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 25 / 27

Tor P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 26 / 27

Tor P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 26 / 27

Tor P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 26 / 27

Tor P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 26 / 27

Tor P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 26 / 27

Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z P. Daniluk (Wydział Fizyki) BDiUS w. X Jesień 2014 27 / 27