La importancia de la seguridad en las aplicaciones web. Como crear aplicaciones web seguras

Cada vez es más habitual el uso de aplicaciones y tecnologías web en empresas o Gobiernos. Su fácil implementación y uso han hecho que sean prácticamente omnipresentes y esenciales en el comercio electrónico y aplicaciones intranet o extranet. Por lo tanto, información sensible y crítica es manejada a través de aplicaciones web.

Según estudios, una gran cantidad de sitios web son vulnerables a ataques surgiendo en los últimos años dos tendencias en el mercado de seguridad:

  • Los atacantes no actúan por razones de prestigio personal, sino por obtener ingresos a través del fraude.
  • Las aplicaciones web se han convertido en el objetivo para las operaciones de hackers. Según el grupo Gartner, se estima que el 75% de los ataques tienen como objetivo este tipo de aplicaciones.

Actualmente, en gran medida la reputación de una empresa está en manos de la aplicación web utilizada. Según una encuesta realizada en EE.UU., el 60% de los Clientes cesarían su relación con una empresa si sus datos personales estuvieran en riesgo de sufrir un ataque.

Desde el punto de vista de un administrador de un sitio web, la seguridad de una aplicación web no puede ser ignorada. Las decisiones de seguridad han de ser tomadas durante todo el ciclo de vida del proyecto: desde la fase de diseño hasta la de puesta en producción. Aunque es necesario conocer aspectos técnicos, herramientas y metodologías para securizar una aplicación web, también es importante considerar el factor humano. Cualquier usuario que acceda a la aplicación debe conocer y hacer uso de buenas prácticas.


Fallos de seguridad en aplicaciones web. Principales categorías

La mayoría de los fallos de seguridad existentes en aplicaciones web se pueden dividir en tres categorías.

Uso incorrecto de autenticación y control de acceso

Los parámetros de control de acceso y autenticación son a menudo utilizados y analizados incorrectamente. Esto puede crear un robo de identidad y permitir el acceso a usuarios ilegítimos al sistema.

El desarrollador debe expresamente utilizar mecanismos de autenticación y control de acceso para cualquier página web que requiera protección.

Vulnerabilidades de Inyección

La inyección consiste en insertar (inyectar) datos formulados especialmente en una función, programa o script. El objetivo es afectar el normal funcionamiento de la aplicación. Con este tipo de ataques se puede modificar el contenido de una base de datos o leer datos sensibles.

Los ataques de inyección más habituales afectan a bases de datos (SQL Injection), servicios de directorio (LDAP Injection), sistemas operativos (Command Injection) y a contenido web dinámico (XSS o Cross-Site Scripting).

Para evitar este tipo de ataques, es necesario que la aplicación filtre todas las entradas de datos del usuario antes de procesarlas. Por ejemplo, el lenguaje de programación PHP dispone de funciones que permiten filtrar los datos introducidos a través de formularios: htmlentities, addslashes o mysql_real_escape_string.

Fuga de información

Si las funciones y componentes internos de una aplicación muestran informaicón no segura a través de comentarios o mensajes de error, puede ocasionar fugas de información tales como nombres de usuarios, cuentas, consultas SQL, información de sesión, cookies, etc.

Esto puede facilitar el trabajo de un atacante en posteriores ataques.

Recomendaciones

Desde nerion os recomendamos:

  • En el caso de utilizar un gestor de contenidos (CMS), mantenerlo siempre actualizado a la última versión la cuale estará libre de posibles vulnerabilidades ya conocidas.
  • Utilizar un proyecto CMS con una actividad reciente. Por ejemplo, el proyecto de comercio electrónico OsCommerce hace tiempo que no libera una nueva versión y la última versión estable está repleta de vulnerabilidades ya no conocidas.
  • Si la aplicación web es de desarrollo propio, recomendamos visitar el proyecto OWASP, comunidad abierta y libre de nivel mundial enfocada en mejorara la seguridad en las aplicaciones de software.
  • Periódicamente, verificar  y monitorizar la seguridad de la aplicación web a todos los niveles : servidor web, aplicación, base de datos, etc.

Comparte este artículo:

Comentarios (1)

Norton

Norton

Un post realmente interesante.
Nosotros también hemos escrito sobre esto en nuestro blog.
Te paso un post en el que desarrollamos los principales errores de seguridad en la red.

¡Esperamos tu visita y opinión!
Un saludo.

Envíanos tu comentario: