Seguridad y Vulnerabilidad WEB
En la actualidad el crecimiento de internet ha impactado directamente en la
seguridad de la información manejada cotidianamente. Sitios de comercio electrónico, servicios,
bancos e incluso redes sociales contienen información sensible que en la mayoría de los casos
resulta ser muy importante.
Problemas principales en la programación de sistemas web
Gran parte de los problemas de seguridad en las aplicaciones web son
causados por la falta de
seguimiento en dos rubros muy importantes de los que depende cualquier aplicación, las entradas y
salidas del sistema.
Es importante considerar la exposición accidental de datos que pueden ser
empleados en un posible ataque sobre el sistema. Los mensajes de error enviados por el servidor, que
suelen ser de gran utilidad durante el proceso de desarrollo de la aplicación, pueden ser empleados
maliciosamente cuando siguen apareciendo en un entorno de producción, por lo que es necesario
deshabilitar todos estos mensajes y editar algunos otros (como los que se envían cuando el servidor
no
encuentra algún archivo en particular) los cuales también pueden ser utilizados por los atacantes
para
obtener información sobre nuestro sistema.
Prácticas básicas de seguridad web
Balancear riesgo y usabilidad
Si bien la usabilidad y la seguridad en una aplicación web no son excluyentes una de la otra, alguna
medida tomada para incrementar la seguridad con frecuencia afecta la usabilidad. Normalmente siempre
se
debe pensar en las maneras en que usuarios ilegítimos nos pueden atacar y la facilidad de uso para
los
usuarios legítimos.
Es conveniente emplear medidas de seguridad que sean transparentes a los usuarios y que no resulten
engorrosas en su empleo. Por ejemplo, el uso de un login que solicita el nombre de usuario y
contraseña
(Ilustración 2.), permite controlar el acceso de los usuarios hacia secciones restringidas de la
aplicación. Este paso adicional, es una característica que impacta en la rapidez de acceso a la
información por parte del usuario, pero que proporciona un elemento adicional de protección.
Rastrear el paso de los datos
Es muy importante mantener conocimiento de los pasos que ha recorrido la información en todo
momento. Conocer de dónde vienen los datos y hacia dónde van. En muchas ocasiones lograr esto puede
ser complicado, especialmente sin un conocimiento profundo de cómo funcionan las aplicaciones web.
En las aplicaciones web, existen maneras de distinguir los orígenes de los datos y poder así
reconocer cuando los datos pueden ser dignos de confianza y cuando no.
Filtrar entradas
El filtrado es una de las piedras angulares de la seguridad en aplicaciones web. Es el proceso por
el cual se prueba la validez de los datos. Si nos aseguramos que los datos son filtrados
apropiadamente al entrar, podemos eliminar el riesgo de que datos contaminados sean usados para
provocar funcionamientos no deseados en la aplicación.
Escapado de salidas
Otro punto importante de la seguridad es el proceso de escapado y su contraparte para codificar o
decodificar caracteres especiales de tal forma que su significado original sea preservado. Si
llegamos a utilizar una codificación en particular es necesario conocer los caracteres reservados
los cuales serán necesarios escapar.