¿Qué es una Aplicación Web?

El termino “aplicación web” tiene diferentes significados para diferentes personas, dependiendo con quien se hable y el contexto. Diferentes personas podrían utilizar términos como aplicación web, sitio web, sistema basado en web, software basado en web, o simplemente Web, y todos pueden tener el mismo significado. La amplia adopción de las aplicaciones web actualmente lo hace difícil para diferenciarla claramente de generaciones previas de sitios web, los cuales sirven páginas HTML no interactivas estáticas. El termino aplicación web se utiliza para cualquier software basado en web el cual realiza acciones (funcionalidad), basada en una entrada del usuario, y usualmente interactúa con sistemas backend. Cuando un usuario interactúa con un sitio web para realizar alguna acción, como registrar un ingreso, comprar, o hacer banca en línea, está utilizando una aplicación web.

Confiar en las aplicaciones web virtualmente para todo, crea una alta superficie de ataque (potenciales puntos de entrada) para los atacantes maliciosos. Basándose en el hecho las aplicaciones web son codificadas por programadores humanos, esto incrementa la probabilidad de errores aunque existan las mejores intenciones. Lo humanos pueden estar aburridos, enojados, cansados, o distraídos, todo lo cual puede introducir agujeros dentro de la aplicación web siendo desarrollada. Esta es la tormenta perfecta para los atacantes maliciosos, de tal manera sea factible explotar estas aplicaciones web, en las cuales se confía tanto.

Se podría asumir una vulnerabilidad en una aplicación web es meramente un error humano, el cual puede ser arreglado rápidamente por un programador. Nada más lejano a la realidad; muchas de las vulnerabilidades no se pueden arreglar fácilmente, porque muchas fallas en las aplicaciones web se remontan a las primeras fases del ciclo de vida para el desarrollo del software. En un esfuerzo por ahorrar detalles sangrientos de las metodologías para la ingeniería de software, simplemente se debe considerar la seguridad es más fácil de manejar (y más efectiva), cuando es considerada inicialmente en las fases de planificación y requerimientos para el desarrollo del software. La seguridad debe continuar como una fuerza impulsadora del proyecto durante todo el camino a través del diseño, construcción, implementación y prueba.

Pero desafortunadamente, la seguridad frecuentemente se trata como una ocurrencia tardía, este tipo de desarrollo deja las aplicaciones web recién creadas, maduren con vulnerabilidades las cuales pueden ser identificadas y explotadas por atacantes maliciosos.

Fuentes:

https://www.owasp.org/index.php/OWASP_Secure_Software_Development_Lifecy...

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor en Hacking Ético, Forense Digital & GNU/Linux
Correo Electrónico: ReYDeS@gmail.com
Twitter: @Alonso_ReYDeS
LinkedIn: pe.linkedin.com/in/alonsocaballeroquezada
Facebook: https://www.facebook.com/alonsoreydes
Resumen de mi CV: http://www.reydes.com/d/?q=node/1