Archive for 28 agosto 2010

Diversas vulnerabilidades críticas en RealPlayer

28/08/2010

Se han identificado siete vulnerabilidades de ejecución remota de código en el reproductor multimedia RealPlayer, que podrían ser aprovechadas por un atacante remoto para ejecutar código arbitrario en un sistema vulnerable.

RealPlayer es un reproductor multimedia disponible para distintas plataformas y que acepta archivos de audio y vídeo en un gran número de formatos.

Los problemas están relacionados con el tratamiento de archivos IVR con cabeceras modificadas, desbordamientos de entero en la función "ParseKnownType()" al tratar tipos de datos "HX_FLV_META_AMF_TYPE_MIXEDARRAY" y "HX_FLV_META_AMF_TYPE_ARRAY", un error en "RealPlayerActiveX", un desbordamiento de entero y otro desbordamiento de búfer en el tratamiento de archivos QCP específicamente construidos, un error en la transformación de contenido YUV420 y por último un error en el plugin ActiveX para Internet Explorer al abrir muchas ventanas del navegador.

Se ven afectados por estos problemas las versiones RealPlayer 11.1 (y anteriores) y RealPlayer SP 1.1.4 (y anteriores). Se recomienda actualizar a RealPlayer SP 1.1.5.

=-=-=-=-=
Powered by Blogilo

Algunos comandos para GNU/Linux

27/08/2010

Hace ya un tiempo me encontré en internet una lista de comandos interesantes para la consola de GNU/Linux, los comandos son muy básicos y nos ayudan a obtener algunos datos sobre el sistema operativo, el hardware y demás. Hace ratito haciendo una limpia de documentos en mi laptop la redescubrí, y en vez de borrarla decidí publicarla para quienes utilizan alguna versión le Linux, estoy seguro que a más de uno le pude servir:

Para saber la versión del kernel:

$ uname –r

Para saber la versión de X:

$ X -version 2>&1 | sed ‘/^$/d’ | head -n1

Para saber si hay aceleración por hardware en la placa de video:

$ glxinfo | grep “direct rendering”

Para saber qué procesador tiene la pc:

$cat /proc/cpuinfo | grep “model name”

Para saber cuál es la frecuencia del procesador:

$ cat /proc/cpuinfo | grep “cpu MHz”

Para saber qué porcentaje del disco o discos esta en uso/libre:

$ df -h

Para saber cuál es la temperatura del CPU:

$ cat /proc/acpi/thermal_zone/THRM/temperature

Para saber cuál es el nombre de la maquina

$ hostname

Para saber cuál es la MAC de la placa de red:

$ /sbin/ifconfig | awk ‘/HWaddr/ {print $5}’

Para saber cuánta memoria tiene disponible la PC:

$ free -m | sed -n ‘2,2p’ | awk ‘{print $2 ” MB”}’

Para saber cuánta memoria está usando la PC:

$ free -m | sed -n ‘3,3p’ | awk ‘{print $3 ” MB”}’

Para saber cuanta memoria está libre:

$ free -m | sed -n ‘3,3p’ | awk ‘{print $4 ” MB”}’

Para saber desde cuando está prendida la PC:

$ uptime | cut -d, -f1 | cut -d” ” -f3-

Para saber qué proceso está consumiendo más CPU

$ ps -eo pcpu,pid,user,args | sort -k1 -r -n | head -2

Para saber qué dispositivos hay en los bus PCI:

$ /sbin/lspci

Para saber qué dispositivos hay en los bus USB:

$ /sbin/lsusb

Para saber cuál es tu nombre de usuario:

$ whoami

Para saber a qué grupos del sistema perteneces:

$ groups

Para saber cuánto espacio de disco usa mi cuenta:

du -sh $HOME

Para saber que versión del compilador de C tiene instalado:

$ gcc –version | head -n1

Para saber qué librerías utiliza x programa (por ejemplo, mplayer):

$ ldd /usr/bin/mplayer

Para saber qué hora y día es:

$ date

Para saber el calendario del mes:

$ cal

Para saber el calendario del año:

$ cal 2008

=-=-=-=-=
Powered by Blogilo

Vulnerabilidades locales en el kernel Linux

27/08/2010

Se han detectado recientemente dos vulnerabilidades en el kernel Linux, en su rama 2.6.x que podrían permitir a atacantes locales provocar una denegación de servicio u obtener acceso a información en memoria.

El primero de los fallos se da a la hora de limpiar la memoria en la función ‘drm_ioctl’ del fichero ‘drivers/gpu/drm/drm_drv.c’ del controlador DRM (Direct Rendering Manager). Un atacante local podría aprovechar esto para obtener acceso a direcciones de memoria basadas en pila anteriormente liberadas, mediante el envío de llamadas al sistema especialmente manipuladas y con acceso al servidor X.

El segundo problema es un desbordamiento de enteros en la familia de sockets ‘AF_CAN’, en concreto en los protocolos (Controller Area Network) y BCM (Broadcast Manager). Esto podría ser aprovechado por un atacante local para elevar privilegios a través del envío de paquetes CAN especialmente manipulados.

Se recomienda aplicar las contramedidas especificadas en el apartado de más información.

Más Información:

can: add limit for nframes and clean up signed/unsigned variables

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=5b75c4973ce779520b9d1e392483207d6f842cde

drm: stop information leak of old kernel stack.

http://git.kernel.org/?p=linux/kernel/git/airlied/drm-2.6.git;a=commitdiff;h=b9f0aee83335db1f3915f4e42a5e21b351740afd

http://git.kernel.org/?p=linux/kernel/git/airlied/drm-2.6.git;a=commitdiff&h=1b2f1489633888d4a06028315dc19d65768a1c05

=-=-=-=-=
Powered by Blogilo

10 razones por la qué sus hijos deberían utilizar GNU/Linux

26/08/2010

Proporcionar soporte técnico para sus hijos puede ser incluso más difícil, que su trabajo de día. Jack Wallen, explica por qué piensa que GNU/ Linux, es más adecuado para aquellos usuarios jóvenes.

1: Virus/malware

Esta razón, está siempre en la parte superior de mi lista. Todos nosotros, sabemos que los niños son propensos a la apertura, y a realizar las cosas que no deberían. Motivado, a que no se puede chequear a sus hijos el 100 por ciento del tiempo, no se puede saber donde están obteniendo las aplicaciones o archivos adjuntos. Puede asegurarse, que esas máquinas tienen antivirus y anti software espía, pero ¿por qué incluso toman la oportunidad?, cuando sus hijos están utilizando el sistema operativo GNU/Linux, esta preocupación desaparece.

2: Seguridad

Esto puede resumirse fácilmente. Si usted, no da a sus niños la contraseña de root, no puede ejecutar con privilegios de administrador del root.

3: Eficacia de costos

Supongamos, que tiene un usuario más joven, que está recibiendo una máquina hand-me-down, que necesita un sistema operativo a instalar. Si no tienes esa copia de Windows alrededor, está sujeto a adquirir una copia nueva. Esto también puede aplicarse a cualquier número de aplicaciones, puede que tenga que pagar. Para evitar estos costos, en total entrega a ese niño la misma máquina que ejecute Linux. No tendrás que pagar por la licencia del sistema operativo, o cualquier aplicación que los niños podrían necesitar, o quieran. Encima de eso, tendrán la herramienta agregar, o quitar programas, donde pueden buscar y encontrar sólo lo que necesita. También, puede ejecutar una distribución moderna en mucho menos hardware que necesitará, para la vista o Windows 7.

4: Herramientas específicas de la edad

¿Debe saber que hay grupos de distribuciones y software diseñados específicamente para los adultos jóvenes y los niños? openSUSE edu-li-fe,para las edades 3-18,linuxkidx, para las edades de 2-15,prospectiva kids, para las edades de 3-12 y muchos otros. Estas herramientas específicas por edad están bien adaptadas para el grupo de que su objetivo con gráficos, y lenguaje ajustados para el rango de edad. Y algunas de las distribuciones orientadas específicamente para jóvenes, bloqueador para niños desde el sistema operativo.

5: Portailes(laptop, netbook)

Los niños tienen pequeñas manos, y dedos que pueden manejar un teclado reducido, y fácilmente pueden sentarse con una máquina de pequeña en su regazo. Yel sistema operativo GNU/Linux, es ideal para ejecutar en netbooks. Puede instalar un sistema operativo auténtico, o un sistema operativo específico de netbook, junto con cualquier software que necesite en el netbook, convirtiéndolo en una excelente elección para el público más joven.

6: Los estudiantes ágiles

Si colocas una máquina basada en GNU/Linux, delante de un usuario joven, no escuchará las quejas como, "¿por qué no se ejecuta quicken!" o "necesito mi app de nómina personalizada para ejecutar en esto!". La mayoría de los niños, dominaran el sistema operativo GNU/Linux rápidamente (y también), con una curva de aprendizaje mínima. Mentes jóvenes, se adaptan bien, a sus hijos, no tendrán ningún problema para adaptarse a las diferencias. Usted podría probablemente sentarse, con un niño, bajar de gentoo (software), ejecutando cde (software) o afterstep (software), y él o ella, habría menos tiempo para explicarle el significado de GNU/Linux.

7: Permanecer en el paso

Sé que esto traerá la molestia, en muchos lectores. No estoy diciendo que cualquier sistema operativo, se utilizará más que cualquier otro. Pero Linux, es utilizado en todo el mundo. Muchos países, en su conjunto han adoptado Linux. El futuro de GNU/Linux, es muy brillante, y parece estar obteniendo más brillo. Así que, ¿por qué no dar a sus niños una ventaja sobre lo que posiblemente podría ser el futuro de la PC? Si Windows es tan amigable para el usuario, niños, pasando la mayor parte de su tiempo en GNU/Linux, no deberían tener ningún problema de trabajar con Windows. De hecho, yo diría que aumentaría la capacidad del niño, para entender completamente el sistema operativo, y cómo realmente funciona el PC.

8: Oportunidades de aprendizaje

Open source, potencian la educación. Prácticamente grita, "me abres y aprendes!" ¿Qué mejor manera de ayudar a los jóvenes a aprender que, dándoles la posibilidad de hacer eso? con los niños realmente curiosos, es extraordinario el deseo de aprender, así que, ¿por qué bloquearlos con el software de código cerrado? cuando un niño está expuesto a abrir el software de fuente y un sistema operativo de código abierto, las oportunidades educativas, son ilimitadas.

9: Una lección en la comunidad

Esto puede parecer un tramo, pero soy un idealista, así que espero que vayan a ir con él. Enseñar a los niños, el valor del software de código abierto, les ayudará a entender las comunidades. Aunque los usuarios jóvenes, probablemente no abran el código fuente de las aplicaciones, que se están utilizando, la constante evolución de hoy en día, impulsado por la comunidad mundial, que necesitan todas las ventajas que pueden llegar a medida que crecen. Tener una sólida comprensión de código abierto, les ayudará a entender, a una edad temprana, lo que significa realmente trabajar con y para un equipo. Usando GNU/Linux, a una temprana edad, también indirectamente enseña a los niños el beneficio del voluntariado, algo que muchos de nosotros necesitamos para obtener más información sobre el tema.

10: Filtrado de contenidos

Linux, tiene numerosas maneras de manejar el filtrado de contenidos para los usuarios jóvenes. Dedansguardian (software)asquidguard (software), para la edición manual del archivo /etc/hosts, puede filtrar contenido en GNU/Linux, con mucho más detalle, que puede en Windows, y fácilmente. Agregando, a esto la capacidad de bloquear, lo que el usuario joven pueda, y no pueda acceder (sin tener que agregar software de terceros), y GNU/ Linux rápidamente se convierte en un entorno informático seguro para su niño.

=-=-=-=-=
Powered by Blogilo

Intel y McAfee, ¿juntos y revueltos?

26/08/2010

La compra de McAfee por parte de Intel ha desatado ríos de tinta (y de bits) en los últimos días, dando lugar a todo tipo de análisis. Desde los puramente económicos, donde muchos han puesto en duda la rentabilidad de la operación, 7.680 millones de dólares, hasta los que han pronosticado un nuevo escenario donde Intel introduciría un antivirus en toda su gama de procesadores, desde el PC hasta la cafetera.

Resulta evidente que una operación de esta envergadura, pese a lo inesperado y sorprendente de la noticia, no ha sido producto de una decisión a la ligera, aunque esa idea haya originado algún que otro chiste por la Red:

CEO de Intel: "Necesitamos antivirus, ¿alguien puede comprarme McAfee?"

Horas más tarde, un empleado: "Hecho"

CEO: "Estupendo, ¿qué versión?"

Empleado: "¿Versión?"

Dejando a un lado las bromas y especulaciones, toda la información pública de la que disponemos en este momento es la nota de prensa, donde se anunció la operación, y el historial de las dos empresas.

La nota de prensa hace hincapié, además de en el aspecto económico de la inversión, en dos puntos:

* La seguridad como componente fundamental e intrínseco de los servicios basados en tecnología e Internet.

* La combinación de hardware y software para proporcionar una mejor protección.

En el primer punto todos, en mayor o menor medida, están de acuerdo. La operación Intel-McAfee es básicamente una buena noticia para el sector, lo reactiva aun más y pone en primera línea la necesidad de integrar la seguridad como pilar base en cualquier estrategia tecnológica.

Por tanto no es descartable que se sucedan movimientos similares, empresas de hardware, telecomunicaciones y otros fabricantes de productos y servicios de tecnología invirtiendo en empresas de seguridad software. Tanto por posicionamiento estratégico, como para integrar ese conocimiento en su propio negocio para aumentar el valor añadido de las soluciones, o por una simple cuestión de diversificación. No olvidemos que la seguridad por sí misma se presenta como un negocio en auge.

El punto que ha suscitado más controversia o especulaciones es el relativo a como la combinación hardware y software puede proporcionar una mejor protección y, sobre todo, de que forma sería llevado a cabo teniendo en cuenta la posición dominante de Intel en el mercado de los procesadores. Es aquí donde una mirada atrás puede darnos alguna pista de lo que puede venir.

Durante los últimos años Intel ha venido invirtiendo recursos en una serie de tecnologías de gestión y seguridad que, sin embargo, no han tenido el impacto esperado en la experiencia final del usuario. ¿Comprarías un PC con procesador Intel en vez de AMD pensando en la seguridad? ¿Crees que los PCs con componentes Intel tienen menos infecciones o incidentes de seguridad en comparación a los de otras marcas? Probablemente tu respuesta a esas preguntas sea la misma: no.

Sin embargo las tecnologías están ahí, TXT (Trusted Execution Technology), TPM (Trusted Platform Module), VT (Virtualization Technology), AMT (Active Management Technology), u otras tecnologías incluidas en la familia de procesadores vPro. Algunas se enmarcan dentro de las iniciativas de la Trusted Computing Platform Alliance (TCPA) y no suponen una mayor diferenciación frente a su competencia, si bien otras son tecnologías propietarias de Intel que deberían suponer un valor añadido en su oferta.

El hándicap para Intel es que la respuesta por parte de la industria del software ha sido tibia, no están adoptando la tecnología de su hardware en la reinvención de las soluciones, al menos en la medida que les gustaría. Aunque Intel proporciona software, éste es de muy bajo nivel (drivers, firmware, herramientas para desarrolladores, etc.) y espera que terceros construyan productos y servicios finales basados en ellos. De esta forma viene evangelizando a los desarrolladores de software con la plataforma vPro desde 2006.

La realidad es que, bien porque la industria de la seguridad está cómoda con su actual esquema y tecnologías, bien porque considera que debe ofrecer productos y soluciones neutrales respecto a la plataforma hardware, el caso es que Intel ha podido sentir como su inversión extra en seguridad no era recompensada; o al menos según sus previsiones, ni tienen la visibilidad esperada. Han construido nuevas autopistas y casi nadie circula por ellas.

O casi nadie. Hace unos años McAfee anunciaba que estaba invirtiendo recursos en explorar la tecnología de Intel y aprovechar su potencial. Así en 2008 anunciaba que ePolicy Orchestrator, la consola de administración de McAfee, usaría vPro para monitorizar los PCs, usando menos recursos, ahorrando costes energéticos, y permitiendo nuevos servicios de administración remota hasta entonces impensables mediante software. Por ejemplo, se podría administrar la gestión de parches en horarios nocturnos cuando los PCs están apagados.

Recordemos que vPro es una tecnología pensada para entornos corporativos que permite la gestión y administración remota desde una capa de hardware, de forma independiente y al margen del sistema operativo, sin necesidad de agentes software. Es decir, sería posible comunicarse y controlar un PC a distancia aunque el sistema operativo esté dañado (sin haber iniciado o por ejemplo con un pantallazo azul), tuviera el disco duro en mal estado, o incluso si lo han dejado apagado. vPro puede en cualquier momento activar un sistema que permite el control sobre los componentes hardware, desde las pulsaciones de teclado hasta la señal de vídeo, con todo el potencial que ello conlleva (cada cual imagine en uno u otro sentido).

También hace dos años McAfee anunciaba que estaba aprovechando la tecnología de Intel en tres áreas clave: cifrado y disuasión de robos de equipos, gestión de la seguridad y virtualización. Así, en el apartado de cifrado, han anunciado que su producto McAfee Endpoint Encryption aprovechará las instrucciones para acelerar el algoritmo AES que estarán presente en la nueva serie de procesadores Westmere, la versión 32nm de la arquitectura Nehalem. Es de esperar que estos movimientos se amplíen desde el PC al resto de arquitecturas de Intel para productos integrados y comunicaciones, aunque no será a corto plazo (aun es un mercado muy verde).

Esas declaraciones de McAfee cobran ahora un nuevo significado tras el anuncio de su adquisición por parte de Intel. Sin saber a ciencia cierta si fue causa o efecto, parece que la estrategia de McAfee fue acertada -suponiendo que es bueno que te adquieran por 7.680 millones de dólares-, y que ha sido ese enfoque el que podría haber llegado a diferenciarle respecto a la competencia, al menos ante los ojos de Intel.

Si atendemos a lo visto y declarado hasta la fecha, parece que McAfee seguirá su camino pero redoblando esfuerzos en explotar las tecnologías de Intel. Es de esperar, y en caso contrario para eso están los reguladores de libre competencia, que Intel no aproveche su posición dominante para favorecer a McAfee de forma irregular. De hecho, desde un punto de vista estratégico, no le interesa.

El papel de McAfee puede ser de dinamizador de las tecnologías de Intel, provocando un efecto colateral sí deseado en el resto de las empresas de software que vigilarán aún más estrechamente sus movimientos, y probablemente seguirán sus pasos a la hora de adoptar las tecnologías de Intel para no perder competitividad especialmente en sus soluciones corporativas. En cualquier caso, no es de preveer grandes cambios a corto plazo, será un camino largo, de años.

Los damnificados de forma indirecta podrían ser los competidores de Intel, en caso de que la industria del software y la seguridad se vuelque en mejorar sus productos y servicios en base al hardware. En ese escenario si podría ser determinante la elección de los componentes de hardware a la hora de dotar de mayor seguridad lógica a nuestros PCs, algo que hasta la fecha era un terreno exclusivo del software.

Los monocultivos no son buenos, ni en seguridad ni en hardware, el mercado y la propia Intel necesita una competencia fuerte por el bien de la innovación, así que es de esperar reacciones al respecto.

Como anécdota, y por terminar como empezamos, con una broma, aquí un vídeo de como realmente puede llegar a funcionar la integración Intel-McAfee:

El pasado mes de mayo una actualización de McAfee confundía un componente de Windows XP SP3 como malware y lo aislaba en cuarentena, un caso de falso positivo grave, provocando el bloqueo de miles de sistemas. Afortunadamente ahí estaba la tecnología vPro, Intel podía aplicar el parche de forma remota.

=-=-=-=-=
Powered by Blogilo

Actualización de seguridad de Adobe Shockwave Player

26/08/2010

Adobe ha publicado una actualización de seguridad para Shockwave Player (para Windows y Mac) destinado a corregir 20 vulnerabilidades que podrían permitir a un atacante tomar el control de los sistemas afectados.

El boletín APSB10-20 resuelve 20 vulnerabilidades, la mayoría de ellas críticas, en Adobe Shockwave Player 11.5.7.609 (y versiones anteriores) en sistemas Windows y Macintosh. Los problemas podrían permitir a un atacante lograr la ejecución de código arbitrario en los sistemas vulnerables.

Adobe recomienda actualizar a la versión 11.5.8.612 de Shockwave Player, disponible desde: http://get.adobe.com/shockwave/.

=-=-=-=-=
Powered by Blogilo

Microsoft confirma un grave problema de seguridad “compartido” con cientos de aplicaciones de terceros

26/08/2010

HD Moore, líder del proyecto Metasploit, destapaba hace algunos días un problema de seguridad en decenas de aplicaciones de terceros cuando eran ejecutadas sobre Windows. Aunque la raíz del problema es, en realidad, una programación insegura de las aplicaciones, dada la magnitud del problema Microsoft ha publicado un aviso de seguridad con instrucciones para mitigar el fallo.

Moore identificaba el fallo mientras estaba investigando el grave problema en archivos LNK que fue conocido en Windows hace algunos días. A su vez Acros, una compañía de seguridad eslovena, hablaba de una vulnerabilidad en iTunes por la que, si se abría un archivo asociado a iTunes desde una ubicación remota, iTunes podría llegar a cargar más DLLs desde esa ubicación. HD Moore comenzó a buscar más aplicaciones que se comportasen de este modo.

Así, el problema está en múltiples aplicaciones de terceros (y propias) para Windows a la hora de cargar librerías dinámicas (archivos DLL). Si las aplicaciones no especifican las rutas completas de las librerías que necesitan, Windows podría llegar, en su búsqueda, a "encontrar" primero las librerías de los atacantes y ejecutarlas. Al principio Moore identificó unas cuarenta aplicaciones, pero en estos momentos se conocen cientos. El número, además, será mayor con el tiempo.

Todas estas herramientas no han seguido ciertas recomendaciones de seguridad a la hora de ser programas. Por tanto, un atacante podría llegar a ejecutar código si incita al usuario a abrir con una aplicación vulnerable un archivo desde una ubicación remota (compartida a través de WebDAV, SMB) o incluso una llave USB. La novedad es que el archivo abierto no tiene por qué contener ningún exploit. La única condición es que el atacante pueda escribir una librería en la misma ruta donde se encuentra el archivo que se quiere abrir, y el programa vulnerable se encargará de cargarla.

Este tipo de ataques son denominados "binary planting", "DLL preloading" o "DLL Hijacking" y pueden verse como una nueva variante de los ataques de ruta (PATH): a no ser que se especifique exactamente la ruta de los binarios, no se sabe qué se está ejecutando; bien porque exista un archivo con un mismo nombre en un directorio, bien porque se encuentre en el PATH de sistema o, como en este caso, bien porque la aplicación llame a DLLs que no son las legítimas.

Windows arrastró este histórico error durante mucho tiempo. Pero una de las (muchas) mejoras de seguridad introducidas desde Windows XP SP1, es que por defecto, se mejora el orden de la búsqueda de librerías con el parámetro SafeDllSearchMode activado… pero el problema se da cuando las librerías no existen en el sistema y no se especifica ruta completa… el programa va a buscarlas en remoto y el atacante podría cargar así las que quisiera.

Microsoft ha creado una guía de buenas prácticas para programadores y sobre cómo cargar de forma segura librerías dinámicas, disponible desde:

http://msdn.microsoft.com/en-us/library/ff919712(VS.85).aspx

El problema es muy grave, puesto que resulta utópico creer que el increíble número de aplicaciones vulnerables solucionarán este fallo en un periodo de tiempo razonable. Así que Microsoft anuncia contramedidas para mitigar el fallo. No se trata de una solución en forma de parche, puesto que bloquear por completo un comportamiento adquirido durante años por los programadores, solo podría causar problemas. De hecho, la introducción de SafeDllSearchMode hace 8 años "ya" podría considerarse como la solución. En todo caso, en el aviso se dan instrucciones precisas a los administradores para deshabilitar la carga insegura de librerías por aplicación o globalmente. También se recomienda, si no es necesario, detener el servicio "Cliente web" del sistema.

Por su parte, HD Moore ha publicado una herramienta para determinar si una aplicación hace uso de este tipo de técnicas y, por tanto, es susceptible de ser usada como vector de ataque. En estos momentos, están apareciendo aplicaciones vulnerables por decenas.

Además, varios programas propios de Microsoft son también vulnerables, como Office, Mail…

Ya están apareciendo exploits públicos que permiten aprovechar el fallo con todo tipo de aplicaciones, por ejemplo, al abrir un inocente archivo Office desde una unidad remota.

=-=-=-=-=
Powered by Blogilo

Creacion de librerias dinamicas en C/C++

23/08/2010

Las librerias dinamicas son aquellas que se cargan en el momento de ejecutar el programa, no estan incluidas en el, lo cual genera ejecutables mas pequeños

Para crear una libreria dinamica (*.so) debemos compilarla utilizando la opcion -fPIC y enzamblarla usando la opcion -shared

Dejo un ejemplo:

liv.h:
#ifndef LIV_H
#define LIV_H

int f (int n);

#endif

liv.cpp:
#include "liv.h"

int f (int n) {
   return (n > 1) ? (n * f(n - 1)) : 1;
} // f

main.cpp:
#include <iostream>
using std::cout;
using std::endl;
#include "liv.h"

int main () {
   cout << "5! = " << f(5) << endl;
   return 0;
} // main

Compilamos utilizando los siguientes comandos:

Code:
[vampird@sharwyn]:~/devel/c++$ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:`pwd`
[vampird@sharwyn]:~/devel/c++$ g++ -fPIC -c liv.cpp
[vampird@sharwyn]:~/devel/c++$ g++ -shared -o libliv.so liv.o
[vampird@sharwyn]:~/devel/c++$ g++ main.cpp -o main -L. -lliv

Actualización del kernel para SuSE Linux Enterprise 10

20/08/2010

SuSE ha publicado la actualización del kernel para SuSE Linux Enterprise Server y Desktop en la su versión 10 en la que se corrige una vulnerabilidad de denegación de servicio.

El problema reside en la función nfs_wait_on_request (de fs/nfs/pagelist.c) del kernel de Linux que puede permitir a un atacante provocar una denegación de servicio (Oops) mediante vectores desconocidos relacionados con truncado de archivos y una operación que no pueda interrumpirse.

También se han corregido otros bugs no relacionados con problemas de seguridad.

Se recomienda actualizar a la última versión del kernel, disponible a través de la herramienta automática YaST.

=-=-=-=-=
Powered by Blogilo

Corregido un interesante (y peligroso) fallo en el kernel Linux 2.6

20/08/2010

Recientemente se ha parcheado una vulnerabilidad en el kernel Linux, rama 2.6, que podría permitir a un atacante elevar privilegios y ejecutar código arbitrario con permisos de root.

La vulnerabilidad ha sido descubierta por Rafal Wojtczuk de Invisible Things Labs, la empresa de la conocida investigadora Joanna Rutkowska. Rafal descubrió el bug mientras estaba trabajando en la virtualización de la interfaz de usuario del sistema operativo Qubes.

Qubes es el proyecto más ambicioso de Rutkowska, un sistema operativo que permite virtualizar procesos independientemente.

Según Rutkowska el bug descubierto podría haber estado ya presente desde la introducción de la rama 2.6 a finales de 2003. Aunque en un primer momento los investigadores reportaron el error a los desarrolladores del servidor X (X.org) finalmente se derivó a los mantenedores del kernel. Esto fue debido a que no se trataba de un fallo inherente al servidor X sino a la forma en la que el kernel maneja la memoria en determinadas circunstancias.

La explotación de la vulnerabilidad permitiría a cualquier proceso no privilegiado con acceso al servidor X escalar a root. De facto los procesos de usuario que posean GUI corren con acceso al servidor X y de ahí que, como teoriza Rutkowska, la explotación de una vulnerabilidad no relacionada en una aplicación de usuario podría ser encadenada y aprovechar ésta para elevar privilegios. La puerta a una ejecución remota de código queda abierta.

Técnicamente la explotación del bug reside en cargar de forma reiterativa en memoria pixmaps (XPM) de gran tamaño aumentando así el área de memoria mapeada.

Gracias a la extensión MIT-SHM del servidor X, se posibilita y se crea un segmento de memoria compartida que será usado por el proceso del servidor X.

La idea es aumentar el tamaño de memoria mapeada y seguidamente llamar a una función recursiva que vaya creando marcos de pila llevando el segmento de pila hacia la zona de memoria compartida, ya de por sí en direcciones altas debido a la expansión de la memoria mapeada usada a alojar los pixmaps.

Durante ese instante, el puntero de pila ha llegado a la zona de memoria compartida y el atacante obtiene el control de la pila ya que puede escribir en esa área posibilitando de ésta forma la ejecución de código arbitrario.

El fallo ha sido corregido en el repositorio de código del kernel y su CVE asignado es CVE-2010-2240.

=-=-=-=-=
Powered by Blogilo