Domanda

Sono un titolo sviluppatore Java lungo la strada che conduce a App Security, e ho inciampato in tutta l'organizzazione OWASP e la sua compagna API Java, ESAPI.

In un'altra domanda che ho fatto in questo sito mesi fa, è stato sottolineato a me che ESAPI è un giocatore importante nel settore app sec open source.

Quello che mi chiedo è questo, sono sicuro che le sovrapposizioni ESAPI con il built-in Java modello di sicurezza (con radice in javax.security.auth) nelle aree di autenticazione / autorizzazione, e forse in altre aree. Ma ci sono aree di applicazione sec che ESAPI chiaramente indirizzi che non possono essere realizzati se quella strettamente bastoni con l'API di sicurezza Java?

In sostanza, mi sto chiedendo se ha senso per me imparare ESAPI se tutti i suoi vantaggi / caratteristiche sono già coperti in qualche API Java esistente. Grazie in anticipo!

È stato utile?

Soluzione

Per quanto ne so, ESAPI anche utilizzando API Java e aggiunge involucro specifico alle minacce del mondo reale. Per esempio WAF (firewall per applicazioni web), per raggiungere questo obiettivo utilizzando API Java, si finirà di scrivere molto codice, che è stato fatto da ESAPI e ben avvolto in come API, così, ora se si vuole fare i controlli WAF, è possibile basta attuarla con-in un paio di chiamate di metodo.

In parole semplici, ESAPI è qualcosa di simile libreria wrapper (built-in Java API), che riduce re-inventare la ruota e aiuta a contrastare le minacce alla sicurezza del mondo reale.

Se vedete questo ESAPI API URL, si può facilmente identiyfy come ESAPI API sviluppata per contrastare ogni possibile minaccia.

Altri suggerimenti

Una chiave / beneficio forza del ESAPI è la sua capacità di convalida dell'input e la sanificazione di uscita, che, per quanto ne so, le classi di protezione Java non lo fanno attualmente indirizzo. ESAPI è specificamente di mira il dominio di sicurezza delle applicazioni web, e questo è dove eccelle.

Ho solo una familiarità che passa con Java e l'ESAPI, essendo uno sviluppatore .NET. Tuttavia, come sviluppatore rabbiosamente paranoica con un fuoco intenso sulla scrittura di codice sicuro (perché ho scritto alcune cose veramente terribile) è qualcosa che ho guardato.

A mio parere, è assolutamente la pena di imparare questo. E 'assolutamente possibile scrivere del buon codice senza questi pacchetti, ma usando questi pacchetti rende la scrittura buon codice più facile.

Sul lato .NET, abbiamo qualcosa di simile che uso - Microsoft Patterns e la biblioteca Practices. Da quello che ho capito l'ESAPI Java ha uno scopo simile, che è questo:

Si fornisce una serie di facile da usare i metodi che già utilizzare le migliori pratiche sotto il cofano , in modo che non ci si deve preoccupare così tanto su di esso .

Per esempio (e questo è solo una minuscola parte di ciò che serve per scrivere applicazioni sicure), utilizzando ADO.NET e Java è molto facile da istruzioni SQL di scrittura da contencating input dell'utente in stringhe (cattivo) ed è anche altrettanto facile da usare query con parametri (buono). Utilizzando le API, metodi che sono esposti uso i modelli più sotto il cofano. è più facile per ottenere un nuovo sviluppatore fino a velocità, e garantire che non si ottiene "sciatto", mentre si permette di scrivere meno codice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top