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

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

The OWASP Foundation Session Management. Sławomir Rozbicki.

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

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

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

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

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Bezpieczeństwo systemów komputerowych

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

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

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

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

Projektowani Systemów Inf.

Aspekty bezpieczeństwa aplikacji internetowych

Application Security Verification Standard. Wojciech Dworakowski, SecuRing

Agenda. Quo vadis, security? Artur Maj, Prevenity

1 Wprowadzenie do J2EE

SSL (Secure Socket Layer)

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

Wprowadzenie do kryptografii i bezpieczeństwa. Po raz czwarty

Programowanie komponentowe 5

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

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

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

Wybrane działy Informatyki Stosowanej

Java wybrane technologie

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

Open(Source) Web Application Security Project

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Program szkolenia: Bezpieczny kod - podstawy

Aplikacje webowe na celowniku. Leszek Miś IT Security Architect RHCA,RHCSS,Sec+ Linux Polska Sp. z o.o. 1

Techniki komputerowe w robotyce

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

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

Wybrane działy Informatyki Stosowanej

EJB 3.0 (Enterprise JavaBeans 3.0)

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

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Java Enterprise Edition spotkanie nr 1. Sprawy organizacyjne, wprowadzenie

Bazy danych i usługi sieciowe

Korporacyjna Magistrala Usług na przykładzie Mule ESB

Wybrane działy Informatyki Stosowanej

Kielce, dnia roku. HB Technology Hubert Szczukiewicz. ul. Kujawska 26 / Kielce

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Drobne błędy w portalach WWW

Jak bezpieczne są Twoje dane w Internecie?

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

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

edziennik Ustaw Opis architektury

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

SOP System Obsługi Parkingów

Bezpieczeństwo aplikacji internetowych

Oracle Application Express -

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

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Standard aplikacji WWW Urzędu Miasta Olsztyna

Bezpieczeństwo poczty elektronicznej

Bezpieczeństwo aplikacji webowych - standardy, przewodniki i narzędzia OWASP OWASP The OWASP Foundation

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

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Wykład 2 Inżynieria Oprogramowania

Enterprise JavaBeans (EJB)

Ministerstwo Finansów

Szkolenie wycofane z oferty

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Webapplication Security Pentest Service

PRACA INŻYNIERSKA IMPLEMENTACJA MOBILNEGO KLIENTA BANKU ZABEZPIECZONEGO TOKENEM

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Aplikacje WWW Wprowadzenie

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

Korporacyjna Magistrala Usług na przykładzie Oracle Service Bus

System DiLO. Opis interfejsu dostępowego v. 2.0

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

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

W grze bierze udział dwóch graczy. Każdy uczestnik rozpoczyna rozgrywkę z sumą

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Serwery LDAP w środowisku produktów w Oracle

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

Zastosowania PKI dla wirtualnych sieci prywatnych

Specyfikacja interfejsów usług Jednolitego Pliku Kontrolnego

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

Dokumentacja smsapi wersja 1.4

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

Portal Security - ModSec Enterprise

Problematyka bezpieczeństwa usług Web Services. Witold Andrzejewski

Wprowadzenie do J2EE. Maciej Zakrzewicz.

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

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

Zastosowanie Oracle Designer/2000 do projektowania i implementacji aplikacji WWW

Zastosowanie komponentów EJB typu Session

Przepełnienie bufora. SQL Injection Załączenie zewnętrznego kodu XSS. Nabycie uprawnień innego użytkownika/klienta/administratora

2. Zastosowanie standardu Wi-Fi w systemach AMR... 21

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Architektura komunikacji

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

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

Transkrypt:

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa, 2008-01-08 1

Agenda 1. Teza 2. Bezpieczeństwo aplikacji internetowych Usługi bezpieczeństwa Problemy bezpieczeństwa 3. Architektura bezpieczeństwa platformy Java Enterprise Edition 4. Propozycja rozwiązania problemów bezpieczeństwa 2

Teza Realizacja bezpiecznej aplikacji internetowej opartej na bazie danych wymaga zastosowania warstwy pośredniej odpowiadającej za bezpieczeństwo. 3

Bezpieczeństwo aplikacji internetowych Duża popularność zachęca potencjalnych intruzów Większość problemów jest niezależna od języka programowania, czy platformy Bardzo szerokie zagadnienie Pareto 4

Pożądane cechy bezpiecznej aplikacji internetowej Zabezpieczenie przed nieautoryzowanym dostępem do funkcji aplikacji i dostępnych z jej poziomu danych Niezaprzeczalność, czyli zapewnienie, że użytkownik nie może wyprzeć się operacji, którą wykonał Zabezpieczenie przed zmniejszeniem parametrów jakości obsługi (Quality of Service) w wyniku różnego rodzaju ataków Łatwość zarządzania i administracji Wygodna obsługa 5

Usługi bezpieczeństwa Uwierzytelnienie Autoryzacja / sterowanie dostępem Integralność danych Poufność / prywatność danych Niezaprzeczalność Jakość obsługi Audyt 6

Najważniejsze problemy bezpieczeństwa aplikacji internetowych (1/2) Skrypty międzyserwisowe (Cross Site Scripting - XSS) Wstrzykiwanie złośliwego kodu (Injection Flaws) Złośliwe wykonywanie plików (Malicious File Execution) Niezabezpieczone bezpośrednie odwołanie do obiektu (Insecure Direct Object Reference) Fałszowanie żądań (Cross Site Request Forgery) 7

Najważniejsze problemy bezpieczeństwa aplikacji internetowych (2/2) Wyciek informacji i niepoprawna obsługa błędów (Information Leakage and Improper Error Handling) Niepoprawna obsługa uwierzytelnienia i sesji (Broken Authentication and Session Management) Błędy szyfrowania wrażliwych danych (Insecure Cryptographic Storage) Niezabezpieczona wymiana informacji (Insecure Communications) Brak zabezpieczenia dostępu poprzez URL (Failure to Restrict URL Access) 8

Mechanizmy bezpieczeństwa platformy Java Separacja poprzez maszynę wirtualną Bezpieczeństwo języka JAAS Java GSS-API JCE JSSE SASL 9

Sposoby wyrażania wymagań bezpieczeństwa na platformie Java EE Deklaratywne Programowe Adnotacje 10

Architektura aplikacji internetowej Java EE Maszyna klienta Przeglądarka klienta Serwer aplikacyjny Serwlety Warstwa Web Strony JSP Warstwa Usługowa Komponen ty EJB Baza danych Dane 11

Warstwowy model bezpieczeństwa Java EE Warstwa aplikacji (application layer) Warstwa transportowa (transport layer) Warstwa komunikatów (message layer) 12

Proponowane rozwiązania problemów (1/5) Skrypty międzyserwisowe Walidacja danych wejściowych Kodowanie danych wyjściowych Wstrzykiwanie złośliwego kodu Walidacja danych wejściowych Użycie szkieletu ORM Poprawna obsługa błędów Odpowiednie uprawnienia dostępu do bazy danych 13

Proponowane rozwiązania problemów (2/5) Złośliwe wykonywanie plików Odwołanie do plików poprzez identyfikator Walidacja danych wejściowych Niezabezpieczone bezpośrednie odwołanie do obiektu Ograniczanie zestawu zwracanych danych Autoryzacja dostępu 14

Proponowane rozwiązania problemów (3/5) Fałszowanie żądań Użycie metody POST przy pobieraniu danych od użytkownika SSL Zabezpieczenie przed atakami XSS Wyciek informacji i niepoprawna obsługa błędów Globalna obsługa wyjątków Ograniczenie szczegółowości komunikatów błędów zwracanych użytkownikom 15

Proponowane rozwiązania problemów (4/5) Niepoprawna obsługa uwierzytelnienia i sesji Wykorzystanie wbudowanego mechanizmu obsługi sesji SSL Dostępność przycisku Logout Wygasanie sesji Losowe hasła e-mail 16

Proponowane rozwiązania problemów (5/5) Błędy szyfrowania wrażliwych danych Skróty haseł użytkowników Odpowiednie prawa dostępu w systemie operacyjnym Niezabezpieczona wymiana informacji SSL Brak zabezpieczenia dostępu poprzez URL Autoryzacja 17

Dziękuję za uwagę Czekam na pytania 18