Siguiente: El subsistema de red
Subir: Extensiones de la seguridad
Anterior: JASS
Índice General
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.
Siguiente: El subsistema de red
Subir: Extensiones de la seguridad
Anterior: JASS
Índice General
2003-08-08