WARSZTAT - Security PWNing Conference 2019

Od zera do pierwszego 0-daya!

 

Warsztaty automatycznego wyszukiwania podatności i ich analizy

Jeżeli chcesz “mieć” swoje CVE to trafiłeś idealnie!

Warsztat jest opracowany z myślą o wprowadzeniu uczestników w arkana najlepszych metod i narzędzi służących do automatycznego wykrywania podatności i analizy błędów w oprogramowaniu w praktyczny sposób.

Na początku skupimy się na zrozumieniu technik: analizy binarnej, wyszukiwania różnych typów podatności oraz debuggowania. “Wgryziemy” się w praktyczny fuzzing i błędy, które spędzają sen z powiek programistom za pomocą swojego niedeterministycznego występowania. Uczestnicy poznają techniki do analizy słabych stron aplikacji, pisania gramatyk oraz pozyskiwania korpusów testowych gwarantujących interesujące wyniki.

Po zrozumieniu aspektów bughuntingu nadejdzie czas na automatyzację analizy podatności i sposoby debuggowania gwarantujące szybkie znalezienie wadliwych elementów kodu.

Szkolenie skupia się na architekturze x86/x64 i atakowaniu parserów (tekstowych, sieciowych, binarnych), fuzzingu sieciowym na platformach Windows i Linux.

To szkolenie nauczy Cię…

  • charakterystyk klas podatności i sposobów obrony przed nimi;
  • technik automatycznego poszukiwania błędów i doboru najlepszych narzędzi w branży do odkrywania podatności (blackbox, graybox, whitebox);
  • podstaw analizy binarnej;
  • analizować i automatyzować analizę znalezionych błędów;
  • tunigować (sieć, pliki, binaria) i skalować proces fuzzingu na wielu poziomach: fuzzera, systemu operacyjnego i harnessu;
  • pisania własnego fuzzera dla wybranego projektu open-source;
  • gotowego do wdrożenia podejścia Fuzz-Driven Development;

Program

12 listopada
09:00
Dlaczego warto szukać podatności bezpieczeństwa?
Dlaczego warto to robić za pomocą fuzzerów i metod automatycznych?
Najczęściej występujące problemy bezpieczeństwa w oprogramowaniu i mechanizmy mitygacji
  • Klasy podatności
  • Mechanizmy ochrony
Workflow poszukiwania podatności
    • 8 praw fuzzingu
Fuzzery pod maską i niejedno imię fuzzera
Wprowadzenie do fuzzingu na GNU/Linux
    • Jak znaleźć interesujący komponent do ataku?
    • Atakowanie whitebox
      – AFL++ (różnice pomiędzy AFL i AFL++)
      – Honggfuzz
      – LibFuzzer
      – Fuzzery Go / .NET / Python
      – Pokrycie kodu
    • Atakowanie greybox
      – AFLSmart
    • Atakowanie blackbox
      – AFL++ + QEMU
      – DynInst
    • Inne
      – Fuzzing z wykorzystaniem preeny
13:30-14:00
Lunch
Szybkie wprowadzenie do sanitizerów ich możliwości w zakresie detekcji błędów (ASAN, MSAN, UBSAN, TSAN)
Wprowadzenie do fuzzingu na Windows
    • Proces wyszukiwania funkcji do automatycznych testów
    • WinAFL
    • DrFuzz
Inne
    • Predykcja ROI za pomocą Pythia – Kiedy fuzzing przestaje się opłacać?
    • Fuzzing sieciowy
    • Fuzzing hybrydowy z Symbolic / Concolic Execution
    • Sztuczna inteligencja w służbie bughuntingu
Zarządzanie i tworzenie korpusów testowych
    • Ewolucja i badanie pokrycia kodu
    • Generowanie i ręczne tworzenie inputu z lepszym pokryciem kodu
-17:00
Fuzzing w wielkiej skali
    • ClusterFuzz od Google
    • Fuzz-Driven Development
    • Integracja FuzzManagera z AFL / Honggfuzz / Python
    • Badanie pokrycia kodu na potrzeby FuzzManagera
    • Grupowanie duplikatów za pomocą sygnatur
13 listopada
09:00
Pisanie własnego fuzzera opartego o LibFuzzer
    • Analiza metod integracji z OSS-Fuzz
    • Poprawianie osiągów fuzzera
Statyczna analiza kodu
    • Mamy 2019 rok, czy dalej warto?
    • cppcheck vs. Clang Static Analyzer
    • Weryfikacja znalezisk za pomocą fuzzera
    • Statyczna analiza jako pierwszy krok do ręcznego przeglądu kodu?
Make vulnerability reporting great again!
    • Analiza błędów
      – Sanitizery (ASAN, MSAN, UBSAN, TSAN)
      – Valgrind
      – DrMemory
    • Co powinien zawierać rzetelny raport o podatności?
    • O co chodzi z CVE?
13:30-14:00
Lunch
Podstawy selekcji interesujących przypadków błędów
    • Określanie krytyczności awarii
      – exploitability / crashwalk
Praca z niedeterministycznymi awariami kodu
    • Debuggowanie za pomocą RR
    • Narzędzia analizy binarnej w GNU\Linux
-17:00
Co dalej?
    • Rode0day

EKSPERT

Kamil Frankowicz foto
KAMIL FRANKOWICZ

Fan fuzzingu oraz nowych metod powodowania awarii programów. Na co dzień broni bezpieczeństwa polskiego Internetu, pracując jako Senior Security Engineer w CERT Polska. Do jego specjalności należy psucie – często nieintencjonalne. Odkrywca ponad 130 podatności bezpieczeństwa i 450+ błędów w oprogramowaniu. W czasie wolnym lata dronem, fotografuje i nieregularnie opisuje swoje znaleziska na blogu związanym z bughuntingiem (https://frankowicz.me).

Uczestnicy

Kto powinien wziąć udział w szkoleniu?

  • specjaliści ds. bezpieczeństwa IT i pentesterzy,
  • programiści i testerzy,
  • badacze bezpieczeństwa IT,
  • dostawcy rozwiązań w zakresie bezpieczeństwa IT,
  • pasjonaci bezpieczeństwa teleinformatycznego,
  • wszyscy, którzy myślą o karierze w obszarze ofensywnego bezpieczeństwa aplikacji!

 –

Wymagania:

  • Podstawy programowania w C/C++ lub Python
  • Podstawy obsługi systemów operacyjnych z rodziny GNU\Linux i Windows
  • Własny komputer:
    • 64-bitowy system operacyjny Windows lub GNU/Linux (preferowane pochodne Debiana, np. Ubuntu)
    • zainstalowane oprogramowanie VirtualBox
    • minimum 8 GB RAM, sugerowane 16+ GB
    • minimum 2-rdzeniowy procesor
    • minimum 50GB wolnego miejsca na dysku

Miejsce i termin

12-13 listopada, Warszawa
Golden Floor Plaza
Warszawa, Aleje Jerozolimskie 123a

Podobne wydarzenia:

Konferencja
Security PWNing Conference 2019

Formularz rejestracyjny

Warunki uczestnictwa

Warunkiem udziału w warsztacie jest wypełnienie poniższego formularza zgłoszeniowego oraz akceptacja regulaminu.

Podstawą do uiszczenia należności jest faktura pro forma, która zostanie przesłana w postaci PDF na adres mailowy podany w zgłoszeniu.

Nieuregulowanie faktury pro forma nie jest równoznaczne z rezygnacją z udziału w warsztacie.

Zasady składania rezygnacji zostały określone w regulaminie.

W przypadku złożenia rezygnacji w terminie późniejszym niż 14 dni kalendarzowych przed terminem wydarzenia, organizator zastrzega sobie prawo, zgodnie z regulaminem, do obciążenia zamawiającego pełnymi kosztami udziału w konferencji.

——————————————————————–

W ramach opłaty uczestnicy otrzymają:

  • wstęp na warsztaty
  • przerwy kawowe i lunch
  • niepowtarzalną atmosferę  :)

Wypełnij poniższy formularz i zaakceptuj warunki.

Termin

12-13 listopada 2019, Warszawa

Cennik/kod

od 29 sierpnia 2019
3499 PLN
netto + Vat 23%
(do zapłaty: 4303.77 PLN)
od 14 października 2019
3999 PLN
netto + Vat 23%
(do zapłaty: 4918.77 PLN)

{{sectionTitle}}

Dane do wystawienia faktury VAT

Firma/Instytucja
Osoba fizyczna

Warunki zwolnienia z VAT

Tak - oświadczam, że udział w szkoleniu finansowany jest ze środków publicznych
Nie - udział w szkoleniu nie jest finansowy ze środków publicznych

Typ płatności

Przelew po otrzymaniu faktury PRO FORMA
Pay-U