# Seguridad de aplicaciones web

La seguridad de aplicaciones web es una rama de la seguridad informática que se encarga específicamente de la seguridad de sitios web, aplicaciones web y servicios web.
A un alto nivel, la seguridad de aplicaciones web se basa en los principios de la seguridad de aplicaciones, pero aplicadas específicamente a la World Wide Web. Las aplicaciones comúnmente son desarrolladas usando lenguajes de programación tales como PHP, JavaScript, Python, Ruby, ASP.NET, JSP, entre otros.

## Amenazas de seguridad

Con la aparición de la Web 2.0, el intercambio de información a través de redes sociales y el crecimiento de los negocios en la adopción de la Web como un medio para hacer negocios y ofrecer servicios, los sitios web son constantemente atacados. Los hackers buscan, ya sea comprometer la red de la corporación o a los usuarios finales, accediendo al sitio web y obligándolos a realizar drive-by downloading.
Como resultado, la industria está prestando mayor atención a la seguridad de aplicaciones web, así como a la seguridad de las redes de computadoras y sistemas operativos.
La mayoría de los ataques a aplicaciones web ocurren a través del cross-site scripting (XSS) e inyección SQL el cual comúnmente resulta de una codificación deficiente y la falta de desinfección de las entradas y salidas de la aplicación web. Estos se encuentran en el ranking del 2009 CWE/SANS Top 25 Most Dangerous Programming Errors.
El Phishing es otra amenaza común de las aplicaciones Web. "RSA, la División de Seguridad del EMC, anuncio hoy lo hallado en su reporte sobre fraude de enero de 2013, estimando las pérdidas globales debido al phishing en $1.5 billones en 2012". Dos de los métodos de phishing más conocidos son Covert Redirect y Open Redirect.
De acuerdo con el proveedor de seguridad Cenzic, las principales vulnerabilidades durante marzo del 2012 fueron:
       37%Cross Site Scripting 16%Inyección SQL 5%Path disclosure 5%Ataque de denegación de servicio 4%Ejecución de código arbitrario 4%Corrupción de memoria 4%Cross Site Request Forgery 3%Violación de datos (divulgación de información) 3%Inclusión de archivos arbitraria 2%Inclusión local de archivos 1%Inclusión remota de archivos 1%Desbordamiento de búfer 15%Otros, incluyendo inyección de código (PHP/JavaScript), etc.

## Estándares de seguridad

OWASP es el estándar emergente para la seguridad de aplicaciones Web. Han publicado el OWASP Top 10 que describe a detalle las principales amenazas de las aplicaciones web. El Consorcio de Seguridad de Aplicaciones Web (WASC) ha creado la Base de Datos de Incidentes de Hackeo así como mejores documentos de código abierto sobre seguridad de aplicaciones Web.

## Tecnología de seguridad

Mientras que la seguridad se basa fundamentalmente en las personas y los procesos, existen varias soluciones técnicas a considerar cuando se diseña, construye y prueban aplicaciones web seguras. A un alto nivel, estas soluciones incluyen:
* Black box: herramientas de prueba tales como escáneres de seguridad de aplicaciones Web, escáneres de vulnerabilidad y software de prueba de penetración.
* White box: herramientas de prueba tales como analizadores estáticos de código fuente
* Fuzzing: herramientas utilizadas para pruebas de entrada.
* Escáner de seguridad de aplicaciones web (escáner de vulnerabilidad).
* Firewalls de aplicación web (WAF): utilizada para brindar protección tipo firewall en la capa de la aplicación web.
* Cracking de contraseña: herramientas de prueba de fuerza de contraseña e implementación.