Bezpieczeństwo aplikacji internetowych

Podobne dokumenty
The OWASP Foundation Session Management. Sławomir Rozbicki.

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

Malware: złośliwe oprogramowanie. Marek Zachara. 1/18

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

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

Bezpieczeństwo protokołów i inne podatności

Drobne błędy w portalach WWW

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

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

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

Open(Source) Web Application Security Project

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

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

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

Bezpieczeństwo systemów komputerowych

Aspekty bezpieczeństwa aplikacji internetowych

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

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

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

Analiza skuteczności zabezpieczeń przed atakami na aplikacje Web

Bazy danych i usługi sieciowe

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

Testy penetracyjne webaplikacji.

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

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

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

Wprowadzenie do kryptografii i bezpieczeństwa. Po raz czwarty

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

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

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

Systemy pojedynczego logowania (Single Sign-On)

Kurs rozszerzony języka Python

Webapplication Security Pentest Service

6. Bezpieczeństwo przy współpracy z bazami danych

Aplikacje WWW. Wykład 13. Zagrożenia bezpieczeństwa aplikacji WWW. wykład prowadzi: Maciej Zakrzewicz. Zagrożenia bezpieczeństwa

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

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

11. Autoryzacja użytkowników

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

CYBEROAM Unified Treatment Management, Next Generation Firewall

Bezpieczeństwo poczty elektronicznej

Obrona przed SQL-injection w aplikacjach Java/JEE

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Web Application Firewall - potrzeba, rozwiązania, kryteria ewaluacji.

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid

Ajax a bezpieczeństwo aplikacji webowych. Jakub Wierzgała

Standard aplikacji WWW Urzędu Miasta Olsztyna

Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.

SQL z perspektywy hakera - czy Twoje dane są bezpieczne? Krzysztof Bińkowski MCT,CEI,CEH,ECSA,ECIH,CLFE,MCSA,MCSE..

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

Programowanie w Internecie

z testów penetracyjnych

4. Podstawowa konfiguracja

WAF (Web Application Firewall)

Marek Krauze

Metody ataków sieciowych

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań,

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

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

Polityka prywatności Spółdzielni Mieszkaniowej Słoneczny Stok

Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.

Dokumentacja smsapi wersja 1.4

Dokumentacja instalacyjna i konfiguracyjna Aplikacja ADR. Wersja dokumentu 1.0. Strona 1/9

Portal Security - ModSec Enterprise

TIN Techniki Internetowe zima

Agenda. Quo vadis, security? Artur Maj, Prevenity

Oracle Application Express -

SQL injection. Metody włamań do systemów komputerowych p. 1/13. Bogusław Kluge, Karina Łuksza, Ewa Makosa

Podstawy bezpieczeństwa

INSTRUKCJA INSTALACJI DATAMOBILE. Ver. 1.3

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

Instalacja i konfiguracja rouera ASMAX AR 904u. Neostrada, Netia

Win Admin Monitor Instrukcja Obsługi

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

Bezpieczeństwo aplikacji. internetowych. 2. Szkolenie dla administratorów stron internetowych hufców Śląskiej Chorągwi ZHP

Krótka instrukcja instalacji

Rentgen współczesnych ataków DoS. Marcin Ulikowski Network Engineer, Atos IT Services

Warszawa, 25 lipca 2014 r.

Projektowani Systemów Inf.

Konfiguracja własnego routera LAN/WLAN

ATAKI TYPU CROSS-SITE SCRIPTING

SMS Kod Automatyczny

DOKUMENTACJA TECHNICZNA SMS API MT

PODSTAWOWA KONFIGURACJA LINKSYS WRT300N

Formy ataku SQL Injection

Bezpieczne udostępnianie usług www. BłaŜej Miga Zespół Bezpieczeństwa PCSS

Sprawozdanie nr 4. Ewa Wojtanowska

Przebieg instalacji NKP

Security of Web Applications

Tytuł prezentacji. Wykrywanie cyberzagrożeń typu Drive-by Download WIEDZA I TECHNOLOGIA. Piotr Bisialski Security and Data Center Product Manager

Zarządzanie Infrastrukturą IT. Jak ręcznie utworzyć instancję EAUDYTORINSTANCE na SQL Serwerze

Aplikacje WWW - laboratorium

Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

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

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

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

Najskuteczniejsze sposoby zabezpieczania baz danych, w jaki sposób je monitorować oraz jak audytować

INSTRUKCJA INSTALACJI I KONFIGURACJI APLIKACJI WEBSOFT SITE ANALYZER 2.7.1

Transkrypt:

Bezpieczeństwo internetowych Marek Zachara http://marek.zachara.name 1/23

Aplikacje internetowe znajdują się pod ciągłym 'ostrzałem' Jest to wynikiem skali: ponad 3 mld użytkowników sieci 900 mln 'hostnames' 200 mln 'active' 5 mln 'PCs' 2/23

Ataki można podzielić na dwie główne klasy Ataki na użytkowników Ataki na system Przykłady Przykłady XSS DoS CSRF Code Injection Phishing Buffer Overflow 3/23

OWASP TOP 10 A1 : Injection A2 : Broken Session and Authentication A3 : Cross Site Scripting A4 : Insecure Direct Object References A5: Security Misconfiguration A6 : Sensitive Data Exposure A7 : Missing Function Level Wstrzyknięcia danych do SQL, OS, LDAP i innych interpreterów Błędne mechanizmy np. identyfikatorów sesji, kluczy, haseł itp. Przyjęcie i przesłanie do innego wadliwych danych (skryptu) Istnienie publicznie dostępnych odwołań do wewnętrznych obiektów Konfiguracja serwera, algorytmów szyfrowania, firewall i itp. Brak wzmocnionej ochrony dla szczególnie istotnych danych (np. karty) Nieprawidłowe mechanizmy autoryzacji (np. oparte na GUI) A8 : Cross Site Request Forgery Wykorzystanie i jego np. danych sesji (bez ich poznania) A9 : Components with Known Vulnerabilities Korzystanie z bibliotek i algorytmów zawierających znane podatności A10: Unvalidated Redirects and Forwads Użycie niezaufanych danych do przekierowania page flow Source: https://www.owasp.org/index.php/category:owasp_top_ten_project 4/23

HTTP jest protokołem bezpołączeniowym Nie pozwala na identyfikację kolejnych zapytań Problem jest rozwiązywane przez użycie 'Identyfikatora Sesji' (ang. SID) Generowany (zwykle losowo) przy pierwszym połączeniu Identyfikuje zapytania Przekazywany przez cookies, pola input lub jako parametry URL i Obsługiwany automatycznie przez framework i i języki programowania WWW 5/23

Jak działa sesja HTTP 6/23

Identyfikator sesji jest JEDYNYM elementem identyfikującym zapytania. Główne klasy to: Session sniffing Podsłuchanie ID sesji Session fixation Wymuszenie ID sesji Session riding Wykorzystanie cudzej sesji 7/23

Metody podsłuchania identyfikatora sesji Przechwycenie ruchu TCP/IP Podsłuchanie komunikacji WiFi Ataki na protokół BGP, DNS, itp. Odczyt SID na komputerze 8/23

Wymuszenie sesji Session Fixation = Atakujący generuje SID Następnie przekazuje SID ofierze I przekonuje do zalogowania do serwisu z tym SID em Dzięki temu może korzystać z serwisu tak jak ofiara ataku 9/23

Session Raiding / Cross Site Request Forgery <img src= http://server/order?product=12&deliver=my@email... Ofiara otwiera spreparowaną stronę WWW w trakcie gdy jest zalogowana do serwisu Kod HTML tej strony skutkuje zapytaniem do serwisu Przeglądarka dołącza do zapytania ciasteczko z SID 10/23

Cross Site Scripting (XSS) <script>...</script> Uruchomienie skryptu, przesłanie danych Portal / Blog 11/23

Atak na protokół: DNS Spoofing Serwer Banku 198.23.12.1 www.mojbank.pl router 198.23.12.1 Prawidłowy serwer DNS 123.01.20.10 240.190.99.2 Serwer DNS 240.190.99.1 Serwer WWW 240.190.99.2 12/23

Bezpośrednie aplikacje internetowe Uzyskanie dostępu do zasobów serwera: Bazy danych Strony WWW (publikacja malware) Kluczy, haseł i danych autoryzacyjnych Innych elementów sieci lokalnej Może być etapem pośrednim w ataku złożonym (wielostopniowym) 13/23

SQL Injection niechlubny zwycięzca Login: admin Password: ' OR 1==1; ' SELECT id FORM users WHERE login = ' ' $_POST[ login ] AND password = ' $_POST[ password ]' Zwróci z reguły pierwszy wiersz tabeli! 14/23

Inne przykłady 'Code Injection' PHP (ASP/JSP) LDAP OS/Shell Generalnie, przekazanie do wykonania parametrów w formie string jest Bardzo Złym PomysłemTM <? include($_get['section'])?> admin.php http://phishsite.mebad/../../../../../etc/passwd <input type= hidden name= user_id value= 34 > 15/23

Przykład ataku parameter tampering" www.exploit db.com/exploits/14360 http://mydomain/mystruts.action? ('\u0023_memberaccess[\'allowstaticmethodaccess\']') (meh)=true&(aaa) (('\u0023context[\'xwork.methodaccessor.denymethodexecution\' ]\u003d\u0023foo')(\u0023foo\u003dnew %20java.lang.Boolean("false")))&(asdf)(('\u0023rt.exit(1)') (\u0023rt\u003d@java.lang.runtime@getruntime()))=1 Wykorzystuje kodowanie znaków specjalnych przy pomocy kodów UTF Pozwala na uruchomienie arbitralnego kodu w Java z prawami web server a 16/23

Forceful browsing Ręczne wybranie ścieżki lub zasobu Przeglądanie katalogów /some_hidden_dir/ Ominięcie elementu procesu /form5.asp Kod źródłowy strony/obiektu /index.php.bak 17/23

Ataki Denial of Service 'Zalanie' serwera wieloma zapytaniami Zapytania szczególnie obciążające zasoby Awaria serwera / Szczególne przypadki Blokowanie kont Programowy 'shutdown' Samo blokada (log forging, IDS) Archetyp: black fax 18/23

Distributed DoS (DDoS) Atak prowadzony z wielu źródeł Sumaryczna przepustowość/wydajność klientów większa od serwera Exploit technologii / protokołu: amplification attack Skąd brać grupy komputerów do prowadzenia ataku: Wolontariusze (akcje społeczne) Bot nety 19/23

Slow Loris GET http://www.someserver.co/ HTTP/1.1 Host: www.someserver.co Connection: keep alive User Agent: Mozilla/5.0 X my: a X my: a X my: a X my: a X my: a X my: a X my: a 20/23

RUDY are you Dead Yet? POST http://www.someserver.co/ Host: www.someserver.co Connection: keep alive Content Length: 1000000 User Agent: Mozilla/5.0 login: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx 21/23

XML Bomb (billion laughs) Atak na parser XML (lub inne parsery) Przykładowy kod: <!ENTITY lol1 'lol'> <!ENTITY lol2 '&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;'> <!ENTITY lol3 '&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;'> <!ENTITY lol4 '&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;'> Powoduje stworzenie dużej ilości instancji (np. miliard) podstawowego obiektu (lol) Kod XML jest poprawny exploit specyfikacji 22/23

Dziękuję za uwagę. Pytania? Dokument udostępniany na licencji Creative Commons Wykorzystane materiały: Clipart openclipart.org Internet map The Opte Project Elementy licencjonowane (royalty free), nie mogą być wykorzystywane oddzielnie: Tło slajdów (background) oraz ikony osób ('awatary') więcej informacji: http://marek.zachara.name Attribution Share Alike 23/23