2011-09-21 13 views
5

Czy istnieje coś takiego jak zautomatyzowane testowanie bezpieczeństwa w Javie? Jeśli tak, w jaki sposób jest realizowany? Czy jest to tylko test JUnit napisany, aby spróbować wykorzystać znane luki w zabezpieczeniach serwerów, czy też są one oparte na bezpieczeństwie?Testowanie bezpieczeństwa Java

Jako poseł jestem również zainteresowany tym OWASP Security Testing Framework, ale nie mogę stwierdzić, czy używają one "framework" w klasycznym znaczeniu (co oznacza zestaw wytycznych i procedur do naśladowania), czy też kontekst oprogramowania (gdzie faktycznie dostarczają zautomatyzowane komponenty testujące bezpieczeństwo).

Dziękuję wszystkim, którzy mogą rzucić trochę światła na to dla mnie!

Odpowiedz

4

Nie wiem, czy jest to dokładnie to, czego szukasz, ale jest też wpis na blogu autorstwa Stephena Colebourne (autora joda-time i przyszłego nowego standardowego interfejsu API daty i czasu dla java8) o testowaniu uprawnień bezpieczeństwa z junit: Stephen Colebourne's blog: Testing a security permission

+0

Witaj, Ivan, dzięki, sprawdzę ten artykuł. W międzyczasie szukam odpowiedzi na to pytanie: czy JUnit używa się do pisania testów bezpieczeństwa, czy jest inna platforma, która (szczególnie) zajmuje się kwestiami bezpieczeństwa? Jeśli tak, to czy OWASP jest jednym z nich? – IAmYourFaja

3

Fuzz badanie nie boli: http://www.ibm.com/developerworks/java/library/j-fuzztest/index.html

Fuzz testing pomaga upewnić się, że aplikacja jest zabezpieczony przed każdą okazję do wprowadzania danych przez użytkownika.

Testy Fuzz są nieco niezręczne w testach JUnit, ponieważ są "losowe". Możesz chcieć zapętlić i uruchomić kilka testów fuzz na każdej ścieżce wejściowej w pakiecie testowym.

1

Narzędzia takie jak Sonar i FindBugs mogą być również automatycznym sposobem na znalezienie przynajmniej niektórych problemów związanych z bezpieczeństwem (FindBugs jest dość skuteczny w wykrywaniu ryzyka wstrzyknięcia SQL itp.).

1

Istnieją komercyjne narzędzia, takie jak VeraCode, które służą do skanowania zabezpieczeń. Nie pracuję dla nich, ale moja firma to wykorzystuje. Wydaje się dość dokładny.

1

Zautomatyzowane testy bezpieczeństwa to ciężko, ale to nie znaczy, że nie warto tego robić.

Moja sugestia dotycząca aplikacji internetowych - użyj istniejących testów jednostek i integracji (takich jak Selenium), a następnie przeprowadź ich proxy za pomocą narzędzia zabezpieczającego, takiego jak OWASP ZAP (Zed Attack Proxy). Aby uzyskać więcej informacji, patrz http://code.google.com/p/zaproxy/wiki/SecRegTests.

Simon (kierownik projektu ZAP)

+0

Tak, Zed Attack Proxy (ZAP) jest dobrym narzędziem do testu penetracji –