- Agujero de seguridad
-
Un agujero de seguridad es un fallo en un programa que permite mediante su explotación violar la seguridad de un sistema informático.
Esto también se ha comenzado a aplicar a los servicios web, tales como páginas web, correo, IRC, MSN, chat, etc, con el objetivo de obtener información de personas que usen el servidor. A las personas que buscan errores en los sitios webs se les llama hackers, y a las que aprovechan dichas fallas para su beneficio particular, en contra del bien común, se les llama crackers.
Contenido
Causas
Los agujeros de seguridad suelen generarse en la negligencia o la inexperiencia de un programador. Puede haber otras causas ligadas al contexto. Una vulnerabilidad por lo general permite que el atacante pueda engañar a la aplicación, por ejemplo, esquivando los controles de acceso o ejecutando comandos en el sistema donde se aloja la aplicación.
Algunas vulnerabilidades se producen cuando la entrada de un usuario no es controlada, permitiendo la ejecución de comandos o solicitudes SQL (conocidos como Inyección SQL). Otras provienen de errores de un programador en la comprobación de los buffers de datos (que puede ser desbordados), provocando una corrupción de la pila de memoria (y, por tanto, permitiendo la ejecución de código suministrado por el atacante).
Publicación de una vulnerabilidad
Método de publicación
El método de publicación de la vulnerabilidad es un tema muy debatido en la comunidad de la seguridad de los sistemas de información. Algunos afirman que es necesario publicar de inmediato toda la información acerca de una vulnerabilidad cuando se descubre, (full disclosure). Otros sostienen que es preferible limitar la primera publicación a los usuarios que sólo tienen una necesidad importante y, a continuación, tomarse un cierto tiempo para la publicación en detalle, si hay necesidad.
Este retraso permite dar tiempo a los desarrolladores para corregir la vulnerabilidad de la aplicación y la aplicación de los parches de seguridad necesarios, pero también puede aumentar los riesgos para los que no tienen esta información.
Fecha y fuente de la publicación
La fecha de publicación es la primera fecha en la que la vulnerabilidad se describe en los medios, donde la información revelada tiene las siguientes condiciones:
- La información está disponible libre y públicamente.
- La información sobre la vulnerabilidad es publicada por una fuente independiente y de confianza
- La vulnerabilidad ha sido analizada por expertos, incluida la estimación de los riesgos de la revelación.
Desde el punto de vista de la seguridad, sólo una publicación de acceso libre y completa puede asegurar que todas las partes interesadas reciben la información adecuada. La seguridad por oscuridad es un concepto que nunca ha funcionado.
La fuente de la publicación debe ser independiente de un editor, de un vendedor o de un gobierno. Debe ser imparcial para permitir una difusión de la información justa y crítica. Un medio de comunicación se considera como de confianza cuando se trata de una fuente de los sistemas de seguridad de información ampliamente aceptada en la industria (por ejemplo, CERT, Securityfocus, Secunia).
El análisis y la estimación del riesgo debe garantizar la calidad de la información divulgada. Un solo debate de un posible agujero en una lista de difusión o una vaga información de un vendedor, no permiten calificar una vulnerabilidad. El análisis debe incluir suficientes detalles para permitir a un usuario determinar su propio riesgo individual o para permitirle tomar medidas inmediatas para protegerse.
Referencia
Cuando una vulnerabilidad ha sido publicada, el MITER le atribuye una identificador CVE . Este identificador permite realizar búsquedas cruzadas entre las diversas fuentes de información.
Identificación y corrección de vulnerabilidades
Hay muchas herramientas que pueden facilitar el descubrimiento de vulnerabilidades en sistemas informáticos, algunas permiten su supresión. Pero, si bien estas herramientas pueden proporcionar a un auditor una buena visión general de este tipo de vulnerabilidades potenciales, no pueden sustituir el juicio humano. Confiar en escáneres automáticos de la vulnerabilidad producirá muchos falsos positivos y una visión limitada de los problemas presentes en el sistema.
Los agujeros de seguridad han sido encontrados en todos los principales sistemas operativos. La única manera de reducir la probabilidad de que una vulnerabilidad puede ser explotada es permanecer siempre vigilantes y desarrollar el mantenimiento del sistema (por ejemplo, mediante la aplicación de parches de seguridad), implementar una arquitectura de seguridad (por ejemplo, colocando cortafuegos), controles de acceso y establecer auditorías de seguridad (tanto durante el desarrollo como durante el ciclo de vida).
Explotación maliciosa
Los agujeros de seguridad son especialmente interesantes cuando un programa que contenga una de estas vulnerabilidades se ejecuta con privilegios especiales, que permiten una autenticación en un sistema, o cuando permiten el acceso a datos sensibles.
Los hackers, gracias a sus conocimientos y a herramientas adecuadas, puede asumir el control de máquinas vulnerables. Los agujeros de seguridad descubiertos son generalmente cerrados rápidamente con un parche con el fin de evitar tomas de control no deseados, pero en muchos casos, las máquinas siguen siendo vulnerables a antiguas agujeros si no se han aplicado los parches.
Algunos malware usan las vulnerabilidades para infectar un sistema y propagarse a lo largo de una red.
Una vez que el agujero es explotado, por lo general provoca una denegación de servicio del sistema, un acceso a un sistema o información sensible, o incluso a los privilegios de un usuario.
Se habla de vulnerabilidad remota cuando la vulnerabilidad radica en un software que forma un servicio de red (por ejemplo, un servidor web) y puede ser aprovechada por un atacante remoto, que no tiene una cuenta local. Se habla de la vulnerabilidad local cuando la vulnerabilidad es explotada por un usuario con una cuenta local. Las vulnerabilidades pueden ser usadas de forma remota por hackers para obtener acceso a un sistema. Las vulnerabilidades locales pueden ser utilizadas por un usuario malintencionado, que tiene una cuenta, para elevar sus privilegios, o por un atacante remoto para aumentar sus privilegios, después de la explotación de una vulnerabilidad remota.
Ejemplos de vulnerabilidades
Los agujeros de seguridad de aquí debajo se encuentran entre los más conocidos:
- Desbordamiento de búfer
- Inyección SQL
- Cross Site Scripting
Casos famosos
- En junio de 2005, un servidor de mantenimiento de tarjetas de crédito, fue crackeado por un grupo de personas, aprovechando un error en el código de verificación. Esto generó pérdidas por 10.000.000 de dólares estadounidenses.
- El FBI, sufrió un ataque de un usuario que usó cuentas de correo, obtuvo contraseñas y otros datos de relevancia, a través de un puerto que estaba abierto en el código web.
- En Windows 98, ciertas contraseñas de usuario se exponen en las carpetas, que pueden ser leídas en MS-DOS
Anexos
Véase también
- Error de software
- Exploit
- Seguridad informática
- Common Vulnerabilities and Exposures (CVE)
- Packet Storm
- Securityfocus
Enlaces externos
- (en inglés) CVE : Listado de vulnerabilidades comunes clasificadas y publicadas junto con proveedores de soluciones.
- (en inglés) Secunia.com : Portal inglés dedicado fundamentalmente a las vulnerabilidades de seguridad
- (en inglés) Secunia Personal Software Inspector (PSI) : Software que detecta el software vulnerable y desactualizado instalado en nuestro equipo proporcionandonos un enlace de descarga a la última versión o parche que corrige las vulnerabilidades
- (en inglés) Vigil@nce vulnerabilities : Ver técnica vulnerabilidades y sus soluciones
- / SecurityVibes : Portal francés dedicado a la seguridad de las tecnologías
- Secuser.com : Portal francés dedicado a la seguridad de las tecnologías
- / info.corroy.org : Una visión general del actual equipo de seguridad
- Netcraft
- TechZoom : Análisis empírico de la vulnerabilidad de divulgación de vulnerabilidades fechas 14.000 desde 1996
- OSVDB : Base de datos de vulnerabilidades de código abierto la página principal
- NIST SAMAT : Métrica de Software Assurance y la herramienta de evaluación de proyectos
- Microsoft : Microsoft Security Response Center definición
- Buscador de vulnerabilidades por producto del Centro de Respuesta a Incidentes de seguridad del Gobierno de España para PYMEs y ciudadanos (INTECO-CERT)
Categoría:- Problemas de seguridad informática
Wikimedia foundation. 2010.