9

私は Java 開発者で、App Security に至る道を進んでおり、OWASP 組織とそのコンパニオン Java API である ESAPI に出くわしました。

数か月前にこのサイトで行った別の質問で、ESAPI はオープン ソース アプリ セキュリティ業界の主要なプレーヤーであると指摘されました。

私が今疑問に思っているのは、ESAPI が組み込みの Java セキュリティ モデル (に根ざしているjavax.security.auth) と、認証/承認の領域、およびおそらく他の領域でオーバーラップしていることです。しかし、Java セキュリティ API に厳密に固執する場合には達成できない、ESAPI が明確に対処する app sec の領域はありますか?

基本的に、ESAPI のすべての利点/機能が既存の Java API ですでにカバーされている場合、ESAPI を学ぶことに意味があるかどうかを尋ねています。前もって感謝します!

4

3 に答える 3

7

私の知る限り、ESAPIもJava APIを使用しており、現実世界の脅威に固有のラッパーを追加しています。たとえば、WAF (Web アプリケーション ファイアウォール) では、Java API を使用してこれを実現するために、ESAPI によって行われ、API として適切にラップされた多くのコードを記述する必要がなくなるため、WAF チェックを実行する場合は、いくつかのメソッド呼び出しで実装するだけです。

簡単に言えば、ESAPI はラッパー ライブラリ (組み込みの Java API) のようなものであり、車輪の再発明を減らし、現実世界のセキュリティの脅威に対抗するのに役立ちます。

このESAPI APIの URL が表示されている場合は、ESAPI が考えられる各脅威に対抗するために API をどのように開発したかを簡単に特定できます。

于 2012-01-11T18:48:03.977 に答える
3

ESAPI の重要な利点/強みの 1 つは、入力の検証と出力のサニタイズ機能です。これは、知る限り、Java セキュリティ クラスでは現在対処されていません。ESAPI は特に Web アプリケーション セキュリティ ドメインを対象としており、これが優れている点です。

于 2012-11-15T03:45:41.777 に答える
1

私は、.NET開発者であるため、JavaとESAPIに精通しているだけです。しかし、(私が本当にひどいものをいくつか書いたので)安全なコードを書くことに集中している猛烈なパラノイアの開発者として、それは私が見たものです。

私の意見では、これを学ぶことは絶対に価値があります。これらのパッケージがなくても優れたコードを作成することは絶対に可能ですが、これらのパッケージを使用すると、優れたコードを簡単に作成できます。

.NET側では、私が使用しているものと似たものがあります。それは、Microsoft PatternsandPracticesライブラリです。私が理解していることから、Java ESAPIは同様の目的を果たします。それは、次のとおりです。

これは、内部ですでにベストプラクティスを使用している使いやすいメソッドのセットを提供するため、それほど心配する必要はありません。

たとえば(これは安全なアプリケーションを作成するために必要なもののほんの一部です)、ADO.NETとJavaを使用すると、ユーザー入力を文字列に含めることでSQLステートメントを作成するのは非常に簡単です(悪い)。パラメータ化されたクエリ(良い)。APIを使用して、内部で適切なパターンを使用するメソッドが公開されます。新しい開発者のスピードを上げるのは簡単で、コードの記述を減らしながら「だらしのない」状態にならないようにすることができます。

于 2012-01-11T18:53:01.493 に答える