Wskazówki dotyczące testowania innych narzędzi

Używanie narzędzi do skanowania innych niż wstępnie skonfigurowane CASA:

Deweloperzy, którzy chcą używać narzędzi do skanowania SAST i DAST (narzędzi komercyjnych lub opracowanych wewnętrznie), muszą dostarczyć:

  • Wyniki skanowania w porównaniu z benchmarkiem OWASP. Oczekuje się, że narzędzia skanujące wykrywają wszystkie prawdziwe luki w zabezpieczeniach, które odpowiadają CASA (patrz instrukcje poniżej).
  • Zasady skanowania. Może to być wyeksportowana konfiguracja narzędzia do skanowania lub zrzut ekranu pokazujący, które CWE zostały zweryfikowane przez narzędzie. 

Test porównawczy

Aby uruchomić Benchmark, musisz mieć zainstalowane te elementy:

  1. GIT: https://git-scm.com/ lub https://github.com/
  2. Maven: https://maven.apache.org/ (działa wersja 3.2.3 lub nowsza).
  3. Java: https://www.oracle.com/java/technologies/javase-downloads.html (Java 7 lub 8) (64-bitowa)

W celu spełnienia wymagań CASA wygeneruj i prześlij kartę wyników testów porównawczych dla narzędzia do skanowania DAST lub SAST. Pamiętaj, że test porównawczy obejmuje dużą liczbę testów i jego skanowanie może trochę potrwać. 

Aby pobrać i uruchomić aplikację Benchmark, uruchom te polecenia:  

$ git clone https://github.com/OWASP-Benchmark/BenchmarkJava
    $ cd benchmark
    $ mvn compile
    $ runBenchmark.sh

Test porównawczy będzie się wykonywać pod adresem https://localhost:8443/benchmark/. Możesz go użyć jako celu dla dowolnych skanowań DAST. Teraz możesz uruchomić wybrane narzędzie na kodzie źródłowym i aplikacji referencyjnej. Zapisuj wyniki w katalogu /results repozytorium Benchmark. 

W nazwie pliku wyjściowego generatora kart oceny podaj: 

  1. Numer wersji testu porównawczego w celu zapobieżenia mapowaniu nieprawidłowych oczekiwanych danych wyjściowych
  2. nazwa narzędzia do skanowania,
  3. Wersja narzędzia do skanowania

Poniższa przykładowa nazwa pliku wyjściowego jest mapowana na uruchomienie skanowania z użyciem wersji „toolname” w wersji 3.0 i porównane z wersją Benchmark w wersji 1.2. 

Benchmark_1.2-toolname-v3.0.xml

Generowanie wyniku porównawczego

Test porównawczy ocenia aplikacje na podstawie 4 rodzajów danych:

  1. Prawidłowo pozytywne – narzędzie prawidłowo zidentyfikuje prawdziwą podatność.
  2. Fałszywie negatywne – narzędzia nie wykrywają prawdziwych zagrożeń.
  3. Prawidłowy wynik negatywny – narzędzie prawidłowo ignoruje fałszywy alarm.
  4. Fałszywie negatywny – narzędzie nie ignoruje fałszywego alarmu.

Karta wyników porównawczych zawiera informacje o skuteczności narzędzia do skanowania w przypadku tych wymiarów. Po pobraniu narzędzia do testów porównawczych z GitHuba otrzymasz narzędzie BenchmarkScore. Uruchomienie tego narzędzia na podstawie wyników skanowania wygeneruje wykres PNG z ostatecznym wynikiem. Przykładowe wyniki znajdziesz tutaj. Aby wygenerować własne karty wyników porównawczych, uruchom to polecenie:

sh createScorecards.sh

Spowoduje to utworzenie podsumowania statystyk dla każdego wyjścia w katalogu /results. Wygenerowana karta wyników zostanie zapisana w katalogu /scorecard. Prześlij podsumowanie statystyk w ramach oceny CASA.