Hace años los móviles apenas hacían más que realizar llamadas de teléfono y enviar sms, con el avance de los tiempos se fueron convirtiendo en pequeños ordenadores con multitud de funciones. Lo que ocurre es que cuantas más funciones tiene un dispositivo se vuelve mas sensible a fallos.

En programación ya puedes depurar una y mil veces un programa que habrá una situación en la que haga una división por cero, una violación de segmento memoria o cualquier otra cosa que no hayas tenido en cuenta y haga que el programa falle, son los conocidos bugs.

Pero hagamos un poco de memoria histórica, ¿qué es un bug? Un bug en informática lo asociamos a un fallo de un programa, pero es que en inglés bug es la palabra para designar insecto o “bicho”.

Hace años los ordenadores funcionaban con válvulas de vacío,  relés magnetotérmicos y eran de tamaño de naves industriales.

La primera referencia a bug se hizo durante un test de fallos del ordenador Mark II, los reponsables se dieron cuenta que el computador fallaba y despues de mucho buscar descubrieron que era porque había una polilla en uno de los relés.

En la imagen de abajo podéis ver la primera anotación de un bug en un entorno informático, con el propio bug pegado con celo.

Continúa…

Hoy en día la potencia del Mark II es ridícula comparada con nuestros smartphones, pero no estamos exentos de bugs en nuestros sistemas.

El primer bug que os quiero presentar no es de un smartphone, es de un Nokia 1100, uno de los teléfonos de gama baja de Nokia. Además tiene una mezcla de bug y de leyenda urbana que ronda por Internet bastante interesante. Según dicen las habladurías este modelo de Nokia vino con un defecto de fabrica en el sistema de sms.

Cuando realizamos un movimiento bancario uno de los métodos de protección es enviar a tu teléfono móvil un número TAN (Transaction Autentication Number) que tienes que introducir en la pagina web de tu banco para autorizar la transacción. Pues bien, el 1100 tiene un defecto que permite que reprogramando el teléfono permite interceptar dichos mensajes a tu teléfono y realizar transacciones sin que te enteres. Según dicen en algunas subastas han llegado a pagar hasta 30.000 $ por uno de estos teléfonos.

Este error no viene con todos los modelos, solo con los fabricados en Bochum (Alemania) con la versión del software 2002 de Nokia. No se hasta que punto puede ser realidad este rumor, ya que el mundo underground de Internet es bastante cerrado, pero puede que tenga algo de real.

Pasamos a nuestro campo, los smartphones, uno de los bugs mas sangrantes que hubo ocurrió en la aplicación de Alarma de iOS en los iPhone. Muchos de nosotros confiamos nuestro sueño a la alarma de nuestro móvil y nos olvidamos de los despertadores de toda la vida, pero hubo varios días en los que los poseedores de un iPhone llegaron tarde al trabajo.

En una aplicación aparentemente tan sencilla como la alarma provocó que los australianos durante los primeros días de 2011 se levantaran una hora mas temprano, posteriormente se descubrio que con el cambio de año y de horario de invierno las alarmas programadas para varios dias del teléfono sonaban una hora mas tarde o directamente no sonaban.

La solución que aportaba Apple era eliminar las alarmas programadas y volver a crearlas pero aun así algunas no funcionaban, la contestación de Apple fue que a partir del 3 de Enero el bug quedaría solucionado.

Otro de los bugs de iOS permitía realizar llamadas a cualquier número de teléfono con el móvil bloqueado. Normalmente como medida de seguridad todos los teléfonos pueden realizar llamadas a números de emergencia estando bloqueados o sin tarjeta sim. Pues bien, para realizar llamadas con un iPhone bloqueado sólo tenías que pulsar el botón de llamadas de emergencia, pulsar tres veces el símbolo de almohadilla # y a continuación el botón de encendido para que te apareciera en pantalla la aplicacion de teléfono pudiendo acceder a todos los contactos y realizar llamadas.

Dejamos Cupertino y damos un salto hasta Canadá para visitar Rim, la empresa responsable de Blackberry. Desde siempre se ha considerado a las Blackberry un referente de seguridad en el entorno empresarial y hasta cierto punto estoy de acuerdo, pero de los bugs no se libra nadie.

Uno de los bugs mas incómodos fue uno que se dio en el modelo 9700 de Blackberry, este fallo provocaba que en los sms recibidos no apareciera el contacto como remitente, sino que aparecia directamente el numero de teléfono. Así que si no te sabias el numero de teléfono no sabias quien te habia mandado el sms.  Se solucionó con una actualización del sistema.

Otro bug de Blackberry aparentemente era menos incómodo pero más inseguro. Un error en el navegador provocaba que a la hora de acceder al dominio de una pagina web si este no coincidía con los certificados el sistema no te avisaba. Aunque en navegador detectaba que el dominio y el certificado no coincidían la ventana de dialogo no podía mostrar caracteres nulos y no mostraba las incoherencias con el certificado.

Esto hacía que el navegador fuera susceptible de acceder a paginas de phishing y que el usuario pensara que en realidad accedía a un sitio confiable.

Pero ya esta bien de mirar la paja en el ojo ajeno, porque en Android también tenemos unos cuantos bugs para dar y tomar.

El primero ocurrió alla por el 2008 cuando Android aun andaba en pañales, concretamente en una Release Cadidate del firmware del G1. Este bug identificaba cualquier cadena de texto como un comando del sistema, y además en modo superusuario. Es decir, que si tú escribías un sms con la palabra “reboot” el teléfono identificaba la orden y se reiniciaba.

La solución era abrir el teclado y escribir <return>-c-a-t-<return>, lo que provocaba que el terminal fantasma ya no recibiera ordenes de comando, pero solo hasta el siguiente reinicio del móvil.

Afortunadamente este error era de un firmware candidato a ser final y solo afectaba a aquellos que lo tenían instalado y nunca llegó a producción con este bug.

En Android también tenemos errores con los sms, el primero era un bug muy simple hacia que los sms pudieran no llegar a los destinatarios en aquellos móviles que tenían memoria baja. El límite eran 8mb, a partir de ahí cabía la posibilidad de que los sms no llegaran.

Que no llegaran al destinatario era un poco preocupante, pero que llegaran a un destinatario equivocado era un poco más peligroso, sobre todo para aquellos que envían mensajes un poco comprometidos. Este bug provocaba que escogieras a un destinatario A, enviaras el sms y lo recibiera un destinatario B. En principio no se encontró ningún patrón, pero sí que se descubrió que posiblemente el que lo recibía era el último contacto al que le enviaste un sms. Un bug un poco comprometido sobre todo si enviabas un sms a tu novia y lo recibía tu jefe.

Aparentemente este bug quedó solucionado con la actualización de Android 2.2.2 y la 2.3.1 respectivamente.

El último bug conocido en Android hizo saltar todas las alarmas, era un error que venía con la ultima versión del sistema 2.3 Gingerbread. Este bug permitía acceso total a los datos de la sd. Fue descubierto por Xuxian Jiang de la universidad de Carolina del Norte e inmediatamente reportado a Google para que lo solucionaran.

La verdad es que no hay mucha mas información de este bug, ni de cómo se accede a la sd ni de en que situaciones se puede producir este fallo. Así que deberíais cogerlo con pinzas y no darle una credibilidad 100% hasta que no tengamos mas información, aunque todo apunta a que es una noticia exagerada para rellenar hueco.

Como veis todos los sistemas informáticos y software tienen fallos, incluso aquellos creados por enormes corporaciones con gente muy preparada. Así que os invito a reportarlos mediante la herramienta de bugs que salta cada vez que falla una aplicacion en Android, así ayudaremos a los desarrolladores a mejorar sus herramientas, que como todo, no son perfectas.