Antes a abordar el tema de los
ataques web que existen hoy en día, es
necesario conocer las bases de la seguridad web y la forma de operar.
El mundo de la seguridad de las
aplicaciones web es muy distinto a otros ámbitos de la gestión de la seguridad
de la información. En general, tiende a creerse que para conseguir un sitio
web seguro basta con la implantación de
controles de seguridad tradicionales, tales como un buen corta fuegos , el
cifrado del transporte de datos SSL, el bastionado de los servidores o la
constante instalación de actualizaciones y parches de seguridad. Nada más lejos
de la realidad.
Un sitio web con todos los
controles de seguridad anteriores
instalados y correctamente configurados puede seguir siendo vulnerable a pesar de todo. La principal
fuente de vulnerabilidades radica en la
propia aplicación web, es decir, en las páginas dinámicas escritas en Java, Perl,
Phyton, Ruby, Php, Asp/VBScript, C#, VBNet, ColdFusion, o el lenguaje que sea. Estas
páginas suelen haber sido creadas por programadores que no han recibido formación en seguridad,
por lo que ignoran las implicaciones de seguridad del modo de como escriben el código.
Al delegar toda la seguridad en el administrador y poca o ninguna en el desarrollador, se
consiguen plataformas robustas, pero con aplicaciones vulnerables. En efecto, la mayor puerta de entrada de
ataques web radica precisamente en las vulnerabilidades de la aplicación, las
cuales dan acceso a la plataforma y a los datos.
Las herramientas de evaluación de
la seguridad web deben ser capaces de detectar estas vulnerabilidades
introducidas por los diseñadores y arquitectos de aplicaciones, así como por
los programadores.
¿Qué
tipo de vulnerabilidades web existen?
En términos sencillos, puede
decirse que toda vulnerabilidad web pertenece a una de las dos grandes categorías:
o bien se origina como consecuencia de un fallo de programación o bug, o bien
se produce como resultado de un fallo de diseño o flaw. Al primer tipo de vulnerabilidades también suele denominárselas técnicas o de implantación, mientras que a las del
segundo tipo se les conoce como lógicas o funcionales.
El desbordamiento
de búfer seria el ejemplo de un fallo de programación o implementación (bug):
el programador ha olvidado reservar
memoria suficiente al copiar datos en un búfer y este se desborda con consecuencias a veces desastrosas. La falta
de validación de los datos de entrada da
origen a la mayor parte de los bugs existentes en aplicaciones web, los cuales
abren la puerta a su vez ataques tan conocidos como los de inyección de SQL o
de XSS.
No hay comentarios.:
Publicar un comentario
Es muy importante tu comentarios: