Vulnerabilidades que afectan a todos los sistemas
Rodrigo2112Tesis5 de Julio de 2015
3.729 Palabras (15 Páginas)205 Visitas
Vulnerabilidades que afectan a todos los sistemas
1. Instalaciones por defecto de sistemas y aplicaciones
La mayoría del software, incluyendo sistemas operativos y aplicaciones, viene con scripts de instalación o programas de instalación. La meta de estos programas de instalación es dejar los sistemas operativos lo más rápido posible, con la mayor parte de funciones disponibles o habilitadas, y con la ayuda de muy poco trabajo por parte del administrador. Para lograr esta meta, los scripts típicamente instalan más componentes de los que se necesitan en realidad. La filosofía de los fabricantes es que resulta mejor habilitar funciones que no son utilizadas que hacer que el usuario instale funciones adicionales a medida que las vaya requiriendo. Esta aproximación, aunque conveniente para el usuario, genera la mayoría de las vulnerabilidades de seguridad debido a que los usuarios no mantienen activamente o aplican los parches a los componentes de software que utilizan. Más aún, muchos usuarios no son conscientes de lo que está realmente instalado en sus propios sistemas, dejando peligrosos programas de demostración en ellos por el simple hecho de que no saben que están ahí.
Aquellos servicios a los que no se les han aplicado los parches proveen rutas para que los atacantes puedan tomar el control de las máquinas.
Con respecto a los sistemas operativos, las instalaciones por defecto casi siempre incluyen extraños servicios con sus correspondientes puertos abiertos. Los atacantes se introducen en estos sistemas por medio de dichos puertos. En la mayoría de los casos, cuantos menos puertos se hallen abiertos, menos alternativas tiene un atacante para comprometer su red. Con respecto a las aplicaciones, las instalaciones por defecto usualmente incluyen programas o scripts de demostración que no son realmente necesarios. Una de las vulnerabilidades más serias en los servidores Web son los scripts de ejemplo; los atacantes usan estos scripts para comprometer el sistema u obtener información acerca de éste. En la mayoría de los casos el administrador del sistema comprometido no se dio cuenta siquiera de que estos scripts de ejemplo se encontraban instalados. Los scripts de ejemplo son un problema porque por lo general no son sometidos al mismo proceso de control de calidad que otros programas. De hecho, están sorprendentemente mal escritos en la mayoría de los casos. La revisión de errores es habitualmente olvidada por lo que ofrecen un terreno abonado para ataques del tipo desbordamiento de buffer.
Tenga siempre presente que gran parte de las extensiones de terceros para servidores de páginas Web vienen o incluyen archivos de ejemplo, muchos de los cuales son extremadamente peligrosos.
2. Cuentas sin contraseña o contraseñas débiles
La mayoría de los sistemas se encuentran configurados para usar contraseñas secretas como primera y única línea de defensa. Los nombres de usuario (user IDs) son relativamente fáciles de conseguir y la mayoría de las compañías tienen accesos telefónicos que se saltan el cortafuegos. Es por esto que si un atacante puede determinar el nombre de una cuenta y su contraseña correspondiente, él o ella pueden entrar en la red. Dos grandes problemas lo constituyen las contraseñas fáciles de adivinar y las contraseñas por defecto, pero aún así, uno mucho mayor son las cuentas sin contraseña. En la práctica, todas las cuentas con contraseñas débiles, contraseñas por defecto o contraseñas en blanco deben de ser eliminadas de su sistema.
Adicionalmente, muchos sistemas contienen cuentas que vienen incluidas o cuentas por defecto. Estas cuentas generalmente tienen la misma contraseña para todas las instalaciones del software. Los atacantes habitualmente buscan estas cuentas ya que son bien conocidas por su comunidad. Por esta razón, cualquier cuenta preexistente o por defecto, debe ser identificada y eliminada del sistema.
Resulta afectado cualquier sistema operativo o aplicación en los cuales los usuarios se autentifiquen por medio de un nombre de usuario y una contraseña.
3. Respaldos (backups) incompletos o inexistentes
Cuando ocurre un incidente (y va a ocurrir en casi todas las organizaciones), la recuperación requiere respaldos actualizados y métodos probados para restaurar la información. Algunas organizaciones hacen respaldos diarios, pero nunca verifican que éstos se encuentren realmente funcionando. Otros definen políticas de respaldo, pero no políticas o procedimientos de restauración. Tales errores son usualmente descubiertos después de que un atacante ha entrado en los sistemas y ha destruido o arruinado la información.
Un segundo problema que afecta a los respaldos es la insuficiente protección física del medio de respaldo. Los respaldos contienen la misma información sensible que reside en los servidores, y debe, por lo tanto, ser protegido de la misma forma.
Los respaldos deben ser realizados al menos diariamente. El requerimiento mínimo en la mayoría de las organizaciones es realizar un respaldo completo una vez a la semana y respaldos incrementales todos los días. Debe verificarse al menos una vez al mes el soporte del respaldo mediante la restauración en un servidor de prueba que permita ver si la información se está respaldando correctamente. Este es el requerimiento mínimo. Algunas compañías realizan respaldos totales o completos varias veces al día. La mejor solución de respaldo es uno total y redundante a prueba de fallos (failover) - una solución que es requerida para sistemas financieros y de comercio electrónico críticos y de tiempo real, sistemas que controlan infraestructura crítica y algunos sistemas del Departamento de Defensa.
4. Gran número de puertos abiertos
Tanto los usuarios legítimos como los atacantes se conectan a los sistemas por medio de puertos. Cuantos más puertos se encuentren abiertos más formas hay para que alguien se conecte. Por lo tanto, es importante mantener abiertos sólo los puertos imprescindibles para que el sistema funcione correctamente. El resto de los puertos deben ser cerrados.
5. Insuficiente filtrado de los paquetes con direcciones de inicio y destino inadecuadas
La falsificación de direcciones IP es un método comúnmente utilizado por los atacantes para cubrir sus huellas cuando atacan a una víctima. Por ejemplo, el popular ataque "smurf" hace uso de una característica de los enrutadores (routers) para enviar una secuencia de paquetes a miles de máquinas. Cada paquete contiene una dirección IP de origen que es suplantada de una víctima. Las máquinas a las que estos paquetes falsificados son enviados inundan a la máquina víctima generalmente deteniendo sus servicios o bien deteniendo los servicios de una red completa. Utilizar un mecanismo de filtrado sobre el tráfico que entra en la red (ingress filtering) y el que sale (egress filtering) le ayudará a lograr un alto nivel de protección.
6. Registro de eventos (logging) incompleto o inexistente
Una de las máximas de la seguridad es, "la prevención es ideal, pero la detección es fundamental". Mientras usted permita fluir el tráfico entre su red y la Internet, la probabilidad de que un atacante llegue silenciosamente y la penetre está siempre latente. Cada semana se descubren nuevas vulnerabilidades y existen muy pocas formas de defenderse de los ataques que hagan uso de las mismas. Una vez que usted ha sido atacado, sin registros (logs) hay muy pocas probabilidades de que descubra qué hicieron realmente los atacantes. Sin esa información su organización debe elegir entre recargar completamente el sistema operativo desde el soporte original y luego esperar que los respaldos se encuentren en buenas condiciones, o bien correr y asumir el riesgo que representa seguir utilizando un sistema que un atacante controla.
Usted no puede detectar un ataque si no sabe qué está ocurriendo en la red. Los registros le proporcionan los detalles de lo que está ocurriendo, qué sistemas se encuentran bajo ataque y qué sistemas han sido comprometidos.
El registro debe ser realizado de forma regular sobre todos los sistemas clave, y deben ser archivados y respaldados porque nunca se sabe cuándo se pueden necesitar. La mayoría de los expertos recomiendan enviar todos los registros a un recolector central que escribe la información en un soporte que sólo admita una escritura, con el fin de que el atacante no pueda sobrescribir los registros para evitar la detección.
7. Programas CGI vulnerables
La mayoría de los servidores Web, incluyendo IIS de Microsoft y Apache, permiten el uso de programas CGI (Common Gateway Interface) para proporcionar interactividad a las páginas web, habilitando funciones tales como recolección de información y verificación. De hecho, la mayoría de los servidores web vienen con programas CGI de ejemplo preinstalados. Desgraciadamente demasiados programadores de CGIs pasan por alto el hecho de que sus programas proporcionan un vínculo directo entre cualquier usuario en cualquier parte de Internet y el sistema operativo en la máquina que se encuentra ejecutando el servidor Web. Los programas CGI vulnerables resultan especialmente atractivos para los intrusos ya que son relativamente fáciles de localizar y de operar con los mismos privilegios y poder que tiene el software del servidor Web. Es de sobra conocido el hecho de que los intrusos abusan de los programas CGI para modificar páginas Web, robar información de tarjetas de crédito e instalar puertas
...