SlideShare a Scribd company logo
Błażej
Pabiszczak
Czym jest OWASP
OWASP jest to internetowa organizacja, która
skupia wokół siebie otwartą społeczność tworzącą
bezstronne, praktyczne i opłacalne narzędzia oraz
informacje na temat bezpieczeństwa aplikacji.
Projekt istnieje od 2001 roku, a w 2004 powstała
charytatywna fundacja działająca na terenie USA.
Czym jest OWASP ASVS
ASVS (Application Security Verification Standard)
Standard Weryfikacji Bezpieczeństwa Aplikacji jest
to lista wymagań jakie powinno się stawiać
aplikacjom aby podwyższyć ich poziom
bezpieczeństwa oraz jest to lista testów, jakie
należy zrealizować, aby sprawdzić rzeczywisty
poziom bezpieczeństwa danej aplikacji.
Poziomy OWASP ASVS
Poziom 1
Poziom 2
Poziom 3
Poziom 0
Pobieżny - poziom bezpieczeństwa został zweryfikowany
pośpiesznie a podejście do zakresu jest dość elastyczne i w każdej
organizacji może się znacząco różnić. Poziom ten nie został ujęty w
OWASP ASVS.
Oportunistyczny - poziom bezpieczeństwa, który zapewnia ochronę
przed standardowymi atakami, które są łatwe do wykrycia i można
je znaleźć na różnych listach np.: OWASP TOP 10.
Standardowy - poziom bezpieczeństwa, zalecany dla każdej
aplikacji, która przetwarza istotne transakcje biznesowe. Poziom ten
oznacza, że mechanizmy bezpieczeństwa są wdrożone oraz są
skuteczne.
Zaawansowany - poziom bezpieczeństwa zalecany dla aplikacji,
które realizują funkcje krytyczne, w przypadkach, gdy awaria może
mieć znaczący wpływ na działalność organizacji, a nawet na jej
ASVS - Testowanie i
weryfikacja
Poziom 3
Na poziomie najwyższym,
powinno się mieć dostęp do
konfiguracji systemu,
architektury rozwiązania
pomiędzy użytkownikiem a
aplikacją oraz szczegółowej
dokumentacji
uwzględniającej
modelowanie zagrożeń.
3
Poziom 2
Wymaga, aby osoby
wykonujące testy i
weryfikujące poziom
bezpieczeństwa, miały
dostęp do programistów
aplikacji, dokumentacji,
kodu źródłowego oraz
bezpośredniego dostępu do
aplikacji do każdej z ról.
2
Poziom 1
Do weryfikacji można użyć
narzędzi automatycznych
bez wykonywania testów
manualnych i bez dostępu
do kodu źródłowego.
1
ASVS 3.1 - Pełen zakres
1: Architektura, projektowanie i modelowanie zagrożeń
2: Weryfikacja Wymagań Autoryzacji
3: Weryfikacja Wymagań Zarządzania Sesją
4: Weryfikacja Kontroli dostępu
5: Weryfikacja Obsługi Złośliwych Danych Wejściowych
7: Kryptografia
8: Weryfikacja Obsługi i Rejestrowania Błędów
9: Weryfikacja Ochrony Danych
10: Weryfikacja Komunikacji
13: Złośliwy Kod
15: Weryfikacja Logiki Biznesowej
16: Weryfikacja plików i zasobów
17: Weryfikacja wersji mobilnej
18: API
19: Weryfikacja Konfiguracji
20: Wymagania weryfikacji Internetu Rzeczy
ASVS 3.1 - Słownik
Pierwszy problem z jakim należy
się uporać, to wieloznaczność
słów.
OWASP ASVS 3.1
1: Architektura, projektowanie i
modelowanie zagrożeń
OWASP ASVS 3.1 - Poziomy
Na poziomie 1
Elementy aplikacji są
zidentyfikowane i mają rację
bytu w aplikacji
Na poziomie 3
Architektura i design są
gotowe, używane, i
efektywne
Na poziomie 2
Architektura jest
zdefiniowana, a kod jest
zgodny z architekturą
03
01 02
ASVS 3.1 - 1: Architektura, projektowanie i
modelowanie zagrożeń
1.1: Upewnij się, że wszystkie elementy aplikacji są zidentyfikowane i konieczne.
1.2: Kontrola bezpieczeństwa nigdy nie jest egzekwowana tylko po stronie klienta, ale na odpowiednich zdalnych
punktach końcowych.
1.3: Architektura wysokiego poziomu dla aplikacji i wszystkich połączonych usług zdalnych została zdefiniowana,
a bezpieczeństwo zostało rozwiązane w tej architekturze.
1.4: Dane uważane za poufne w kontekście aplikacji są jasno określone.
1.5: Wszystkie składniki aplikacji są definiowane pod względem funkcji biznesowych i / lub funkcji
bezpieczeństwa, które zapewniają.
1.6: Opracowano model zagrożenia dla aplikacji i powiązanych usług zdalnych, który identyfikuje potencjalne
zagrożenia i środki zapobiegawcze.
1.7: Wszystkie kontrole bezpieczeństwa mają scentralizowaną implementację.
1.8: Upewnij się, że elementy są oddzielone od siebie za pomocą określonej kontroli bezpieczeństwa, np
segmentacji sieci, reguł zapory lub grup zabezpieczeń opartych na chmurze.
1.9: Istnieje mechanizm wymuszania aktualizacji aplikacji.
1.10: Bezpieczeństwo jest adresowane we wszystkich częściach cyklu rozwoju oprogramowania.
1.11: Wszystkie komponenty aplikacji, biblioteki, moduły, frameworki, platformy i systemy operacyjne są wolne od
znanych luk bezpieczeństwa.
1.12: Istnieją wyraźne zasady dotyczące zarządzania kluczami kryptograficznymi (jeśli istnieją) i egzekwowaniem
cyklu życia kluczy kryptograficznych. Najlepiej postępuj zgodnie ze standardami
zarządzania kluczami, takimi jak NIST SP 800-57.
OWASP ASVS 3.1 [Interpretacja YetiForce]
1.1: Upewnij się, że wszystkie elementy aplikacji są zidentyfikowane i
konieczne.
Architektura i design są gotowe,
używane, i efektywne03
● Identyfikacja wszystkich ekranów[??]
● Stworzenie tablicy [macierzy] łączącej ekrany z
elementami aplikacji.
● Czy potrzebna jest tablica [macierz] elementów
aplikacji na kod [konkretne foldery/pliki] [??]
Architektura jest zdefiniowana, a kod
jest zgodny z architekturą02
● Przełożenie zidentyfikowanych elementów
bezpośrednio do narzędzia służącego do
modelowania
● Weryfikacja kodu pod względem zgodności z
architekturą.
Elementy aplikacji są zidentyfikowane
i mają rację bytu w aplikacji01
● Stworzenie pełnej listy elementów aplikacji i ich
opisanie.
● Opisanie każdego elementu biznesowo [cel,
zastosowanie, powiązanie z innymi elementami]
OWASP ASVS 3.1 [Interpretacja YetiForce]
1.2: Kontrola bezpieczeństwa nigdy nie jest egzekwowana tylko po
stronie klienta, ale na odpowiednich zdalnych punktach końcowych.
Architektura i design są gotowe,
używane, i efektywne03
● Stworzenie tablicy w której mapujemy ekrany na
sposoby kontroli dla każdego z ekranów.
● Weryfikacja, czy wstępnie dla każdego ekranu
kontrola jest poprawna [??]
Architektura jest zdefiniowana, a kod
jest zgodny z architekturą02
● Przełożenie zidentyfikowanych miejsc w których
otrzymujemy dane od klienta do narzędzia służącego
do modelowania systemu.
● Dodanie sposobów kontroli bezpieczeństwa, dla
każdego z tych miejsc i stworzenie wspólnej tablicy
[matrix]
Elementy aplikacji są zidentyfikowane
i mają rację bytu w aplikacji01
● Opisanie elementów w których następuje
przekazywanie danych przez klienta.
● Opisanie sposobu kontroli danych dla każdego
miejsca w którym przyjmuje się dane - weryfikacja,
czy w każdym miejscu następuje na pewno
weryfikacja danych po stronie aplikacji.
OWASP ASVS 3.1 [Interpretacja YetiForce]
1. 3 Architektura wysokiego poziomu dla aplikacji i wszystkich
połączonych usług zdalnych została zdefiniowana, a bezpieczeństwo
zostało rozwiązane w tej architekturze.
Architektura i design są gotowe,
używane, i efektywne03
● Uzupełnienie w narzędziu do modelowania ekranów,
opisów dla usług i poszczególnych elementów
architektury a następnie weryfikacja poprawności
działania każdego z elementów względem architektury.
Architektura jest zdefiniowana, a kod
jest zgodny z architekturą02
● Przełożenie architektury wysokiego poziomu do
narzędzia służącego modelowaniu.
● Stworzenie tablicy [matrix] mapującej usługi,
architekturę i bezpieczeństwo aby zdefiniować pokrycie
tego co jest w kodzie na to co jest w architekturze..
Elementy aplikacji są zidentyfikowane
i mają rację bytu w aplikacji01
● Opisanie każdego elementu architektury wysokiego
poziomu oraz opisanie wszystkich elementów
zewnętrznych łączących się z aplikacją
● Opisanie mechanizmów bezpieczeństwa które
występują na wysokim poziomie [np. szyfrowanie].
OWASP ASVS 3.1 [Interpretacja YetiForce]
1. 4 Dane uważane za poufne w kontekście aplikacji są jasno określone.
Architektura i design są gotowe,
używane, i efektywne03
● Weryfikacja ekranów i miejsc w których użytkownik ma
dostęp do danych poufnych, weryfikacja, czy dane te są
prawidłowo chronione.
● Stworzenie tablicy [matrix] miejsc gdzie dane poufne są
wyświetlane i sposobu ich ochrony.
Architektura jest zdefiniowana, a kod
jest zgodny z architekturą02
● Przełożenie wszystkich zidentyfikowanych elementów
[danych poufnych] do narzędzia modelowania i
weryfikacja tych elementów na poziomie zgodności z
kodem.
Elementy aplikacji są zidentyfikowane
i mają rację bytu w aplikacji01 ● Opisanie elementów które są poufne.
OWASP ASVS 3.1 [Interpretacja YetiForce]
1.5 Wszystkie składniki aplikacji są definiowane pod względem funkcji
biznesowych i / lub funkcji bezpieczeństwa, które zapewniają.
Architektura i design są gotowe,
używane, i efektywne03
● Weryfikacja ekranów i miejsc w których użytkownik ma
dostęp do funkcji biznesowych, sprawdzenie ich pod
kątem praktycznym oraz weryfikacja czy są realizowane
funkcje biznesowe.
● Stworzenie tablicy [matrix] ekranów i funkcji
biznesowych jakie są realizowane w ramach ekranu.
Architektura jest zdefiniowana, a kod
jest zgodny z architekturą02
● Uzupełnienie wszystkich opisów biznesowych w
narzędziu modelującym.
● Uzupełnienie wszystkich funkcji bezpieczeństwa w
narzędziu modelującym.
● Stworzenie tablicy [matrix] jakie funkcje bezpieczeństwa
występują dla jakich elementów biznesowych.
Elementy aplikacji są zidentyfikowane
i mają rację bytu w aplikacji01
● Opisanie elementów aplikacji pod względem
biznesowym [czyli jaką pełnią rolę biznesową w tym
również powiązania do innych elementów o ile
występują]
● Opisanie funkcji bezpieczeństwa dla każdego z
elementów aplikacji.
OWASP ASVS 3.1 [Interpretacja YetiForce]
1.6: Opracowano model zagrożenia dla aplikacji i powiązanych usług
zdalnych, który identyfikuje potencjalne zagrożenia i środki
zapobiegawcze.
Architektura i design są gotowe,
używane, i efektywne03
● Stworzenie tablicy [matrix] ryzyk dla każdego ekranu,
oraz weryfikacja środków zapobiegawczych czy działają
skutecznie w opisanym zakresie.
Architektura jest zdefiniowana, a kod
jest zgodny z architekturą02
● Wprowadzenie ryzyk i środków zapobiegawczych do
narzędzia modelującego i stworzenie tablicy [matrix] dla
elementów aplikacji oraz usług zewnętrznych.
● Weryfikacja ryzyk na warstwie kodu [czy kod jest
tworzony zgodnie z dobrymi praktykami]
Elementy aplikacji są zidentyfikowane
i mają rację bytu w aplikacji01
● Opisanie ryzyk dla elementów aplikacji oraz
zdefiniowanie środków zapobiegawczych.
● Opisanie ryzyk dla usług zdalnych oraz zdefiniowanie
środków zapobiegawczych.
OWASP ASVS 3.1 [Interpretacja YetiForce]
1.7: Wszystkie kontrole bezpieczeństwa mają scentralizowaną
implementację.
Architektura i design są gotowe,
używane, i efektywne03
● Stworzenie tablicy [matrix] który weryfikuje, czy cały
system [elementy aplikacji, usługi zewnętrzne, ekrany]
przechodzą przez scentralizowany mechanizm kontroli.
Architektura jest zdefiniowana, a kod
jest zgodny z architekturą02
● Wprowadzenie mechanizmu kontroli na widok niskiego
poziomu razem z opisem jego działania.
● Weryfikacja mechanizmu na warstwie kodu
Elementy aplikacji są zidentyfikowane
i mają rację bytu w aplikacji01 ● Opisanie scentralizowanego mechanizmu kontroli
bezpieczeństwa
OWASP ASVS 3.1 [Interpretacja YetiForce]
1.8: Upewnij się, że elementy są oddzielone od siebie za pomocą
określonej kontroli bezpieczeństwa, np.: segmentacji sieci, reguł
zapory lub grup zabezpieczeń opartych na chmurze.
Architektura i design są gotowe,
używane, i efektywne03
● Stworzenie tablicy [matrix] która weryfikuje czy elementy
kontroli bezpieczeństwa mają zastosowanie dla każdego
elementu aplikacji, usługi zewnętrznej, ekranu.
Architektura jest zdefiniowana, a kod
jest zgodny z architekturą02
● Wprowadzenie wszystkich elementów infrastruktury do
narzędzia modelującego i wizualizacja ich z
uwzględnieniem rzeczywistej konfiguracji.
● Wprowadzenie do narzędzia modelującego reguł
bezpieczeństwa i stworzenie tablicy [matrix] pokrycia
reguł dla każdego elementu infrastruktury.
Elementy aplikacji są zidentyfikowane
i mają rację bytu w aplikacji01
● Opisanie wszystkich elementów sieci, serwerów,
systemów które są konieczne do poprawnego
uruchomienia aplikacji.
● Opisanie reguł bezpieczeństwa dla każdego
elementu infrastruktury.
OWASP ASVS 3.1 [Interpretacja YetiForce]
1.9: Istnieje mechanizm wymuszania aktualizacji aplikacji.
Architektura i design są gotowe,
używane, i efektywne03
● Wdrożenie centralnego monitorowania dla wszystkich
komponentów z informacją o bieżącej wersji i aktualnie
dostępnej wersji.
Architektura jest zdefiniowana, a kod
jest zgodny z architekturą02
● Wdrożenie mechanizmów, które pozwolą w sposób
automatyczny informować o nowej wersji systemu.
Elementy aplikacji są zidentyfikowane
i mają rację bytu w aplikacji01 ● Opisanie mechanizmu aktualizacji oprogramowania.
OWASP ASVS 3.1 [Interpretacja YetiForce]
1.10: Bezpieczeństwo jest adresowane we wszystkich częściach cyklu
rozwoju oprogramowania.
Architektura i design są gotowe,
używane, i efektywne03 ● Monitorowanie i wizualizacja testów bezpieczeństwa,
jakości wydajności za pomocą automatycznych narzędzi.
Architektura jest zdefiniowana, a kod
jest zgodny z architekturą02
● Dodanie do narzędzia służącego do modelowania, listę
cyklu oprogramowania i zaadresowanie dla każdego z
nich reguł bezpieczeństwa jakie mają być realizowane.
● Wdrażanie efektów [audyty, testy jednostkowe,
wydajność] w kod systemu przed wydaniem kolejnej
wersji systemu.
Elementy aplikacji są zidentyfikowane
i mają rację bytu w aplikacji01 ● Opisanie reguł bezpieczeństwa dla danego cyklu
rozwoju oprogramowania.
OWASP ASVS 3.1 [Interpretacja YetiForce]
1.11: Wszystkie komponenty aplikacji, biblioteki, moduły, frameworki,
platformy i systemy operacyjne są wolne od znanych luk
bezpieczeństwa.
Architektura i design są gotowe,
używane, i efektywne03
● Zbudowanie centralnego monitorowania dla aplikacji,
które będzie weryfikować informacje o istniejących
lukach na poziomie aplikacji i środowiska w którym
aplikacja jest uruchomiona.
Architektura jest zdefiniowana, a kod
jest zgodny z architekturą02
● Centralizacja komponentów np. za pomocą Composer,
Yarn, i automatyczna weryfikacja podatności za pomocą
zewnętrznych narzędzi np. https://snyk.io/
Elementy aplikacji są zidentyfikowane
i mają rację bytu w aplikacji01 ● Stworzenie listy wszystkich komponentów i ręczne
monitorowanie aktualności każdego z nich.
OWASP ASVS 3.1 [Interpretacja YetiForce]
1.12: Istnieją wyraźne zasady dotyczące zarządzania kluczami kryptograficznymi
(jeśli istnieją) i egzekwowaniem cyklu życia kluczy kryptograficznych. Najlepiej
postępuj zgodnie ze standardami zarządzania kluczami, takimi jak NIST SP 800-
57.
Architektura i design są gotowe,
używane, i efektywne03 ● S
Architektura jest zdefiniowana, a kod
jest zgodny z architekturą02 ● Wprowadź mechanizm do narzędzia modelującego
Elementy aplikacji są zidentyfikowane
i mają rację bytu w aplikacji01 ● Opisanie logiki działania mechanizmów szyfrujących
oraz zasad przechowywania kluczy.
Materiały źródłowe
1. https://public.yetiforce.com/pdf/OWASP-architektura-bezpieczenstwa-
aplikacji.pdf
2. https://public.yetiforce.com/pdf/OWASP_3.1_EA.pdf (Early Access]
3. https://www.owasp.org/images/d/d1/OWASP_Application_Security_Verification_St
andard_3.0.1_PL.pdf
Czas na pytania :)
YetiForce Sp. z o.o.
ul. Marszałkowska 111
00-102 Warszawa, Polska
www.yetiforce.com
info@yetiforce.com
+48 22 2742937

More Related Content

Similar to [Warsaw 25.04.2018] - ASVS - Błażej Pabiszczak, YetiForce

Analiza i ocena jakości współczesnych systemów operacyjnych
Analiza i  ocena jakości współczesnych systemów operacyjnychAnaliza i  ocena jakości współczesnych systemów operacyjnych
Analiza i ocena jakości współczesnych systemów operacyjnych
guest84f9115
 
IBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowych
IBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowychIBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowych
IBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowych
Szymon Dowgwillowicz-Nowicki
 
Owasp asvs 3.0 co nowego w bezpieczeństwie aplikacji
Owasp asvs 3.0   co nowego w bezpieczeństwie aplikacjiOwasp asvs 3.0   co nowego w bezpieczeństwie aplikacji
Owasp asvs 3.0 co nowego w bezpieczeństwie aplikacji
OWASP
 
Bezpieczeństwo aplikacji czy musi być aż tak źle
Bezpieczeństwo aplikacji   czy musi być aż tak źleBezpieczeństwo aplikacji   czy musi być aż tak źle
Bezpieczeństwo aplikacji czy musi być aż tak źle
SecuRing
 
Microsoft Azure - Mobility & Security - wybrane usługi bezpieczeństwa
Microsoft Azure - Mobility & Security - wybrane usługi bezpieczeństwaMicrosoft Azure - Mobility & Security - wybrane usługi bezpieczeństwa
Microsoft Azure - Mobility & Security - wybrane usługi bezpieczeństwa
Maciej Sobianek
 
[4developers] OWASP ASVS - ściągawka z bezpieczeństwa dla programisty
[4developers] OWASP ASVS - ściągawka z bezpieczeństwa dla programisty[4developers] OWASP ASVS - ściągawka z bezpieczeństwa dla programisty
[4developers] OWASP ASVS - ściągawka z bezpieczeństwa dla programisty
PROIDEA
 
4Developers: Mateusz Olejarka- Jak utrzymać bezpieczeństwo aplikacji po wdroż...
4Developers: Mateusz Olejarka- Jak utrzymać bezpieczeństwo aplikacji po wdroż...4Developers: Mateusz Olejarka- Jak utrzymać bezpieczeństwo aplikacji po wdroż...
4Developers: Mateusz Olejarka- Jak utrzymać bezpieczeństwo aplikacji po wdroż...
PROIDEA
 
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa ITSCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
Redge Technologies
 
Automatyzacja testów oprogramowania dla urządzeń mobilnych
Automatyzacja testów oprogramowania dla urządzeń mobilnychAutomatyzacja testów oprogramowania dla urządzeń mobilnych
Automatyzacja testów oprogramowania dla urządzeń mobilnych
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Architektura aplikacji android
Architektura aplikacji androidArchitektura aplikacji android
Architektura aplikacji android
Sages
 
Owasp top 10 2010 final PL Beta
Owasp top 10   2010 final PL BetaOwasp top 10   2010 final PL Beta
Owasp top 10 2010 final PL Beta
Think Secure
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
Michal Furmankiewicz
 
Testowanie na 101 sposobów
Testowanie na 101 sposobówTestowanie na 101 sposobów
Testowanie na 101 sposobów
Katarzyna Javaheri-Szpak
 
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PROIDEA
 
Application security verification standard
Application security verification standardApplication security verification standard
Application security verification standard
SecuRing
 
Atmosphere 2014: Scalable and under control - open cloud architecture conside...
Atmosphere 2014: Scalable and under control - open cloud architecture conside...Atmosphere 2014: Scalable and under control - open cloud architecture conside...
Atmosphere 2014: Scalable and under control - open cloud architecture conside...
PROIDEA
 
Dlaczego flopsar
Dlaczego flopsarDlaczego flopsar
Dlaczego flopsar
Flopsar Technology
 
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaCometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólna
Jakub Hajek
 
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
Logicaltrust pl
 

Similar to [Warsaw 25.04.2018] - ASVS - Błażej Pabiszczak, YetiForce (20)

Analiza i ocena jakości współczesnych systemów operacyjnych
Analiza i  ocena jakości współczesnych systemów operacyjnychAnaliza i  ocena jakości współczesnych systemów operacyjnych
Analiza i ocena jakości współczesnych systemów operacyjnych
 
IBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowych
IBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowychIBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowych
IBM Security AppScan Introduction - Horyzont bezpieczeństwa aplikacji webowych
 
Owasp asvs 3.0 co nowego w bezpieczeństwie aplikacji
Owasp asvs 3.0   co nowego w bezpieczeństwie aplikacjiOwasp asvs 3.0   co nowego w bezpieczeństwie aplikacji
Owasp asvs 3.0 co nowego w bezpieczeństwie aplikacji
 
Bezpieczeństwo aplikacji czy musi być aż tak źle
Bezpieczeństwo aplikacji   czy musi być aż tak źleBezpieczeństwo aplikacji   czy musi być aż tak źle
Bezpieczeństwo aplikacji czy musi być aż tak źle
 
Microsoft Azure - Mobility & Security - wybrane usługi bezpieczeństwa
Microsoft Azure - Mobility & Security - wybrane usługi bezpieczeństwaMicrosoft Azure - Mobility & Security - wybrane usługi bezpieczeństwa
Microsoft Azure - Mobility & Security - wybrane usługi bezpieczeństwa
 
[4developers] OWASP ASVS - ściągawka z bezpieczeństwa dla programisty
[4developers] OWASP ASVS - ściągawka z bezpieczeństwa dla programisty[4developers] OWASP ASVS - ściągawka z bezpieczeństwa dla programisty
[4developers] OWASP ASVS - ściągawka z bezpieczeństwa dla programisty
 
4Developers: Mateusz Olejarka- Jak utrzymać bezpieczeństwo aplikacji po wdroż...
4Developers: Mateusz Olejarka- Jak utrzymać bezpieczeństwo aplikacji po wdroż...4Developers: Mateusz Olejarka- Jak utrzymać bezpieczeństwo aplikacji po wdroż...
4Developers: Mateusz Olejarka- Jak utrzymać bezpieczeństwo aplikacji po wdroż...
 
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa ITSCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
 
Automatyzacja testów oprogramowania dla urządzeń mobilnych
Automatyzacja testów oprogramowania dla urządzeń mobilnychAutomatyzacja testów oprogramowania dla urządzeń mobilnych
Automatyzacja testów oprogramowania dla urządzeń mobilnych
 
Architektura aplikacji android
Architektura aplikacji androidArchitektura aplikacji android
Architektura aplikacji android
 
Ireneusz_Tarnowski
Ireneusz_TarnowskiIreneusz_Tarnowski
Ireneusz_Tarnowski
 
Owasp top 10 2010 final PL Beta
Owasp top 10   2010 final PL BetaOwasp top 10   2010 final PL Beta
Owasp top 10 2010 final PL Beta
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
 
Testowanie na 101 sposobów
Testowanie na 101 sposobówTestowanie na 101 sposobów
Testowanie na 101 sposobów
 
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
 
Application security verification standard
Application security verification standardApplication security verification standard
Application security verification standard
 
Atmosphere 2014: Scalable and under control - open cloud architecture conside...
Atmosphere 2014: Scalable and under control - open cloud architecture conside...Atmosphere 2014: Scalable and under control - open cloud architecture conside...
Atmosphere 2014: Scalable and under control - open cloud architecture conside...
 
Dlaczego flopsar
Dlaczego flopsarDlaczego flopsar
Dlaczego flopsar
 
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaCometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólna
 
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
 

More from OWASP

[OPD 2019] Web Apps vs Blockchain dApps
[OPD 2019] Web Apps vs Blockchain dApps[OPD 2019] Web Apps vs Blockchain dApps
[OPD 2019] Web Apps vs Blockchain dApps
OWASP
 
[OPD 2019] Threat modeling at scale
[OPD 2019] Threat modeling at scale[OPD 2019] Threat modeling at scale
[OPD 2019] Threat modeling at scale
OWASP
 
[OPD 2019] Life after pentest
[OPD 2019] Life after pentest[OPD 2019] Life after pentest
[OPD 2019] Life after pentest
OWASP
 
[OPD 2019] .NET Core Security
[OPD 2019] .NET Core Security[OPD 2019] .NET Core Security
[OPD 2019] .NET Core Security
OWASP
 
[OPD 2019] Top 10 Security Facts of 2020
[OPD 2019] Top 10 Security Facts of 2020[OPD 2019] Top 10 Security Facts of 2020
[OPD 2019] Top 10 Security Facts of 2020
OWASP
 
[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architecture[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architecture
OWASP
 
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
OWASP
 
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
OWASP
 
[OPD 2019] AST Platform and the importance of multi-layered application secu...
[OPD 2019]  AST Platform and the importance of multi-layered application secu...[OPD 2019]  AST Platform and the importance of multi-layered application secu...
[OPD 2019] AST Platform and the importance of multi-layered application secu...
OWASP
 
[OPD 2019] Inter-application vulnerabilities
[OPD 2019] Inter-application vulnerabilities[OPD 2019] Inter-application vulnerabilities
[OPD 2019] Inter-application vulnerabilities
OWASP
 
[OPD 2019] Automated Defense with Serverless computing
[OPD 2019] Automated Defense with Serverless computing[OPD 2019] Automated Defense with Serverless computing
[OPD 2019] Automated Defense with Serverless computing
OWASP
 
[OPD 2019] Advanced Data Analysis in RegSOC
[OPD 2019] Advanced Data Analysis in RegSOC[OPD 2019] Advanced Data Analysis in RegSOC
[OPD 2019] Advanced Data Analysis in RegSOC
OWASP
 
[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens
OWASP
 
[OPD 2019] Rumpkernels meet fuzzing
[OPD 2019] Rumpkernels meet fuzzing[OPD 2019] Rumpkernels meet fuzzing
[OPD 2019] Rumpkernels meet fuzzing
OWASP
 
[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSS[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSS
OWASP
 
[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera Software[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera Software
OWASP
 
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
OWASP
 
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure SoftwareOWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
OWASP
 
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-miningOWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP
 
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contractsOWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
OWASP
 

More from OWASP (20)

[OPD 2019] Web Apps vs Blockchain dApps
[OPD 2019] Web Apps vs Blockchain dApps[OPD 2019] Web Apps vs Blockchain dApps
[OPD 2019] Web Apps vs Blockchain dApps
 
[OPD 2019] Threat modeling at scale
[OPD 2019] Threat modeling at scale[OPD 2019] Threat modeling at scale
[OPD 2019] Threat modeling at scale
 
[OPD 2019] Life after pentest
[OPD 2019] Life after pentest[OPD 2019] Life after pentest
[OPD 2019] Life after pentest
 
[OPD 2019] .NET Core Security
[OPD 2019] .NET Core Security[OPD 2019] .NET Core Security
[OPD 2019] .NET Core Security
 
[OPD 2019] Top 10 Security Facts of 2020
[OPD 2019] Top 10 Security Facts of 2020[OPD 2019] Top 10 Security Facts of 2020
[OPD 2019] Top 10 Security Facts of 2020
 
[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architecture[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architecture
 
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
 
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
 
[OPD 2019] AST Platform and the importance of multi-layered application secu...
[OPD 2019]  AST Platform and the importance of multi-layered application secu...[OPD 2019]  AST Platform and the importance of multi-layered application secu...
[OPD 2019] AST Platform and the importance of multi-layered application secu...
 
[OPD 2019] Inter-application vulnerabilities
[OPD 2019] Inter-application vulnerabilities[OPD 2019] Inter-application vulnerabilities
[OPD 2019] Inter-application vulnerabilities
 
[OPD 2019] Automated Defense with Serverless computing
[OPD 2019] Automated Defense with Serverless computing[OPD 2019] Automated Defense with Serverless computing
[OPD 2019] Automated Defense with Serverless computing
 
[OPD 2019] Advanced Data Analysis in RegSOC
[OPD 2019] Advanced Data Analysis in RegSOC[OPD 2019] Advanced Data Analysis in RegSOC
[OPD 2019] Advanced Data Analysis in RegSOC
 
[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens
 
[OPD 2019] Rumpkernels meet fuzzing
[OPD 2019] Rumpkernels meet fuzzing[OPD 2019] Rumpkernels meet fuzzing
[OPD 2019] Rumpkernels meet fuzzing
 
[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSS[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSS
 
[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera Software[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera Software
 
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
 
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure SoftwareOWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
 
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-miningOWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
 
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contractsOWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
 

[Warsaw 25.04.2018] - ASVS - Błażej Pabiszczak, YetiForce

  • 1.
  • 3. Czym jest OWASP OWASP jest to internetowa organizacja, która skupia wokół siebie otwartą społeczność tworzącą bezstronne, praktyczne i opłacalne narzędzia oraz informacje na temat bezpieczeństwa aplikacji. Projekt istnieje od 2001 roku, a w 2004 powstała charytatywna fundacja działająca na terenie USA.
  • 4. Czym jest OWASP ASVS ASVS (Application Security Verification Standard) Standard Weryfikacji Bezpieczeństwa Aplikacji jest to lista wymagań jakie powinno się stawiać aplikacjom aby podwyższyć ich poziom bezpieczeństwa oraz jest to lista testów, jakie należy zrealizować, aby sprawdzić rzeczywisty poziom bezpieczeństwa danej aplikacji.
  • 5. Poziomy OWASP ASVS Poziom 1 Poziom 2 Poziom 3 Poziom 0 Pobieżny - poziom bezpieczeństwa został zweryfikowany pośpiesznie a podejście do zakresu jest dość elastyczne i w każdej organizacji może się znacząco różnić. Poziom ten nie został ujęty w OWASP ASVS. Oportunistyczny - poziom bezpieczeństwa, który zapewnia ochronę przed standardowymi atakami, które są łatwe do wykrycia i można je znaleźć na różnych listach np.: OWASP TOP 10. Standardowy - poziom bezpieczeństwa, zalecany dla każdej aplikacji, która przetwarza istotne transakcje biznesowe. Poziom ten oznacza, że mechanizmy bezpieczeństwa są wdrożone oraz są skuteczne. Zaawansowany - poziom bezpieczeństwa zalecany dla aplikacji, które realizują funkcje krytyczne, w przypadkach, gdy awaria może mieć znaczący wpływ na działalność organizacji, a nawet na jej
  • 6. ASVS - Testowanie i weryfikacja Poziom 3 Na poziomie najwyższym, powinno się mieć dostęp do konfiguracji systemu, architektury rozwiązania pomiędzy użytkownikiem a aplikacją oraz szczegółowej dokumentacji uwzględniającej modelowanie zagrożeń. 3 Poziom 2 Wymaga, aby osoby wykonujące testy i weryfikujące poziom bezpieczeństwa, miały dostęp do programistów aplikacji, dokumentacji, kodu źródłowego oraz bezpośredniego dostępu do aplikacji do każdej z ról. 2 Poziom 1 Do weryfikacji można użyć narzędzi automatycznych bez wykonywania testów manualnych i bez dostępu do kodu źródłowego. 1
  • 7. ASVS 3.1 - Pełen zakres 1: Architektura, projektowanie i modelowanie zagrożeń 2: Weryfikacja Wymagań Autoryzacji 3: Weryfikacja Wymagań Zarządzania Sesją 4: Weryfikacja Kontroli dostępu 5: Weryfikacja Obsługi Złośliwych Danych Wejściowych 7: Kryptografia 8: Weryfikacja Obsługi i Rejestrowania Błędów 9: Weryfikacja Ochrony Danych 10: Weryfikacja Komunikacji 13: Złośliwy Kod 15: Weryfikacja Logiki Biznesowej 16: Weryfikacja plików i zasobów 17: Weryfikacja wersji mobilnej 18: API 19: Weryfikacja Konfiguracji 20: Wymagania weryfikacji Internetu Rzeczy
  • 8. ASVS 3.1 - Słownik Pierwszy problem z jakim należy się uporać, to wieloznaczność słów.
  • 9. OWASP ASVS 3.1 1: Architektura, projektowanie i modelowanie zagrożeń
  • 10. OWASP ASVS 3.1 - Poziomy Na poziomie 1 Elementy aplikacji są zidentyfikowane i mają rację bytu w aplikacji Na poziomie 3 Architektura i design są gotowe, używane, i efektywne Na poziomie 2 Architektura jest zdefiniowana, a kod jest zgodny z architekturą 03 01 02
  • 11. ASVS 3.1 - 1: Architektura, projektowanie i modelowanie zagrożeń 1.1: Upewnij się, że wszystkie elementy aplikacji są zidentyfikowane i konieczne. 1.2: Kontrola bezpieczeństwa nigdy nie jest egzekwowana tylko po stronie klienta, ale na odpowiednich zdalnych punktach końcowych. 1.3: Architektura wysokiego poziomu dla aplikacji i wszystkich połączonych usług zdalnych została zdefiniowana, a bezpieczeństwo zostało rozwiązane w tej architekturze. 1.4: Dane uważane za poufne w kontekście aplikacji są jasno określone. 1.5: Wszystkie składniki aplikacji są definiowane pod względem funkcji biznesowych i / lub funkcji bezpieczeństwa, które zapewniają. 1.6: Opracowano model zagrożenia dla aplikacji i powiązanych usług zdalnych, który identyfikuje potencjalne zagrożenia i środki zapobiegawcze. 1.7: Wszystkie kontrole bezpieczeństwa mają scentralizowaną implementację. 1.8: Upewnij się, że elementy są oddzielone od siebie za pomocą określonej kontroli bezpieczeństwa, np segmentacji sieci, reguł zapory lub grup zabezpieczeń opartych na chmurze. 1.9: Istnieje mechanizm wymuszania aktualizacji aplikacji. 1.10: Bezpieczeństwo jest adresowane we wszystkich częściach cyklu rozwoju oprogramowania. 1.11: Wszystkie komponenty aplikacji, biblioteki, moduły, frameworki, platformy i systemy operacyjne są wolne od znanych luk bezpieczeństwa. 1.12: Istnieją wyraźne zasady dotyczące zarządzania kluczami kryptograficznymi (jeśli istnieją) i egzekwowaniem cyklu życia kluczy kryptograficznych. Najlepiej postępuj zgodnie ze standardami zarządzania kluczami, takimi jak NIST SP 800-57.
  • 12. OWASP ASVS 3.1 [Interpretacja YetiForce] 1.1: Upewnij się, że wszystkie elementy aplikacji są zidentyfikowane i konieczne. Architektura i design są gotowe, używane, i efektywne03 ● Identyfikacja wszystkich ekranów[??] ● Stworzenie tablicy [macierzy] łączącej ekrany z elementami aplikacji. ● Czy potrzebna jest tablica [macierz] elementów aplikacji na kod [konkretne foldery/pliki] [??] Architektura jest zdefiniowana, a kod jest zgodny z architekturą02 ● Przełożenie zidentyfikowanych elementów bezpośrednio do narzędzia służącego do modelowania ● Weryfikacja kodu pod względem zgodności z architekturą. Elementy aplikacji są zidentyfikowane i mają rację bytu w aplikacji01 ● Stworzenie pełnej listy elementów aplikacji i ich opisanie. ● Opisanie każdego elementu biznesowo [cel, zastosowanie, powiązanie z innymi elementami]
  • 13. OWASP ASVS 3.1 [Interpretacja YetiForce] 1.2: Kontrola bezpieczeństwa nigdy nie jest egzekwowana tylko po stronie klienta, ale na odpowiednich zdalnych punktach końcowych. Architektura i design są gotowe, używane, i efektywne03 ● Stworzenie tablicy w której mapujemy ekrany na sposoby kontroli dla każdego z ekranów. ● Weryfikacja, czy wstępnie dla każdego ekranu kontrola jest poprawna [??] Architektura jest zdefiniowana, a kod jest zgodny z architekturą02 ● Przełożenie zidentyfikowanych miejsc w których otrzymujemy dane od klienta do narzędzia służącego do modelowania systemu. ● Dodanie sposobów kontroli bezpieczeństwa, dla każdego z tych miejsc i stworzenie wspólnej tablicy [matrix] Elementy aplikacji są zidentyfikowane i mają rację bytu w aplikacji01 ● Opisanie elementów w których następuje przekazywanie danych przez klienta. ● Opisanie sposobu kontroli danych dla każdego miejsca w którym przyjmuje się dane - weryfikacja, czy w każdym miejscu następuje na pewno weryfikacja danych po stronie aplikacji.
  • 14. OWASP ASVS 3.1 [Interpretacja YetiForce] 1. 3 Architektura wysokiego poziomu dla aplikacji i wszystkich połączonych usług zdalnych została zdefiniowana, a bezpieczeństwo zostało rozwiązane w tej architekturze. Architektura i design są gotowe, używane, i efektywne03 ● Uzupełnienie w narzędziu do modelowania ekranów, opisów dla usług i poszczególnych elementów architektury a następnie weryfikacja poprawności działania każdego z elementów względem architektury. Architektura jest zdefiniowana, a kod jest zgodny z architekturą02 ● Przełożenie architektury wysokiego poziomu do narzędzia służącego modelowaniu. ● Stworzenie tablicy [matrix] mapującej usługi, architekturę i bezpieczeństwo aby zdefiniować pokrycie tego co jest w kodzie na to co jest w architekturze.. Elementy aplikacji są zidentyfikowane i mają rację bytu w aplikacji01 ● Opisanie każdego elementu architektury wysokiego poziomu oraz opisanie wszystkich elementów zewnętrznych łączących się z aplikacją ● Opisanie mechanizmów bezpieczeństwa które występują na wysokim poziomie [np. szyfrowanie].
  • 15. OWASP ASVS 3.1 [Interpretacja YetiForce] 1. 4 Dane uważane za poufne w kontekście aplikacji są jasno określone. Architektura i design są gotowe, używane, i efektywne03 ● Weryfikacja ekranów i miejsc w których użytkownik ma dostęp do danych poufnych, weryfikacja, czy dane te są prawidłowo chronione. ● Stworzenie tablicy [matrix] miejsc gdzie dane poufne są wyświetlane i sposobu ich ochrony. Architektura jest zdefiniowana, a kod jest zgodny z architekturą02 ● Przełożenie wszystkich zidentyfikowanych elementów [danych poufnych] do narzędzia modelowania i weryfikacja tych elementów na poziomie zgodności z kodem. Elementy aplikacji są zidentyfikowane i mają rację bytu w aplikacji01 ● Opisanie elementów które są poufne.
  • 16. OWASP ASVS 3.1 [Interpretacja YetiForce] 1.5 Wszystkie składniki aplikacji są definiowane pod względem funkcji biznesowych i / lub funkcji bezpieczeństwa, które zapewniają. Architektura i design są gotowe, używane, i efektywne03 ● Weryfikacja ekranów i miejsc w których użytkownik ma dostęp do funkcji biznesowych, sprawdzenie ich pod kątem praktycznym oraz weryfikacja czy są realizowane funkcje biznesowe. ● Stworzenie tablicy [matrix] ekranów i funkcji biznesowych jakie są realizowane w ramach ekranu. Architektura jest zdefiniowana, a kod jest zgodny z architekturą02 ● Uzupełnienie wszystkich opisów biznesowych w narzędziu modelującym. ● Uzupełnienie wszystkich funkcji bezpieczeństwa w narzędziu modelującym. ● Stworzenie tablicy [matrix] jakie funkcje bezpieczeństwa występują dla jakich elementów biznesowych. Elementy aplikacji są zidentyfikowane i mają rację bytu w aplikacji01 ● Opisanie elementów aplikacji pod względem biznesowym [czyli jaką pełnią rolę biznesową w tym również powiązania do innych elementów o ile występują] ● Opisanie funkcji bezpieczeństwa dla każdego z elementów aplikacji.
  • 17. OWASP ASVS 3.1 [Interpretacja YetiForce] 1.6: Opracowano model zagrożenia dla aplikacji i powiązanych usług zdalnych, który identyfikuje potencjalne zagrożenia i środki zapobiegawcze. Architektura i design są gotowe, używane, i efektywne03 ● Stworzenie tablicy [matrix] ryzyk dla każdego ekranu, oraz weryfikacja środków zapobiegawczych czy działają skutecznie w opisanym zakresie. Architektura jest zdefiniowana, a kod jest zgodny z architekturą02 ● Wprowadzenie ryzyk i środków zapobiegawczych do narzędzia modelującego i stworzenie tablicy [matrix] dla elementów aplikacji oraz usług zewnętrznych. ● Weryfikacja ryzyk na warstwie kodu [czy kod jest tworzony zgodnie z dobrymi praktykami] Elementy aplikacji są zidentyfikowane i mają rację bytu w aplikacji01 ● Opisanie ryzyk dla elementów aplikacji oraz zdefiniowanie środków zapobiegawczych. ● Opisanie ryzyk dla usług zdalnych oraz zdefiniowanie środków zapobiegawczych.
  • 18. OWASP ASVS 3.1 [Interpretacja YetiForce] 1.7: Wszystkie kontrole bezpieczeństwa mają scentralizowaną implementację. Architektura i design są gotowe, używane, i efektywne03 ● Stworzenie tablicy [matrix] który weryfikuje, czy cały system [elementy aplikacji, usługi zewnętrzne, ekrany] przechodzą przez scentralizowany mechanizm kontroli. Architektura jest zdefiniowana, a kod jest zgodny z architekturą02 ● Wprowadzenie mechanizmu kontroli na widok niskiego poziomu razem z opisem jego działania. ● Weryfikacja mechanizmu na warstwie kodu Elementy aplikacji są zidentyfikowane i mają rację bytu w aplikacji01 ● Opisanie scentralizowanego mechanizmu kontroli bezpieczeństwa
  • 19. OWASP ASVS 3.1 [Interpretacja YetiForce] 1.8: Upewnij się, że elementy są oddzielone od siebie za pomocą określonej kontroli bezpieczeństwa, np.: segmentacji sieci, reguł zapory lub grup zabezpieczeń opartych na chmurze. Architektura i design są gotowe, używane, i efektywne03 ● Stworzenie tablicy [matrix] która weryfikuje czy elementy kontroli bezpieczeństwa mają zastosowanie dla każdego elementu aplikacji, usługi zewnętrznej, ekranu. Architektura jest zdefiniowana, a kod jest zgodny z architekturą02 ● Wprowadzenie wszystkich elementów infrastruktury do narzędzia modelującego i wizualizacja ich z uwzględnieniem rzeczywistej konfiguracji. ● Wprowadzenie do narzędzia modelującego reguł bezpieczeństwa i stworzenie tablicy [matrix] pokrycia reguł dla każdego elementu infrastruktury. Elementy aplikacji są zidentyfikowane i mają rację bytu w aplikacji01 ● Opisanie wszystkich elementów sieci, serwerów, systemów które są konieczne do poprawnego uruchomienia aplikacji. ● Opisanie reguł bezpieczeństwa dla każdego elementu infrastruktury.
  • 20. OWASP ASVS 3.1 [Interpretacja YetiForce] 1.9: Istnieje mechanizm wymuszania aktualizacji aplikacji. Architektura i design są gotowe, używane, i efektywne03 ● Wdrożenie centralnego monitorowania dla wszystkich komponentów z informacją o bieżącej wersji i aktualnie dostępnej wersji. Architektura jest zdefiniowana, a kod jest zgodny z architekturą02 ● Wdrożenie mechanizmów, które pozwolą w sposób automatyczny informować o nowej wersji systemu. Elementy aplikacji są zidentyfikowane i mają rację bytu w aplikacji01 ● Opisanie mechanizmu aktualizacji oprogramowania.
  • 21. OWASP ASVS 3.1 [Interpretacja YetiForce] 1.10: Bezpieczeństwo jest adresowane we wszystkich częściach cyklu rozwoju oprogramowania. Architektura i design są gotowe, używane, i efektywne03 ● Monitorowanie i wizualizacja testów bezpieczeństwa, jakości wydajności za pomocą automatycznych narzędzi. Architektura jest zdefiniowana, a kod jest zgodny z architekturą02 ● Dodanie do narzędzia służącego do modelowania, listę cyklu oprogramowania i zaadresowanie dla każdego z nich reguł bezpieczeństwa jakie mają być realizowane. ● Wdrażanie efektów [audyty, testy jednostkowe, wydajność] w kod systemu przed wydaniem kolejnej wersji systemu. Elementy aplikacji są zidentyfikowane i mają rację bytu w aplikacji01 ● Opisanie reguł bezpieczeństwa dla danego cyklu rozwoju oprogramowania.
  • 22. OWASP ASVS 3.1 [Interpretacja YetiForce] 1.11: Wszystkie komponenty aplikacji, biblioteki, moduły, frameworki, platformy i systemy operacyjne są wolne od znanych luk bezpieczeństwa. Architektura i design są gotowe, używane, i efektywne03 ● Zbudowanie centralnego monitorowania dla aplikacji, które będzie weryfikować informacje o istniejących lukach na poziomie aplikacji i środowiska w którym aplikacja jest uruchomiona. Architektura jest zdefiniowana, a kod jest zgodny z architekturą02 ● Centralizacja komponentów np. za pomocą Composer, Yarn, i automatyczna weryfikacja podatności za pomocą zewnętrznych narzędzi np. https://snyk.io/ Elementy aplikacji są zidentyfikowane i mają rację bytu w aplikacji01 ● Stworzenie listy wszystkich komponentów i ręczne monitorowanie aktualności każdego z nich.
  • 23. OWASP ASVS 3.1 [Interpretacja YetiForce] 1.12: Istnieją wyraźne zasady dotyczące zarządzania kluczami kryptograficznymi (jeśli istnieją) i egzekwowaniem cyklu życia kluczy kryptograficznych. Najlepiej postępuj zgodnie ze standardami zarządzania kluczami, takimi jak NIST SP 800- 57. Architektura i design są gotowe, używane, i efektywne03 ● S Architektura jest zdefiniowana, a kod jest zgodny z architekturą02 ● Wprowadź mechanizm do narzędzia modelującego Elementy aplikacji są zidentyfikowane i mają rację bytu w aplikacji01 ● Opisanie logiki działania mechanizmów szyfrujących oraz zasad przechowywania kluczy.
  • 24. Materiały źródłowe 1. https://public.yetiforce.com/pdf/OWASP-architektura-bezpieczenstwa- aplikacji.pdf 2. https://public.yetiforce.com/pdf/OWASP_3.1_EA.pdf (Early Access] 3. https://www.owasp.org/images/d/d1/OWASP_Application_Security_Verification_St andard_3.0.1_PL.pdf
  • 25. Czas na pytania :) YetiForce Sp. z o.o. ul. Marszałkowska 111 00-102 Warszawa, Polska www.yetiforce.com info@yetiforce.com +48 22 2742937

Editor's Notes

  1. ASVS ma dwa główne cele: pomoc organizacjom w rozwoju i utrzymaniu bezpiecznych aplikacji umożliwienie podmiotom oferującym usługi bezpieczeństwa, dostawcom narzędzi w zakresie bezpieczeństwa oraz użytkownikom dostosowania wzajemnych wymagań oraz ofert
  2. 16 punktów