¿Qué es un virus gusano?
El virus de error es un tipo de virus informático. Su mecanismo de infección es utilizar Internet para copiar y difundir, y la ruta de infección es a través de Internet y el correo electrónico.
Por ejemplo, el virus "Nimda", que ha sido muy dañino en los últimos años, es un tipo de virus gusano. Este virus aprovecha las vulnerabilidades del sistema operativo Microsoft Windows. Después de que una computadora se infecta con este virus, marcará automáticamente para acceder a Internet y utilizará la información de la dirección en el archivo o el acceso a la red para propagarse, destruyendo eventualmente la mayor parte. de los datos importantes del usuario.
El método de prevención general para los virus gusanos es utilizar software antivirus con capacidades de monitoreo en tiempo real y tener cuidado de no abrir fácilmente archivos adjuntos de correo electrónico desconocidos.
1. La estructura básica y el proceso de propagación de los gusanos
La estructura básica del programa de los gusanos es:
1. Módulo de propagación: responsable de la propagación de los gusanos. , esta es la parte del artículo que se discutirá.
2. Módulo oculto: Después de invadir el host, oculta el programa gusano para evitar que los usuarios lo descubran.
3. Módulo de funciones de propósito: realizar las funciones de controlar, monitorear o destruir la computadora.
El módulo de propagación se puede dividir en tres módulos básicos: módulo de escaneo, módulo de ataque y módulo de replicación.
El proceso general de propagación de un programa de gusano es:
1. Escaneo: el módulo de función de escaneo del gusano es responsable de detectar hosts vulnerables. Cuando el programa envía información de detección de vulnerabilidades a un determinado host y recibe información de retroalimentación exitosa, se obtiene un objeto propagable.
2. Ataque: el módulo de ataque ataca automáticamente el objeto encontrado en el paso 1 de acuerdo con los pasos del ataque de vulnerabilidad, obtiene los permisos del host (generalmente permisos de administrador) y obtiene un shell.
3. Copiar: El módulo de copia copia el programa gusano al nuevo host a través de la interacción entre el host original y el nuevo host y lo inicia.
Podemos ver que el módulo de propagación realmente implementa la función de intrusión automática. Por lo tanto, la tecnología de propagación de gusanos es la tecnología principal de la tecnología de gusanos. Sin la tecnología de propagación de gusanos, no habría tecnología de gusanos.
2. Análisis del proceso de intrusión
Creo que todo el mundo está familiarizado con los pasos generales de la intrusión. Recordemos brevemente.
Paso uno: utilice varios métodos para recopilar información sobre el host de destino y encontrar vulnerabilidades o debilidades explotables.
Paso 2: Apunte a las vulnerabilidades o defectos del host de destino y adopte las técnicas correspondientes para atacar el host hasta que se obtengan los derechos de administrador del host.
Paso 3: Utilice los permisos obtenidos para instalar puertas traseras, trampolines, terminales de control, monitores, etc. en el host y borre los registros.
Analicémoslo paso a paso.
Veamos el primer paso. Hay muchas formas de recopilar información, tanto técnicas como no técnicas. Los métodos tecnológicos incluyen escanear el host con un escáner y detectar el tipo de sistema operativo, la versión, el nombre del host, el nombre de usuario, los puertos abiertos, los servicios abiertos, las versiones de software del servidor abiertas, etc. Los métodos no técnicos incluyen establecer una relación con el administrador del anfitrión, defraudar la confianza, intimidar e inducir, y otros métodos que son inapropiados para los niños. Por supuesto, cuanta más información completa puedas recopilar, mejor. Después de recopilar la información, continúe con el segundo paso.
El segundo paso es analizar la información recopilada y encontrar información que pueda utilizarse de forma eficaz. Si hay una vulnerabilidad ya preparada que se puede explotar, conéctese y busque el método de ataque para la vulnerabilidad. Si hay un código de ataque, cópielo directamente y luego use el código para obtener permisos. vulnerabilidad ya preparada que puede ser explotada, utiliza la información recopilada para probarla, adivina la contraseña del usuario y, por otro lado, prueba y analiza el sistema que utiliza para intentar analizar una vulnerabilidad explotable. Si finalmente puede encontrar una manera de obtener los permisos del sistema, vaya al tercer paso; de lo contrario, abandone.
El tercer paso es hacer lo que quieras con los permisos del host. Si no sabes lo que quieres hacer, simplemente sal y juega los juegos que te gusten.
Lo anterior es el proceso general de intrusión manual. Para la intrusión automática, existen algunas especialidades en su aplicación.
Debido a la limitación del tamaño del programa, la tecnología de intrusión automática utilizada por los gusanos no puede ser demasiado inteligente, por lo que la intrusión automática generalmente adopta un modo específico. A este patrón lo llamamos patrón de intrusión y se extrae de técnicas de intrusión comunes. Actualmente, los gusanos sólo utilizan un modo de intrusión. Este modo es el utilizado en el proceso de propagación del gusano que mencionamos anteriormente: escanear en busca de vulnerabilidades, atacar y obtener el shell, explotar el shell. Este modo de intrusión es ahora el modo de propagación de gusanos comúnmente utilizado. Aquí hay un problema, que es la definición del concepto de gusano. La definición actual de gusano toma este modo de propagación como parte de la definición de gusano. De hecho, los gusanos en un sentido amplio deberían incluir programas que utilizan otros modos de propagación automática. .
Veamos primero el modelo de comunicación general.
3. Análisis del modo general de propagación del gusano.
1. Modo: escaneo-ataque-copia.
He visto informes sobre gusanos en las noticias. Los informes siempre enfatizan cómo los gusanos envían una gran cantidad de paquetes de datos, causando congestión de la red y afectando la velocidad de comunicación de la red. De hecho, esta no es la intención original del programa gusano y provocar congestión en la red no beneficiará al editor del programa gusano. Si es posible, el editor del programa de gusano prefiere que el gusano se propague de forma encubierta, porque después de que se propaga, el editor del gusano puede obtener una gran cantidad de recursos informáticos disponibles, de modo que los beneficios que obtiene sean superados por las consecuencias de la red. La congestión es obviamente decenas de miles de veces más fuerte. Sin embargo, los métodos de escaneo utilizados por los gusanos existentes inevitablemente causarán una gran congestión en la red, lo que es un cuello de botella en el desarrollo de la tecnología de gusanos. Si se puede superar esta dificultad, el desarrollo de la tecnología de gusanos entrará en una nueva etapa.
La tecnología de propagación utilizada por los gusanos populares generalmente tiene como objetivo propagarse a la mayor cantidad de computadoras posible lo más rápido posible, por lo que la estrategia de escaneo utilizada por el módulo de escaneo es la siguiente:
Aleatoriamente seleccione una dirección IP de un determinado párrafo y luego escanee los hosts en este segmento de dirección. Un escáner más tonto puede repetir este proceso una y otra vez. De esta manera, a medida que el gusano se propaga y los hosts recién infectados también comienzan a realizar este escaneo, estos escáneres no saben qué direcciones ya han sido escaneadas, simplemente escanean Internet de forma aleatoria. Por lo tanto, cuanto más se propague el gusano, más paquetes de escaneo habrá en la red. Incluso si los paquetes de detección enviados por el escáner son pequeños, una pequeña cantidad suma una gran cantidad y la congestión de la red causada por el escaneo de una gran cantidad de programas de gusanos es muy grave.
Los autores más inteligentes realizarán algunas mejoras en la estrategia de escaneo, por ejemplo, en la selección de segmentos de direcciones IP, pueden escanear principalmente el segmento de red donde se encuentra el host actual y seleccionar aleatoriamente algunas IP pequeñas. para segmentos de red externos. Se escanea el segmento de dirección. Limite el número de escaneos a solo unos pocos. Distribuya los escaneos en diferentes períodos de tiempo. Hay tres principios para el diseño de la estrategia de escaneo:
Minimizar el escaneo repetido y reducir al mínimo la cantidad total de paquetes de datos enviados mediante el escaneo 2. Asegurarse de que el escaneo cubra el mayor rango posible 3. Manejar el Distribución horaria del escaneo para que los escaneos no se realicen en un momento específico. La forma de encontrar una estrategia adecuada debe analizarse teniendo en cuenta los principios anteriores e incluso requiere verificación experimental.
Los paquetes de detección enviados por el escaneo están diseñados en función de diferentes vulnerabilidades. Por ejemplo, las vulnerabilidades de desbordamiento del búfer remoto se pueden detectar enviando código de desbordamiento, mientras que las vulnerabilidades CGI web deben detectarse enviando una solicitud http especial. Por supuesto, antes de enviar el código de detección, primero debe determinar si el puerto correspondiente está abierto, lo que puede mejorar la eficiencia del escaneo. Una vez que se confirma la existencia de la vulnerabilidad, se pueden llevar a cabo los pasos de ataque correspondientes. Las diferentes vulnerabilidades tienen diferentes métodos de ataque. Siempre que comprenda el método para explotar la vulnerabilidad, puede implementar este proceso en el programa. La cuestión clave en esta parte es la comprensión y explotación de las vulnerabilidades. Cómo analizar las vulnerabilidades no es lo que se discutirá en este artículo.
Después de un ataque exitoso, normalmente obtenemos un shell en el host remoto, que es cmd.exe para sistemas win2k. Después de obtener este shell, tenemos control sobre todo el sistema. Hay muchas formas de copiar el proceso, que se pueden implementar utilizando el propio programa del sistema o el propio programa del gusano. El proceso de copia es en realidad un proceso de transferencia de archivos. La implementación de la transferencia de archivos de red es muy simple y no se discutirá aquí.
2. Uso de patrones
Como se llama patrón, se puede reutilizar. Es decir, podemos implementar nuestro propio gusano simplemente cambiando el código de cada enlace específico de este modelo. Por ejemplo, una vez completadas la parte de escaneo y la parte de copia del código, una vez que aparece una nueva vulnerabilidad, solo necesitamos agregar la parte de ataque del código.
Utilizando patrones podemos incluso programar un generador de gusanos. Por supuesto, también puede utilizar patrones para escribir un sistema de intrusión automático. Las operaciones modeladas no son complicadas de implementar mediante programas.
4. Otros posibles modos de propagación del gusano
Además de los modos de propagación introducidos anteriormente, también pueden aparecer otros modos.
Por ejemplo, podemos utilizar como modelo el correo electrónico para la difusión automática. La descripción de este modo es: obtener la dirección de correo electrónico de la libreta de direcciones de correo electrónico - enviar correos electrónicos masivos con el programa gusano - el correo electrónico se abre pasivamente y se inicia el programa gusano. Cada paso aquí se puede implementar de diferentes maneras, y este modo también implementa la propagación automática, por lo que podemos usarlo como modo de propagación de gusanos.
Con el desarrollo de la tecnología de los gusanos, aparecerán otros modos de propagación en el futuro.
5. Observando el modo de propagación de los gusanos desde la perspectiva de la defensa de la seguridad
Si analizamos el modo de propagación de los gusanos, la idea de cómo prevenir la propagación de los gusanos quedará mucho más claro. En cuanto al modo general de propagación de gusanos, el trabajo de protección de seguridad que estamos realizando actualmente está dirigido principalmente al segundo eslabón, es decir, la parte de "ataque". Para prevenir ataques, las medidas a tomar son descubrir vulnerabilidades tempranamente. aplicar parches. De hecho, lo más importante es la protección en el primer paso. El método comúnmente utilizado para proteger el escaneo es utilizar una pared protectora para filtrar el escaneo. El método de uso de firewalls tiene limitaciones, porque muchos usuarios no saben cómo usarlos, por lo que cuando el gusano aún puede propagarse, el host protegido por el firewall solo puede garantizar su propia seguridad, pero la red ha sido destruida. Otra solución es considerar cómo prevenir la propagación de gusanos desde la red en su conjunto.
Prevenir la propagación de gusanos desde la red en su conjunto es un tema de seguridad que requiere más investigación. Menciónalo brevemente aquí. Desde la perspectiva del proceso general, el escaneo a gran escala es un paso importante en la propagación de gusanos. Si el escaneo se puede prevenir o restringir, se puede prevenir la propagación de gusanos. Un método posible es agregar un filtro en la puerta de enlace o enrutador, y cuando detecta que se envía un paquete de escaneo desde una dirección determinada, filtrará el paquete. Durante la implementación específica, es posible que sea necesario considerar la cuestión de cómo identificar los paquetes escaneados y los paquetes normales, lo que requiere más estudio.
Al comprender el modo de propagación de los gusanos, puede implementar fácilmente un sistema de detección de intrusiones para gusanos. El escaneo de gusanos tendrá ciertos patrones y los paquetes de escaneo tendrán ciertas cadenas de características, que pueden usarse como características de intrusión para la detección de intrusiones. Una vez que comprenda estas características, podrá desarrollar reglas de detección de intrusiones para ellas.