|
Los temibles Rootkit, además de terribles amenazas son armas de "doble filo".
|
Los Rootkit son pequeños programas con rutinas encriptadas que se instalan en forma "oculta" en los sistemas de los usuarios de PC y servidores para evitar ser detectados por los antivirus, software de seguridad y utilitarios de administración de los sistemas. Un Rootkit es un conjunto de herramientas de software usados por intrusos que acceden ilícitamente a un sistema operativo. Estas herramientas sirven para ocultar "procesos" y archivos en su ejecución, frecuentemente con fines maliciosos. Existen Rootkits para la mayoría de sistemas operativos, como Microsoft Windows, Linux, Solaris, etc. |
Los Rootkit ocultan los inicios de sesión (logins), procesos, archivos, creación o modificación de llaves de registro, etc. Pueden interceptar datos contenidos en un sistema, conexiones de red y hasta digitaciones del teclado (Keyloggers).
Métodos de ocultamiento de detección.
Existen muchas metodologías para que los Rootkit logren evadir su detección u ocultar su presencia y accionar.
Un ejemplo simple, consiste en interceptar todas las llamadas a las API FindFirstFile/FindNextFile, las cuales son usadas por las herramientas de exploración de los sistemas de archivos, incluyendo el Windows Explorer y el comando prompt, para listar el contenido de carpetas de archivos de sistema.
API (Interfaz de Aplicaciones de Programación) son librerías de vínculos dinámicos .DLL, que forman parte del sistema operativo Windows.
Cuando un programa ejecuta un listado de una carpeta o directorio que podrían devolver resultados con entradas que identifiquen a los archivos asociados al Rootkit, es cuando éste intercepta y modifica la salida para remover sus entradas.
Las API nativas de Windows actúan como interfaz entre el modo-usuario de cliente y los servicios del modo-kernel y es en ese proceso cuando los más sofisticados Rootkit
del modo-usuario interceptan los archivos de sistema, registros y los procesos de enumeración de las funciones de las API nativas.
Lo cual evita su detección por scanners que comparan el resultado de la enumeración de las API de Windows con la devolución de enumeración de de las API nativas invocadas.
Rootkit de modo-Kernel
Los Rootkit de modo-kernel pueden ser más eficientes debido a que no solo pueden interceptar las API nativas en el modo-kernel, sino que además pueden manipular directamente la estructura de datos del kernel.
Una técnica muy empleada para ocultar el procesos de códigos malignos consiste en remover el proceso de la lista de procesos activos del kernel.
Debido a que la administración de procesos API dependen del contenido de la lista, el proceso de estos códigos no mostrarán la ejecución del Administrador de Tareas o el del Window Explorer.
El caso de la Sony BMG Music y la tecnología Rootkit
El año pasado se descubrió que la Sony BMG Music Entertainment usaba una tecnología de pprotección a sus CD musicales y DVD similar a la empleada por los Rootkit.
La tecnología Extendida de Protección de Copias (XCP) creada por First 4 Internet Ltd. era empleada para proteger CDs de audio y formatos DVD para la mencionada corporación. .
El denominado software DRM (Digital Rights Management) de esa tecnología oculta:
El caso Symantec y Kaspersky
Mark Russinovich, Jefe de arquitectura de software de una de las más importantes compañias creadoras de reconocidas herramientas utilitarias del mundo, denominada Sysinternals:
descubrió y denunció que varios productos de Symantec y Kaspersky usaban técnicas de ocultamiento en sistemas operativos, similares a los empleados por los maliciosos Rootkit de los codificadores de virus.
Mark Russinovich manifiesta que "no existe ninguna justificación para utilizar estas técnicas" y agrega "si por el contrario, el fabricante esta convencido de la necesidad de instalar un Rootkit esta claro que deben volver a rediseñar el producto".
Mark Russinovich fue el primer experto informático en descubrir la existencia de "rootkits" en los discos compactos (CDs) de Sony-BMG
Para una completa información visite este enlace:
http://www.noticiasdot.com (en español)
En PER SYSTEMS hemos logrado capturar y desensamblar varios ejemplos de tecnología Rootkit y a manera de muestra (obviamente incompleta), únicamente con fines educativos mostramos parte de uno de sus códigos:
PVOID SpyMemoryCreate (DWORD dSize)
{
return ExAllocatePoolWithTag (PagedPool, max (dSize, 1),
SPY_TAG);
}
// -----------------------------------------------------------------
PVOID SpyMemoryDestroy (PVOID pData)
{
if (pData != NULL) ExFreePool (pData);
return NULL;
}
// ==============================================================
// MODULE INFO MANAGEMENT
// =================================================================
PMODULE_LIST SpyModuleList (PDWORD pdData,
PNTSTATUS pns)
{
DWORD dSize;
DWORD dData = 0;
NTSTATUS ns = STATUS_INVALID_PARAMETER;
PMODULE_LIST pml = NULL;
for (dSize = PAGE_SIZE; (pml == NULL) && dSize; dSize <<= 1)
{
if ((pml = SpyMemoryCreate (dSize)) == NULL)
{
ns = STATUS_NO_MEMORY;
break;
}
ns = ZwQuerySystemInformation (SystemModuleInformation,
pml, dSize, &dData);
if (ns != STATUS_SUCCESS)
{
pml = SpyMemoryDestroy (pml);
dData = 0;
if (ns != STATUS_INFO_LENGTH_MISMATCH) break;
}
}
if (pdData != NULL) *pdData = dData;
if (pns != NULL) *pns = ns;
return pml;
}
// -----------------------------------------------------------------
PMODULE_LIST SpyModuleFind (PBYTE pbModule,
PDWORD pdIndex,
PNTSTATUS pns)
{
DWORD i;
DWORD dIndex = -1;
NTSTATUS ns = STATUS_INVALID_PARAMETER;
PMODULE_LIST pml = NULL;
if ((pml = SpyModuleList (NULL, &ns)) != NULL)
{
for (i = 0; i < pml->dModules; i++)
{
if (!_stricmp (pml->aModules [i].abPath +
pml->aModules [i].wNameOffset,
pbModule))
{
dIndex = i;
break;
}
}
if (dIndex == -1)
{
pml = SpyMemoryDestroy (pml);
ns = STATUS_NO_SUCH_FILE;
}
}
if (pdIndex != NULL) *pdIndex = dIndex;
if (pns != NULL) *pns = ns;
return pml;
}
// -----------------------------------------------------------------
Lima, 13 de Marzo del 2006
PER ANTIVIRUS® está desarrollando una tecnología propietaria para detectar y eliminar los Rootkit. Recomendamos tener siempre actualizados los Sistemas Operativos, antivirus, etc. y jamás ejecutar
un archivo anexado o enlace (link), de remitentes sospechosos o desconocidos.