Michał Staruch
Grudzień 2015
Open Web Application Security Project
Application Security Verification Standard
aplikacje z dostępem do sieci
aplikacje, które:
aplikacje, które:
przykłady:
| id | opis | lvl |
|---|---|---|
| 1.1 | wszystkie komponenty aplikacji są znane i potrzebne |
1 |
| 1.3 | aplikacja posiada zdefiniowaną architekturę wysokiego poziomu |
2 |
| 1.7 | mechanizmy kontrolne dot. bezpieczeństwa posiadają scentralizowaną implementację |
3 |
przykłady:
| id | opis | lvl |
|---|---|---|
| 2.7 | aplikacja umożliwia stosowanie długich i złożonych haseł |
1 |
| 2.13 | hasła dostępowe są szyfrowane w sposób odporny na ataki typu brute force |
2 |
| 2.29 | tajne dane, klucze API, ani hasła nie są przechowywane razem z kodem źródłowym |
3 |
przykłady:
| id | opis | lvl |
|---|---|---|
| 7.7 | używane przez aplikację algorytmy kryptograficzne mają certyfikat FIPS 140-2 |
1 |
| 7.12 | dane osobowe są przechowywane i przesyłane w zaszyfrowanej formie |
2 |
| 7.15 | liczby losowe mają odpowiedni poziom entropii, nawet podczas obciążenia aplikacji |
3 |
przykłady:
| id | opis | lvl |
|---|---|---|
| 8.1 | komunikaty błędów nie zawierają informacji ułatwiających atak (np. wersji komponentów) |
1 |
| 8.3 | aplikacja umożliwia logowanie wyników działania mechanizmów bezpieczeństwa |
2 |
| 8.11 | logi dotyczące bezpieczeństwa posiadają mechanizmy weryfikacji integralności | 3 |
przykłady:
| id | opis | lvl |
|---|---|---|
| 10.3 | wszystkie połączenia, które są uwierzytelniane lub dotyczą wrażliwych danych / funkcji są chronione przez TLS, bez możliwości rezygnacji z TLS |
1 |
| 10.14 | podczas weryfikacji certyfikatów sprawdzany jest status odwołania certyfikatu (OCSP, CRL) |
1 |
| 10.12 | produkcyjny URL aplikacji został zgłoszony na listy HSTS preload |
3 |
przykłady:
| id | opis | lvl |
|---|---|---|
| 15.1 | wykonywane są wyłącznie akcje zgodne ze zdefiniowaną sekwencją procesu, zlecane w realistycznym dla człowieka czasie |
2 |
| 15.2 | ograniczenia biznesowe są narzucane per użytkownik, z konfigurowalnymi alarmami i automatycznymi reakcjami na nietypowe ataki |
2 |
przykłady:
| id | opis | lvl |
|---|---|---|
| 16.8 | aplikacja nie wykonuje danych otrzymanych z niezaufanych źródeł |
1 |
| 16.9 | aplikacja musi działać w przeglądarkach bez dodatkowych wtyczek (Flash, Java, itp.) |
1 |
przykłady:
| id | opis | lvl |
|---|---|---|
| 17.1 | identyfikatory dostępne dla innych aplikacji nie są używane jako tokeny uwierzytelniające |
1 |
| 17.2 | wrażliwe dane nie są zapisywane na współdzielonych magazynach danych, które mogą być nieszyfrowane (np. karta SD) |
1 |
| 17.6 | aplikacja żąda minimalnych uprawnień, które wynikają z założonej funkcjonalności |
2 |