Sep 24 2010

Por qué Windows Mobile se pone cada vez más lento

Gabolonte Blasfemus

imageMucho se ha hablado sobre los sistemas operativos de Microsoft y de como con el tiempo es necesario hacer una reinstalación en limpio de Windows porque se repite como verdad innegable que con el paso del tiempo la instalación “se va corrompiendo sola” y llega un momento en que todo se arrastra y anda mal; bocadillo especialmente frecuente en Linux fanboys de poca monta a la hora de recomendar al sistema operativo que los hace sentir distintos, al igual que a todo el resto de sus camaradas.

Pero la realidad es que, al menos en el caso de nuestro amado y odiado Windows Mobile, sí existe un bug que hace que cada vez funcione más lento y pesado, llegando al momento en que nos veremos tentados a hacer un hard reset para comenzar desde cero y recuperar la velocidad original, al menos por un tiempo.

La historia de esta falla se remonta al vetusto Windows Mobile 2003, aquel que, a pesar de poseer habilidades básicas para lo que llegó a ser Windows Mobile 6 y otros SOs móviles actuales, disfrutaba de uno de los mejores momentos de esplendor de la plataforma, pero que nacía con un terrible defecto congénito: En cada soft reset (reinicio) se sumaban entradas duplicadas o inválidas a la cola de notificaciones de Windows Mobile. ¿Y eso… con qué se come?

Aclarando un poco, la cola de notificaciones, la mejor traducción que encontré en 5 segundos para su término en inglés notification queue, es justamente una lista de eventos o notificaciones encoladas para ser accionadas de acuerdo a diversos disparadores, y estos eventos comprenden desde las alarmas de nuestras citas, a los cumpleaños de nuestros contactos, la ejecución automática de una aplicación, o los procesos necesarios que se necesitan ejecutar para que al conectar el dispositivo por ActiveSync se realice una sincronización exitosa. De esto se desprende fácilmente que entradas repetidas o inválidas puede llevar al malfuncionamiento de todo lo mencionado recién, y si un elemento tan importante del funcionamiento tiende a agregar entradas erróneas en cada reinicio es toda una invitación al desastre a futuro.

imageAnte los oídos sordos de Microsoft ante los reclamos de los usuarios, un tercero tomó la posta y fue la salvación de todos los que habían adquirido un dispositivo con Windows Mobile 2003. CheckNotifications ofrecía hacer lo que el fabricante ni se molestaba en intentar, ofrecía al menos un paliativo, la posibilidad de eliminar automáticamente cada cierto tiempo estas entradas erróneas y/o duplicadas para evitar que el la cola de notificaciones llegue a un volumen en el que el sistema se resienta u ocurran pérdidas de datos y otros malfuncionamientos.

Llegados acá quisiera decir colorín colorado, y el cuento se ha acabado, pero obviamente si rescato esto es porque no es así, y este tremendo pedazo de bug, que al menos debería haber sido solucionado de raíz en la siguiente versión de WinMo, sigue azotando como si nada en las más recientes versiones, al menos hasta la 6.1, de la que puedo dar buena fe en mi propio teléfono al haber encontrado más de un centenar de elementos duplicados. No hace falta decir mucho sobre cómo hace quedar esto a Microsoft, de quien luego de enterrar a nivel compatibilidad y actualizaciones a una plataforma que fue un éxito en su momento y podía seguir siéndolo si se la sabía canalizar, posiblemente no le vuelva a dar el premio de mi compra por un largo futuro. También me genera mucha curiosidad cómo dentro del mismo círculo de usuarios de Windows Mobile este tremendo fiasco de las notificaciones quedó tapado y mayormente asociado sólo con la antigua versión de WinMo 2003, cuando al parecer todas las que la precedieron lo siguen poseyendo.

El problema en la actualidad es que CheckNotifications, que fue un regalo freeware para quien lo necesitara, no está más disponible desde el sitio de sus fabricantes, habiendo sido totalmente discontinuado ya que su creador no se dedica más, razonablemente, a desarrollar o mantener software para Windows Mobile. Esto no sería de por sí grave porque siempre se podría conseguir la aplicación en otros sitios o redes P2P, pero el otro problema tiene dos nuevas caras: Muchos usuarios aseguran que la versión 2.3 de CheckNotifications, la más reciente que vio la luz, causa más estragos que soluciones en sus dispositivos, y la versión 1.9, en la que todos coinciden que funcionaba de maravillas, no elimina automáticamente ninguna entrada inválida en un WinMo 6.1 como el mío, algo comprobado de primera mano por quien les escribe.

imageAfortunadamente existieron otras aplicaciones que dentro de su paquete onda medikit también incluían esta necesaria limpieza de la notification queue, como Pocket Mechanic Professional o MemMaid , el primero de manera automática y bastante pesado por todos los plus que incluye, y el segundo que sólo permite la eliminación manual de entradas (un tedio imposible cuando hablamos de centenares), y ambos de pago. Era evidente que se necesitaba otra opción.

Increíblemente, y gracias a esta entrada de The PoorHouse, encontré que la solución venía de la mano de una liviana y estimada aplicación gratuita que siempre mantuve en mi lista de programas a tener desde mi primer Pocket PC con Windows Mobile 5: PmClean, el cual no sólo se encarga de eliminar de un plumazo exitosamente todas las entradas erróneas de la cola de notificaciones, sino que también borra la caché y el historial de Pocket Internet Explorer, la carpeta temporal de Windows Mobile, y hasta el caché de la aplicación AvantGo, en caso de que la utilicemos. Al abrirlo, tan sólo debemos tildar los ítems a limpiar y luego pulsar en Cleanup.

Al verlo, recordé que siempre me pregunté qué era eso de las Notifications que PmClean ofrecía limpiar. afortunadamente lo hace y muy bien, e incluso se puede ejecutar para limpie automáticamente este y los otros ítems a elección de manera programada y regular desde Tools/Automatic Start.

Así que ya saben, si son usuarios de Windows Mobile y todavía no lo era, a partir de hoy PmClean se va a convertir en uno de sus mejores amigos.


Ene 21 2010

La vulnerabilidad más antigua de Windows

Gabolonte Blasfemus

image Es normal enterarse todo el tiempo de nuevos agujeros de seguridad en cualquier sistema operativo o aplicación a un ritmo prácticamente diario; sin ir más lejos todavía circulan noticias alrededor del bug de Internet Explorer mediante cual, supuestamente, hackearon a Google desde China. Pero no todos los días uno se entera de una vulnerabilidad presente desde tiempos inmemoriales dentro de un sistema operativo, y en este caso, para ser más precisos, de hace 17 años. Ese es el tiempo desde el cual está presente un problema de seguridad en Windows que permite a una aplicación escalar privilegios y tomar el control del sistema, y que se supone es capaz de explotarse en todo sistema Windows de 32 bits, desde el primer NT hasta el flamante Windows 7.

El bug radica en la Virtual DOS machine, o VDM, el subsistema que incorporan todos los Windows de 32 bits para permitir la ejecución de aplicaciones de DOS o de Windows a 16 bits dentro de los mismos. De esta forma, es posible que código de 16 bits, utilizando una serie de trucos contra la VDM, alcance privilegios de administrador en el sistema local que le permita manipularlo a su antojo.

Humillantemente para Microsoft, este agujero de seguridad de hace casi dos décadas fue descubierto por un miembro del equipo de seguridad de Google (vaya uno a saber qué hacía mirando en la VDM de Windows), y también se tomó el trabajo de publicar un exploit que demuestra la falla y que funciona en Windows XP, Windows Server 2003 y 2008, Vista y 7. Y como de momento en Redmond están muy ocupados leyendo los twits de Bill Gates, por ahora no existe parche que mate a este dinosaurio escondido en cada Windows, siendo la única opción posible para resguardarse del mismo deshabilitar la VDM, esto es, inhabilitar por completo la ejecución de programas de 16 bits en Windows. Para lograrlo se puede utilizar el editor de políticas de grupo en las versiones de Windows que lo posean (ej Windows Server 2003) para realizar este cometido, aunque lo más fácil y directo en cualquier Windows es, mediante el editor del Registro, crear o editar el valor D-Word VDMDissallowed y hacerlo igual 1, bajo la rama \HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat.

Posiblemente poca gente utilice aún aplicaciones DOS o Windows de 16 bits, aunque a mi se me viene una a la cabeza (el viejo y popular Compumap porteño), pero de todas formas es importante considerar que este problema tampoco es para morirse e ir corriendo a tomar medidas; a menos que seamos administradores de sistemas en entornos donde se implementan políticas rígidas de seguridad o trabajemos desde cuentas limitadas de Windows para evitar la ejecución accidental de malware, una típica PC con Windows donde los usuarios hacen todo desde una cuenta con derechos administrativos hace palidecer en importancia a este antiquísimo bug.

A ver cuando encuentran una vulnerabilidad en el comando dir, esa le ganaría a todas…

Vía The H Security.


Abr 9 2009

El pasito del GoldenEye bug

Gabolonte Blasfemus

Que los ponjas están de la nuca ya lo sabemos todos, pero cada día encontramos una nueva muestra del grado de limadura mental que tienen. En el resto del mundo, un bug en un video juego no pasa más que de algunas quejas de los usuarios y, como mucho, una ingeniosa respuesta por parte de su fabricante, pero Japón éste puede llegar a tener más viralidad que el juego en sí. En el juego GoldenEye 007 para la consola Nintendo 64, existe una falla que se produce al inclinar levemente el cartucho del juego, que hace que todos los personajes y demás objetos animados (incluidos helicópteros y aviones) comiencen a dar vueltas para todos lados, haciendo lo que a simple vista parece un Breakdance acelerado. En el video que sigue podemos ver una captura del juego donde se lo puede ver bien claro.

Esto parece que en vez de hacer putear a los japoneses por haber pateado la Nintendo, los fascinó, y comenzaron a colgar videos en Internet mostrando su propia versión del bailecito:

Continue reading