sábado, 31 de mayo de 2008

Ejecución remota de código en CiscoWorks

Se ha encontrado una vulnerabilidad en CiscoWorks Common Services que podría permitir que un atacante remoto ejecutara código arbitrario en un sistema vulnerable.

CiscoWorks Common Services representa un conjunto común de servicios de administración compartidos por las aplicaciones CiscoWorks. CiscoWorks es una familia de productos basados en estándares de Internet para la administración de redes y dispositivos. Son muchos los productos CiscoWorks que usan y dependen de Common Services.

CiscoWorks Common Services se ve afectado por una vulnerabilidad que puede permitir a un atacante remoto la ejecución de código arbitrario. La vulnerabilidad afecta a las versiones 3.0.3, 3.0.4, 3.0.5, 3.0.6, 3.1, y 3.1.1 de CiscoWorks Common Services, como pueden ser:
* Cisco Unified Operations Manager (CUOM) versiones 1.1, 2.0, 2.0.1, 2.0.2 y 2.0.3.
* isco Unified Service Monitor (CUSM) versiones 1.1, 2.0 y 2.0.1.
* CiscoWorks QoS Policy Manager (QPM) versiones 4.0, 4.0.1, y 4.0.2
* CiscoWorks LAN Management Solution (LMS) versiones 2.5, 2.5.1, 2.6, 2.6 Update, 3.0 y 3.0 December 2007 Update.
* Cisco Security Manager (CSM) versiones 3.0, 3.0.1, 3.0.2, 3.1, 3.1.1 y 3.2.
* Cisco TelePresence Readiness Assessment Manager (CTRAM) versión 1.0.

Cisco, a través de los canales habituales, ha puesto a disposición de sus clientes soluciones para solventar el problema.

Se aconseja consultar la tabla de versiones vulnerables y contramedidas en:
http://www.cisco.com/en/US/products/products_security_advisory09186a00809a1f14.shtml


Laboratorio Hispasec
laboratorio@hispasec.com


Más información:

Cisco Security Advisory: CiscoWorks Common Services Arbitrary Code Execution Vulnerability
http://www.cisco.com/warp/public/707/cisco-sa-20080528-cw.shtml

viernes, 30 de mayo de 2008

Actualización de seguridad para Apple Mac OS X y Mac OS X Server

Apple ha lanzado recientemente una nueva actualización de seguridad para su sistema operativo Mac OS X que solventa más de 40 vulnerabilidades que podrían ser aprovechadas por un atacante local o remoto para saltarse restricciones de seguridad, acceder a información sensible, escalar privilegios, perpetrar ataques de cross-site scripting, provocar denegaciones de servicio o incluso ejecutar código arbitrario en un sistema vulnerable.

Esta es la tercera gran actualización del año (con el código 2008-003). Los componentes y software afectados (propios y de terceros) son, entre otros muchos: Apache, AppKit, Apple Pixlet Video, ATS, CoreFoundation, CoreGraphics, iCal y Help Viewer.

A continuación se exponen con brevedad algunas de las vulnerabilidades solucionadas:

* Error en AFP Server que podría permitir que un atacante accediera a archivos o carpetas para los que no tendría permiso de acceso.

* Múltiples vulnerabilidades en Apache que podrían permitir ataques de cross-site scripting.

* Ejecución de código arbitrario si se abre un archivo especialmente modificado con un editor que haga uso de AppKit.

* Posible denegación de servicio o ejecución de código arbitrario provocada por una corrupción de memoria al abrir un archivo malicioso haciendo uso de Apple Pixlet Video.

* Ejecución de código arbitrario al imprimir un archivo PDF con fuentes embebidas debido a una corrupción de memoria en Apple Type Services (ATS).

* Revelación de información sensible a través de CFNetwork si se visita una web especialmente manipulada.

* Posible ejecución remota de código o denegación de servicio provocada por un desbordamiento de enteros en CoreFundation al manejar objetos CFData.

* Posible ejecución remota de código o denegación de servicio en CoreGraphics al procesar un archivo PDF especialmente manipulado.

* Ampliación de la lista de tipos de contenidos potencialmente inseguros en CoreTypes.

* Revelación de información sensible a través de CUPS.

* Ejecución remota de código arbitrario a través del plug-in de Flash Player.

* Posible ejecución remota debido a un manejo incorrecto de las URLs del tipo “ayuda:asunto” en Help Viewer.

* Ejecución remota de código o denegación de servicio al abrir un archivo iCalendar malicioso con iCal.

* Revelación de información provocado por un error de conversión en ICU.

* Escalada de privilegios en Image Capture y revelación de información provocada por una vulnerabilidad de directorio trasversal.

* Múltiples vulnerabilidades, una de ellas reportada por Hispasec, en ImageIO: Revelación de información, problemas de seguridad causados por libpng, denegaciones de servicio o ejecución remota de código.

*Múltiples denegaciones de servicio en el kernel de Mac OS X.

*Posible ejecución remota de código, denegación de servicio o revelación de información en Mail.

*Lectura de archivos arbitrarios por parte de un atacante remoto en Ruby.

*Acceso local a información sensible a través de Single Sign-On.

*Acceso remoto a nombres de usuario (revelación de información sensible) en servidores con Wiki Server habilitado.

Las actualizaciones pueden ser instaladas a través de la funcionalidad de actualización (Software Update) de Mac OS X o, según versión y plataforma, descargándolas directamente desde:

Mac OS X Server 10.5.3 Update (489 MB)
http://www.apple.com/support/downloads/macosxserver1053update.html

Mac OS X Server 10.5.3 Combo Update (632 MB)
http://www.apple.com/support/downloads/macosxserver1053comboupdate.html

Mac OS X 10.5.3 Update (420 MB)
http://www.apple.com/support/downloads/macosx1053update.html

Mac OS X 10.5.3 Combo Update (536 MB)
http://www.apple.com/support/downloads/macosx1053comboupdate.html

Security Update 2008-003 (Intel) (111 MB)
http://www.apple.com/support/downloads/securityupdate2008003intel.html

Security Update 2008-003 (PPC) (72 MB)
http://www.apple.com/support/downloads/securityupdate2008003ppc.html

Security Update 2008-003 Server (Universal) (118 MB)
http://www.apple.com/support/downloads/securityupdate2008003serveruniversal.html

Security Update 2008-003 Server (PPC) (89 MB)
http://www.apple.com/support/downloads/securityupdate2008003serverppc.html


Pablo Molina
pmolina@hispasec.com



jueves, 29 de mayo de 2008

Actualización del kernel para Debian Linux 4.x

Debian ha publicado una actualización para el kernel de Debian Linux 4.0
que soluciona varios problemas de seguridad en la rama 2.6 del kernel,
que podrían permitir a un atacante causar una denegación de servicio.

Las vulnerabilidades corregidas son:

* Existe un desbordamiento de enteros en el subsistema hrtimer de las
plataformas de 64 bits. Esto podría ser aprovechado por un atacante
local para hacer que el kernel ejecute un bucle infinito (denegación de
servicio).

* Se ha encontrado un fallo que podría permitir a un atacante causar que
los sistemas ejecutando el kernel para amd64 deje de responder.

* Existe una fuga de memoria en el código de Simple Internet Transition
(SIT) usado en los túneles de IPv6 sobre IPv4 que podría ser aprovechada
para causar una denegación de servicio.

* Se han encontrado problemas en la comprobación del rango de
direcciones virtuales de regiones "mmapeadas" (se usa la función mmap
para mapear un archivo a un conjunto consecutivo de direcciones en el
espacio de direcciones del proceso) en las arquitecturas sparc. Esto
podría ser aprovechado por un atacante local para causar una denegación
de servicio.

Se recomienda actualizar a través de las herramientas automáticas
apt-get.

Para la distribución etch el problema ha sido solucionado en la versión
2.6.18.dfsg.1-18etch5. Las versiones para linux-2.6/s390 y
fai-kernels/powerpc no están disponibles por el momento.


Laboratorio Hispasec
laboratorio@hispasec.com


Más información:

DSA-1588-1 linux-2.6 -- denial of service
http://www.debian.org/security/2008/dsa-1588

miércoles, 28 de mayo de 2008

WOMBAT: Esfuerzos conjuntos ante tiempos difíciles

El wombat es un animal de aspecto bastante peculiar, oriundo de tierras australianas. Conocido por su tranquilidad, utiliza también técnicas defensivas bastante especiales contra los enemigos que le atacan en su madriguera. Jugando con las palabras, un grupo de empresas y universidades europeas - entre las que está Hispasec - han utilizado el nombre de este bicho para dar una idea amplia del proyecto: Worldwide Observatory of Malicious Behaviors and Attack Threats, que básicamente puede traducirse como Observatorio Mundial de Comportamientos Maliciosos y Amenazas de Ataque.

Contando con la financiación de la Unión Europea (bajo el Séptimo Programa Marco), une la potencia de los departamentos de investigación de entidades con enfoques muy distintos, aportando así una perspectiva global, cada vez más necesaria a la hora de afrontar los retos de la seguridad en infraestructuras TI.

Básicamente, WOMBAT pretende recolectar grandes cantidades de información sobre elementos maliciosos que puedan afectar tanto a empresas como a los ciudadanos de a pie. Realizado en tiempo real, no se pretende solamente tener una visión más real de lo que realmente sucede en Internet, sino modelar dichos comportamientos en la medida de lo posible. Todo esto es necesario si queremos tratar la seguridad atacando la raíz de los problemas, en vez de intentar aliviar los efectos cuando ya los tenemos en las puertas de nuestros routers. Al final, lo que se pretende es hacer de Internet un lugar más seguro, aportando a los usuarios de la UE confianza en todos los aspectos de su uso, desde el lúdico hasta el comercial.

En la lista de participantes en este proyecto podemos por ejemplo contar con la participación de la Universidad Técnica de Viena y la gente que desarrolló Anubis. Los que tratéis con malware probablemente conozcáis esta útil herramienta para el estudio del comportamiento de ciertas muestras. También participa la Universidad de Vrije (Ámsterdam), que entre otras cosas aportará su experiencia en diversos tipos de honeypots. La Politécnica de Milán aportará también su conocimiento en estas lides, que incluye aspectos tan interesantes como las tecnologías IDS. Por parte de los CERT, contamos con la inestimable experiencia de NASK (Polonia), y también contamos con la perspectiva de los ISPs gracias a la colaboración del departamento de I+D de France Telecom (Orange). Desde Hispasec colaboraremos con nuestra experiencia en el mundo del malware, y con la perspectiva que nos da mantener en funcionamiento VirusTotal.

Si bien la concepción del proyecto es algo que viene de bastante atrás, no ha sido hasta principios del 2008 cuando el proyecto ha comenzado su andadura. Entre otras actividades, recientemente se ha realizado un workshop con otras entidades que pueden estar interesadas en colaborar en este proyecto, y que incluyen nombres como el SANS ISC, Honeynet Project, Universidad de Kyoto, Universidad Nacional de Yokohama, ENISA o la Universidad de Carolina del Norte.


Julio Canto
jcanto@hispasec.com


Más información:

Vombatidae
http://es.wikipedia.org/wiki/Vombatidae

Worldwide Observatory of Malicious Behaviors and Attack Threats
http://wombat-project.eu

Anubis: Analyzing Unknown Binaries
http://anubis.iseclab.org

Honeypot
http://es.wikipedia.org/wiki/Honeypot

VirusTotal
http://www.virustotal.com

martes, 27 de mayo de 2008

Virus y promiscuidad. Del disquete al USB

A finales de la década de los 80 se empezaron a popularizar los virus del sector de arranque, que tenían la particularidad de que se propagaban a través de disquetes. Si introducías un disquete en un ordenador infectado el virus se copiaba al disquete, y a su vez ese disquete podía infectar cualquier otro ordenador donde fuera utilizado. A día de hoy vivimos una plaga del mismo perro con otro collar, al menos en la parte funcional. Con el disquete en desuso, las memorias USB han tomado el relevo como portadoras de una nueva generación de malware que aprovechan la "promiscuidad" con la que utilizamos el dispositivo.

¿Cuál es el dispositivo que más utilizas en ordenadores de terceros? Para muchos será la memoria USB, esa tan socorrida, que no dudamos en introducirla en cualquier ordenador. Para intercambiar documentos, para enseñar las últimas fotos, para llevarnos trabajo a casa, para que nos hagan una copia de ese programa, para una presentación, para pasarnos unos MP3,...

Tanto entrar y salir entre ordenadores diferentes no ha pasado desapercibido para los creadores de malware, que han visto en este dispositivo el transporte ideal para que sus bichos puedan saltar de un ordenador a otro. En un tiempo en el que, prácticamente, todo ordenador tiene conexión a Internet, y por tanto las distancias físicas son virtualmente inexistentes, esta nueva corriente nos traslada de nuevo a las infecciones de principios de los 90, basadas en la proximidad y la compartición de dispositivos de almacenamiento.

Una de las familias más representativas de esta nueva epidemia es denominada por los antivirus como "AutoRun", con el prefijo de "Win32" y/o "Worm". Como dato concreto, en VirusTotal se han recibido 7.742 variantes diferentes de esta familia (según MD5), sólo en lo que llevamos de mes de mayo.

El diseño de estos especímenes, que deberíamos catalogar como "gusanos" en vez de "virus" puesto que se reproducen con copias de sí mismos pero no pueden infectar a otros ficheros, es realmente simple. Toda la lógica se basa en aprovechar la funcionalidad AutoRun de Windows que automáticamente interpreta y ejecuta el archivo autorun.inf si se lo encuentra en el raíz de un medio removible, como un CD, DVD u otro tipo de memorias, incluyendo USB.

Los creadores de malware están aprovechando esta funcionalidad por defecto de Windows Explorer. Basta con introducir una memoria USB en un sistema para que automáticamente se ejecute el autorunf.inf que, típicamente, han diseñado para que lance a su vez un ejecutable con el código del gusano. El gusano se instala en el sistema e intenta copiar la pareja de ficheros, autorun.inf y ejecutable del gusano, en todas las unidades existentes. Esta forma de expandirse un tanto indiscriminada abarca la infección de discos duros, unidades de red, dispositivos removibles, etc, por lo que este tipo de gusanos se pueden encontrar más allá de en las propias memorias USB.

Las buenas noticias son que hay formas de intentar mitigar este tipo de gusanos configurando Windows para evitar el AutoRun automático, por ejemplo a través de la entrada del registro NoDriveTypeAutoRun. Sin embargo se ha detectado que la configuración de ese valor no es suficiente en Windows Vista para prevenir la ejecución, debido a AutoPlay, otra funcionalidad por defecto.

Otro método más efectivo consiste en "trucar" Windows para que haga caso omiso de los archivos autorun.inf, indicándole que en vez de interpretar los comandos que incluya en su interior utilice unos valores alternativos, en concreto unos valores no existentes. Por lo que Windows no ejecutará nada.

Para ello se debe configurar una entrada en el registro de Windows.
La forma más simple es copiar las siguientes líneas en el bloc
de notas y guardarlas con la extensión .REG, por ejemplo
noautorun.reg.

REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"

A continuación hacer doble click en el fichero noautorun.reg, Windows nos preguntará si estamos seguros de querer agregar esta información al registro, y elegiremos que Sí.

Recordar que con esta modificación también evitaremos la ejecución de los autorun.inf legítimos, por ejemplo esos que hacen que al introducir un CD o DVD automáticamente se ejecute un programa. En esos casos tendremos que hacer doble click en el programa para ejecutarlos. Si bien pensamos que esta "pequeña molestia" compensa si con ello evitamos la infección de nuestros sistemas.


Bernardo Quintero
bernardo@hispasec.com


Más información:

Autorun
http://en.wikipedia.org/wiki/Autorun

Windows Vista fails to properly handle the NoDriveTypeAutoRun registry value
http://www.kb.cert.org/vuls/id/889747

lunes, 26 de mayo de 2008

Escalada de privilegios en Cisco Voice Portal 4.x y 7.x

Se ha encontrado una vulnerabilidad en Cisco Unified Customer Voice Portal (CVP), parte de Cisco Customer Interaction Network solution que podría ser aprovechada por un atacante para escalar privilegios.

Cisco Unified Customer Voice Portal es una solución automática de autoservicio de voz basada en XML que funciona con los productos de atención asistida al cliente de Cisco Unified Contact Center.

Existen tres tipos de roles en CVP: superusuario, administrador y acceso de solo lectura. Debido a una vulnerabilidad no especificada, y localizada en CVP, un atacante con rol de administrador podría crear, modificar o borrar una cuenta de superusuario, que goza de mayores privilegios.

La vulnerabilidad afecta a las versiones del software CVP anteriores a la 4.0(2)_ES14 para 4.0.x, a la 4.1(1)_ES11 para 4.1.x y a la 7.0(1) para 7.x.

Cisco, a través de los canales habituales, ha puesto a disposición de sus clientes soluciones para solventar el problema. Se aconseja consultar la tabla de versiones vulnerables y contramedidas en:
http://www.cisco.com/warp/public/707/cisco-sa-20080521-cvp.shtml


Laboratorio Hispasec
laboratorio @hispasec.com


Más información:

Cisco Security Advisory: Cisco Voice Portal Privilege Escalation Vulnerability
http://www.cisco.com/warp/public/707/cisco-sa-20080521-cvp.shtml

domingo, 25 de mayo de 2008

Salto de restricciones a través de valores TTL en Snort

Se ha descubierto un fallo de seguridad en Snort que podría permitir a un atacante remoto saltar restricciones de seguridad.

Snort es uno de los IDS (Sistema de Detección de Intrusiones) más extendidos. Distribuido de forma gratuita como Open Source, Snort puede detectar muchos de los patrones de ataque conocidos basándose en el análisis de los paquetes de red según unas bases de datos de firmas, además de reglas genéricas. Habitualmente la función de estos detectores es la de alertar sobre actividades sospechosas a través de cualquier mecanismo, aunque en ocasiones puede usarse para lanzar medidas destinadas a mitigar de forma automática el posible problema descubierto por el sensor.

El fallo reside en el reensamblado de paquetes IP fragmentados. Cuando Snort recibe paquetes fragmentados compara sus valores TTL. Snort tiene un valor predefinido para la diferencia de valores TTL entre paquetes, si el valor de la diferencia entre el primero de ellos y el resto es mayor que este valor los descartará y no aplicará ningún filtro o examen sobre ellos. Un atacante remoto podría aprovechar este fallo para saltar restricciones de seguridad modificando los valores TTL de los paquetes IP.

El problema se ha confirmado en Snort 2.8 y 2.6. Snort 2.4 no es vulnerable. Como contramedida en el archivo de configuración snort.conf, se puede establecer el valor ttl_limit a 255 con la siguiente línea:
preprocessor frag3_engine: ttl_limit 255

Además el fallo queda corregido en la versión 2.8.1 disponible en el repositorio:
cvs.snort.org


Laboratorio Hispasec
laboratorio @hispasec.com


Más información:

Multiple Vendor Snort IP Fragment TTL Evasion Vulnerability
http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=701

sábado, 24 de mayo de 2008

Elevación de privilegios a través del kernel en IBM AIX 5.x y 6.x

IBM ha publicado una actualización para AIX 5 y 6 que soluciona un fallo que podría permitir a un atacante local elevar privilegios o provocar una denegación de servicio.

El fallo está provocado por un desbordamiento de memoria intermedia en el kernel del sistema y podría ser aprovechado por un atacante local para ejecutar código arbitrario con privilegios de sistema o provocar que el sistema deje de responder.

Los ficheros afectados son los siguientes:
/usr/lib/boot/unix_64
/usr/lib/boot/unix_mp
/usr/lib/boot/unix_up

IBM ha publicado una solución disponible desde:
http://aix.software.ibm.com/aix/efixes/security/unix_fix.tar
ftp://aix.software.ibm.com/aix/efixes/security/unix_fix.tar


Laboratorio Hispasec
laboratorio @hispasec.com


Más información:

IBM AIX Kernel Buffer Overflow Lets Local Users Gain Elevated Privileges or Deny Service
http://www.securitytracker.com/alerts/2008/May/1020083.html

viernes, 23 de mayo de 2008

Ejecución remota de código en IBM Lotus Domino 6.x, 7.x y 8.x

Se han corregido dos vulnerabilidades en IBM Lotus Domino (versiones 6, 7 y 8) que podrían permitir a un atacante remoto ejecutar código arbitrario.

* Se ha corregido un fallo cuando se procesan cabeceras de peticiones HTTP con el campo 'Accept-Language' excesivamente grande que podrían ocasionar un desbordamiento de la memoria intermedia basada en pila. Un atacante remoto podría ejecutar código arbitrario a través de peticiones HTTP especialmente manipuladas.

* Se ha corregido un fallo en el motor de servlets y contenedor de aplicaciones web al procesar entradas de datos no especificadas que no son correctamente filtradas. Un atacante remoto podría ejecutar código HTML y script arbitrarios en el contexto de la sesión del navegador de un usuario.

Se recomienda actualizar a las versiones 7.0.3 Fix Pack 1 (FP1) o 8.0.1. desde:
http://www.ibm.com/software/lotus/support/upgradecentral/index.html


Laboratorio Hispasec
laboratorio @hispasec.com


Más información:

Lotus Domino Web server 'Accept-Language' stack overflow
http://www-1.ibm.com/support/docview.wss?uid=swg21303057

Potential vulnerability in servlet engine/Web container in Lotus Domino Web servers
http://www-1.ibm.com/support/docview.wss?uid=swg21303296

IBM Lotus Domino “Accept-Language” Stack Overflow
http://www.mwrinfosecurity.com/publications/mwri_ibm-lotus-domino-accept-language-stack-overflow_2008-05-20.pdf

jueves, 22 de mayo de 2008

Mitos y leyendas: Seguridad en ActiveX II (Protección)

Dados los numerosos problemas que puede presentar una tecnología como ActiveX y los riesgos que conlleva, en Microsoft se han implementado numerosas contramedidas para intentar controlarlos en lo posible. Como suele ocurrir, muchas de estas medidas no se conocen, no se entienden, o son consideradas un estorbo para la usabilidad, con lo que la mayoría quedan ignoradas por los usuarios finales.

En la primera parte de este artículo enumerábamos los riesgos de ActiveX, vamos a ver qué tecnologías se han desarrollado para evitarlos.

* Authenticode: Esta es la tecnología que creó Microsoft para que el navegador reconociera la firma de un archivo. Los ficheros pueden estar firmados digitalmente con la clave privada del fabricante o programador (Microsoft los llama "editores" en Windows). De esta forma, gracias a la criptografía asimétrica, podemos saber que el código viene de quien dice venir, y que no ha sido alterado por nadie sin su permiso. Este tipo de avisos los muestra Internet Explorer antes de ejecutar un ActiveX. Nos advierte básicamente de que el ActiveX está firmado por el fabricante de turno, y pregunta qué queremos hacer. Si no confiamos en el editor, podemos comprobar el certificado. Esto, lamentablemente, sólo nos garantiza la procedencia y la integridad del archivo pero en ningún caso nos protege de sus intenciones.

Aunque un ActiveX creado por una empresa cualquiera esté perfectamente firmado, su finalidad puede ser destruir o instalar cualquier cosa. Tampoco lo libera de que tenga vulnerabilidades. Pero Authenticode nos avisará de qué efectivamente, independientemente de sus intenciones o defectos de programación, está firmado por esa empresa. Un administrador bien informado sólo permitirá la ejecución en un sistema de los ActiveX firmados por los "editores de confianza" que es la terminología de Windows para estos casos. Esto también pasa con los applets, que pueden estar firmados. Internet Explorer bloquea por defecto los ActiveX no firmados.

* Safe-for-Scripting: Los creadores (editores) de ActiveX pueden indicar a su ActiveX si es "seguro para scripting". Al contener potencialmente métodos que pueden causar daño, Microsoft da la posibilidad a los propios programadores de marcarlos como potencialmente peligrosos o no. Si están marcados como tal, no podrán ser invocados de forma automática (a través de scripts) por Internet Explorer de forma predeterminada.

Microsoft aconseja que los ActiveX que (a través de sus métodos) accedan a información local, ejecuten programas, obtengan información... etc, no deben ser marcados con esta característica. Pero los creadores de ActiveX ignoran esto deliberadamente. No quieren que sus programas sean bloqueados de ninguna forma, incluso si potencialmente pueden causar algún daño. O quizás están diseñados específicamente para ser usados a través del navegador y esto se lo impediría. Es una medida que confía en la buena voluntad del propio programador y por tanto, aunque con la mejor intención, no resulta muy efectiva en la práctica.

* Zonas de Internet Explorer: Internet Explorer permite clasificar las páginas (los dominios) en distintas zonas. Las zonas son una clasificación lógica que hace el navegador de las distintas páginas que se visitan, de forma que a cada zona se le permiten ciertas licencias sobre el sistema, o ejecución de cierto tipo de código del lado del cliente según la zona donde quede adjudicado cada dominio. Esto permite clasificar de forma eficiente las zonas confiables o peligrosas y ejercer cierto control sobre el sistema según los escenarios a los que nos enfrentemos.

Las zonas son "Internet", "Internet Local", "Sitios de Confianza" y "Sitios Restringidos". Podemos, por ejemplo, prohibir que todo excepto nuestras páginas habituales ejecuten ActiveX, JavaScript y otras muchas opciones. No es una tecnología muy conocida (aunque está ahí desde la versión 4 del navegador), pero bien utilizada, puede proteger de forma muy efectiva el navegador de Microsoft. Internet Explorer es el único navegador que divide en zonas de seguridad, y de una forma bastante eficaz.

Por ejemplo, la zona de "Internet" representa todo el resto de lugares en los que no encajan las otras zonas y en los que, por tanto, no se debe confiar. Todas las direcciones o dominios que se introduzcan en el navegador y que contienen un punto, por defecto, pertenecen a esta zona a no ser que se especifique lo contrario. Cada zona está caracterizada por un "nivel de seguridad" en el que podemos definir muchas opciones. El problema es que este "nivel de seguridad" para la zona "mayoritaria", que es la llamada "Internet" es muy relajado por defecto. Las posibles combinaciones con las zonas de Internet Explorer y sus niveles de seguridad son muy prácticas y potentes. Por alguna razón, no son muy usadas.

* Kill bit: Esta es una de las funcionalidades más efectivas. Fue introducida por Microsoft para evitar la ejecución de los ActiveX desde Internet Explorer de forma definitiva. Como hemos dicho, los editores pueden activar la opción "safe for scripting" aunque realmente el control no sea seguro para ser llamado por el navegador. Incluso, aunque no estuviese marcado (o sea, el ActiveX se considerase inseguro), Internet Explorer preguntaría al usuario sobre si desea ejecutar ese ActiveX que es potencialmente peligroso. Por tanto cabe la posibilidad de que se ejecute. Así que Microsoft introdujo el kill bit, un bit que una vez activo en el registro, impide completamente que el ActiveX sea invocado a través de Internet Explorer, sin deshabilitarlo por completo.

La mayoría de las contramedidas de seguridad cuando se encuentra una vulnerabilidad en un ActiveX recomienda activar el kill bit del control (caracterizado por un CLSID). Así, al menos hasta que se actualice el control, un atacante no podría llamar a los métodos vulnerables a través del navegador, evitando así la ejecución remota de código. Activar el kill bit es una operación muy sencilla que conlleva una modificación del registro.

* JavaScript: Deshabilitar la ejecución de JavaScript puede impedir la ejecución de buena parte de los ActiveX que son llamados por el navegador de esta manera. Esto también se puede conseguir a través de la zonas del navegador, de forma mucho más granular.

* ActiveX Opt-In deshabilita automáticamente la mayoría de los controles ActiveX. Esta característica fue introducida en Internet Explorer 7. El navegador solicita a los usuarios confirmación (a través de la barra de información) antes de acceder a un control ActiveX instalado previamente pero que todavía no se ha utilizado. Entra dentro de la política de "deshabilitar por defecto" que está adoptando Microsoft lentamente desde hace algunos años.

* Internet Explorer 8: Parece que este navegador introducirá importantes cambios con respecto a la seguridad ActiveX. Al parecer cada control instalado se ejecutará en el ámbito del usuario que lo ha instalado (ya no se necesitarán permisos de administrador para hacerlo) con lo que el impacto de un ActiveX vulnerable será menor. También se va a restringir la llamada a métodos de un ActiveX a dominios concretos. De esta forma se evita que cualquier página pueda llamar a un ActiveX vulnerable y explotarlo, con lo que el riesgo también se limita considerablemente. Este último cambio puede resultar especialmente interesante, puesto que los desarrolladores de un ActiveX limitarían su invocación a través del navegador a los dominios bajo los que tiene sentido ejecutar ese ActiveX y que se suponen de confianza.

Una buena combinación de todos estos métodos a nuestro alcance (los que hay y los que están por venir) junto con los hábitos normales de navegación segura, pueden permitir la perfecta convivencia de los ActiveX en un entorno razonablemente seguro.


Sergio de los Santos
ssantos@hispasec.com


Más información:

IE8 Security Part II: ActiveX Improvements
http://blogs.msdn.com/ie/archive/2008/05/07/ie8-security-part-ii-activex-improvements.aspx

15/05/2008 Mitos y leyendas: Seguridad en ActiveX I (Introducción)
http://www.hispasec.com/unaaldia/3491/mitos-leyendas-seguridad-activex-introduccion

miércoles, 21 de mayo de 2008

Ejecución remota de código en Foxit Reader 2.3

Se ha encontrado una vulnerabilidad en Foxit Reader 2.3, al procesar archivos PDF con JavaScript embebido, que podría ser explotada por un atacante remoto para causar una denegación de servicio o ejecutar código arbitrario en un sistema vulnerable.

Foxit Reader es un lector gratuito de archivos con formato PDF (Portable Document Format) que corre bajo distintas versiones de Linux y Windows. Foxit Reader se está haciendo popular como alternativa a Adobe Reader, principalmente por su pequeño tamaño (2.55MB) en comparación con los 22.7MB que ocupa la última versión de Adobe Reader en Español.

La vulnerabilidad está causada por un error de límites en la función JavaScript util.printf(), al procesar el formato de cadenas que contengan un especificador de coma flotante. Esto podría ser aprovechado para causar un desbordamiento de búfer basado en pila por medio de un archivo PDF especialmente manipulado.

Dyon Balding, el investigador acreditado por el descubrimiento de la vulnerabilidad, ha confirmado que un atacante remoto podría aprovechar el fallo de seguridad para inyectar y ejecutar código arbitrario, en el sistema de un usuario víctima que abre con Foxit Reader un archivo PDF especialmente manipulado.

El error afecta a la última versión disponible de Foxit Reader, la 2.3 build 2825 y podría afectar a otras versiones anteriores incluso si no utilizan el plug-in de JavaScript.

La versión build 2825 lleva disponible desde el día 23 del pasado mes de abril y también corregía una vulnerabilidad que podría permitir la ejecución de código, pero en este caso provocada por un fallo al procesar archivos PDF maliciosos que contengan XObject o ExtGState.

Según fuentes consultadas, la vulnerabilidad será solventada en la versión 2.3 build 2912 de Foxit Reader, que estará próximamente disponible para su descarga desde la página web del fabricante:
http://www.foxitsoftware.com/downloads/


Pablo Molina
pmolina@hispasec.com


Más información:

Foxit Reader 'util.printf()' Remote Buffer Overflow Vulnerability
http://www.securityfocus.com/bid/29288

martes, 20 de mayo de 2008

"Hoy goodware, mañana no sé"

Habían transcurrido sólo 6 horas desde que el responsable de seguridad de la multinacional había enviado al laboratorio un ejecutable para su análisis. Lo había encontrado en el portátil de un alto ejecutivo, durante una auditoría rutinaria. Desconocía el origen de aquel binario, no sabía lo que hacía. Cuando menos le resultaba sospechoso, la fecha de instalación coincidía con una salida del ejecutivo al extranjero donde, según los logs del sistema, había estado conectándose a Internet a través de al menos dos hotspots públicos. "¡Maldito WiFi!". Cuando recibió la llamada del laboratorio se apresuró a preguntar "¿malware o goodware?". La respuesta al otro lado del teléfono lo dejó algo desconcertado: "Hoy goodware, mañana no sé".

Y es que cualquiera que acuda a que le realicen un análisis de un binario espera un dictamen claro. O bien se trata de algún tipo de malware (virus, troyano, spyware, adware, etc.) que lleva a cabo acciones no deseadas en el sistema, o bien es goodware y por tanto no debemos temer de que realice ninguna trastada. Al fin y al cabo, un profesional puede realizar un análisis en profundidad del código mediante ingeniería inversa y saber exactamente como funciona y qué es lo que hace. ¿O no?

Tradicionalmente así solía ser. Un virus podía utilizar más o menos capas de ofuscación y cifrado, tener más o menos técnicas anti-debugging, podía ser más o menos complicado su análisis, pero al final, uno podía conocer al detalle como se comportaba. El virus era autónomo, todo su universo estaba autocontenido en su propio código. Eran otros tiempos, cuando los hombres eran hombres y se programaba en ensamblador.

Pero llegó Internet y lo cambió todo. Y no hablamos de la distribución masiva ni de los gusanos por Internet, ni de la explotación de vulnerabilidades mientras navegamos para infectar equipos de forma transparente, ni de la producción masiva de troyanos, ni siquiera del polimorfismo en origen a la hora de distribuir el malware, ni de las posibilidades de actualización y descarga de nuevas variantes, ni las botnets, etc. Las reglas han cambiado, y recién comenzamos a sufrir sus consecuencias.

¿Qué ocurre cuando no existe código malicioso en el binario? ¿Qué ocurre si tras un análisis al detalle de la muestra todo parece indicar que es goodware, o al menos hay ausencia de indicios que apunten a que es malware? Pues ocurre que puede ser goodware, o no. La clave está en que la lógica del malware, la inteligencia, se está trasladando a la parte servidor, allí donde queda fuera del alcance de nuestro análisis. ¿Cómo?.

Imaginemos que un espía profesional es contratado para atacar a un objetivo concreto. En vez de diseñar un malware tradicional, desarrolla una utilidad que, además de realizar su cometido, se conecta a Internet regularmente para comprobar si hay actualizaciones o para llevar a cabo cualquier otra acción común hoy día en el software. Una vez terminada la cuelga de Internet y, además, la envía a los laboratorios antivirus para su análisis. Esa muestra es analizada por los laboratorios y catalogada como goodware en su colección de binarios. Si algún día alguien envía de nuevo esa muestra, en sus registros ya se encuentra analizada y catalogada como goodware. Lógico, bastante tienen analizando todo lo que se produce nuevo como para estar reanalizando muestras.

La utilidad es pública, ha sido analizada por los laboratorios antivirus y se ha catalogado como limpia, de hecho no contiene ningún código malicioso oculto, además se la instalan indiscriminadamente los usuarios y tienen una buena experiencia (hace lo previsible). La utilidad se conecta regularmente a un servidor (del espía) en Internet para comprobar si debe autoactualizarse, descargando algún parche o nueva versión en caso necesario. Todo normal.

Pero hay un código que no sabemos que hace, el del servidor controlado por el espía en Internet. Allí tiene un script que recibe las consultas de la utilidad preguntando si hay alguna actualización, y una lógica que todo el mundo desconoce. El servidor devolverá o no un aviso de que hay una nueva actualización legítima pero, además, comprueba si la IP del sistema que está realizando la consulta pertenece al rango de la empresa objetivo; entonces, sólo entonces y en ese equipo concreto, descargará y ejecutará un código para robar información sensible.

Vale, bonita historia de espías. El problema es que lejos de ser una historia es un enfoque que va en aumento en el malware actual, y es posible que sólo estemos viendo la punta del iceberg.

Por ejemplo, en Hispasec estamos especializados en la detección y análisis de troyanos bancarios. Comienza a ser preocupante la aparición de familias que no son catalogadas como "bankers" por los antivirus, porque realmente no contienen código que pudiera hacer pensar que lo son. En todo caso son catalogadas como spyware, menos peligrosas, ya que su función consiste en enviar las URLs por las que navegamos a un servidor de Internet. La "gracia" está en que ese servidor sólo devuelve un nuevo código malicioso, o comandos interpretables por el propio malware, cuando la URL que envía al servidor coincide con la dirección de la web de una entidad bancaria determinada.

Estamos en un caso similar al del espía profesional, el análisis aislado del código que se instala en el cliente no puede dar pistas sobre la funcionalidad que puede adoptar ese binario. Un evento en concreto, en este caso visitar una URL determinada, es la que hace activar la lógica del servidor web que devuelve un nuevo código o instrucciones desconocidas hasta ese momento. Una lógica que puede o no estar activa en el momento en que se analiza la muestra, o incluso que puede tener más dependencias para activarse de forma que previene la detección de un análisis puntual.

Este traslado de la inteligencia del malware a la parte servidor supone nuevos retos y la necesidad de nuevos enfoques. En un momento en que también parte de la inteligencia de los antivirus se está externalizando en servicios en Internet, vemos que sigue siendo más importante que nunca tener inteligencia local, más allá de las firmas de detección, que pueda identificar actividades sospechosas en nuestros sistemas. Y es que, al fin y al cabo, no hay balas de plata en esto de la seguridad, debemos seguir combinando diferentes capas complementarias de protección e ir evolucionando con los tiempos. Tenemos "diversión" para rato.


Bernardo Quintero
bernardo@hispasec.com



lunes, 19 de mayo de 2008

Denegación de servicio a través de loginw32.dll en Novell Client 4.x

Se ha anunciado la existencia de una vulnerabilidad de denegación de servicio en el cliente Novell 4.x.

El fallo se debe a un error de límites en la librería loginw32.dll a la hora de procesar nombres de usuario y cadenas "context" de eDirectory en la pantalla de presentación. Esto puede ser aprovechado para provocar un desbordamiento de memoria intermedia basado en pila si se introducen cadenas muy largas y luego se pulsa en el enlace de contraseña olvidada.

Esto podría ser usado para provocar una denegación de servicio (pantallazo azul) o potencialmente ejecutar código arbitrario en el contexto del proceso winlogon.exe. El fallo se ha confirmado en la versión 4.91 SP4 que incluyen la versión 4.19.6.0 de la librería aunque otras podrían verse afectadas.


Laboratorio Hispasec
laboratorio@hispasec.com


Más información:

Bugtraq: Novell Client <= 4.91 SP4 Local Stack overflow / B.S.O.D (unauthentificated user)
http://seclists.org/bugtraq/2008/May/0096.html

domingo, 18 de mayo de 2008

Denegación de servicio en Cisco Content Switching Module

Se ha encontrado una vulnerabilidad en Cisco Content Switching Module (CSM) y en Cisco Content Switching Module con SSL (CSM-S) que podría ser aprovechada por un atacante remoto para causar una denegación de servicio provocada por una fuga de memoria.

La vulnerabilidad está causada por una fuga de memoria que se podría producir en ciertas versiones del software para Cisco CSM y Cisco CSM-S cuando están configurados para realizar un balanceo de la carga en la capa 7. La denegación de servicio podría tener lugar al procesar segmentos TCP con una combinación específica de flags TCP, que provocarían un fallo al decidir el balanceo porque los servidores detrás de CSM estén sobrecargados y/o fallen al aceptar conexiones TCP.

La vulnerabilidad afecta a los siguientes dispositivos Cisco:
Cisco CSM software versión 4.2(3), 4.2(3a), 4.2(4), 4.2(5), 4.2(6), 4.2(7), y 4.2(8).
Cisco CSM-S software versión 2.1(2), 2.1(3), 2.1(4), 2.1(5), 2.1(6), y 2.1(7).

Cisco, a través de los canales habituales, ha puesto a disposición de sus clientes soluciones para solventar el problema.

Se aconseja consultar la tabla de versiones vulnerables y contramedidas en:
http://www.cisco.com/warp/public/707/cisco-sa-20080514-csm.shtml


Laboratorio Hispasec
laboratorio@hispasec.com


Más información:

Cisco Security Advisory: Cisco Content Switching Module Memory Leak Vulnerability
http://www.cisco.com/warp/public/707/cisco-sa-20080514-csm.shtml

sábado, 17 de mayo de 2008

Ejecución remota de código a través imágenes JPEG y GIF en Windows CE

Se han encontrado múltiples vulnerabilidades en Microsoft Windows CE 5.0 que podrían ser aprovechadas por un atacante local o remoto para causar una denegación de servicio y ejecutar código arbitrario, y hasta comprometer por completo un sistema vulnerable.

Windows CE (o Windows CE Embedded) es un sistema operativo modular y de tiempo real diseñado por Microsoft para dispositivos móviles de 32 bits. Tiene soporte para múltiples arquitecturas de CPU e incluye opciones para comunicaciones y redes.

Existen múltiples plataformas basadas en el core de Windows CE 5.0, como puede ser Windows Mobile, cuya versión actual es la 6.1 y que se viene integrando en diversos modelos de agendas electrónicas (PDAs) y
teléfonos inteligentes (smartphones).

Una de las mayores diferencias entre Windows CE y el resto de sistemas operativos de Microsoft, es que gran parte de su código fuente está disponible de forma pública bajo licencia Shared Source, la cual permite al usuario final modificar el código sin notificar al propietario. Windows CE tiene sus propias APIs para desarrollo, y necesita sus propios drivers para el hardware con el cual va a interactuar. Ahí es donde interviene Platform Builder, la herramienta usada para la programación del propio entorno del SO, de los drivers y también de las aplicaciones, y en la que se tiene disponible buena parte del código fuente de Windows CE.

Las vulnerabilidades detectadas están causadas por errores no especificados en la interfaz de dispositivo gráfico de Windows CE (GDI+) al procesar imágenes JPEG y GIF mal formadas. Esto podría ser aprovechado por un atacante remoto para tomar el control sobre un sistema vulnerable si un usuario abre una imagen especialmente manipulada, que podría estar contenida en una página web.

No es la primera vez que se encuentran vulnerabilidades de este tipo en sistemas operativos del fabricante de Redmond. Microsoft ha dedicado varios boletines a solventar problemas en su motor de representación de gráficos (GDI), dos ordinarios: MS08-021 publicado en Abril de 2008, y MS07-046 en Agosto de 2007. Además de otro de carácter extraordinario MS07-017 publicado a principios de Abril del año pasado fuera del ciclo normal de actualizaciones.

Desde Microsoft se recomienda a fabricantes y desarrolladores aplicar la actualización Windows CE 5.0 Platform Builder Monthly Update (February 2008) lo antes posible, y después recompilar el sistema operativo para obtener una nueva versión no vulnerable al fallo de seguridad.

Los usuarios finales que dispongan de dispositivos basados en Windows CE 5.0, deberán esperar a que los fabricantes lancen una actualización para el sistema operativo o el firmware del dispositivo afectado, y actualizarlo lo antes posible una que vez la versión parcheada esté disponible desde su página web.


Pablo Molina
pmolina@hispasec.com


Más información:

FIX: Several vulnerabilities in JPEG processing (GDI+) and in GIF imaging components could allow for remote code execution in Windows CE 5.0
http://support.microsoft.com/?scid=kb%3Ben-us%3B948812&x=7&y=15

viernes, 16 de mayo de 2008

Preguntas frecuentes sobre el problema critptográfico de Debian

El problema encontrado en OpenSSL de Debian puede ser considerado, lamentablemente, un verdadero acontecimiento criptográfico. La criptografía es una ciencia compleja, y con el ánimo de aclarar las graves y extensas consecuencias del fallo, hemos redactado una serie de preguntas frecuentas para intentar, aun tratándose de un tema tan complejo, arrojar algo de luz.

¿Qué ha pasado exactamente?

Alguien (por error) del equipo de Debian eliminó una línea de código en el paquete OpenSSL de Debian que ayudaba a generar la entropía al calcular el par de claves pública y privada. Las claves sólo se calculaban tomando como semilla el PID del proceso. Al estar limitado a 32.768 semillas (tantos como PIDs de proceso son posibles) para la generación de números seudoaleatorios, el número de claves posibles es pequeño. Se han estado generando las mismas claves dentro de este número limitado de posibilidades desde septiembre de 2006. Como son pocas y de entropía pobre, se puede deducir la clave privada a partir de la pública porque el espacio de primos es muy pequeño y está precalculado. Ya se han generado listas disponibles para todos con la clave pública (del espacio a que han quedado limitado después del fallo) y su correspondiente privada. Para los usuarios de este OpenSSL de Debian sin entropía suficiente, se han roto las reglas de la criptografía asimétrica en la que por ahora confiamos todos y que sustentan las bases de la (poca) seguridad y confianza que pueda existir en Internet.

¿Es tan grave como parece?

Es más grave. Mucho más grave. Podríamos considerar que la criptografía de Debian en los últimos dos años ha sido una pantomima. Y es grave además porque no se resuelve por completo parcheando. Esa no es la solución definitiva. Hay que regenerar claves, revocar las antiguas, certificarlas en el caso de SSL, comprobar dónde fueron a parar claves generadas con Debian... No es un bug en un programa que eventualmente quedará obsoleto porque todo el mundo estará parcheado. Habrá administradores que no comprueben la debilidad sus claves, servidores SSL que jamás certifiquen de nuevo sus claves, claves perdidas de usuarios que dejen la puerta abierta a servidores SSH... También es grave porque arrastra a decenas de programas y sistemas que se valen de claves generadas con OpenSSL. SSL, SSH, OpenVPN, DNSSEC... Alguien lo ha calificado de "apocalipsis criptográfico". Además los principales perjudicados son los servidores que precisamente hayan buscado más seguridad con la criptografía de clave pública, porque contenían información crítica.

El SANS Internet Storm Center ha elevado el nivel de alerta general a 'amarillo'. No ocurre a menudo.

¿Cómo ha podido ocurrir?

Ha sido todo un desafortunado error. Aunque surgirán las teorías conspiratorias porque el código abierto ha estado ahí durante dos años, no ha sido hasta que Luciano Bello se ha dado cuenta que se ha corregido el fallo y se ha dado la voz de alarma. Pero el daño ya está hecho. Dos años de claves débiles generándose en cientos de miles de sistemas. Ha pasado desapercibido porque en general cualquier programa es complejo, pero la criptografía lo es aún más. Además, Bruce Schneier dijo algo así como 'Good security looks the same as bad security' ('La buena seguridad se ve igual que la mala', frase aplicable aún más a la criptografía).

Kurt Roeckx fue quien planteó en un principio borrar líneas que consideraba problemáticas. Existe un correo de 2006 en una lista pública, en el que Roeckx plantea en una lista de OpenSSL qué pasaría si las eliminara. Pregunta si resultaría en una posible pérdida de aleatoriedad. La respuesta no oficial desde OpenSSL es que "no mucho" y que es partidario de borrarlas si ayuda en la depuración. Y era cierto, esas líneas no suponían problema: el problema es que en Debian se borraron más líneas de la cuenta, de las habladas en la conversación y para colmo los cambios no se enviaron a OpenSSL para que fueran revisados.

¿Se soluciona parcheando?

No. No se trata de un fallo de seguridad al uso. Ha existido una fuente de claves inseguras que se han esparcido durante dos años. Hay que comprobar y regenerar claves. El fallo fue anunciado a la vez que el parche, pero hay que tener en cuenta, que las primeras versiones de los parches para Debian y Ubuntu contenían regresiones. Han publicado nuevas actualizaciones para los propios parches que es necesario aplicar también.

¿Qué pasa si tengo un servidor web con acceso por HTTPS?

Si las claves han sido generadas con la versión de OpenSSL con el problema, las consecuencias son que alguien se puede hacer pasar por el servidor porque tendrá la privada de forma instantánea a partir de la pública. Además, cualquiera que haya tenido acceso a una conversación cifrada con el servidor, podría también descifrarla. Esto es así porque la clave simétrica que se utiliza para el cifrado ha sido intercambiada con la ayuda de claves asimétricas débiles. Un administrador debe además revocar la clave, generar una nueva, enviarla a la Autoridad Certificadora (que cobra por certificar) e instalarla. La catástrofe hubiese sito total, si una Autoridad Certficadora, hubiese generado claves y firmado certificados con estas claves débiles, pues el problema se extendería hacia abajo a todos sus clientes, en cuyos certificados ya no se podría confiar. Al parecer han comprobado que las principales Autoridades no se ven afectadas.

¿Qué pasa con SSH?

Los administradores que controlan sus sistemas a través de SSH se suelen autenticar a través de su clave privada y el servidor de SSH almacena la pública correspondiente. Esto es más seguro que usar una sola contraseña simétrica para autenticarse. El servidor cifra una cadena con la clave pública del que pretende autenticarse y se la envía, si puede descifrarla le deja pasar. En este caso puede que la clave pública sea realmente pública o no. En el primer caso, deducir la privada es instantáneo, y en el segundo caso, si no se conoce la pública, se debe hacer un ataque de fuerza bruta sobre un espacio de claves muy pequeño, algo que tarda unos 20 minutos con un ordenador de hoy día. Se ha creado un exploit para esto.

Todos los administradores que permitan a sus usuarios utilizar la clave privada para acceder a sus sistemas a través de SSH, deben auditar las claves para saber si son de las "débiles". Los administradores de SSH también se encuentran ante una tarea concienzuda, peligrosa, (y que deben emprender ya) incluso si no utilizan Debian, porque puede que sus claves hayan sido generadas en una distribución Debian y exportadas.

Los administradores de SSH comprobarán, con total seguridad, como los intentos de acceso ilegítimo se multiplican en estos días.

¿A Windows le pasó lo mismo?

No. Se demostró que el generador de números aleatorios de Windows era débil, pero la diferencia es que según el estudio, había que conocer el estado previo del generador para saber el siguiente cálculo. Esto podría permitir descifrar conversaciones SSL entre dos sistemas. Pero para poder llegar a tener acceso a esa información inicial de la que se deducirían el resto de "estados del algoritmo", un atacante necesitaría poder tener acceso como administrador en el sistema. Digamos que para poder aprovechar el problema del algoritmo y poder descifrar la información, necesitaría tener el total control de la máquina para llegar a conocer un estado, con lo que el sistema ya estaría comprometido en sí.

Conclusiones

Lo peor no está ocurriendo ahora. Lo verdaderamente grave ha podido ocurrir antes (en los últimos dos años si alguien ha conocido este error y lo hubiese mantenido en secreto) y después (lo que nos espera a medida que se vaya descubriendo que sistemas importantes ha generado claves débiles).


Sergio de los Santos
ssantos@hispasec.com


Más información:

The Debian OpenSSL disaster
http://blog.drinsama.de/erich/en/linux/2008051401-debian-openssl-desaster.html

Random number generator, uninitialised data and valgrind
http://marc.info/?l=openssl-dev&m=114651085826293&w=2

The Bug
http://metasploit.com/users/hdm/tools/debian-openssl/
http://wiki.debian.org/SSLkeys

Debian and Ubuntu users: fix your keys/certificates NOW
http://isc.sans.org/diary.html?storyid=4420

una-al-dia (14/05/2008) Graves problemas en el algoritmo que genera los números aleatorios en Debian
http://www.hispasec.com/unaaldia/3490

jueves, 15 de mayo de 2008

Mitos y leyendas: Seguridad en ActiveX I (Introducción)

ActiveX es una tecnología propia de Microsoft que con el tiempo ha sido clasificada prácticamente de maldita en cuestión de seguridad. Los numerosos problemas tanto en la tecnología en sí como en los programas que la han usado, han hecho que se gane esta fama a pulso. ¿Cuáles son los riesgos y problemas de seguridad que presenta ActiveX realmente? ¿En realidad es tan peligrosa? Como siempre, no hay respuestas absolutas y todas estas cuestiones son bastante discutibles.

¿Qué es?

De forma resumida, ActiveX es una tecnología de Microsoft. Es una librería (básicamente un ejecutable) con funciones, como otro cualquiera, con la peculiaridad de que implementa una interfaz llamada IDispatch que permite al "objeto" interactuar de una forma concreta (más abstracta) con el programa que lo aloja (llamado contenedor). Por tanto no son programas "independientes" y suelen crearse con cualquier lenguaje que admita el modelo COM. "Físicamente" tienen forma de librería DLL o OCX. Internet Explorer o Office son programas contenedores que admiten esta tecnología. Un componente ActiveX es pues, código ejecutable (desarrollado por y para Microsoft) encapsulado en un objeto desarrollado mediante esos estándares. De esta forma al tener este código encapsulado, se facilita su portabilidad y reutilización. Así, es posible usar un objeto ActiveX (llamar a sus funciones) insertándolo en cualquier aplicación que lo soporte, independientemente del lenguaje con el que haya sido creado el control ActiveX. Un ejemplo común es usarlos para interactuar con Internet Explorer y el sistema, llamándolos a través de JavaScript. Un típico ejemplo de llamada a un objeto ActiveX a través de una página es:

classid="CLSID:012345567-12345-1234-A1234-F1234567789A">


Donde existe una relación única entre el código CLSID y el archivo OCX o DLL. Los análisis antivirus a través de web (sin necesidad de instalar el producto) suelen hacerse a través de un ActiveX registrado, las barras complementarias de Internet Explorer (Yahoo!, Google...) son ActiveX registrados, el programa de instalación de Windows Update y otros muchos que pasan desapercibidos para el usuario son todos ActiveX registrados.

Pero también existen de serie muchos ActiveX instalados en Windows para el propio uso del sistema operativo, que no están pensados en ningún momento para tener nada que ver con la web o redes sino que aprovechan más su portabilidad y capacidad de ser reutilizados. Por último, muchos programas no basados en web que necesitan interactuar con otros contenedores registran sus propios controles ActiveX.

¿Es igual que los applets de Java?

ActiveX, de hecho, fue en parte la respuesta de Microsoft a los applets de Java, pero con importantes diferencias en las formas aunque con una filosofía parecida. Tanto los applets de Java como los ActiveX son en una buena parte programas descargados y ejecutados en local. Los creadores de la JRE ((Java Runtime Enviroment, el entorno donde se ejecutan los applets) supieron que esto supondría un riesgo desde el principio y por eso los applets se ejecutan "encerrados" en una sandbox virtual que impide que el código tenga acceso a otras partes del sistema (excepto si aprovechan vulnerabilidades del JRE para escaparse de la sandbox).

¿Por qué pueden resultar peligrosos?

Si nos centramos en la seguridad, el problema se puede presentar por
varias vías:

* Un ActiveX, al contrario que un applet encerrado en la sandbox, tiene vía libre para acceder al sistema con los permisos del usuario que lo ejecute. Tiene el mismo efecto que ejecutar un programa cualquiera.

* En el modelo actual, un ActiveX instalado (registrado) por un usuario administrador está disponible para el resto. Está expuesto para todos y si contiene un problema de seguridad, afectaría a todos los usuarios.

* Muchos de los ActiveX, en el fondo, no son más que programas que se descargan e instalan desde Internet Explorer. Por tanto, por un lado, heredan los riesgos lógicos de la descarga y ejecución indiscriminada de cualquier otro programa. Pueden ser usados para distribuir malware en forma de ActiveX aunque no es el caso mayoritario.

* Pero la razón más importante por la que un control ActiveX puede resultar peligroso es por la misma que cualquier otro programa. No es más que una pieza de código programada por un ser humano y por tanto tendente a errores. El problema básico es que un fallo de seguridad en un componente ActiveX "se paga más caro" en ellos que en otras aplicaciones.

* Se paga más caro porque, aunque esté alojado en el sistema, ese OCX o DLL es a veces accesible a través de Internet Explorer. El navegador, como contenedor habitual, puede en ocasiones llamar a sus funciones y si estas tienen un fallo, explotarlo. A efectos prácticos, si tenemos un ActiveX (una DLL, por ejemplo) en el sistema para que funcione un programa cualquiera que nada tiene que ver con la web, una página que visitemos podría llamar (invocar) a esa DLL y explotar el fallo. Básicamente, una puerta abierta a ejecutables del disco duro desde Internet. De ahí su mayor peligro. La mezcla entre el diseño excesivamente tolerante (responsabilidad de Microsoft) y programas vulnerables mal diseñados (responsabilidad de los programadores del ActiveX) han hecho que la tecnología sea considerada insegura.

Pero obviamente Microsoft ha impuesto buenos e importantes mecanismos para mitigar estos riesgos. La firma de código, la programación de los propios ActiveX donde se les dice qué pueden hacer, los kill bits, la configuración del propio navegador... muchos métodos han servido para hacer que los ActiveX no sean tan poderosos como su propio concepto les permite, aunque a veces las medidas no han sido suficientes. Hablaremos de todo esto en el siguiente artículo.


Sergio de los Santos
ssantos@hispasec.com



miércoles, 14 de mayo de 2008

Graves problemas en el algoritmo que genera los números aleatorios en Debian

La criptografía en Debian ha sufrido un grave revés. Se ha descubierto que el generador de números aleatorios del paquete OpenSSL de Debian es predecible. Esto hace que las claves generadas con él ya no sean realmente fiables o verdaderamente seguras. El problema tiene (y tendrá por muchos años) una importante repercusión y numerosos efectos colaterales en otros paquetes y distribuciones.

Debian ha publicado una actualización para OpenSSL que solventa múltiples vulnerabilidades, siendo la más grave un fallo en el generador de números aleatorios que los volvía predecibles, o sea, "poco aleatorios". Luciano Bello, desarrollador de Debian, daba la voz de alarma. Sólo afecta al OpenSSL de Debian porque esta distribución parchea su propia versión de OpenSSL, a su manera. En este caso, ha eliminado una línea crucial de código que limita el generador a producir sólo 2^18 claves (solamente 262.144), en vez de poder elegir claves de, por ejemplo 2^1.024 posibilidades.

Los sistemas de cifrado basados en criptografía asimétrica necesitan del cálculo de números aleatorios para generar claves de sesión, públicas y privadas... se basan en la aleatoriedad en general para un buen funcionamiento. De hecho, su seguridad radica en la aleatoriedad real de esos cálculos: cuanta más entropía, más complicado de predecir y más "calidad" del cifrado. Igual para la generación de claves.

El fallo fue introducido en la versión OpenSSL 0.9.8c-1 de septiembre de 2006. Al intentar solucionar un código aparentemente incorrecto con la herramienta Valgrind, se eliminó por error una línea crucial para el sustento entrópico de OpenSSL que nada tenía que ver. Se eliminaron más líneas de código de la cuenta. Valgrind es un programa que detecta y alerta sobre el uso de memoria no inicializada (lo que sería un fallo en cualquier otra aplicación) pero en OpenSSL es legítimo porque se utiliza para ganar entropía. Un claro ejemplo de lo peligroso de intentar solucionar un fallo sin entender completamente el problema, y de introducir cambios no supervisados en este caso, por los desarrolladores oficiales de OpenSSL.

A efectos prácticos, se podría deducir la clave privada a partir de la pública de los usuarios, con lo que la criptografía asimétrica, usada en SSL y SSH por ejemplo, deja de ser fiable para la autenticación y para la confidencialidad. Cualquier clave pública o firma, generada por esa versión de OpenSSL en Debian en los últimos dos años... pasa a ser sospechosa y vulnerable.

Incluso Debian, como medida preventiva, ha deshabilitado el acceso SSH a sus sistemas centrales. El problema para los administradores de un servidor público con SSL no es pequeño. Los administradores, para empezar, deben tener conocimiento de este desastre. Después, regenerar la clave para que tenga la fortaleza que debe. Y por último, volver a certificarlas, con el coste económico que conlleva según el certificador.

Aunque el problema es específico de Debian, puede arrastrar a las numerosas distribuciones basadas en ella. Pero además, puede salpicar a cualquier distribución donde se hayan importado claves débiles. Las claves afectadas son las usadas en SSH, OpenVPN, DNSSEC, claves utilizadas en certificados X.509 y para conexiones SSL/TLS. Las claves generadas con GnuPG o GNUTLS no se ven afectadas porque no usan OpenSSL.

Un problema similar se reportó en Windows. En noviembre de 2007, un equipo de investigadores israelíes publicaron un análisis criptográfico sobre el algoritmo usado por Microsoft Windows 2000 y XP para generar números aleatorios, el PRNG (Pseudo-Random Number Generator). Descubrieron que contenía serios problemas en su implementación. Las conclusiones del estudio revelaban (entre otros fallos) que es posible, y relativamente sencillo, predecir los resultados previos y futuros del algoritmo a partir del conocimiento de un estado interno del generador, así como las claves de sesión usadas y las que se usarán en un futuro para cifrar información. Vista no sufría el problema, y Microsoft dijo que lo arreglaría en el Service Pack 3 para XP. Según parece no ha sido así y aunque han mejorado algunas funciones criptográficas con él, no han resuelto este problema en concreto.

Debian y Ubuntu han publicado ya actualizaciones para todos los paquetes afectados. El proceso de comprobación de claves y de generación e implantación de nuevos certificados puede ser complejo. Se recomienda a todos los administradores que acudan a los enlaces del apartado de "más información" para actualizar sus sistemas y claves.


Sergio de los Santos
ssantos@hispasec.com


Más información:

24/11/2007 Desvelados serios problemas en el algoritmo que genera los números pseudoaleatorios en Windows 2000 y XP
http://www.hispasec.com/unaaldia/3318

[SECURITY] [DSA 1571-1] New openssl packages fix predictable random number generatorç
http://lists.debian.org/debian-security-announce/2008/msg00152.html

Debian infrastructure ssh key logins disabled, passwords reset
http://lwn.net/Articles/281902/

Windows XP Service Pack 3 Overview
http://www.microsoft.com/downloads/details.aspx?FamilyID=68c48dad-bc34-40be-8d85-6bb4f56f5110&displaylang=en

Vendors Are Bad For Security
http://www.links.org/?p=327

martes, 13 de mayo de 2008

Boletines de seguridad de Microsoft en mayo

Tal y como adelantamos, este martes Microsoft ha publicado cuatro boletines de seguridad (MS08-026 al MS08-029) dentro de su ciclo habitual de actualizaciones. Según la propia clasificación de Microsoft tres de los boletines presentan un nivel de gravedad "crítico", mientras que el último restante reciben una calificación "moderado".

Microsoft califica como críticas las siguientes actualizaciones:

* MS08-026: Actualización para Microsoft Word que soluciona dos vulnerabilidades que podrían permitir la ejecución de código si un usuario abre un archivo Word especialmente creado.

* MS08-027: Se trata de la actualización para Microsoft Publisher que soluciona una vulnerabilidad que podría ser aprovechada por un atacante para ejecutar código arbitrario si un usuario abre un archivo Publisher específicamente manipulado.

* MS08-028: Actualización para solucionar una vulnerabilidad de
ejecución remota de código a través de Microsoft Jet Database Engige.
causada por la forma en la que los motores. Afecta a Windows 2000, Windows Server 2003 y Windows XP.

Por último, el clasificado como moderado:

* MS08-029: Actualización de seguridad para evitar dos vulnerabilidades en Microsoft Malware Engine que podrían permitir a un atacante remoto causar una denegación de servicio si se escanea un archivo maliciosamente creado.

Las actualizaciones publicadas pueden descargarse a través de Windows Update o consultando los boletines de Microsoft donde se incluyen las direcciones de descarga directa de cada parche. Dada la gravedad de las vulnerabilidades se recomienda la actualización de los sistemas con la mayor brevedad posible.


Antonio Ropero
antonior@hispasec.com


Más información:

Microsoft Security Bulletin Summary for May 2008
http://www.microsoft.com/technet/security/bulletin/ms08-may.mspx

Microsoft Security Bulletin MS08-026 – Critical
Vulnerabilities in Microsoft Word Could Allow Remote Code Execution
http://www.microsoft.com/technet/security/bulletin/ms08-026.mspx

Microsoft Security Bulletin MS08-027 – Critical
Vulnerability in Microsoft Publisher Could Allow Remote Code Execution
http://www.microsoft.com/technet/security/bulletin/ms08-027.mspx

Microsoft Security Bulletin MS08-028 – Critical
Vulnerability in Microsoft Jet Database Engine Could Allow Remote Code Execution
http://www.microsoft.com/technet/security/bulletin/ms08-028.mspx

Microsoft Security Bulletin MS08-029 – Moderate
Vulnerabilities in Microsoft Malware Protection Engine Could Allow Denial of Service
http://www.microsoft.com/technet/security/bulletin/ms08-029.mspx

lunes, 12 de mayo de 2008

Actualización por vulnerabilidades en Adobe Reader 7.x y 8.x

Adobe ha publicado una actualización para Reader que corrige múltiples vulnerabilidades y la amplía a las versiones 7.x de Acrobat.

* Se han corregido varios errores en la validación de datos de entrada en funciones Javascript que podrían permitir a un atacante remoto ejecutar código arbitrario.

* Se ha corregido un error en la validación de datos de entrada de la aplicación que podría permitir a un atacante remoto ejecutar código arbitrario.

* Se ha corregido un problema de desbordamiento de enteros en una función Javascript que podría permitir a un atacante remoto ejecutar código arbitrario.

* Se ha corregido un error de diseño en los archivos PDF. Esto podría permitir a un atacante remoto imprimir un documento repetidamente a través de un archivo especialmente manipulado.

* Se ha corregido un fallo que permitía a un atacante local ejecutar código arbitrario sobrescribiendo un archivo.

Se consideran vulnerables las versiones inferiores a 8.1.1 y 7.1.0 ambas inclusive. Se recomienda actualizar a la última versión disponible según versión y plataforma en:

Acrobat 8 y Adobe Reader
Para Windows:
http://www.adobe.com/support/downloads/detail.jsp?ftpID=3849
Para Macintosh:
http://www.adobe.com/support/downloads/detail.jsp?ftpID=3856

Acrobat 3D
Para Windows:
http://www.adobe.com/support/downloads/detail.jsp?ftpID=3850

Acrobat versión 7
Para Windows:
http://www.adobe.com/support/downloads/product.jsp?product=1&platform=Windows
Para Macintosh:
http://www.adobe.com/support/downloads/product.jsp?product=1&platform=Macintosh


Laboratorio Hispasec
laboratorio@hispasec.com


Más información:

Security Updates available for Adobe Reader and Acrobat 7 and 8
http://www.adobe.com/support/security/bulletins/apsb08-13.html

domingo, 11 de mayo de 2008

Análisis de la vulnerabilidad en el tratamiento de imágenes en múltiples navegadores

Hispasec publica un documento técnico que analiza la vulnerabilidad en tratamiento de imágenes en múltiples navegadores. El problema se basa en un manejo incorrecto de ficheros en formato BMP con paleta de colores parcial. El código vulnerable permite que, al manejar un fichero BMP especialmente manipulado, se filtre información al heap, y estos datos pueden ser enviados a un servidor remoto con ayuda de la etiqueta canvas de HTML y JavaScript. Esta vulnerabilidad ha sido descubierta por Hispasec.

El pasado mes de febrero publicamos algunos detalles sobre este fallo, prometiendo una prueba de concepto y un análisis más profundo de la vulnerabilidad. Hemos analizado en un documento técnico (white paper) las causas de la vulnerabilidad.

El pasado día 8 de febrero se publicaba la nueva actualización del popular navegador Firefox. La versión 2.0.0.12 corregía (entre otras) una vulnerabilidad descubierta por Hispasec. En ese momento no se dieron detalles sobre el fallo, por petición expresa de algunos desarrolladores de otros navegadores afectados.

El problema afectaba a FireFox 2.0.0.11, Opera 9.50 y otros navegadores. El fallo permite revelar información sensible del usuario por parte de un atacante que crease una página web especialmente manipulada. También, bajo ciertas circunstancias, podría permitir provocar una denegación de servicio. En realidad, el problema afecta a otros navegadores también, pero el impacto es distinto. Al no soportar completamente el uso de etiquetas canvas, el envío de datos no puede ser llevado a cabo. Sin embargo, el manejo de ficheros BMP sigue siendo erróneo en ellos. Internet Explorer no es vulnerable en ningún sentido. Safari por ejemplo, tiene problemas similares además con el formato GIF. El problema en concreto se da en el campo biClrUsed de las cabeceras de un fichero BMP. Los navegadores reservan la cantidad justa de memoria en ese campo, o no lo ponen todo a cero a la hora de usarlo.

Los enlaces directos a la descarga de los documentos (en castellano e inglés) son:

http://www.hispasec.com/laboratorio/vulnerabilidad_firefox.pdf
http://www.hispasec.com/laboratorio/vulnerabilidad_firefox_en.pdf

Se puede visualizar un vídeo en el que se muestra el efecto del exploit en:
http://blog.hispasec.com/lab/files/ff_2_0_0_11.avi


Sergio de los Santos
ssantos@hispasec.com


Más información:

Firefox 2.0.0.11 and Opera 9.50 beta Remote Memory Information Leak
http://blog.hispasec.com/lab/236

HTML 5 canvas
http://www.whatwg.org/specs/web-apps/current-work/#the-canvas

Apple Safari BMP and GIF Files remote DoS and Information Disclosure
Vulnerability
http://www.securityfocus.com/bid/27947/info

sábado, 10 de mayo de 2008

Denegación de servicio a través de TCP en un Solaris 8, 9 y 10

Se ha encontrado una vulnerabilidad en la implementación TCP de Sun Solaris 8, 9 y 10 que podría permitir que un usuario remoto sin privilegios provoque una denegación de servicio.

La vulnerabilidad podría hacer que un sistema que reciba un excesivo número de peticiones "TCP SYN" tardara demasiado en aceptar nuevas conexiones de red, llegando a timeout sin establecer una conexión. Esto podría causar una denegación de servicio en los servicios de red o incluso en el sistema al completo.

Según versión y plataforma, se recomienda instalar los siguientes
parches:

Para plataforma SPARC:
* Solaris 8 instalar 116965-33 o superior.
* Solaris 9 instalar 114344-35 o superior.
* Solaris 10 instalar 119998-01 o superior.

Para plataforma x86:
* Solaris 8 instalar 116966-32 o superior.
* Solaris 9 instalar 119435-23 o superior.
* Solaris 10 instalar 119999-01 o superior.


Laboratorio Hispasec
laboratorio@hispasec.com


Más información:

Security Vulnerability in the TCP Implementation of Solaris Systems May Allow a Denial of Service When Accepting New Connections While Undergoing a TCP "SYN Flood" Attack
http://sunsolve.sun.com/search/document.do?assetkey=1-66-200864-1

viernes, 9 de mayo de 2008

Microsoft publicará cuatro boletines de seguridad el próximo martes

En su ciclo habitual de actualizaciones los segundos martes de cada mes, Microsoft ha anunciado que en mayo se esperan cuatro boletines de seguridad, dos dedicados a Office, uno a Windows y otro a los sistemas antivirus de Microsoft (Live OneCare, Antigen, Windows Defender y Forefront Security). Tres son de carácter crítico, o sea, que permiten la ejecución de código arbitrario y una moderada.

Si en abril fueron ocho boletines de seguridad los que salieron a la luz, este mes Microsoft prevé publicar cuatro actualizaciones el día trece de mayo. Tres alcanzan la categoría de "críticas" (ejecución remota de código) y una son "moderadas" para Microsoft.

Adicionalmente, y como viene siendo habitual, Microsoft publicará una actualización para Microsoft Windows Malicious Software Removal Tool. Además, se publicarán actualizaciones de alta prioridad no relacionadas con la seguridad.

En concreto, se sabe que dos boletines estarán dedicados a Office (desde su versión 2000 a 2007), otro a Windows (exceptuando Vista y 2008, que este mes no necesitan actualizaciones) y una denegación de servicio a los sistemas antivirus de Microsoft. Cada boletín podrá contener un número indeterminado de correcciones de seguridad.

Por fin se publicará la actualización para el Jet Database Engine de Microsoft, que procesa archivos MDB de bases de datos. Esta librería (en concreto msjet40.dll) sufre desde hace varios años problemas de seguridad que permiten la ejecución de código. Al descubrirse hace algunas semanas, nuevas formas de aprovechar la vulnerabilidad (a través de archivos DOC) Microsoft se planteó por fin tomar medidas al respecto. Aunque se supo de este problema antes del ciclo de actualización anterior, Microsoft no publicó las actualizaciones en él. Parece que en este lote de mayo sí se solucionará.

Cabe recordar que, en cualquier caso, el adelanto que ofrece Microsoft está sujeto a cambios de última hora.

Hispasec Sistemas publicará puntualmente a través de este boletín información detallada sobre los nuevos parches.


Sergio de los Santos
ssantos@hispasec.com


Más información:

Microsoft Security Bulletin Advance Notification for May 2008
http://www.microsoft.com/technet/security/bulletin/ms08-may.mspx

jueves, 8 de mayo de 2008

Un plugin de Firefox infectado con adware es distribuido desde el sitio oficial

El plugin del idioma vietnamita para Firefox 2, ha sido distribuido desde el sitio oficial (y desde febrero) infectado con adware. Window Snyder, responsable de seguridad de Mozilla, ha dicho "todo el que haya descargado una copia del paquete de idioma vietnamita desde el 18 de febrero, está infectado".

Xorer, el malware en cuestión, había incrustado su carga en el paquete oficial de idioma vietnamita en febrero. Los responsables de Mozilla tuvieron noticia del problema el martes pasado. Al parecer, la red local del autor del plugin estaba infectada, y los archivos fueron subidos al servidor oficial contaminados con los efectos de Xorer (estos efectos son válidos bajo cualquier sistema operativo, no limitado a los usuarios de Windows), y no con el malware en sí (que se dedica a distribuir los scripts y es sólo para Windows). Al menos, esto impide en un principio que los usuarios que hayan descargado el plugin puedan distribuir el adware inmediatamente (a no ser que este cargue un nuevo módulo).

¿Cómo se infecta un plugin de Firefox? Xorer añadió JavaScript a los ficheros de ayuda HTML del plugin. Esto ha permitido al malware descargar y mostrar contenido web desde diversos servidores (publicidad no deseada, normalmente), mientras el usuario navega. Xorer había infectado (se supone que inconscientemente) la red interna del autor del plugin, y buscaba archivos HTML almacenados en las unidades a su alcance para añadirles estos scripts. Encontró la ayuda del plugin, la modificó y el paquete se distribuyó así. En el momento de ponerlo a disposición de todos, ningún sistema antivirus detectaba este HTML con los scripts añadidos. Han pasado meses hasta que el escáner o método antivirus concreto que use Mozilla ha podido dar con el problema.

Window Snyder ha declarado que "Mozilla analiza los archivos cuando son subidos al servidor. En este caso, el antivirus no cazó el malware hasta meses después de haberse subido". En cualquier caso, promete que analizarán más a menudo sus archivos para evitar que esto vuelva a ocurrir. Además, han vuelto a escanear todos los plugins disponibles de nuevo, sin detectar otros infectados.

Aunque no se conoce el número exacto de descargas del plugin infectado, se sabe que ha sido descargado más de 16.000 veces desde noviembre de 2007.

Confiar exclusivamente en la detección en un momento concreto, y no analizar los archivos con (mucha) mayor asiduidad, ha supuesto el mayor error por parte de la Fundación Mozilla. Hoy en día las firmas pueden tardar meses, como ha sido el caso, en ser añadidas y poder detectar (de forma estática) un archivo infectado. No sabemos qué métodos usa Mozilla para analizar sus archivos, pero un solo antivirus tampoco es la solución. De hecho, si hubiesen utilizado otros, el problema posiblemente se hubiese detectado mucho antes. Quizás otra lección importante es que no hay que relajarse por pensar que solo los archivos ejecutables o binarios son susceptibles de estar infectados o de ser específicamente malware. Los scripts maliciosos creados con JavaScript son muy habituales hoy en día, y se ejecutan en cualquier navegador, pues ya hemos advertido de que la industria vírica ha tomado la web en todos los sentidos. Tanto para la su distribución, como para su difusión.

Snyder ha añadido "estas cosas pasan". Y es cierto. Tanto la distribución oficial de archivos (o incluso hardware) contaminado, hasta la troyanización de programas de código abierto han ocurrido en numerosas ocasiones en el pasado. A finales de 2006 Apple distribuyó Video iPods con un ejecutable (RavMonE.exe) infectado, a finales de 2007 Best Buy vendía marcos digitales con malware. En 2006 HP distribuyó por error controladores infectados por el virus FunLove... Sendmail, Wordpress, OpenSSH... han sido troyanizados en alguna ocasión y ofrecidos desde el servidor oficial de descarga. También Microsoft distribuyó en 2002 de forma involuntaria el virus Nimda en Corea del Sur con su Visual Studio .Net.


Sergio de los Santos
ssantos@hispasec.com


Más información:

Mozilla: Firefox Plugin Shipped With Malicious Code
http://www.pcworld.com/businesscenter/article/145617/mozilla_firefox_plugin_shipped_with_malicious_code.html

05/06/2006 HP distribuye por error controladores infectados por el virus
FunLove
http://www.hispasec.com/unaaldia/2781

Compromised file in Vietnamese Language Pack for Firefox 2
http://blog.mozilla.com/security/2008/05/07/compromised-file-in-vietnamese-language-pack-for-firefox-2/

05/03/2007 WordPress: de nuevo un servidor de descarga oficial comprometido
http://www.hispasec.com/unaaldia/3054

Microsoft distribuye un virus 'por accidente' http://www.elmundo.es/navegante/2002/06/17/seguridad/1024304375.html

miércoles, 7 de mayo de 2008

Service Pack 3 para Windows XP y otras 'macroactualizaciones'

Microsoft acaba de lanzar el Service Pack 3 para el sistema operativo de la compañía más popular. Tras un pequeño retraso por cierta incompatibilidad con su Dynamics RMS, ya está disponible para descarga directa. Si el Service Pack 2 supuso unos cambios radicales para XP y lo modificó notablemente, con SP3 se introducen pocas mejoras sustanciales y, como de costumbre, se incluyen todos los parches de seguridad aparecidos hasta el momento. Repasemos un poco la historia de estas macroactualizaciones.

Después de esperar a que estuviese disponible el 29 de abril, como se anunció, es ahora cuando se ha hecho público el SP3 para Windows XP. Se detectó una incompatibilidad con el producto Dynamics RMS y Microsoft retrasó su lanzamiento. Finalmente la compañía ha decidido bloquear automáticamente por Windows Update la actualización si el sistema tiene el RMS instalado, y proporcionar un parche (hotfix) para quien deba usarlo.

Repasemos un poco la historia de estas macroactualizaciones. Windows NT tuvo hasta seis Service Packs (el último en 1999). Windows 2000 lleva 4 y no se espera ninguno más. De hecho, en junio de 2005 apareció el Windows 2000 SP4 Update Rollup. Un 'Rollup', para Microsoft, es una simple y pura acumulación de parches (en este caso más de 50) que aparecieron como 'complemento' del SP4, en sustitución quizás de un hipotético SP5 que no se sabe muy bien por qué, se resiste.

El SP1 para XP apareció en agosto de 2002 y pasó sin pena ni gloria. Se corrigieron las inestabilidades habituales tras el lanzamiento de un sistema nuevo y se aglutinaron los parches de seguridad conocidos hasta el momento.

El Service Pack 2 para Windows XP apareció en el verano de 2004, antes de lo previsto y supuso un punto de inflexión en el sistema operativo de Microsoft. Quizás sea una de las actualizaciones más controvertidas. Con ella Microsoft se ocupó especialmente por la seguridad proactiva (se desarrolló de lleno dentro de su iniciativa de seguridad puesta en marcha en 2002) y activó por defecto importantes mejoras como el cortafuegos. El Service Pack 2 no solo contenía un parche para todas las vulnerabilidades conocidas hasta ese momento para Windows XP, sino que además actualizaba sustancialmente el sistema modificando muchas de sus funciones. Se mejoraba la seguridad por defecto del navegador Internet Explorer (aunque esto no ha servido de mucho), se desactivó la capacidad del sistema de generar paquetes TCP especialmente manipulados a bajo nivel (algo especialmente controvertido, pues no permitía el uso de herramientas como nmap...) y otros cambios importantes que al intentar aumentar la seguridad, inevitablemente, volvía al sistema más 'incómodo'.

SP2 no se consideró como una actualización 'para' el sistema operativo, sino más bien como una actualización 'de' sistema operativo. Por supuesto, cómo no, este cambio vino acompañado de fuertes críticas y se dudó de su efectividad e incluso la utilidad del Service Pack cuando grandes empresas recomendaron no instalarlo, hasta pasado un tiempo, porque muchos programas dejaron de funcionar correctamente. Curiosamente hoy Windows XP con SP2 es considerado 'suficientemente bueno' e incluso el 'sistema definitivo' para la mayoría, sobre todo con respecto a Vista. La historia se repite. Es un ciclo que se cumple con cada cambio en Microsoft.

Service Pack 3 para XP ha sido muy esperado. No tanto porque se pretendan mejoras para el sistema operativo (que apenas se introducen) sino por obtener en un solo paquete todas las actualizaciones aparecidas hasta el momento. Han sido 4 años acumulando parches cada mes, lo que supone que una instalación nueva de XP con el SP2 integrado, tenía que descargar e instalar ya casi 100 parches para estar al día. Desde ahora, se podrá obtener sólo este SP3 y se estará actualizado hasta el momento.

Cabe destacar también, que se ha malinterpretado el anuncio de la muerte de XP a finales de junio de 2008. En esa fecha se dejará de vender, pero a efectos prácticos, esto no afecta a la mayoría de los usuarios. Los fabricantes podrán preinstalarlo en los sistemas nuevos hasta el año que viene (e incluso reutilizar licencias de Vista). Pero sobre todo, uno de los aspectos más importantes a la hora de seguir manteniendo un sistema operativo es que siga disfrutando de soporte al menos en cuestión de seguridad. Windows XP lo tendrá, al menos hasta 2014. Hasta esa fecha se publicarán los parches de seguridad los segundos martes de cada mes, y esto no tiene nada que ver con cuándo se dejará de vender. Windows 2000 hace tiempo que no se vende, y los parches siguen apareciendo puntuales cada mes, a pesar de haber nacido dos años antes que XP. De hecho, no se espera que el soporte de Windows 2000 se abandone completamente hasta el 2010.


Sergio de los Santos
ssantos@hispasec.com


Más información:

Paquete de instalación red de Windows XP Service Pack 3 para
profesionales de TI y desarrolladores
http://www.microsoft.com/downloads/details.aspx?FamilyID=5b33b5a8-5e76-401f-be08-1e1555d4f3d4&displaylang=en

martes, 6 de mayo de 2008

Salto de restricciones a través de SSH en Sun Solaris 9 y 10

Se ha encontrado una vulnerabilidad en SSH incluido en Sun Solaris 9 y 10 que podría permitir que un usuario local sin privilegios consiguiera acceso sin autorización a la sesión X11 de otro usuario. Esto podría permitir la ejecución de código con los privilegios de dicho usuario o la revelación de información sensible relacionada con la sesión del usuario.

El problema está causado porque SSH permitiría que un usuario local secuestrase las conexiones X reenviadas forzando el valor :10 en DISPLAY de ssh, incluso cuando otro proceso está escuchando en el puerto asociado.

Según versión y plataforma, las actualizaciones Interim Security Relief (ISR) están disponibles desde:
http://sunsolve.sun.com/tpatches

Para SPARC Plataforma:
* Solaris 9 instalar IDR137882-03 o superior.
* Solaris 10 instalar IDR137880-04 o superior.

Para x86 Plataforma:
* Solaris 9 instalar IDR137883-03 o superior.
* Solaris 10 instalar IDR137881-04 o superior.


Laboratorio Hispasec
laboratorio@hispasec.com


Más información:

Security Vulnerability in Solaris SSH May Allow Unauthorized Access to X11 Sessions
http://sunsolve.sun.com/search/document.do?assetkey=1-66-237444-1

CVE-2008-1483
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1483

lunes, 5 de mayo de 2008

Nuevos contenidos en la Red Temática CriptoRed (abril de 2008)

Breve resumen de las novedades producidas durante el mes de abril de 2008 en CriptoRed, la Red Temática Iberoamericana de Criptografía y Seguridad de la Información.

1. NUEVOS DOCUMENTOS PARA DESCARGA LIBRE DESDE CRIPTORED Y CÁTEDRA UPM APPLUS+

* Implementación de una herramienta SIM (Security Information Management) en la red de la Universidad Técnica Particular de Loja (María Paula Espinoza Vélez, artículo pdf, 10 páginas, Ecuador)
http://www.criptored.upm.es/guiateoria/gt_m538a.htm

* Proceso de implementación de una Infraestructura de Clave Pública PKI (María Paula Espinoza Vélez, artículo pdf, 11 páginas, Ecuador)
http://www.criptored.upm.es/guiateoria/gt_m538b.htm

* Seguridad para la red inalámbrica de un campus universitario (María Paula Espinoza Vélez, artículo pdf, 12 páginas, Ecuador)
http://www.criptored.upm.es/guiateoria/gt_m538c.htm

* Introducción a la criptografía cuántica: alternativas y retos actuales (Fernando Acero Martín, presentación pdf, 31 diapositivas, España)
http://www.lpsi.eui.upm.es/GANLESI/2007_2008/gconferencia_fa.htm

* Hackers y Crackers vs Certificaciones (Roberto Gómez Cárdenas, presentación pdf, 49 diapositivas, México)
http://www.criptored.upm.es/guiateoria/gt_m626k.htm

* Amenazas y defensas de seguridad en las redes de próxima generación (Walter Baluja García, artículo pdf, 10 páginas, Cuba)
http://www.criptored.upm.es/guiateoria/gt_m189f.htm

* Un modelo simplificado para la atención de incidentes de seguridad informática: PTIARA (Jeimy Cano Martínez, artículo pdf, 7 páginas, Colombia)
http://www.criptored.upm.es/guiateoria/gt_m142d1.htm

2. NUEVOS DOCUMENTOS RECOMENDADOS PARA SU DESCARGA LIBRE DESDE OTROS SERVIDORES

* Informe de la Red de Sensores de INTECO del Mes de Marzo de 2008 (España)
http://alerta-antivirus.es/documentos/rescata/Informe_mensual_200803.pdf

* Cuarta edición del Libro Electrónico Criptografía y Seguridad en Computadores de Manuel Lucena López (España)
http://wwwdi.ujaen.es/~mlucena/wiki/pmwiki.php?n=Main.LCripto

* 10 Presentaciones del VI Foro de Seguridad de RedIRIS para Libre Descarga (España)
http://www.rediris.es/cert/doc/reuniones/fs2008/archivo.es.html

* Documentos de la primera Sesión Abierta de la Agencia Española de Protección de Datos (España)
https://www.agpd.es/index.php?idSeccion=673

3. CONGRESOS Y SEMINARIOS POR ORDEN CRONOLOGICO DE CELEBRACION

* Mayo 8 al 9 de 2008: II Congreso Internacional de Seguridad de la Información CISI 2008 (Cartagena de Indias - Colombia)
http://www.tecnoeventos.com.co/info.php?id=15

* Mayo 13 al 16 de 2008: Workshop in Information Security Theory and Practices WISTP 2008 (Sevilla - España)
http://wistp2008.xlim.fr/

* Mayo 26 al 30 de 2008: Tercer Evento de Seguridad en Redes de América Latina y el Caribe LACNIC (Salvador/Bahía - Brasil)
http://lacnic.net/sp/eventos/lacnicxi/seguridad_en_redes.html

* Junio 12 al 13 de 2008: 6th International Workshop on Security In Information Systems WOSIS 2008 (Barcelona - España)
http://www.iceis.org/workshops/wosis/wosis2008-cfp.html

* Junio 18 al 20 de 2008: VIII Jornada Nacional de Seguridad Informática ACIS 2008 (Bogotá - Colombia)
http://www.acis.org.co/index.php?id=1066

* Junio 19 al 21 de 2008: III Conferencia Ibérica de Sistemas y Tecnologías de la Información CISTI 2008 (Ourense - España)
http://cisti2008.uvigo.es/

* Junio 23 al 25 de 2008: The 5th International Conference on Autonomic and Trusted Computing (Oslo - Noruega)
http://www.ux.uis.no/atc08/

* Junio 25 al 27 de 2008: Sexto Congreso Collaborative Electronic Communications and eCommerce Technology and Research CollECTeR Iberoamérica 2008 (Madrid - España)
http://www.collecter.euitt.upm.es/

* Julio 9 al 11 de 2008: XIV Jornadas de Enseñanza Universitaria de la Informática (Granada - España)
http://jenui2008.ugr.es/

* Septiembre 2 al 5 de 2008: X Reunión Española de Criptología y Seguridad de la Información RECSI 2008 (Salamanca - España)
http://www.usal.es/~xrecsi/

* Septiembre 10 al 12 de 2008: EATIS 2008 Euro American Conference on Telematics and Information Systems (Aracajú - Brasil)
http://eatis.org/eatis2008/

* Septiembre 15 al 19 de 2008: 2nd International Castle Meeting on Coding Theory and Applications (Medina del Campo - Valladolid - España)
http://wmatem.eis.uva.es/2icmcta/

* Septiembre 22 al 24 de 2008: XXIII Simposio Nacional de la Unión Científica Internacional de Radio (Madrid - España)
http://gass.ucm.es/URSI2008/

* Octubre 6 al 8 de 2008: 13th European Symposium on Research in Computer Security ESORICS 2008 (Málaga - España)
http://www.isac.uma.es/esorics08/

* Octubre 6 al 10 de 2008: XV Congreso CCBol 2008 (Sucre - Bolivia)
http://www.usfx.edu.bo/WebCCbol2008/

* Octubre 18 al 19 de 2008: NSS 2008 IFIP International Workshop on Network and System Security (Shanghai- China)
http://nss.cqu.edu.au/

* Octubre 22 al 25 de 2008: Second Workshop on Mathematical Cryptology en UNICAN (Santander - España)
http://grupos.unican.es/amac/wmc-2008/index.html

CONGRESOS ANUNCIADOS EN LA IACR:
International Association for Cryptologic Research IACR Calendar of Events in Cryptology:
http://www.iacr.org/events/

4. CURSOS DE POSTGRADO, ESPECIALIDAD Y FORMACIÓN

Puedes encontrar los enlaces en:
http://www.criptored.upm.es/paginas/eventos.htm#Cursos

5. NOTICIAS SELECCIONADAS DEL MES DE ABRIL DE 2008
Para ampliar las noticias:
http://www.criptored.upm.es/paginas/historico2008.htm#abr08

* Primera Sesión Anual Abierta de la Agencia Española de Protección de
Datos (España)
https://www.agpd.es/index.php?idSeccion=673

* EIG Security Summit 2008 Bogotá: Cibercrimen y Ciberterrorismo (Colombia)
http://www.esteganos.com/programa.html

* Beca Doctoral en el Campo Sistemas de Detección de Intrusos (Noruega)
Contacto Prof. Slobodan Petronic: slobodanp@hig.no

* Trabajos Recibidos y Charlas Programadas en la VIII Jornada de ACIS (Colombia)
http://www.acis.org.co/index.php?id=1066

* CFP para NSS 2008 IFIP International Workshop on Network and System Security (China)
http://nss.cqu.edu.au/

* Recibidos 83 Trabajos para la X Reunión Española RECSI 2008 y Ponentes Invitados (España)
http://www.usal.es/~xrecsi/conferenciantes.htm

* Jornadas sobre Criptología para la Defensa y la Seguridad en el CSIC (España)
http://www.fundacioncirculo.es/docagenda/criptologia.pdf

* 56 Trabajos Aceptados de Autores de 21 Países en el Congreso Collecter 2008 (España)
http://www.collecter.euitt.upm.es/joomla/index.php?option=com_content&view=article&id=58:papers-accepted&catid=36:novedades&Itemid=84

* Call For Participation Second Workshop on Mathematical Cryptology en UNICAN (España)
http://grupos.unican.es/amac/wmc-2008/index.html

* XV Congreso CCBol 2008 en Sucre Dedicado Exclusivamente a la Seguridad (Bolivia)
http://www.usfx.edu.bo/WebCCbol2008/

* Ampliado al 11 de Mayo Plazo del CFP a XXIII Simposio URSI 2008 en la UCM (España)
http://gass.ucm.es/URSI2008/simposium/fechas.html

6. OTROS DATOS DE INTERES EN LA RED

* Número actual de miembros en la red: 700
(192 universidades; 262 empresas)
http://www.criptored.upm.es/paginas/particulares.htm

* Estadísticas: 45.937 visitas, con 118.210 páginas solicitadas y 55.52
GigaBytes servidos en abril de 2008.
Las estadísticas del mes (AWStats) se muestran en páginas estáticas
actualizadas cada día a las 00:05 horas.
http://www.criptored.upm.es/estadisticas/awstats.www.criptored.upm.es.html.


Jorge Ramió Aguirre
Coordinador Red Temática Iberoamericana CriptoRed


Más información:

abril de 2008
http://www.criptored.upm.es/paginas/historico2008.htm#abr08