Seguridad en Aplicaciones Web

Security

Dado que las aplicaciones Web son accedidas por parte de múltiples usuarios en línea, la seguridad de este tipo de desarrollos es un aspecto clave; y las aplicaciones web creadas con Xojo se toman muy en serie las cuestiones relativas a seguridad.
La mayoría de los lenguajes de desarrollo utilizados para la creación de aplicaciones web son interpretados, lo que significa que tu app web está compuesta por una serie de archivoe almacenados en el servidor.

En el caso de que un atacante obtenga acceso al servidor también ganará acceso al código fuente utilizado en la elaboración de dicha aplicación y, por tanto, podrá modificarlo y utilizarlo en sus ataques o para sus propósitos.

A diferencia de lo que ocurre con dichos lenguajes de programación interpretados, las aplicaciones web creadas con Xojo se compilan como código binario de modo que no está disponible el código fuente en el servidor.

Para que alguien pudiese modificar una aplicación web creada con Xojo, deberían de estar muy familiarizados con el código ensamblador x86 y disponer de una gran cantidad de tiempo libre para trazar dicho código. Es decir, como mínimo, varios órdenes de magnitud de dificultad en comparación con el hackeado de código fuente correspondiente a HTML, JavaScript, CSS, AJAX y PHP o Java.

El Open Web Application Security Proyect (OWASP, por sus siglas en inglés) proporciona información útil relativa a la seguridad de las aplicaciones web, y de hecho ha publicado una lista enumerando los 10 problemas de seguridad más comunes en las aplicaciones web. Si bien algunos de estos problemas requieren que, sencillamente, el desarrollador sea más diligente a la hora de escribir el código y/o desplegar la aplicación, la mayoría no pueden ser utilizados a la hora de hackear una aplicación web creada con Xojo.

HackProtección Xojo
Ataques de inyección SQLXojo proporciona a los desarrolladores soporte de declaraciones preparadas para el acceso a bases de datos. Con ello se toman los valores que se van a usar en la consulta y los envía de forma separada al servidor de base de datos de modo que pueda determinar si son valores válidos o bien contienen SQL.
XSS (Cross-Site Scripting)Las aplicaciones web creadas con Xojo no pueden utilizarse para este propósito dado que todos los datos se envían escapados automáticamente hacia el navegador. Por tanto, el usuario no puede inyectar HTML en la página. De igual modo, dado que el desarrollador no trabaja con HTML o JavaScript, no hay forma de que el desarrollador pueda crear accidentalmente esta brecha de seguridad.
Autenticación de la AplicaciónXojo no proporciona rutinas de autenticación que puedan verse comprometidas, y los token utilizados en las sesiones está protegidos contra su robo.
Referencias Directas de Objeto InsegurasXojo no permite referencias directas a los objetos de ese modo, por lo que es imposible que se cree un agujero de seguridad.
CSRF (Cross-Site Request Forgery)Cuando el usuario se loga en un sitio web (como por ejemplo en un banco) y lo deja navegando a otra página o sitio web sin desconectarse previamente, el sitio original continuará viendo al usuario como conectado hasta que se produzca un timeout de la sesión. Los desarrolladores pueden mitigar este problema reduciendo el tiempo de salida de 60 segundos usados por omisión.
Mala Configuración de SeguridadEl desarrollador debe asegurarse de disponer de buenas contraseñas para su servidor, no exponer información que no deba ser expuesta, etc. Esta falla de seguridad en concreto cae por completo del lado del desarrollador y está fuera de las medidas que puedan emplearse con cualquier lenguaje de programación.
Almacenamiento Criptográfico InseguroAsegúrate de utilizar la función apropiada en el módulo Crypto para almacenar correctamente los datos de forma segura.
Fallo al Restringir el Acceso URLDado que las apps web creadas con Xojo crean la página HTML al vuelo, no hay modo de que un atacante pueda acceder a la página salvo quien está actualmente en el navegador. Sin embargo, si el desarrollador opta por soportar la creación de marcadores, entonces debe asegurarse de que autentica al usuario antes de enviarle la página solicitada.
Protección de Capa de Transporte InsuficienteLos Servidores Web proporcionan soporte SSL, siendo el lugar apropiado para resolver este problema.
Redirecciones y Reenvios no validadosNo hay nada que pueda hacer una herramienta de desarrollo para evitar este problema. El desarrollador ha de asegurarse de que su app no depende de datos no validados cuando redirecciona o reenvia al usuario hacia otro sitio. Por ejemplo, el desarrollador debería de utilizar siempre la función EncodeURLComponent para codificar cualquier valor utilizado en un URL proveniente de un usuario o base de datos.

Related Posts / Entradas Relacionadas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *