OWASP Application Security Verification Standard 4.0

Na początku marca pojawiła się nowa wersja OWASP Application Security Verification Standard (ASVS), który jest de facto podstawowym narzędziem w ocenie bezpieczeństwa aplikacji zarówno na naszym podwórku jak i za granicą.

Zmian względem poprzedniej wersji 3.0.1 wydanej w 2016 roku jest sporo, zarówno od strony samych wytycznych jak i ogólnego “ducha” dokumentu. W związku z tym postanowiłem wypisać co ciekawsze punkty, lecimy!

  • Wyrównanie wytycznych “V2: Authentication” oraz “V3: Session Management” ze standardem NIST 800-63-3 Digital Identity Guidelines — świetny ruch, standardy branżowe powinny mieć punkty wspólne wszędzie gdzie tylko można;
  • Zmiana układu sekcji, która pomaga w dodawaniu/usuwaniu odpowiednich wytycznych z zakres audytu (np. jeżeli aplikacja nie korzysta z JSON Web Tokens to cała sekcja związana z JWT może zostać w prosty sposób pominięta);
  • Zmapowanie podatności do odpowiednich rodzajów wyznaczonych przez Common Weakness Enumeration (CWE), oczywiście w miarę możliwości bo nie wszystko da się przełożyć 1:1;
  • Wyrównanie całości poziomu 1 (L1) z wymogami OWASP Top 10 2017 (jedynym wyjątkiem jest tutaj A10 czyli logowanie) co ułatwia adoptowanie Top 10 bo pieczemy dwie pieczenie na jednym ogniu;
  • Poziom 1 (L1) w nowej wersji ASVS zapewnia zgodność z Sekcjami 6.5+ standardu PCI DSS 3.2.1 innymi słowy — implementując ASVS na poziomie 1 spełnimy wymagania związane z Sekcjami 6.5+ standardu PCI DSS w projektach, które tego  wymagają;
  • Zmiana podejścia do architektury aplikacji z monolitów server-side na to co dzisiaj jest już chlebem powszednim czyli: server-less API,  functional programming na produkcji, producenci (API) i cały wachlarz konsumentów (desktop, web, mobile), chmury, kontenery, CI/CD i związana z tym wszystkim kultura DevSecOps;
  • Porzucenie kontrolek związanych z aplikacjami mobilnymi na rzecz standardu OWASP Mobile Application Security Verification Standard;
  • Zapewnienie możliwości przetestowania całego poziomu 1 (L1) podejściem black-box bez dostępu do dokumentacji, kodu źródłowego, deweloperów et cetera. Jedynym wyjątkiem jest A10 (Top 10), które wymaga zrzutów ekranu, wywiadów i ogólnego dowodu na logowanie.

Ponadto da się wyczuć mocny nacisk na:

  1. Testowanie podejściem hybrydowym wszystkich trzech poziomów (w dokumencie brzmi to jak zwykły white-box);
  2. Automatyzację wszystkiego co można z poziomu potoku CI/CD (np. narzędzia SAST i DAST powinny być używane w trybie ciągłym już na etapie wytwarzania aplikacji, a nie dopiero w momencie oceny podatności czy testu penetracyjnego).

Osobiście bardzo podoba mi się uwypuklenie podnoszenia poprzeczki w procesie wytwórczym oprogramowania, oraz zabranie głosu w sprawie ograniczeń związanych z podejściem black-box połączonej z rekomendacją hybrydowej oceny bezpieczeństwa aplikacji wychodzącej poza sam dostęp do instancji aplikacji i włączającej również przegląd kodu źródłowego czy wywiady z deweloperami.

Podsumowując nowa wersja ASVS bardzo dobrze wpasowuje się w dzisiejszy sposób wytwarzania, działania, i utrzymywania aplikacji. Jest to krok w dobrym kierunku, który był potrzebny już od dłuższego czasu (3 lata w IT to długo). Kudos w stronę autorów!

Podsumowanie roku 2018

Przeszło dwa tygodnie temu zaczął się rok 2019 i z okazji tego faktu postanowiłem streścić kilka tematów, które zadziały się na przestrzeni minionego roku. Bardziej dla siebie niż innych — na pewno będzie fajnie przeczytać kilka takich podsumowań za kilka lat. Let’s go!

Kariera

W zeszłym roku zacząłem odchodzić od implementacji na rzecz architektury i szeroko rozumianego procesu (eliminacja podatności na etapie wytwarzania oprogramowania poprzez implementację Secure SDL czy DevSecOps). Dalej uważam to za słuszną drogę — gaszenie pożarów jest nieoptymalne. Jako społeczność powinniśmy się skupić na podnoszeniu poprzeczki poprzez (1) usprawnianie procesu wytwarzania oprogramowania (Secure SDL / DevSecOps), (2) automatyzację wykrywania podatności (np. poprzez fuzzing), oraz (3) implementacji mechanizmów bezpieczeństwa eliminujących całe klasy podatności (np. różne odsłony mechanizmu CFI). Pojedyncze podatności schodzą na drugi plan. (W tym artykule Bruce Schneier zadał pytanie “Are vulnerabilities in software dense or sparse?” obawiam się, że na chwilę obecną odpowiedzią jest dense).

Poza tym miałem okazję występować publicznie aż 7 razy na krajowych konferencjach dotyczących technologii: Code Europe (Warszawa, Poznań), 4Developers (Gdańsk, Wrocław), What The [email protected] (Warszawa), oraz AlligatorCon (Kraków). Slajdy z większości wystąpień można pobrać z GitHuba.

Plakietki konferencyjne z większości wydarzeń, w których uczestniczyłem.

Last but not least pomiędzy pracą, własnymi projektami, oraz wystąpieniami publicznymi zdobyłem również trzy certyfikaty branżowe (OSCP, OSWP, i eCRE). Osobiście nie wierzę w udowadnianie kompetencji poprzez certyfikaty (znam za dużo osób bez żadnych certyfikatów, które ”znają się na robocie”), ale moje widzimisię nie pokrywa się ze spojrzeniem polskiego rynku więc robię to co trzeba zrobić 🤷‍♂️. Niestety jako osoba z latami doświadczenia, we wszystkich kursach do których podszedłem i skończyłem z sukcesem (3/3) wartością dodaną jest jedynie papierek. Zdecydowaną większość materiału (pi*drzwi 95+%, gdzie pozostałe procenty to tips & tricks) znałem już przed kursami.

Start-up (stealth-mode)

W 2018 zacząłem również pracę nad start-upem technologicznym związanym z cyberbezpieczeństwem. Docelowym modelem biznesowym jest Software-as-a-Service dla B2B. Na tę chwilę jestem ja i jeden techniczny co-founder. Całość jest w tzw. stealth-mode, mamy już MVP i publiczną betę planujemy pod koniec 2019Q1 albo początek 2019Q2.

Trening

Progres był, ale nie tak duży jak zakładałem. Powód? Za małe skupienie na progresowaniu ciężaru połączone ze słabym trzymaniem michy. Skończyło się na następujących 1RM przy wadze w okolicach 70kg:

  • Siad 110kg (1.57xBW)
  • Martwy ciąg 155kg (2.21xBW)
  • Ławka 70kg (1xBW)

Upper-body ma duże lagi w stosunku do lower-body — wiem i zacząłem to naprawiać (obecny trening skupia się mocno wokół upper kosztem lower).

Warszawa

W marcu 2018 upłynął rok odkąd zamieszkałem w Warszawie (co samo w sobie było zakończeniem mojej kilkuletniej tułaczki po świecie). Rok w Warszawie (wkrótce dwa!) i dalej jestem zadowolony z wyboru. Polska nie jest idealna jednak z doświadczenia wiem, że ideałów nie ma. Dobrze mi tu gdzie jestem.

2019

Planów, celów, projektów, et cetera na rok 2019 jest pod dostatkiem. Zachęcam do obserwacji (Twitter & Linkedin) bo będzie się działo! 💪

OWASP Poland Day 2018

Konferencja OWASP Poland Day 2018 właśnie dobiegła końca. Siedzę w kawiarni i zbieram myśli, a tych jest sporo bo ciekawych prezentacji nie brakowało. Z materiału, który udało mi się obejrzeć najciekawsze dla mnie okazały się:

  • „Secure the pipeline: How to build a secure Kubernetes CI/CD pipeline.” od @omerlh — DevSecOps jest czymś co sam implementuję i propaguję więc spojrzenie innego practitionera jest dla mnie bardzo ciekawe.
  • „Push Left and Beyond, Building Practical Skills for Fixing Vulnerabilities with OWASP A&D Project.” od @TakaharuOgasa — Szkolenie deweloperów poprzez platformę typu Attack & Defense jest dobrym podejściem do tematu, praktyka > teoria.
  • „Using OAuth and OpenID Connect for access control.” od @YoPeeters — Sprawa kontroli dostępu w gruncie rzeczy jest złożona, Johan fajnie zaprezentował pewne myśli w temacie (dla mnie dość znaczące).

Nota bene: Wszystkie prelekcje zahaczały o tracki „Builders” i „Defenders”. Starzeję się. 😅

Na koniec dodam, że miałem zaszczyt dołączyć do grona tegorocznych prelegentów z moją prezentacją Zero Trust Theorem. Tym razem po angielsku, IMHO wyszło przyzwoicie pomimo dość smutnego podsumowania na sam koniec konferencji. Anyway, dobry trening przed przyszłym rokiem (tj. 2019), w którym to zamierzam wyjść z tym materiałem poza kraj. Na celowniku Europa!

P.S.Jeżeli miałeś okazję być na mojej prelekcji to byłbym bardzo wdzięczny za feedback. 🙌

Przegląd i omówienie tegorocznego programu Black Hat USA

Największa oraz najbardziej prestiżowa konferencja związana z cyberbezpieczeństwem jest już tuż-tuż, a więc jak co roku o tej porze wygospodarowałem chwilę czasu na zapoznanie się z programem i wybranie tego co z mojej perspektywy jest najbardziej warte obserwacji.

Muszę przyznać, że jestem bardzo pozytywnie zaskoczony pod względem ilości solidnego materiału w tegorocznej edycji BH:USA. Niestety nie będę miał okazji być w Las Vegas fizycznie więc pozostaje mi czekać z niecierpliwością na slajdy, papierki, i nagrania.