The OWASP Foundation http://www.owasp.org. Session Management. Sławomir Rozbicki. slawek@rozbicki.eu



Podobne dokumenty
Zarządzanie sesją w aplikacjach Internetowych. Kraków, Paweł Goleń

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

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 aplikacji internetowych

Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF

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

OWASP OWASP. The OWASP Foundation Cross-Site Scripting. Ryzyko do zaakceptowania? Warszawa, 27 stycznia 2011 Michał Kurek

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

Drobne błędy w portalach WWW

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

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

OWASP. The Open Web Application Security Project. OWASP Top rc1. Dziesięć najbardziej krytycznych zagrożeń w web aplikacjach

Wprowadzenie do kryptografii i bezpieczeństwa. Po raz czwarty

Programowanie w Internecie

Bezpieczeństwo systemów komputerowych

Opis Przedmiotu Zamówienia na przeprowadzenie testów bezpieczeństwa systemu wspomagania nadzoru archiwalnego e-nadzór

Zagrożenia związane z udostępnianiem aplikacji w sieci Internet


Narzędzia OWASP dla developerów OWASP ESAPI & AppSensor OWASP The OWASP Foundation

Problemy z bezpieczeństwem w sieci lokalnej

Bazy danych i usługi sieciowe

INSTYTUT IMMUNOLOGII I TERAPII DOŚWIADCZALNEJ im. Ludwika Hirszfelda Polska Akademia Nauk

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

HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ

Karol Gałka. Numer albumu: Inżynieria mechatroniczna

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

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Internetowe bazy danych

Obsługa incydentów bezpieczeństwa: część I, z punktu widzenia menadżera. OWASP The OWASP Foundation

Program szkolenia: Bezpieczny kod - podstawy

Przegląd zagrożeń związanych z DNS. Tomasz Bukowski, Paweł Krześniak CERT Polska

LUKI BEZPIECZEŃSTWA W APLIKACJACH INTERNETOWYCH. Waldemar Korłub. Wytwarzanie Aplikacji Internetowych KASK ETI Politechnika Gdańska

Specyfikacja techniczna. mprofi Interfejs API

Aspekty bezpieczeństwa aplikacji internetowych

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Sprawozdanie nr 4. Ewa Wojtanowska

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

4. Podstawowa konfiguracja

Metody ataków sieciowych

Dworakowski. Wojciech. Zagrożenia i metody ataku. Aplikacje internetowe -

Analiza skuteczności zabezpieczeń przed atakami na aplikacje Web

Polityka prywatności

Wyciąg z ogólnej analizy ataków na witryny administracji państwowej RP w okresie stycznia 2012r.

Serwery aplikacji. dr Radosław Matusik. radmat

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

Standard aplikacji WWW Urzędu Miasta Olsztyna

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

Laboratorium nr 4 - Badanie protokołów WWW

Bezpieczeństwo portali społecznościowych w ujęciu robaków Web 2.0

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

I.Wojnicki, Tech.Inter.

OWASP i Top 10 Sposób tworzenia Top 10 Czym jest a czym NIE jest Top 10? Zmiany w wersji 2013 Omówienie nowych podatności na liście Podsumowanie

Open(Source) Web Application Security Project

Technologie internetowe

PORADNIKI. Atak SMB Man-In-The-Middle

Zagrożenia bezpieczeństwa danych w lokalnych sieciach komputerowych ataki i metody obrony 2. Sniffing pasywny

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

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Akademia Górniczo-Hutnicza im. Stanisława Staszica

Systemy pojedynczego logowania (Single Sign-On)

Stos TCP/IP. Warstwa aplikacji cz.2

Client-side Hacking - wprowadzenie w tematykę ataków na klienta. Radosław Wal radoslaw.wal@clico.pl

Metody uwierzytelniania klientów WLAN

Połączenie VPN SSL Web Proxy. 1. Konfiguracja serwera VPN 1.1. Ustawienia ogólne 1.2. Profile SSL Web Proxy 1.3. Konto SSL 1.4. Grupa użytkowników

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

11. Autoryzacja użytkowników

Cookie Policy. 1. Informacje ogólne.

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

Gatesms.eu Mobilne Rozwiązania dla biznesu

Problemy z bezpieczeństwem w sieci lokalnej

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Sieci komputerowe. Wykład 8: Warstwa zastosowań: FTP i HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

ANALIZA BEZPIECZEŃSTWA SIECI MPLS VPN. Łukasz Polak Opiekun: prof. Zbigniew Kotulski

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

System DiLO. Opis interfejsu dostępowego v. 2.0

I.Wojnicki, PHP. PHP PHP Hypertext Preprocessor. Igor Wojnicki. Ktedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie.

Płatności CashBill - SOAP

Aplikacje internetowe Przegl¹d zagro eñ

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

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Projektowani Systemów Inf.

POLITYKA PRYWATNOŚCI ORAZ POLITYKA PLIKÓW COOKIES W Sowa finanse

Kurs rozszerzony języka Python

Wykorzystywanie plików cookies

Projektowanie zabezpieczeń Centrów Danych oraz innych systemów informatycznych o podwyższonych wymaganiach bezpieczeństwa

Win Admin Monitor Instrukcja Obsługi

POLITYKA PRYWATNOŚCI SERWIS:

Testy penetracyjne webaplikacji.

Sprawozdanie Laboratorium 4

Zdalne logowanie do serwerów

Jak efektywnie wykrywać podatności bezpieczeństwa w aplikacjach? OWASP The OWASP Foundation

BEZPIECZNE APLIKACJE MOBILNE NAJISTOTNIEJSZE ZAGADNIENIA. Sławomir Jasek Wersja: 1.1,

Metody zabezpieczania transmisji w sieci Ethernet

Programowanie w Internecie

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

Sieci Komputerowe i Bazy Danych

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4 Wojciech Kaczmarski

Transkrypt:

The OWASP Foundation http://www.owasp.org Session Management Sławomir Rozbicki slawek@rozbicki.eu 28-07-2011

OWASP TOP 10 A1: Injection A2: Cross-Site Scripting (XSS) A3: Broken Authentication and Session Management A4: Insecure Direct Object References A5: Cross-Site Request Forgery (CSRF)

Uwierzytelnienie i ustanowienie sesji Zapytanie POST /login.php HTTP/1.1 (...) username=test&password=test&submit=submit Odpowiedź HTTP/1.1 302 Found Cache-Control: private, no-cache, no-store, must-revalidate (...) Set-Cookie: user=10001434038; expires=sat, 06-Aug-2011 12:15:24 GMT; path=/; domain=.example.com; secure Set-Cookie: csm=1; expires=sat, 06-Aug-2011 12:15:24 GMT; path=/; domain=.example.com; httponly Set-Cookie: sessid=ekmticyn2aizf26zxqy; expires=sat, 06-Jul-2013 12:15:24 GMT; path=/; domain=.example.com; httponly

Uwierzytelnienie i ustanowienie sesji Zapytanie POST /login.php HTTP/1.1 (...) username=test&password=test&captcha=fs2xg29x&submit=submit Implementacja captcha zapobiega atakom na mechanizm uwierzytelnienia Identyfikator sesji podatny jest na ten sam rodzaj ataków Czy taki atak zostanie wykryty?

Alternatywa? Identyfikator w URL GET /index.php?phpsessid=f6a85f35bf457b066706a8153f844b92&action=post (...) nie wymaga obsługi cookies pozostawia ślady w logach oraz w historii identyfikator widoczny w przeglądarce łatwy do przypadkowego udostępnienia łatwość manipulacji wartością (session fixation)

Poziom akceptacji cookies 98,76% źródło: ranking.pl

Cechy bezpiecznego identyfikatora losowość złożoność (duża przestrzeń znaków) czas życia identyfikatora: o 5, 10, 20 minut w zależności od wagi informacji dostępnych użytkownikowi o określona ilość żądań tokeny uzależnione od adresu IP bezpieczna (odseparowana) przestrzeń na serwerze, w której składowane są informacje o tokenach 7

Cechy bezpiecznego identyfikatora walidacja tokenów wysyłanych przez klientów zmiana identyfikatora w przypadku żądania, które zmienia poziom uprawnień zalogowanego użytkownika rejestracja zdarzeń nietypowych (prób ataku) szyfrowany kanał komunikacji identyfikator nie jest powiązany z informacjami o uzytkowniku (login, hasło, id, numer telefonu) funkcja remember me stosowana z głową 8

Wniosek? Wykorzystanie funkcji zarządzania sesją wbudowanych w framework Hardening konfiguracji frameworku w zależności od wymaganego poziomu bezpieczeństwa 9

Cookie atrybuty i flagi Expires data wygaśnięcia Max-Age okres ważności Domain - nazwa hosta, adres ip Secure flaga lub jej brak HttpOnly flaga lub jej brak Path(!) ścieżka 10

Ataki na sesje Wrażliwe informacje zawarte w ciastkach mogą zostać: odgadnięte przechwycone nadpisane Rezultat: atakujący wchodzi w ich posiadanie. 11

Odgadywanie tokenów Ryzyko odgadnięcia rośnie wraz z ilością zalogowanych użytkowników. Ewentualny wzrost popularności aplikacji musi być przewidziany już na etapie projektowania. Identyfikacja niepoprawnych implementacji: Wykorzystanie czasu/daty Wykorzystanie funkcji rand(), java.util.random Wykorzystanie losowo wygenerowanego niezmiennego łańcucha znaków Identyfikatory o długości 32 bitów lub mniej 12

Odgadywanie tokenów Poprawne implementacje: Funkcje: java.security.securerandom, System.Security.Cryptography.RNGCryptoServiceProvi der (.NET) /dev/urandom OpenSSL RAND 13

Przechwytywanie tokenów Sniffing ataki sieciowe Współdzielone medium, arp spoofing w sieciach przełączanych, dns poisoning, dhcp spoofing, protokoły routingu dynamicznego, SSLSTRIP Cross-site scripting document.cookie w źródle HTML (np. IMG SRC) 14

Nadpisywanie tokenów Session fixation atak możliwy na skutek wad projektowych aplikacji. Takich jak: Brak zmiany wartości tokenu po zalogowaniu lub po zwiększeniu uprawnień użytkownika Współdzielenie identyfikatora w sesji HTTP i HTTPS Honorowanie identyfikatora wygenerowanego przez klienta 15

Ciekawe przykłady aplikacja.domena.pl przechowuje token w ciastku z flagą SECURE, i parametrem Domain=.domena.pl. jeżeli w źródle strony pojawi się odniesienie do dowolnej subdomeny *.domena.pl, na przykład: <img src= https://oszust.domena.pl/plik.jpg > to aplikacja otrzyma pliki cookie. w korporacjach otrzymanie certyfikatu SSL podpisanego przez firmowy CA nie jest trudne. 16

Ciekawe przykłady aplikacja.domena.pl ustanawia plik cookie z parametrem domain= aplikacja.domena.pl, który zawiera token sesyjny. Cookie nie jest oznaczony flagą SECURE, jednak serwer aplikacja.domena.pl filtruje wszystkie porty oprócz 443/TCP, na którym nasłuchuje serwer HTTPS. Użytkownik zostaje zwabiony na poniższy adres: http://aplikacja.domena.pl:443/plik.jpg Rezultat: dane sesyjne przesyłane są w formie nieszyfrowanej. 17

Q&A Kto nie ma żadnych pytań? 18

Więcej informacji https://www.owasp.org/index.php/session_management_chea t_sheet#secure_attribute https://www.isecpartners.com/files/web-sessionmanagement.pdf http://www.sans.org/reading_room/whitepapers/webservers/s ecure-session-management-preventing-security-voids-webapplications_1594 19