Lunes, 01 de Diciembre del 2008

Tagline gratis de hoy: 640kb deberían ser suficientes para todos (Bill Gates)

 
Inicio Descargas Foros Tu Cuenta Web Links  
Crear Una Cuenta
Menú Principal
Inicio (Noticias):
 Inicio
 Enviar Noticia
 Mapa de Noticias
 Noticias en Tu Web
 Noticias Destacadas
 Archivo de Noticias
 Búscar
 Topicos
Miembros:
 Lista de Usuarios
 Tu Cuenta
 Diario de Usuarios
 Mensaje Privados
 Comunidad:
 Foros de Aclantis
 Recetas de Cocina Gratis
 Juegos Gratis
 AvantGo de Descargas
 Buscar en Google
 Webs Amigas
 Bromas y Chistes
 Trucos de Juegos
 Trucos de Informática
 Guías y Análisis de Juegos
 Publicidad y Intercambios
 Referirnos
 Contáctenos
  Web Links
 
  Descargas
 
Estadísticas:
 Estadísticas
 Site Map
 Top 20
 Encuestas
Documentaciones:
 Artículos
 Agregar a Favoritos
 Herramientas WebMasters
 FAQ De Aclantis
Recomendados


Noticias recientes
Sábado, 29 noviembre
· Studylangs: Estudia y Aprende otros Idiomas Jugando
· El Juego Mi Bebé y Yo llega a las tiendas
· Bugs Bunny: conejo a la fuga para móvil
· Fedora 10 muestra el mapa del futuro de Open Source
Viernes, 28 noviembre
· Microsoft quiere dar una segunda oportunidad a los piratas, legaliza tu sistema
· Hoy la Apple Store se viste de Black Friday
· Microsoft advierte contra nuevo gusano para Windows
· Personal Software Inspector: Monitoriza actualizaciones de 7.000 programas
· Monitor Test: Comprueba tu monitor online
Jueves, 27 noviembre
· Directivo de Google cree que el futuro está en las búsquedas inteligentes

Artículos Viejos
Noticias: Que es Rootkits ? Definicion de Rootkits jugando a las escondidas
Enviado el Lunes, 19 mayo a las 05:23:58 por Draving
SeguridadActualmente, el malware contempla una gran cantidad de tipos de códigos maliciosos, diseñados específicamente para realizar una tarea puntual en el equipo infectado. Dentro de esta categorización se suele ubicar a los rootkits como códigos dañinos capaces de ocultar acciones al sistema y/o al usuario. Sin embargo, esta definición se ajusta tan sólo en parte al concepto y el objetivo del presente es integrar los conocimientos actuales sobre este tipo de herramientas y la capacidad de los antivirus para lidiar con ellas.



Reseña histórica y definición

Antes de comenzar con los detalles técnicos, es apropiado realizar una síntesis de la evolución de los rootkits y más precisamente, del por qué de su denominación y un detalle de sus funcionalidades.

Típicamente, se llama root al usuario con mayores privilegios dentro del sistema operativo Unix o derivados. Cualquier usuario distinto de root tiene menores privilegios. Por este motivo, los permisos de este usuario son los que cualquier persona o proceso ajeno al sistema desea poder obtener para realizar acciones no deseadas.

Por esto, originalmente el término root-kit correspondía a un conjunto de herramientas que permiten el control del usuario root y de los procesos del sistema operativo, a la vez que estas aplicaciones permanecen indetectables para el mismo y por ende, para el usuario.

La “necesidad” de autodefensa de los programas dañinos llevó a que los mismos evolucionen e incorporen técnicas de ocultación conocidas como steatlth, las cuales han sido utilizadas desde siempre en otros sistemas operativos como DOS y las primeras versiones de Windows.
Por citar un caso, en los ’90 un programa dañino denominado Whale ya era capaz de interceptar servicios de DOS y entregar al usuario datos falsificados de algún área del sistema.

Esta evolución de las aplicaciones dañinas llevó a que el término rootkit también fuera aplicado a aquellas versiones de Windows que permiten diferentes grados de acceso, aquellos con kernel NT (Windows NT, Windows 2000, Windows XP y Windows Vista), y no solo a los sistemas Unix.

Funcionalidades

Si bien con cambios de diseño propios de cada sistema operativo, actualmente se acepta como rootkit a cualquier aplicación que desarrolle alguna de las siguientes actividades en el sistema:

·pueda lograr acceso al sistema y mantener un control privilegiado sobre el mismo
·sea capaz de ocultar procesos, threads, directorios, archivos, handles, claves de registro, puertos, comunicaciones, etc.
·pueda tener acceso privilegiado a funciones o áreas críticas del sistema
·sea capaz de mostrar al sistema operativo una “imagen limpia” de sí mismo, creada para pasar desapercibido.

Nota: Es necesario remarcar que un rootkit en sí mismo no necesariamente tiene que ser dañino o causar daño en el sistema huésped sino que puede ser empleado por otros programas maliciosos para ocultar su presencia y así pasar mayor tiempo desapercibido, logrando sus objetivos (sean cuales fuesen los mismos).
Entonces, si bien puede parecer correcto utilizar el nombre genérico rootkit para cualquier programa dañino que se oculte, esto no es así y se debería hablar de troyanos, gusanos, adware y spyware con capacidades de ocultamiento.

De hecho, técnicas comúnmente utilizadas por los rootkits son empleadas por empresas para control de Gestión de Derechos Digitales (DRM) [1], software comercial [2] y por otras empresas para proteger sus aplicaciones [3].

Es por ello que en los últimos tiempos se prefiere llamar PUP (del inglés, Potentially Unwanted Programs- Programas Potencialmente Indeseados) a este tipo de aplicaciones.

Para más información sobre el origen del término, se puede consultar “Rootkits, la raíz de todos los males” [4].

Tipos de rootkits

Se distinguen dos tipos de rootkits: modo usuario y modo kernel. La diferencia radica en el nivel de privilegio en el que el código de cada uno es ejecutado, y del punto en el que se realiza la inyección en el sistema operativo afectado.

Los rootkits de modo usuario reemplazan o modifican programas -normalmente a través de procedimientos denominados hooking y patching- que se ejecutan en modo usuario (anillo 3) y, por ejecutarse en este nivel, son más sencillos de detectar. Son capaces de ocultar sus procesos por ejemplo, al Administrador de Tareas.

Los rootkits de modo kernel, en cambio, involucran la modificación de componentes del kernel del sistema operativo (anillo 0) que normalmente no puedan ser modificados o sobrescritos mediante un proceso sin privilegios.

Las ventajas de este último tipo de rootkit son evidentes debido a que, al ejecutarse con el mismo privilegio que las herramientas de detección, el rootkit puede utilizar mecanismos defensivos contra las herramientas de seguridad, a menos que las mismas estén preparadas para detectar y neutralizar estas acciones.

Las API, dueñas del sistema operativo


Una API (del inglés Application Programming Interface - Interfaz de Programación de Aplicaciones) es el conjunto de funciones, procedimientos y bibliotecas que ofrecen acceso a ciertos servicios de propósito general. [5]

La ventaja de las API radica en que evitan al programador de nuevas aplicaciones, el desarrollo de funciones típicas del sistema operativo y que son realizadas continuamente por el mismo.

Por supuesto, estas funciones también son el blanco perfecto para cualquiera que desee controlar el sistema operativo (como los rootkits), debido a que cada vez que se invoque a una API, se estaría invocando al proceso dañino deseado.

Este proceso puede verse claramente en el caso de un keylogger en donde las APIs de manejo de teclado son interceptadas, la tecla presionada es almacenada y el usuario no nota dicha intercepción:


Imagen 1 – Proceso de intercepción de una API
La acción de tomar el control de las funciones del sistema operativo se puede realizar en modo usuario o modo kernel y abarca dos mecanismos denominados:

1. Hooking, un mecanismo por el que una función del rootkit se “engancha” con una función original del sistema operativo, redireccionando o interviniendo el flujo de operación normal [6].

Nota: Se requiere aquí la misma aclaración realizada para los rootkits, ya que “enganchar” una función no necesariamente debe hacerse con un fin dañino. Este procedimiento también es utilizado por drivers del sistema, herramientas de monitoreo y seguridad. Por ejemplo, un antivirus puede utilizar hooking para analizar cada archivo abierto por el usuario y verificar si el mismo posee capacidades dañinas o no.


Imagen 2 – Hooking en caso de un antivirus

1. Patching, la modificación de pequeñas partes de código de las funciones originales con el objeto de llamar a las funciones del programa intruso.

En funcionamiento

Para demostrar el funcionamiento de un rootkit se analizará el difundido Hacker Defender creado por Holy_father para sistemas basados en tecnología NT y muy utilizado por el malware actual. Dicho rootkit se compone de un archivo ejecutable desarrollado en Delphi que se ejecuta en modo usuario, y de un driver programado en C y Assembler que realiza sus funciones en modo kernel [7].

Para esta demostración se utiliza un proceso “notepad.exe” que será ocultado por el rootkit mientras su ejecución continúa normalmente. Además, se ocultarán ciertos puertos UDP (445, 500, 1900, 4500) y TCP (135, 445). En la siguiente imagen pueden apreciarse los procesos antes de la ejecución del rootkit:


Imagen 3 – Procesos, archivos y puertos antes de la ejecución del rootkit

Luego de la ejecución del rootkit y de la configuración del mismo para ocultar el proceso “notepad.exe” y los puertos deseados, el estado del sistema es el siguiente:


Imagen 4 - Procesos, archivos y puertos luego de la ejecución del rootkit

Como puede verse, el proceso “notepad.exe” y las conexiones a los puertos configurados han sido ocultados.

El procedimiento descripto puede ser realizado para cualquier programa y es el utilizado por el malware que desea ocultarse en el sistema.

Para hallar las actividades realizadas por el rootkit o del malware con propiedades de ocultamiento, es necesario poseer herramientas para tal fin o incluso, soluciones de seguridad con Tecnología Anti-Stealth como ESET NOD32 Antivirus y ESET Smart Security.

Para más detalle sobre el funcionamiento de este rootkit, puede consultarse el video de realizado por ESET Latinoamérica [14].

Técnicas alternativas

Así como las técnicas descriptas son utilizadas masivamente por los rootkits actuales, existen otras tecnologías que permiten el ocultamiento y camuflaje de archivos en sistemas operativos Windows.

Una de ellas es la manipulación de Flujos Alternativos de Datos (ADS, Alternate Data Streams por sus siglas en inglés) del sistema de archivos NTFS y que son utilizados para mantener información asociada con el archivo. El uso de esta técnica, por algunos virus y gusanos, data del 2000. Hablando con rigor, esta técnica no es un método para engañar al sistema operativo sino al uso de funciones APIs no documentadas y poco conocidas del mismo. De hecho cualquier usuario puede hacer uso de esta metodología para ocultar archivos [8].

Otra técnica se refiere a BootRoot, un rootkit del sector de arranque (MBR, Master Boot Record por sus siglas en inglés) y creado para BlackHat 2005 por eEye, con fines de investigación [9].
Si bien se han volcado mares de tinta a su alrededor, la utilidad práctica de esta aplicación no ha pasado a mayores y de hecho los antivirus detectan dicha amenaza desde hace tiempo bajo el nombre de Sinowal [10].

Otra situación semejante se vivió en Windows Vista cuando Joanna Rutkowska [11] presentó en BlackHat 2006 BluePill [12], un rootkit conceptual para ese sistema operativo [13].

Aún así, con respecto a los rootkits actuales, la estructura en capas y el contexto no privilegiado de Windows Vista dificulta que los rootkits tradicionales puedan ejecutar drivers a nivel de kernel.

Detección

Debido a que las técnicas utilizadas se perfeccionan día a día y se aprovechan vulnerabilidades o funciones distintas, la detección de rootkits es siempre compleja. Por ello, no es tarea trivial y generalmente debe hacerse con herramientas diseñadas para tal fin (Anti-Rootkits) o antivirus con capacidades Anti-Stealth que permitan su detección y remoción [14].

Los mecanismos utilizados por estas herramientas consisten en analizar el sistema a un nivel muy bajo, sin utilizar las llamadas a funciones APIs mencionadas y luego hacer la misma operación utilizándolas, comparando los resultados. Si hay discrepancias, existe una aplicación que hace que estas diferencias existan, muy probablemente un rootkit.

Debido a que este método no es infalible, aquí debe seguirse un principio básico de la seguridad antivirus: la detección debe realizarse cuando el sistema operativo afectado no se encuentra en ejecución, debido a que sino no se puede asegurar que el rootkit no se encuentra bloqueando y engañando al análisis.

Conclusiones

Desde siempre, el malware ha buscado nuevas metodologías de propagación y, como en este caso, de autodefensa contra las tecnologías antimalware.

Lamentablemente, los rootkits actuales son muchos y variados y todos ellos hacen uso de diferentes metodologías e incluso se ponen públicamente a disposición de terceros que pueden intentar utilizarlos con fines delictivos.

El malware se aprovecha de cualquier ventaja que deje disponible el usuario o el sistema. En el caso particular de los rootkits, el sistema operativo es afectado por una aplicación que puede ser capaz de ejecutarse a su mismo nivel y por ende, engañar al usuario todo el tiempo necesario para realizar otras acciones dañinas.

Si bien los motivos económicos detrás del malware hacen que el mismo se perfeccione, las herramientas de detección y remoción también han evolucionado y son capaces de controlarlos.
La utilización de soluciones de seguridad con capacidades de detección de herramientas de tipo stealth y de sistemas operativos con diseño seguro y con capacidades de protección proactiva es la mejor opción a la hora de prevenir.

Autor: Cristian Borghello, CISSP, Technical & Educational Manager de ESET para Latinoamérica

Via: PsicoFxp.com
 
Enlaces Relacionados
· Más Acerca de Seguridad
· Noticias de Draving


Noticia más leída sobre Seguridad:
Comienzan los ataques a Windows XP/2000

Votos del Artículo
Puntuación Promedio: 0
votos: 0

Por favor tómate un segundo y vota por este artículo:

Excelente
Muy Bueno
Bueno
Regular
Malo

Opciones

 Versión Imprimible Versión Imprimible

 Enviar a un Amigo Enviar a un Amigo
Puntos
  
Los comentarios son propiedad de quien los envió. No somos responsables por su contenido.
Theme Design By Aclantis Hosting    Powered By PHP-Nuke

ZaKaTRoN Caratulandia.net Aclantis AclantisAclantis Aclantis
AclantisAclantis AclantisAclantisAclantis Aclantis

Inicio | Top 20 | Articulos | Descargas | Noticias - © (2000 - 2008) - Aclantis by Draving - Contactanos 



[ Script generation time: 0.3052s (PHP: 85% - SQL: 15%) ] - [ SQL queries: 51 ] - [ Pages served in past 5 minutes : 535 ] - [ GZIP disabled ] - [ Debug off ]