it-swarm-es.com

¿Cómo realizar una auditoría de seguridad para una aplicación PHP?

Tengo una aplicación PHP que me gustaría haber auditado por seguridad. Estoy familiarizado con la mayoría de los problemas de seguridad generales, pero quiero asegurarme de que no me pierda nada.

¿Qué pasos debo seguir para realizar una autoauditoría? ¿Qué herramientas hay disponibles? ¿Cuál es la mejor manera de encontrar un auditor externo? ¿Alguna recomendación?

¿Está interesado en la auditoría de whitebox/codereview y blackbox/pentest?

44
VirtuosiMedia
27
M.S. Dousti

Debe comenzar con cualquier proxy web interactivo, como burp proxy, paros, etc.
Yo, soy parcial a Fiddler . Cualquiera que sea la herramienta que elija, esto le permite examinar todo el flujo de solicitud/respuesta e interactuar con las solicitudes posteriores a javascript. Gran lugar para comenzar.

Eventualmente, imagino que el rastreador de código de OWASP admitirá PHP también ... aunque en este momento no estoy familiarizado con ninguna herramienta automatizada gratuita para esto. Solo globos oculares manuales para ahora...
Por supuesto, puedes recurrir a uno de los grandes vendedores, p. Fortify, Ounce Labs, etc., pero eso es bastante caro y otra lata de gusanos ...

11
AviD

Eche un vistazo a Skipfish de Google: http://code.google.com/p/skipfish/wiki/SkipfishDoc

6
Nev Stokes

Hay toneladas de herramientas y es realmente una preferencia personal sobre lo que uno usará para un pentest. Así que pruebe todos los mencionados por mí y por otros y elija los que más le convengan.

Para la revisión del código de seguridad (prueba de caja blanca), recomendaría usar RIPS . Es el mejor entre los que probé.

Para hacer algunas pruebas de blackbox, sin duda necesita un proxy interceptor. Hay muchos de esos, pero te sugiero que eches un vistazo a Fiddler si estás en Windows. Eructo / WebScarab / Proxy de ataque Zed también son geniales. Si desea automatizar algunas de las pruebas de inyección, tome algunas cargas útiles comunes de fuzzdb .

Además, familiarícese con los complementos del navegador como Firebug y Chrome Herramientas para desarrolladores, son de gran ayuda.

Finalmente, intente los marcadores de Colección de marcadores de prueba de penetración abierta . Es una lista enorme (solo para que sepas cuántas herramientas hay), pero hay muchas gemas en su interior.

6
Krzysztof Kotowicz

Si quiere asegurarse de no perderse nada, la mejor manera es conseguir que un experto real lo vea. ¡Surgen demasiados problemas en sitios web en los que un desarrollador simplemente no es consciente de que no está siguiendo las mejores prácticas, o no comprende que las prácticas "seguras" comunes no son realmente seguras en absoluto! (por ejemplo, "No necesito parametrizar mi SQL siempre que reemplace las comillas simples con comillas invertidas, ¿verdad?").

Si es una empresa, contrate a una empresa externa para realizar una prueba de su aplicación. No son muy caros, y encontrarán la mayoría de los problemas. Ciertamente es más barato para una empresa contratar a una empresa de pentesting que perder días entrenando al personal sobre el salario completo para encontrar algunos errores, y es ciertamente más barato que intentar reconstruya su empresa después de una violación importante de los datos del cliente.

3
SecurityMatt