Frage

Ich bin ein Java -Entwickler, der die Straße entlang führt, die zu App -Sicherheit führt, und ich bin über die OWASP -Organisation und ihre Begleiterin Java API ESAPI gestolpert.

In einer anderen Frage, die ich vor Monaten auf dieser Website gestellt habe, wurde mir darauf hingewiesen, dass ESAPI ein wichtiger Akteur in der Open -Source -App -SEC -Branche ist.

Ich frage mich jetzt, ich bin sicher, dass sich ESAPI mit dem integrierten Java-Sicherheitsmodell überschneidet (verwurzelt bei javax.security.auth) in den Bereichen der Authentifizierung/Autorisierung und möglicherweise in anderen Bereichen. Aber gibt es Bereiche von App SEC, die ESAPI eindeutig anspricht, die nicht erreicht werden können, wenn man streng an die Java -Sicherheits -API hält?

Grundsätzlich frage ich, ob es für mich sinnvoll ist, ESAPI zu lernen, wenn alle Vorteile/Funktionen bereits in einer vorhandenen Java -API behandelt werden. Danke im Voraus!

War es hilfreich?

Lösung

Afaik, ESAPI, nutzt auch die Java -API und fügt Wrapper hinzu, die für Bedrohungen der realen Welt spezifisch sind. Zum Beispiel WAF (Web Application Firewall), um dies mit Java -API zu erreichen, werden Sie viel Code schreiben, das von ESAPI und schön als API eingewickelt wurde. Implementieren Sie es einfach mit einigen Methodenaufrufen.

In einfachen Worten ist ESAPI so etwas wie die Wrapper Library (eingebaute Java-API), die das Wiedererfinden des Rades wieder reduziert und bei der Bekämpfung der Sicherheitsbedrohungen der realen Welt hilft.

Wenn Sie das sehen ESAPI -API URL, Sie können leicht identifizieren, wie ESAPI API entwickelt hat, um jeder möglichen Bedrohung entgegenzuwirken.

Andere Tipps

Ein wichtiger Nutzen/die Stärke von ESAPI ist die Eingabevalidierung und die Ausgangsentsorgung, die AFAIK die Java -Sicherheitsklassen derzeit nicht ansprechen. ESAPI zielt speziell auf die Sicherheitsdomäne für Webanwendungen ab, und hier zeichnet sie sich aus.

Ich habe nur eine vorübergehende Vertrautheit mit Java und dem ESAPI, der ein .NET -Entwickler ist. Als täuschender paranoischer Entwickler mit einem intensiven Fokus auf das Schreiben sicherer Code (weil ich einige wirklich schreckliche Dinge geschrieben habe), habe ich mich angesehen.

Meiner Meinung nach lohnt es sich absolut, dies zu lernen. Es ist absolut möglich, guten Code ohne diese Pakete zu schreiben, aber die Verwendung dieser Pakete erleichtert einen guten Code.

Auf der .NET -Seite haben wir etwas Ähnliches, das ich verwende - die Microsoft -Bibliothek und Übungsbibliothek. Soweit ich verstehe, erfüllt der Java Esapi einen ähnlichen Zweck, nämlich:

Es bietet eine Reihe von Einfach zu verwenden Methoden, die Verwenden Sie bereits Best Practices unter der Motorhaube, damit Sie sich nicht so sehr Sorgen machen müssen.

Zum Beispiel (und dies ist nur ein winziger Teil dessen, was zum Schreiben sicherer Anwendungen erforderlich ist) und mit ado.net und java ist es sehr einfach, SQL -Anweisungen zu schreiben, indem die Benutzereingabe in Zeichenfolgen (schlecht) eingebracht wird, und es ist auch genauso einfach zu bedienen Parametrisierte Abfragen (gut). Mit den APIs werden Methoden aufgedeckt, die die guten Muster unter der Motorhaube verwenden. Es ist einfacher, einen neuen Entwickler auf den neuesten Stand zu bringen und sicherzustellen, dass Sie nicht "schlampig" werden, während Sie weniger Code schreiben können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top