Szkolenie

J/SEC Zasady bezpiecznego tworzenia i utrzymywania aplikacji internetowych na platformie Java Enterprise

O szkoleniu

Uczestnicy dowiedzą się jak projektować i implementować bezpieczne aplikacje internetowe wykorzystujące dostępne mechanizmy najpopularniejszych technologii Javy.

W szczególności:

Uczestnicy kursu zapoznają się z najczęściej wykorzystywanymi klasami ataków na aplikacje Webowe, między innymi atakami wstrzyknięcia, XSS (Cross Site Scripting), CSRF (Cross Site Request Forgery). Każda z klas ataków zostanie szczegółowo omówiona, poczynając od omówienia błędu, poprzez sposób wykorzystania go w celu zaatakowania aplikacji, kończąc na sposobach zabezpieczenia się przed nimi. Dla najpopularniejszych technologii zostaną zaprezentowane mechanizmy umożliwiające uniknięcie poszczególnych zagrożeń. Dodatkowo uczestnicy kursu poznają narzędzia umożliwiające testowanie bezpieczeństwa aplikacji Webowych. W ramach szkolenia poruszone zostaną również aspekty konfiguracji serwera aplikacji w kontekście jej bezpiecznego udostępniania
Kto powinien wziąć udział?
Szkolenie adresowane jest do programistów aplikacji internetowych, pragnących poznać zagrożenia jakie niosą różnego rodzaju błędy czy uchybienia w aplikacjach internetowych i ich otoczeniu/środowisku. Prezentowana wiedza może być przydatna dla osób odpowiedzialnych za bezpieczeństwo tworzonych lub wdrażanych aplikacji.

Program szkolenia

I. Wstęp
1. Omówienie źródeł zagrożeń dla aplikacji Webowych (błędna konfiguracja, błędy w serwerach, błędy w aplikacji...)
2. Omówienie różnych podejścia do bezpieczeństwa/paradygmaty (Defense in depth, security by obscurity, low hanging fruits)

II. Sesja w aplikacji Webowej
1. Sposoby realizacji sesji w aplikacjach Webowych
2. Obsługa sesji w najpopularniejszych technologiach
3. Atak porwania sesji (ang. session hijacking) i sposoby zabezpieczenia się
4. Dobre praktyki związane z obsługą sesji w aplikacjach Webowych
5. Zapoznanie z programem WebScarab – narzędziem umożliwiającym testowanie bezpieczeństwa aplikacji

III. Ataki wstrzyknięcia (ang. injection attacks)
1. Wprowadzenie do ataków wstrzyknięcia, powody ich występowania i metody zabezpieczenia (escapowanie oraz walidacja danych)
2. Realizacji walidacji w najpopularniejszych technologiach
3. Omówienie biblioteki AntiSamy, zapewniającej filtrowanie wpisywanych tagów HTML
4. Atak wstrzyknięcia na stronach bez pól tekstowych
5. SQL-Injection – nie tylko „or 1=1”
6. Nie tylko SQL-Injection (XML-Injection, X-PATH, Command Injection … )

IV. Atak CSRF (ang. Cross Site Request Forgery)
1. Omówienie idei działania ataku typu CSRF, przykład
2. Metody zabezpieczenia się przed atakiem CSRF

V. Uwierzytelnienie i autoryzacja w aplikacjach Webowych
1. Zapewnienie bezpiecznego sposobu uwierzytelniania
2. Polityka dotycząca haseł (czas życia, sposób przechowywania, itp. … )
3. Realizacja uwierzytelniania w aplikacjach opartych na Java Enterprise Edition (JAAS) oraz znanych szkieletach (Seam, Spring)

VI. Obsługa błędów w aplikacjach Webowych
1. Omówienie niebezpieczeństw związanych z nieodpowiednią obsługą błędów
a) Co/czego nie umieszczać w komunikatach błędów
b) Co może zostać ujawnione w wyniku nieprawidłowej obsługi błędów
c) Realizacja zasady „fail securely”

VII. Wielowątkowość
1. Problemy związane z wielowątkowością – wyścigi oraz nadpisanie danych
2. Cyklu życia dynamicznych stron i servletów na przykładach najpopularniejszych technologii
3. Omówienie przykładowego ataku wykorzystującego błędne zaimplementowanie wielowątkowości

VIII. Bezpieczeństwo WebServices

IX. Niebezpieczeństwa języka Java

X. Bezpieczna konfiguracja serwerów aplikacyjnych
1. Bezpieczna architektura dla aplikacji Webowych (wykorzystanie DMZ, filtrowanie adresów …)
2. Realizacja podmiany standardowej strony błędu

XI. Inne zagadnienia związane z bezpieczeństwem
1. Zapewnienie poufności przesyłanych danych
2. Nie ufać w dobrą wolę użytkowników lub ich niewiedzę
a) Co można znaleźć w źródłach wygenerowanych stron (debug programistów)
b) Nie ufać w wyniki działania kodu wysyłanego do użytkownika
c) Nie ufać w przesyłane dane od użytkownika
3. Logowanie błędów
4. Zabezpieczenia w postaci niewidocznych linków

XII. Jak pisać bezpieczne aplikacje
1. Omówienie elementów służących powstawaniu bezpiecznych aplikacji
a) Bezpieczeństwo aplikacji, jako część wymagań projektu a nie dodatek
b) Edukacja deweloperów - WebGoat
c) Code Review
d) Testowanie napisanej aplikacji (Black Box testing, Fuzzing …)
e) Bezpieczne tworzenie aplikacji w kontekście współczesnych technologii (JEE, Seam, Spring,GWT,…)
2. Gdzie znaleźć dodatkowe informacje o częstych, znanych błędach (CERT Secure-Coding, OWASP Top-Ten)

Czas trwania

czas trwania - 2 dni
czyli:
2*7 godzin wykładów i warsztatów w proporcji 1/3.

Wielkość grupy: maks. 8-10 osób.

Aktualne terminy oraz dodatkowe informacje na stronie:
http://www.sages.com.pl/szkolenia-katalog

Prelegenci

Cytat
Doświadczeni trenerzy Sages

Gdzie i kiedy

Warszawa 13 - 14 października 2011
Sages Sp. z o.o.

02-796 Warszawa

Wąwozowa 11

woj. mazowieckie

Weź udział

Cena 1
cena netto
2200 PLN
Cena zawiera:
  • materiały szkoleniowe, lunch, przerwy kawowe
Weź udział

Organizator

Sages Sp. z o.o.
02-796 Warszawa
ul. Wąwozowa 11
woj. mazowieckie
FAQ

Najczęściej zadawane pytania

Prosimy o przejście do sekcji Weź udział, aby wypełnić formularz zgłoszenia w wydarzeniu. Po jego wysłaniu organizator skontaktuje się celem potwierdzenia przyjęcia zgłoszenia i przekazania szczegółów organizacyjnych.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku Java (do poznania na kursie J/JP), podstawy relacyjnych baz danych i SQL.

Zalecana jest również umiejętność tworzenia aplikacji webowych w technologiach JEE (do poznania na kursach J/WEB1, J/WEB2).

Kontakt

Masz pytania? Napisz do nas

Wypełnij formularz

Uzupełnij pole
Wybierz termin wydarzenia
Uzupełnij pole
Uzupełnij pole
Uzupełnij wiadomość
Potwierdź, że nie jesteś botem.
Musisz zaakceptować regulamin.
Wiadomość została wysłana!

Dane kontaktowe

Sages Sp. z o.o.
02-796 Warszawa ul. Wąwozowa 11
Darmowy biuletyn informacyjny

Zapisz się do newslettera i otrzymuj powiadomienia o nowych wydarzeniach!