Praktyczne wprowadzenie do OWASP Top Ten (1 dzień)

Jeśli kiedykolwiek myślałeś, że chciałbyś sprawnie wejść w tematykę bezpieczeństwa aplikacji webowych, lub poszerzyć czy uporządkować swoją wiedzę, mamy dla Ciebie jedno z naszych flagowych szkoleń Praktyczne wprowadzenie do OWASP Top Ten”.

Voucher 2024 

Zachęcamy do zakupu Vouchera 2024 na to szkolenie. Voucher daje gwarancję ceny z roku 2023 i można wykorzystać do końca 2024 roku (terminy szkoleń na 2024 będzie można znaleźć w sklepie, voucher upoważnia do udziału w szkoleniu w dowolnym terminie proponowanym przez organizatora).

Czego dowiesz się podczas szkolenia

  • Czy jest OWASP 10 i jak możesz go używać w swojej firmie
  • Na żywych przykładach jakie błędy najczęściej są popełniane w aplikacjach oraz konfiguracjach bibliotek czy serwerów
  • W jaki sposób możesz poszukiwać błędów bezpieczeństwa z omawianego rankingu

Co powinieneś wiedzieć

  • Brak wymagań na start

Do kogo skierowane jest szkolenie

  • programistów / testerów
  • testerów bezpieczeństwa
  • pentesterów
  • architektów  / projektantów
  • administratorów
  • osoby odpowiadające za proceduralne aspekty bezpieczeństwa / menagerowie

Czego nauczysz się podczas szkolenia

  • dowiecie się, w jaki sposób pisać bezpieczniejszy kod; być może nawet natychmiast po szkoleniu zidentyfikujecie błędy w swoim kodzie! (raz na jakiś czas dostajemy od naszych uczestników informacje typu: “popatrzyłem wieczorem na moją aplikację i znalazłem takie dziury, o których była dzisiaj mowa!”
  • poznacie nowe sztuczki pozwalające znajdować mniej znane problemy bezpieczeństwa w aplikacji,
  • poznasz parę dodatkowych, mało znanych tricków, będziesz miał również możliwość – również po szkoleniu – dopytać o pewne szczegóły czy warsztat prowadzącego
  • poznasz konkretne rozwiązania architektoniczne minimalizujące ryzyko błędów bezpieczeństwa w aplikacji webowej
  • po tym szkoleniu będziesz już wiedział gdzie czają się największe niebezpieczeństwa dla aplikacji webowych; będziesz też mógł sprawnie rozmawiać z programistami w temacie bezpieczeństwa ich aplikacji,
  • dowiecie się, co to może znaczyć, że aplikacja ma być “zgodna z OWASP 10” – i czy w ogóle jest to możliwe – i jakie kroki należy poczynić, by było to prawdą; będziecie też umieć nieco sprawniej rozmawiać z programistami czy osobami odpowiedzialnymi za techniczne bezpieczeństwo IT w firmie.

Agenda

Na szkoleniu omawiamy każdy z punktów najnowszej wersji OWASP TOP 10 pod następującym kątem:

  • jakich problemów bezpieczeństwa dotyczy dany punkt,
  • jak dane błędy mogą zostać wykorzystane,
  • co można zrobić, by zminimalizować ryzyko wykorzystania tych błędów.

Omówione są zatem następujące punkty:

  • A01 Broken Access Control
  • A02 Cryptographic Failures
  • A03 Injection
  • A04 Insecure Design
  • A05 Security Misconfiguration
  • A06 Vulnerable and Outdated Components
  • A07 Identification and Authentication Failures
  • A08 Software and Data Integrity Failures
  • A09 Security Logging and Monitoring Failures
  • A10 Server Side Request Forgery (SSRF)

(czytaj dalej, jeśli chcesz wiedzieć, co dokładnie omówimy w każdym z tych punktów)

A01:2021 – Broken Access Control

W najnowszej wersji OWASP TOP 10, błędy kontroli dostępu zajmują zaszczytne pierwsze miejsce. W największym skrócie podatności tego typu polegają na nieodpowiedniej weryfikacji uprawnień do zasobów, w efekcie czego napastnik uzyskuje dostęp do danych, do których nie powinien mieć dostępu. Brzmi skomplikowanie? To nic! By lepiej zrozumieć zagadnienie, zobaczymy tutaj szereg praktycznych przykładów błędów tego typu, np.:

  • Jak uzyskać dostęp do faktur innych użytkowników,
  • Jak zmienić hasło innemu użytkownikowi,
  • Jak uzyskać pełny dostęp do bazy danych,
  • Jak wykraść dane użytkownika przez błędną konfigurację CORS,
  • Jak dostać się do poufnych danych przez publiczne listingi katalogów.

W odpowiedzi na te problemy poznamy najistotniejsze sposoby zabezpieczania dostępu do zasobów, np. RBAC (role-based access control), zasadę najmniejszych uprawnień, rate limiting czy odpowiednie polityki CORS.

A02:2021 – Cryptographic Failures

Błędy w kryptografii mogą być subtelne, ale jeśli już występują, to zazwyczaj mają porażającą moc. Pozwalają zwykle na deszyfrację danych innych użytkowników lub uzyskanie dostęp do ich konta.

O kryptografii, jako nauce, moglibyśmy zrobić osobne, nawet 5-dniowe szkolenie. Tutaj jednak w sposób skondensowany przedstawimy problemy, z którymi w aplikacjach webowych musimy się najczęściej mierzyć w zakresie kryptografii i przedstawimy odpowiedzi na następujące pytania:

  • W jaki sposób skonfigurować połączenie TLS do naszych usług, oraz jak przetestować, czy konfiguracja spełnia najnowsze standardy?
  • Jak podejść do szyfrowania danych “w spoczynku” (tj. np. przy zapisie do bazy danych)?
  • Czy sam fakt użycia szyfrowania danych bezpiecznym algorytmem szyfrującym czyni je automatycznie pod każdym względem bezpiecznymi?
  • Czy można odgadnąć losowe tokeny, np. tokeny do resetu hasła?
  • Jak radzić sobie z przechowywaniem kluczy API oraz innych secretów w aplikacji?
  • W jaki sposób przechowywać hasła w bazie danych?

A03:2021 – Injection

Podatności typu “Injection” są jednymi z najsłynniejszych problemów bezpieczeństwa aplikacji, głównie kojarzonymi z SQL Injection. Ale czy tylko? Okazuje się, że nie! Pokażemy ogólne podejście do podatności “Injection”, oraz dlaczego można się z nimi spotkać nie tylko w kontekście SQL.

Zobaczymy kilka przykładów tego typu podatności (zaczynając od najsłynniejszych, jak SQL Injection czy XSS, a kończąc na nieco rzadszych Server-Side Template Injection) oraz omówimy ogólny sposób myślenia o tego typu podatnościach, który pozwoli nam na zabezpieczenie się przed nimi, nawet jeśli dany typ “Injection” nie ma nawet swojej nazwy!

A04:2021 – Insecure Design

Ten punkt jest niewątpliwie najbardziej ogólnym w najnowszej wersji OWASP TOP 10. Nie dotyka konkretnej podatności, a ogólnie błędów w projektowaniu aplikacji. Będzie zatem dobrą okazją, by porozmawiać o procesie budowy aplikacji. Dowiemy się czym jest S-SDLC (Secure Software Development LifeCycle) i jak można do wdrażać. Porozmawiamy o modelowaniu zagrożeń – dowiemy się jak je przeprowadzać i jak pomoże nam zrozumieć problemy bezpieczeństwa w naszej aplikacji.

Tradycyjnie przedstawimy też kilka przykładów praktycznych błędów, które mogły zostać wykryte na poziomie projektowania tej aplikacji. Gdyby zostały wówczas wykryte – koszt ich naprawy byłby o wiele mniejszy.

A05:2021 – Security Misconfiguration

Czasem błędy bezpieczeństwa w aplikacji webowej nie wynikają z problemów w kodzie, ale z niewłaściwej konfiguracji aplikacji lub jej środowiska. O tym właśnie będzie ten punkt. Zobaczymy kilka przykładów, do czego może się przydać poznanie zawartości katalogów na serwerze; dlaczego na serwerach produkcyjnych nie należy wyświetlać dokładnych stack trace’ów czy też dlaczego powinniśmy zmieniać domyślne hasła do usług.

A06:2021 – Vulnerable and Outdated Components

Kilka lat temu miał miejsce bardzo głośny atak na systemy firmy Equifax, w wyniku których wyciekły dane ponad stu milionów Amerykanów. Powód? Brak aktualizacji biblioteki Apache Struts, która była podatna na błąd, pozwalający na wykonanie dowolnego kodu po stronie serwera. To jeden z wielu przykładów uświadamiających, jak ważne jest utrzymywanie komponentów aplikacji (bibliotek, zależności itp.) w najnowszych wersjach, a przynajmniej w wersjach niezawierających znanych podatności.

W tym rozdziale poznamy przykłady narzędzi, które pozwalają na weryfikację, czy używane przez nas zależności zawierają znane błędy bezpieczeństwa. Zobaczymy także, jak proces weryfikacji wersji zintegrować z procesem rozwoju aplikacji.

A07:2021 – Identification and Authentication Failures

Błędy związane z identyfikacją lub uwierzytelnieniem zazwyczaj pozwalają na przejęcie konta użytkowników. Poznamy tutaj przykłady następujących ataków:

  • Przejęcie konta użytkownika przez brute force loginu i hasła,
  • Ominięcie zabezpieczeń pozwalających na ustalenie, czy dany login istnieje,
  • Ominięcie dwuskładnikowego uwierzytelnienia,
  • Błędy w procesie resetu hasła (np. poprzez nadpisanie nagłówka Host)

Dowiemy się, jak zabezpieczać się przed tymi konkretnymi przykładami ataków, ale także poznamy ogólne zasady dobrej implementacji tego procesu, niezależnie od tego, czy implementujemy go sami, czy też integrujemy się z zewnętrznym dostawcą (np. poprzez OpenID Connect). Dowiemy się także, jakie są obecnie najbardziej polecane zasady tworzenia polityki haseł.

A08:2021 – Software and Data Integrity Failures

Kolejny punkt najnowszego OWASP TOP10, który dotyczy bardziej procesu rozwoju aplikacji, aniżeli konkretnych podatności. Dotyka on wszelakich błędów wynikających z braku sprawdzania integralności plików wykonywalnych oprogramowania.

Pokażemy tutaj m.in. następujący przykład: instalujemy zależność z npm, co do której mamy pewność, że jest bezpieczna. Gdy ta sama zależność jest instalowana w procesie CI/CD, okazuje się, że została zainstalowana inna, podatna na błędy bezpieczeństwa wersja! Jak to możliwe? Dowiemy się na szkoleniu 🙂

Przy okazji tego tematu omówimy sobie także ogólniej problemy związane z atakami na łańcuchy dostaw; zastanowimy się nad możliwymi sposobami minimalizacji tych ryzyk.

A09:2021 – Security Logging and Monitoring Failures

Załóżmy, że w naszej aplikacji występuje incydent bezpieczeństwa, w wyniku którego ktoś pobiera poufne dane użytkowników. W tym momencie chcielibyśmy się dowiedzieć, w jaki sposób dokładnie doszło do tego włamania, i do jakich danych napastnik uzyskał dostęp… Niestety – jeśli nie logujemy wystarczająco dużo danych na temat naszych systemów, może okazać się, że nie będziemy w stanie wyciągnąć odpowiednich wniosków.

Dlatego w tym rozdziale omówimy w jaki sposób należy podejść do logowania danych w aplikacji webowej. Tj. jakie dane powinny być logowane, a jakie nie powinny być logowane.

Pokażemy też przykład aktywnego monitoringu, który pozwoli wykryć atak, nawet jeśli nie jest to atak stricte techniczny, a po prostu wynikający z pewnego nietypowego użycia aplikacji.

A10:2021 – Server-Side Request Forgery (SSRF)

SSRF (Server-Side Request Forgery) to atak pozwalający na zmuszenie serwera aplikacyjnego do wykonywania zapytań do innych serwerów. Na pierwszy rzut oka może nie wygląda to specjalnie groźnie, ale w praktyce atak pozwala na przełamanie pewnych cichych założeń dotyczących naszych systemów (np. “jak ktoś jest w LAN, to na pewno jest zaufany!”). Na szkoleniu poznamy praktyczne przykłady wykorzystania SSRF nawet do całkowitego przejmowania serwerów!

Dowiemy się także, że ochrona przed tym atakiem nie jest prosta – spróbujemy zastanowić się, jakie podejście będzie najbardziej odpowiednie, jeśli SSRF będzie de facto wynikał z oczekiwanej funkcjonalności w naszej aplikacji.

Przydatne informacje

  • Szkolenie prowadzone on-line, w godzinach 9:00-17:00. 
  • Do udziału w szkoleniu potrzebny jest komputer z dostępem do internetu. Podczas wydarzenia będzie można zadawać prowadzącemu pytania na czacie.
  • [UWAGA!] Link/Linki do szkolenia wysyłamy najpóźniej do dwóch dni przed szkoleniem w osobnej wiadomości, na podanego podczas rejestracji maila. Jeżeli nie dostałeś linka to napisz na szkolenia@securitum.pl podając numer zamówienia.
  • Istnieje możliwość organizacji szkolenia w formie zamkniętej – dla zamkniętej grupy osób. Szkolenia takie organizujemy na atrakcyjnych warunkach finansowych. W przypadku zainteresowania tego typu szkoleniem prosimy o kontakt e-mail: szkolenia@securitum.pl, tel.: +48 516 824 029 

Co zawiera cena szkolenia

  • Udział w szkoleniu
  • Dostęp do zapisu video ze szkolenia przez 30 dni.
  • Certyfikat ukończenia szkolenia (PDF).

Podobne szkolenia

 

O prowadzącym

Kamil Jarosiński jest konsultantem  ds. bezpieczeństwa IT w firmie Securitum. Posiada ponad 7 lat doświadczenia w prowadzenia testów penetracyjnych oraz szkoleń z zakresu bezpieczeństwa aplikacji webowych. Pasjonat bezpieczeństwa systemów IT lubiący dzielić się wiedzą. Prelegent na konferencjach branżowych m.in: Mega Sekurak Hacking Party, uczestnik programów Bug Bounty.

Opinie uczestników o szkoleniu

Najmocniejsze strony szkolenia to: holistyczne podejście do prezentowanego tematu, nastawienie na praktykę (live dema), wzorowy kontakt z uczestnikami szkolenia oraz dzielenie się unikalnymi poradami wynikającymi z doświadczenia trenera.

Super prowadzenie, bardzo ciekawa formuła - interaktywna i płynna, bez slajdów wszystko na żywo.

Duża ilość praktycznych przykładów, Informacja o przydatnych narzędziach do pracy.

Obszerna wiedza, sporo przykładów, możliwość konwersacji, streaming YT :)

Wszystkie przedstawione tematy były dla mnie interesujące, jednak najciekawsze dla mnie był temat przedstawiający wykorzystanie podatności serializacji.

Masa ciekawych narzędzi do pracy.

Sekcja o kryptografii była super, spodziewałem się bardziej "standardowej" formuły.

Prowadzący: Kamil Jarosiński

11 czerwca 2024

1 299,00 zł netto + 23% VAT
1 597,77 zł brutto

Voucher 2024 (OWASP Top 10 - 1 dzień)

1 299,00 zł netto + 23% VAT
1 597,77 zł brutto