next up previous contents
Siguiente: El subsistema de red Subir: Extensiones de la seguridad Anterior: JASS   Índice General

sfpDB

La base de datos sfpDB (Solaris Fingerprint Database) es un servicio gratuito de Sun Microsystems que permite a los usuarios verificar la integridad de los archivos distribuidos con Solaris, tanto con la base del operativo como con productos concretos de Sun o parches; esto permite por una parte verificar que lo que acabamos de instalar en una máquina es realmente una distribución de Solaris oficial de Sun, y por otra detectar si un pirata ha logrado modificar alguno de los ficheros del sistema (como /bin/login), típicamente para situar troyanos o puertas traseras en una máquina atacada: se trata de un sistema de detección de intrusos basado en host, como veremos a la hora de hablar de IDSes.

Para lograr su objetivo, desde http://sunsolve.sun.com/ se puede comparar la función resumen MD5 de determinados archivos que tenemos en nuestra máquina con el resumen almacenado por Sun Microsystems. Para ello en primer lugar hemos de generar el resumen de los ficheros que deseemos verificar, mediante la orden md5 (instalada como parte del paquete SUNWkeymg o de forma independiente):
anita:/# pkgchk -l -p /usr/sbin/md5
Pathname: /usr/sbin/md5
Type: regular file
Expected mode: 0755
Expected owner: root
Expected group: sys
Expected file size (bytes): 24384
Expected sum(1) of contents: 12899
Expected last modification: Nov 11 20:19:48 1999
Referenced by the following packages:
        SUNWkeymg      
Current status: installed

anita:/# md5 /bin/su
MD5 (/bin/su) = 79982b7b2c7576113fa5dfe316fdbeae
anita:/#
Una vez hecho esto, introduciremos este resumen en un formulario web, y se nos proporcionará información sobre el mismo; si no hay problemas, el resultado será similar al siguiente:
Results of Last Search

79982b7b2c7576113fa5dfe316fdbeae - (/bin/su) - 1 match(es) 
           canonical-path: /usr/bin/su 
           package: SUNWcsu 
           version: 11.8.0,REV=2000.01.08.18.17 
           architecture: i386 
           source: Solaris 8/Intel
Mientras que si el resumen que hemos obtenido no se corresponde con el de ningún fichero de las diferentes versiones de Solaris u otro software de Sun, se nos dará el error Not found in this database. Este error de entrada implica que en nuestra máquina tenemos algo cuanto menos `extraño', ya que es extremadamente raro que un archivo del sistema como /bin/su, /bin/ps o /bin/ls sea modificado en un sistema. Si fuera este el caso, y como administradores desconocemos a qué puede ser debida esa modificación, con una alta probabilidad nos han instalado un rootkit, un conjunto de herramientas utilizadas por los piratas principalmente para ocultar su presencia y garantizarse el acceso en una máquina donde han conseguido privilegios de root; un rootkit instala versiones troyanizadas de casi todos los programas que pueden ayudar en la detección del pirata, como `ls' o `netstat', lo que provoca que si no ponemos un mínimo de interés sea muy difícil detectar la intrusión.

Existen además ciertas extensiones a la sfpDB cuyo objetivo es facilitar el uso de la base de datos [DNO01]; una de ellas es sfpC (Solaris Fingerprint Database Companion), que automatiza el proceso de generar y verificar los resúmenes MD5 de un número considerable de archivos mediante un script en PERL (recordemos que un simple interfaz web que invoca a un CGI no es apropiado para todas las aplicaciones, por lo que Sun Microsystems está estudiando la posibilidad de publicar de otra forma el contenido completo de la base de datos). Para conseguirlo, sfpC acepta como entrada un fichero que contiene una lista de resúmenes, dividiéndola en diferentes partes para enviarlas por separado a la sfpDB, y generando resultados globales en función de cada uno de los resultados individuales obtenidos.

Otra de estas herramientas es sfpS (Solaris Fingerprint Database Sidekick), un sencillo shellscript que funciona en conjunción con la propia sfpDB y con sfpC y cuyo objetivo es simplificar la detección de troyanos; para ello, almacena una lista de ejecutables comúnmente troyanizados por cualquier rootkit, y es el contenido de dicha lista el que se compara contra la base de datos mediante el script en PERL de sfpC.

Evidentemente esta base de datos de Sun Microsystems y sus utilidades asociadas (que podemos descargar libremente desde las páginas web de esta compañía), como cualquier otro producto a la hora de hablar de seguridad, no es la panacea, sino sólo una herramienta más que nos puede ayudar a detectar intrusiones en una máquina. También tiene puntos débiles, ya que por ejemplo un atacante que sea capaz de modificar ciertas utilidades del sistema podrá hacer lo mismo con el ejecutable `md5', de forma que simule generar resultados similares a los originales cuando verificamos la integridad de utilidades troyanizadas; contra esto, una solución efectiva puede ser utilizar un `md5' estático y guardado en una unidad de sólo lectura, y por supuesto generado a partir de fuentes confiables. Sin ser una herramienta excluyente, mediantes consultas automatizadas a la base de datos proporcionada por Sun Microsystems tenemos la posibilidad de descubrir intrusiones graves en nuestros sistemas en un tiempo mínimo, y de forma sencilla.

next up previous contents
Siguiente: El subsistema de red Subir: Extensiones de la seguridad Anterior: JASS   Índice General
2003-08-08