Geek & Roll » sistemas operativos

El trojano Flashback en OS X

Cesar April 7th, 2012 internet, sistemas operativos 1 comentario

Mucha tinta virtual se ha regado en estos últimos días sobre el trojano que ha logrado infectar a más de 600,000 Macs en todo el mundo. Eso no sería noticia si sucediera en el mundo de Windows, pero siendo Macs que como dicen coloquialmente “no les entran virus” entonces hay alarma general entre usuarios, fanboys y haters por igual.

Hablar sobre la plataforma Mac se ha convertido (desgraciadamente) en uno de esos temas en los que tienes que tener cuidado. Es como la política, religión o el fútbol. Gente autodeclarada experta se pone a hablar sobre el tema, y el FUD llega a niveles insospechados. Esto exactamente sucede actualmente con el tema del trojano Flashback en OS X, un caldo de cultivo especial para que amantes de la manzana y enemigos de cupertino se enfrenten en alegatos interminables. En estos casos es importante ser objetivos y hablar con los hechos.

Veamos, ¿que es Flashback? Flashback es un método de entrega que depende de una vulnerabilidad en la versión de Java para OS X. Dicho de otra forma, se ha aprovechado una vulnerabilidad de Java en OS X para descargar, instalar y ejecutar un programa sin que el usuario lo sepa. El usuario primero es dirigido a un sitio Web que contiene código JavaScript, que a su vez carga un applet de Java y aprovechándose de la vulnerabilidad expuesta, este descarga un binario sin intervención del usuario. Después, el binario es ejecutado (de nuevo sin intervención) y este descarga y ejecuta el código malicioso convirtiendo a la Mac en turno en miembro de la botnet.

La vulnerabilidad es bien conocida, de hecho son dos y pueden consultarlas aquí y aquí. Las dos tienen que ver con Java Web Start (una funcionalidad para ejecutar código Java desde un servidor remoto) y la ejecución segura de applets Java. Cuando estas dos vulnerabilidades fueron cerradas en Febrero, los autores de Flashback comenzaron a utilizar otra vulnerabilidad (CVE-2012-0507) ya arreglada por Oracle (autores de Java) en Febrero, pero aún sin distribuir el parche por Apple. Recordemos que Apple ya no es el responsable de Java en su sistema operativo, dejando esta tarea a Oracle.

¿Entonces de quien es la culpa? De Oracle. Ellos son los responsables de la seguridad en Java. Flashback no ataca una vulnerabilidad en OS X, sino varias vulnerabilidades en Java que permiten la descarga y ejecución de código malicioso fuera de las restricciones impuestas (el famoso sandbox).

Apple arregló el error muy rápido. ¡Bien por ellos!. De hecho no. Apple se tardó 1 mes aproximadamente en liberar el parche creado por Oracle, y solo lo hizo una vez que la vulnerabilidad había sido aprovechada y usuarios infectados. Las razones técnicas para hacerlo (si las hay) no las se, pero lo que si se es que eso más que hacer quedar mal a OS X, hace quedar mal a Java en OS X a costa de sus usuarios. Bien sabido por todos es la negligencia de Apple por plataformas que permitan el desarrollo de aplicaciones que puedan ser ejecutadas en múltiples plataformas. La manzana prefiere el lock-in (al igual que Microsoft). Aún así, el error está en código de Oracle, y no de Apple.

Esto no quiere decir que OS X “no le entran virus” por favor no caigan en la desinformación. OS X al igual que todos los sistemas operativos del mundo son vulnerables. Las mismas precauciones deben ser tomadas por usuarios de OS X, que usuarios de Windows o de GNU/Linux.

El Natural Scrolling de Mac OS Lion

Axel August 3rd, 2011 sistemas operativos 6 comentarios

troll-leon

Quise esperarme a utilizar Mac OS Lion por un día para poder experimentar o sufrir en carne propia el Natural Scrolling, una característica del sistema operativo que invierte la dirección del desplazamiento en las ventanas. Estas son mis ideas al respecto:

Me parece que el ese patrón de uso tiene sentido cuando haces scroll tocando la pantalla, como en iOS, por que el feedback visual y táctil se alinean perfectamente (tocar la “página” y empujarla hacia arriba o hacia abajo), pero cuando lo hacemos a distancia, aún cuando estemos usando el trackpad multi-touch de Apple, no es así.

Tenemos más de cuarenta años haciendo scroll utilizando las barras de desplazamiento de las ventanas en prácticamente todos los sistemas operativos con entorno gráfico, por lo que es natural que cuando se adoptaron otros métodos de interacción como la scroll wheel en el mouse común se haya seguido el mismo patron de interacción.

Apple se está peleando con ese patrón. Podría parecer (y esa fue mi opinión inicial) que el natural scrolling es una característica traida por moda y capricho de iOS al sistema operativo de escritorio, pero la cosa no es tan simple:

Lion incluye gestos multi-touch para desplazarse entre los escritorios virtuales (que en el sistema operativo se alinean horizontalmente) y para pasar de página o diapositiva en cualquier medio que lo permita (PDF, slideshows, etc.) en los que curiosamente lo natural, contrario al scrolling “tradicional” (en mi experiencia como usuario) es arrastrar en la dirección en los que queremos que se mueva el contenido de la pantalla, es decir, para ver el escritorio de la derecha, “empujamos” el escritorio actual hacia la izquierda (piensa en las interfaces de Minority Report).

¿Por qué el scroll vertical se siente ridículo y el pase horizontal de páginas se siente natural (o al revés con natural scrolling desactivado)? Por la sencilla razón de que para lo segundo no tenemos suficientes experiencias previas, es algo relativamente nuevo para nuestro cerebro.

¿Entonces? ¿Está Apple introduciendo por capricho la característica en Mac OS? ¿Está tratando de corregir el “error cognitivo” en sus usuarios, en tiempos en los que ya no es necesario arrastrar con el puntero las barras de desplazamiento, en pos de abrir el camino a nuevas formas de interacción?

Con respecto a las preguntas anteriores solamente podemos opinar. En mi caso, me puedo imaginar a un grupo de trabajo de user experience tomando la decisión de sacrificar temporalmente la experiencia en el scrolling a cambio de obtener congruencia en el comportamiento de las dos características que menciono en este artículo, sobre todo por el bien del camino futuro en el área de la interacción.

Sin embargo yo desactivé el natural scrolling y decidí chutarme el pase de páginas y de escritorios “al revés”. Terco que es uno.

¿Tú qué opinas?

Programando para BlackBerry en OS X

Si quieres programar la siguiente killer application en BlackBerry, y eres usuario de OS X, tus opciones no son muchas. RIM ofrece un plugin beta para Eclipse en OS X, con la limitante de que no puedes usar simuladores para probar tu código. La única manera es utilizando un BlackBerry conectado por USB a la mac, y solo para aquellos con OS 6 (9800, 9670 y 9780)

Pero gracias a la virtualización, es posible ejecutar Eclipse y el plugin de BlackBerry para Windows que si tiene soporte para simuladores. En mi caso, no solo necesitaba programar bajo OS X sino también poder cambiarme entre OS X y Windows, dependiendo del lugar donde me encuentre. Para lograr el escenario anterior esto es lo que hice, en resumen:

  1. Instalar Windows virtualizado con VirtualBox en OS X
  2. Compartir la carpeta del workspace entre el Windows virtualizado y el host OS X
  3. Instalar Eclipse y el plugin de BlackBerry en Windows virtualizado
  4. Sincronizar la carpeta compartida con Dropbox
  5. Configurar Eclipse en la otra computadora (física) con Windows para que use el workspace sincronizado con Dropbox

Windows virtualizado
Esta es la parte fácil. VirtualBox es multiplataforma, open source, y muy sencillo de utilizar. Pueden encontrar el manual en línea aquí, pero no es necesario para instalar Windows virtualizado en OS X ya que VirtualBox es muy intuitivo.

Comaprtir la carpeta del workspace
Esto nos va a servir para dos cosas: que Dropbox pueda sincronizar la carpeta, y para compartir archivos entre Windows virtualizado y OS X. En la pantalla principal de VirtualBox damos click en Shared Folders, y configuramos el folder. En mi caso compartí el folder Public de mi /home como se indica en la siguiente imagen.

Shared Folders en VirtualBox

Al iniciar Windows virtualizado, este debe mostrar una unidad de red con el nombre del folder (Public en este caso). De no ser así, hay que asegurarse de que la opción de “Automount” se encuentre seleccionada al crear el folder compartido desde VirtualBox. Cualquier cosa que pongamos en el folder Public desde OS X, va a estar accesible para Windows virtualizado.

Eclipse y el plugin de BlackBerry en Windows virtualizado
Con el folder compartido podemos descargar desde OS X Eclipse (para Windows), el plugin para BlackBerry y tantos simuladores como necesitemos. Todos estos ejecutables los ponemos en el folder Public, vamos a Windows virtualizado y los instalamos como de costumbre en Windows.

Una vez con todo instalado, podemos ejecutar Eclipse y correr un proyecto de prueba solo para asegurarnos que efectivamente nuestra instalación funciona. En este punto podemos activar el modo Seamless de VirtualBox, para no tener todo el escritorio de Windows abierto, solo la ventana de Eclipse. Cuestión de preferencias.

Sincronizar la carpeta compartida con Dropbox
Si trabajáramos solo con OS X, hasta aquí ya podríamos crear y probar programas para BlackBerry. Pero en mi caso necesito poder moverme entre OS X y otra computadora con Windows, y tener el proyecto sincronizado en ambas. Para lograrlo hay que hacer dos cosas:

  1. Mover el workspace de Eclipse virtualizado al folder compartido
  2. Crear un link simbólico en OS X, para que Dropbox sincronice el folder

Vamos por partes, primero cerramos Eclipse, copiamos el folder del workspace de donde este actualmente a la carpeta compartida. Después reabrimos Eclipse y nos va a preguntar que si en donde está el workspace así que le indicamos el nuevo lugar y listo.

Ahora para que Dropbox sincronice ese folder aunque se encuentre fuera del folder de Dropbox, hay que hacer un link simbólico. Un link simbólico es como un atajo, un nombre que apunta hacia otra parte pero sin hacer una copia del contenido. Para eso tenemos que abrir la terminal, que en OS X podemos abrirla buscándo Terminal en spotlight. En la terminal tecleamos lo siguiente:

ln -s /Users/usuario/Public ~/Dropbox/destino/

De la línea anterior, reemplazar usuario por nuestro propio usuario, o la ruta completa si no usaron el folder Public. Lo importante es que la ruta NO DEBE terminar en / de lo contrario no funcionará. La segunda ruta es el folder de Dropbox donde queremos que se sincronice. El caracter ~ significa tu directorio home actual, y para ponerlo en el teclado de una mac es ALT + N.

En el folder de Dropbox debe aparecer el ícono del folder con una flecha negra, indicando que es un link como se muestra en la imagen.
Dropbox

Configurar Eclipse en la otra computadora (física) con Windows
Para esto basta con abrir Eclipse y seleccionar File | Switch Workspace, indicándole la ruta al workspace dentro del folder de Dropbox. En mi caso además de cambiar el workspace, tuve que importar el proyecto desde File | Import.

En este momento, cualquier cambio que hago en la computadora con Windows o OS X se sincroniza y puedo trabajar desde cualquiera sin problemas. Encima de todo esto uso git para llevar control de versiones, lo que funciona de maravilla.

Arrancar la partición HP Recovery con GRUB

En el pasado, cuando comprabas una computadora con Windows preinstalado, normalmente se incluía un disco de recuperación con el cual podías reinstalar el sistema operativo de manera desatendida, dejándolo como de fábrica. Sin embargo, en años recientes esta práctica es cada vez menos común, reemplazando el disco de recuperación por una partición “especial” que contiene la imagen de recuperación más el software necesario para arrancar desde la partición y reinstalar la imagen.

HP BIOS

Este es el caso de las computadoras HP. Al iniciar, el BIOS te presenta con la oportunidad de presionar una tecla (F11 en el caso de la imagen) para arrancar la partición de recuperación. El problema es que cualquier modificación del Master Boot Record (MBR) elimina la posibilidad de arrancar la partición de recuperación presionando F11. El MBR puede ser modificado por actualizar el mismo Windows (por ejemplo si tu PC la compraste con Vista y actualizas a Win7 o desactualizas a WinXP), o por instalar otros sistemas operativos como GNU/Linux o OS X.

Después de un largo proceso a prueba y error (los detalles más adelante), descubrí que es posible arrancar la partición de recuperación utilizando GRUB. Este programa es un gestor de arranque muy popular en GNU/Linux, es Free Libre Open Source Software y es utilizado en muchas distribuciones GNU/Linux, como por ejemplo Ubuntu.

Si necesitas restaurar tu sistema operativo, pero no puedes arrancar tu partición de recuperación, puedes seguir los siguientes pasos: Leer el resto de este post.

Instalar WUSB54GC en Ubuntu Lucid 10.04

Cesar June 24th, 2010 FLOSS, linux, sistemas operativos, tips 3 comentarios

El WUSB54GC de Linksys es un dongle WiFi USB. Lo compré pensando en que lo podría usar en Ubuntu sin mayor complicación, pero no fue así. El driver necesario se incluye así que no hay necesidad de descargar nada, sin embargo se necesita configuración adicional.

Lo primero es asegurarnos que el hotspot al que nos queremos conectar usa WEP o WPA. Al inicio intenté conectarme a un hotspot con WPA2 y nunca logré conectarme. Cambiar la configuración a WPA arregló el problema.

Lo siguiente es editar el archivo blacklist.conf

sudo gedit /etc/modprobe.d/blacklist.conf

Agregar la siguiente línea al final:

blacklist rt2800usb

Y listo, al conectar el dongle el sistema debe reconocer las redes inalámbricas disponibles y conectarse sin problemas.

Lloren niños lloren: se venden mas Androids que iPhones

Los fanboys de Apple (mactards como les llama el Sr. Boynacoras) son una raza extraña. Cuando las macs eran PPC, los procesadores x86 eran lentos y para naquitos, después las macs se pasaron a intel y ahora son la 8va maravilla. Cuando las macs se vendían poco es porque eran para la élite, y ahora que cualquier hijo de vecino tiene una mac, iPhone, iPod o iPad se enorgullecen del éxito en ventas.

Y ahora que se venden más androids que iPhones… ¡¡¡lloren niños lloren!!!

  1. Excusa mactard #1: Esa comparación no vale porque solo hay un iPhone y hay muchos dispositivos android. Eso no tiene nada que ver, el artículo específicamente habla sobre mayor venta de smartphones android contra smartphones iPhone. El hecho de que existan varios modelos distintos de smartphones que pueden ejecutar android no tiene nada que ver. Una comparación injusta sería comparar la venta de cualquier dispositivo que corre android vs solamente el iPhone, pero no es el caso. Además, en el pasado se han comparado las ventas de iPhone vs dispositivos BlackBerry y ahí nadie se quejó de la existencia de muchos modelos de BlackBerry.
  2. Excusa mactard #2: Es que el iPhone no se vende porque se están esperando al modelo nuevo. La realidad es que, en android, salen modelos nuevos más seguido y esa misma razón ha sido señalada como una debilidad en la comunidad android. ¿Ahora resulta que es una debilidad en el mundo iPhone también?
  3. Excusa mactard #3: Pero el iPhone es más bonito. Hmmm… si.

El hecho es que, en este momento se están vendiendo más smartphones androids que iPhones, y eso es muy bueno para el consumidor. Eso fomenta la competencia y el avance de esas dos plataformas, además de sus competidores como BlackBerry e inclusive WebOS que se rumora verá la luz controlando una tablet.

Arreglar el parpadeo de la pantalla en Ubuntu 10.04 Lucid Lynx

Ahora que Ubuntu 10.04 LTS ha salido para su consumo masivo, no tardan en aparecer los posts tipo Las 10 cosas que debes hacer después de instalar Ubuntu Lucid Lynx.

Para mi, lo primero no fue instalar Gnome-Do, o los codecs propietarios. Lo primero fue arreglar el flickering de la pantalla, un molesto bug en el que la pantalla parece saltar de un lado a otro. Es difícil describirlo con palabras así que aquí tienen un video.

Aparentemente, el bug tiene que ver con el ancho de banda del CPU y la memoria. El problema es con tarjetas ATI móviles, las cuales comparten el RAM con la computadora. Aún más crítico es que con la salida de fglrx para tarjetas antiguas, todos los usuarios de ATI que se ven forzados a usar drivers radeon o radeonhd experimentarán el mismo problema.

La solución (al menos en mi caso) fue añadir un comando al kernel:

radeon.new_pll=0

Para añadir dicho comando, editamos el archivo /etc/default/grub

sudo gedit /etc/default/grub

Y en la siguiente línea:

GRUB_CMDLINE_LINUX=”"

Ponemos el comando:

GRUB_CMDLINE_LINUX=”radeon.new_pll=0″

Y finalmente ejecutamos el comando para que grub2 tome los cambios (gracias Infragilis!):

sudo update-grub2

Reiniciamos y listo, no mas flicker. Ahora sí, vayan a instalar los codecs y Gnome-Do.

Usando BackTrack 4

Un área donde realmente brilla GNU/Linux es el de aplicaciones para el análisis y mantenimiento de redes. Unix, el SO del que se basa GNU/Linux, es donde fue hecha la mayor parte del desarrollo de las aplicaciones originales que forman Internet. Además, la naturaleza abierta de GNU/Linux significa que es la misma comunidad la que se encarga de crear sus propias distribuciones, mismas que pueden ser tan generales o específicas según se necesite. Gracias a esto, se tienen distribuciones (o distros) para crear cortafuegos, centros de medios, discos de rescate y, en el caso de BackTrack, auditoría de seguridad.

BackTrack se basa en Debian y cuenta con versiones para DVD-Live y USB, de tal manera que los usuarios pueden ejecutar las múltiples aplicaciones que incluye sin modificar su sistema operativo actual.

En esta ocasión me voy a centrar en dos de los múltiples usos que se le puede dar a BackTrack: penetrar una red “protegida” con WEP y hacer ingeniería inversa a un binario de Windows. Leer el resto de este post.

HackBook: convierte tu laptop en una Mac

Si siempre has tenido las ganas de comprarte una Mac pero $15,000 mxn o más es un precio que no estás dispuesto a pagar, aquí tienes una breve guía de cómo hacer travesuras con tu laptop (o cualquier PC) para que corra Mac OS X igualito que en cualquier Mac (ok, 99%).

Lo primero que necesitas saber es que debes tener mucha paciencia porque se supone que no debes instalar Mac OS X en una pc o lapop regular (que no sea Apple). Vas a necesitar: Leer el resto de este post.

Ubuntu en retrospectiva

He sido un usuario de GNU/Linux desde 1998, claro, el escritorio libre no era lo que es ahora. En aquel entonces, Red Hat 5.2 fue mi distribución elegida y de ahí pasé por muchas otras como Mandrake (después Mandriva), Slackware, Caldera, Corel Linux y Debian GNU/Linux. Finalmente en el 2004 decidí usar una nueva distribución con un nombre extraño: Ubuntu Linux (Warty Warthog).

Warty fue el primero y el más café de todos. Un escritorio GNOME minimalista con programas de fuente abierta estrellas: Gaim, Gimp, Firefox y OpenOffice. Fue un éxito rotundo gracias a su facilidad de uso y el hecho de que Canonical envía CDs de Ubuntu a cualquier parte del mundo sin costo. Una bocanada de aire fresco al escritorio libre. Leer el resto de este post.

Posts anteriores