lunes, 6 de febrero de 2012

Apple y la seguridad. Una manzana no es un candado.

Se que puede parecer estúpido, pero pongamos claro una cosa desde el principio. Esto, es un logo que parece una manzana:


Y esto es un candado:


No confundirlos.

Oops se me olvidó advertir una cosa. Si te llamas Iván no leas este artículo. Lo digo porque un buen amigo cuando le dije que iba a escribir sobre seguridad y Apple me advirtió que "un tal Iván" podría ofenderse al leerlo, así que como no me supo decir que Iván era el que se iba a ofender... prefiero que si eres el tal Iván que procures no leerlo, no vaya a ser que te enfades.

Digo lo de no confundir una manzana con un candado porque paradójicamente hay mucha gente que compra ordenadores de Apple y confunde ambas cosas. Sorprendente, ¿no?

¿Es Mac OSX una plataforma segura? O dicho de otro modo, ¿es más segura que Linux o que Windows 7 por poner un ejemplo?

No, no es una plataforma mágica para la que no existen riesgos. Y no, no es más segura que Windows 7. Eso son dos mitos como una catedral. Automáticamente el tal Iván ese que se va a enfadar mucho les dirá los cientos y cientos de virus, troyanos, gusanos y malware variado que hay para Windows 7 y que no hay para Mac OSX. Otro mito.

Analicemos porque hay virus, troyanos, rootkits y malware en general en el mundo. ¿Qué tratan de conseguir? Tratan de conseguir pasta. Punto. Los desarrolladores de este tipo de software solo buscan encontrar agujeros de seguridad, hacer un exploit y venderlo al mejor postor. La clave es... ¿en que invierto mi esfuerzo? Opción a, estudió durante meses en busca de un agujero de seguridad y desarrollo su exploit para un tipo de ordenador que representa el 85% de los ordenadores del mundo. Opción b, estudió lo mismo y durante el mismo tiempo para un tipo de ordenador que representa entre el 10% y el 15% de los ordenadores del mundo.

Si, la gente que desarrolla virus, gusanos, rootkits, troyanos y malware en general son gente mala pero no idiota. La gente que paga a esos desarrolladores prefiere gastarse el dinerito en conseguir extender un troyano por el 85% de los ordenadores personales y obtener cuentas de acceso que supone dinerito de ese 85% y al 10 o 15% restante... pues ya le tocará.

En general se dice que hasta que Apple (Mac OSX) no se acercó al 15% del parque de ordenadores no le interesaba a los hackers. A los de la pasta.

Pero, ¿esto demuestra que Mac OSX es tan inseguro como Windows 7? No, aun no. Todos estos virus, gusanos, troyanos, rootkits y malware variado solo precisan de una frase mágica. En inglés es "to execute arbitrary code". En castellano suena a "ejecutar código arbitrario".

¿Qué es el código arbitrario? Es una forma de decir que podría llegar a ejecutarse código de un virus, troyano, gusano, rootkit o malware en general aprovechando ese agujero de seguridad.

Ah... pero ¿en Mac OS X es posible ejecutar código arbitrario? Puedo preguntar... ¿para que cree usted que Apple saca las actualizaciones de seguridad? Precisamente para corregir ese tipo de fallos.

En el momento que escribo este artículo mi Mac me dice que me instale la "Actualización de seguridad 2012-001 versión 1.1" de 202,3 Megabytes de tamaño. No está mal el parchecito para ser un sistema operativo que algunos confunden con un candado, ¿verdad?

En la información sobre el parche aparece una página web donde nos informan que soluciona este parche de seguridad; insisto, ¿para que un parche si no pueden haber virus etc para Mac?

La página es esta: Actualización de seguridad 2012-001 versión 1.1

Si van allí encontrarán una lista de cosas que corrige. Bajo el epígrafe "Actualizaciones de seguridad" en la columna "Nombre y enlace a la información" aparece todo un listado de cosas que solucionan. Cada nombre es un enlace a más información.

Yo tomé el cuarto enlace el cual copio aquí Java para Mac OS X 10.7 actualización 1 y Java para Mac OS X 10.6 actualización 6 . Si van a esa página (ya en inglés) bajo el epígrafe "Description" pone "(...) Multiple vulnerabilities exist in Java 1.6.0_26, the most serious of which may allow an untrusted Java applet to execute arbitrary code outside the Java sandbox. (...)".

No se preocupen que se lo traduzco yo. Dice: "Múltiples vulnerabilidades existen en Java 1.6.0_26, la más seria de las cuales permite que un applet de Java no confiable pueda ejecutar código arbitrario fuera de la caja de arena de Java".

Eso quiere decir que han encontrado una vulnerabilidad en Java sobre Mac OSX que puede hacer que un applet pueda ejecutar código incluso fuera del sandbox de Java. Recuerdo que lo del sandbox es la penúltima mejora de seguridad de Mac OSX para que cada aplicación solo ejecute código con los permisos de esa aplicación y sin salirse de su parcela (cajón de arena).

El tal Iván este seguramente dirá... bueno, vale, un posible agujero de seguridad en OSX pero claro es en Java... es que siempre fue una mierda eso del Java en cuestión de seguridad.

Vayamos ahora, otro ejemplo, a la casilla número 8 de nuestra página web donde se indican lo que incluye la actualización de seguridad. Pone Safari 5.1.1. He copiado el link y si vamos a él sale una página web, esta vez, en perfecto castellano donde encontramos en la descripción este texto: "(...) La visita a un sitio web creado con fines malintencionados puede provocar la ejecución de código Javascript arbitrario (...)".

Y así podríamos seguir todo el día. Casilla 14 dice Quicktime 7.7 y apunta a una página donde dice "(...) La visualización de un archivo pict creado con fines malintencionados puede ocasionar la finalización inesperada de la aplicación o la ejecución de código arbitrario (...)".

¡Vaya pues si que hay agujeros de seguridad en OSX que permiten ejecutar código arbitrario! Pero estos no son los graves. Según termine de escribir esto actualizaré mi Mac OSX y estos agujeros desaparecerán. Pero... estos amigo mio son los que Apple o hackers que han informado a Apple han encontrado. Los problemáticos son los que no se han comunicado o Apple no ha dado aun con ellos. Y no tienen porqué estar en el OSX. Como hemos visto pueden ser Quicktime o el cliente de Twitter o Safari o quien sea. Si un programa tiene un agujero de seguridad y permite ejecutar código arbitrario es un punto para entrada de virus, troyanos, gusanos, rootkits y malware en general a vuestro Mac. Y ojo como hemos visto en uno de los ejemplos el sandboxing no es la solución.

Los exploits no documentados o corregidos de Windows 7 se venden por una pasta y es porque los malos malísimos consiguen buenos beneficios de tener un método de penetrar en el 85% de los ordenadores. Cuando el 15% de cuota de mercado de OSX suba o cuando a alguien le interese específicamente atacar ese 15% restante, no lo puedo decir de otro modo, estará jodido el tal Iván, porque confunde una manzana con un candado.

¿No ha pasado ya? ¿Les suena Mac Defender? En mayo de 2010 me intentó atacar ese malware. Pero lo malo no son los programas que se convierten en notición, lo malo son los programas que podrían estar en este momento controlando su Mac y no ser noticia.

¿Les asusté? No lo suficiente seguramente. ¿Recomendaciones?

Cuidado en las páginas que entra.

Cuidado con lo que instala en su Mac. Si se gastó casi 2000 euros en un Mac no instale software ilegal bajado de Dios sabe donde.

Cuidado con usar el usuario administrador para trabajar. Si el Mac le pide la password de administrador desconfie.

Hay algunas más recomendaciones en este artículo bastante interesante: Seguridad en Mac (ii): Consejos para proteger tu equipo

O para el modo paranóico tenemos las recomendaciones del Departamento de Defensa americano al respecto de los Mac en este enlace de www.faq-mac.com o directamente desde aquí.

Pero esto no quita que mañana un señor malo malísimo con mucho dinero compre un agujero desconocido y su exploit y nos plante un troyano en toda regla y nos saque toda la información de nuestras cuentas. Solo es cuestión de tiempo.

P.D.: Todo el rollo de lo del "tal Iván" va por los talibanes fanboys, no tiene nada que ver con el amigo Iván alias Treki23. Lo digo porque a veces lee este blog y no es plan de que se enfade.

10 comentarios:

Juan Luis Chulilla dijo...

Lo que es una solemne pamplina es comprar una marca "por seguridad". Es una excusa para justificar a posteriori la adhesión inquebrantable.

Sólo hay algo positivo que se puede hacer a nivel personal para mejorar nuestro nivel de seguridad. Aprender. Hasta donde nos dé el tiempo libre y la sesera. Más allá de eso, creo que hay una relación directamente proporcional en lo que apuntas: cuanto menos popular, menos atractivo es para los crackers un sistema operativo.

Por esa regla de 3, cualquier Linux es más seguro que una caja OSX. Pero por otro lado, una caja Windows bien administrada y con prácticas seguras es suficiente a menos que entremos en sitios sospechosos, instalemos software de fuentes no plenamente confiables o no tengamos el SO actualizado.

De hecho, a tu consejo de emplear windows security essentials + windows defender añadiría SandBoxie, una solución mucho más madura que la que ofrece cualquier alternativa en OSX y linux. De hecho, es una de las herramientas más empleadas en círculos exigentes de seguridad, y se combina con otras para comprobar las amenazas de ciertas piezas de código.

Javier, creo que lo que te está faltando es probar linux para adquirir experiencia en ese entorno. Como otros, llevo algo menos de un año probando mint, tras años de usar ubuntu en algunos equipos de mi casa. Estoy muy sorprendido con la evolución de gnome, que muchos critican pero que yo creo que ha sido un acierto (y eso que "tradicionalmente" prefería KDE).

Y luego hay entornos más radicales. Chrome OS es una propuesta muy interesante, pero diría que mal gestionada. Luego tenemos distros especialmente espartanas y radicales respecto a la seguridad, como tiny core.

O claro, la seguridad sin concesiones que puedes obtener en Open BSD. Llevo años prometiéndome sacar tiempo para estudiarlo... sin éxito :)

Chesco dijo...

Yo siempre había creído que Mac era seguro , como Linux que dicen que no hacen falta ni anti virus.Mitos entonces.

Javier Fernandez dijo...

A ver Linux o Unix en general es ahora más seguro que Windows 7 por el mismo motivo que lo "es" OSX. Es aun más minoritario. Pero si en un sistema operativo se inventó el hacking fue en UNIX. Yo aprendí literalmente lo que era un gusano o a escalar privilegios en UNIX.

No hay sistema operativo seguro. Solo prácticas seguras. Ese es parte del mensaje. La otra parte del mensaje es "una manzana no es un candado".

Javier Fernandez dijo...

Juan Luis,

Linux lo tengo probado. Fui de los pocos que probó en su dia Slackware 1.0, aun tengo el CD, eso era la prehistoria del Linux. También tengo rondando por casa varias antiguas distros de Suse (comprada en Alemania) y alguna de RedHat.

Dado que Apple la ha cagado con el Lion y no planeo instalarlo en mi iMac, el siguiente paso lógico, que no es volver a Windows (y eso que el 8 me llama -> wintablet.info) sino volver a Linux.

Tengo un vecino/ex-socio/ex-jefe y aun así amigo que vende bien Ubuntu y siempre que me lo enseña me llama la atención. Se que los que usais Mint lo vendeis también muy bien.

Entre esos dos andaría la jugada.

Juan Luis Chulilla dijo...

No sabia que habías sido un pionero. Yo me pasé unos años (de 2003 a 2007) lejos de linux, pero al final volví para mi equipo doméstico, para algún portátil y para instalarlo en equipos de familiares con bastantes años (los equipos, no los familiares) para darles una segunda juventud (a los equipos, no a los familiares).

Ubuntu fue mi vuelta, porque yo me inicié con SUSE. Aunque estuve años con KDE, al final la pereza me ha llevado hasta gnome y estoy sorprendido de la simplicidad de gnome 3... porque no tengo necesidad de customizar nada, quiero un escritorio lo más simple posible (también daría la talla XFCE, ojo). Lo malo de ubuntu es que unity come recursos como una bestia y está muy verde. Mint me ha sorprendido por la limpieza de toda la interfaz y, como tira de ubuntu, funciona con todo el hardware que le eches (bueno, con hardware Apple ni idea, la verdad).

Una cosa curiosa que me pasó es que le instalé a adolescentes ubuntu, y rabiaron y patalearon porque linux "les consumía recursos al usar windows". Lo acabaron desinstalando y ahora llevan hermosas pocilguitas petadas de malware, claro, porque con semejante conocimiento te puedes imaginar la idea de seguridad que tienen :D

Javier Fernandez dijo...

¿Qué les consumía recursos al usar el Windows en Ubuntu? Jope que críptico, jajajaja

Juan Luis Chulilla dijo...

Más bien qué desmitificador: el analfabetismo digital está bien presente en los adolescentes. Que manejen facebook no implica que sepan lo que hacen con un PC

Javier Fernandez dijo...

A bueno, si, todo ese rollo de "mira con 8 años y ya sabe usar Internet" es una cosa que siempre me hizo gracia. Yo con 8 años sabía usar una peonza... ¿misterio?... tenía una peonza. Pero que supiera usar una peonza no quería decir que fuese bueno con la peonza (aunque de hecho lo era)...

Mi hija trastea con tablets desde los 2 años, ergo sabe usar un tablet, pero no implica que sea una crack, que de hecho no lo es.

Mi hija sabe programar desde los 9 años, pero no implica que sea buena, que no es muy buena.

Ese rollo de "ahora los críos usan los ordenadores con soltura..." menuda patraña. En la mayoría de los casos como tu dices saben usar facebook y gracias. Solo le llama la atención a alguien aun menos formado que el niño... un amplio porcentaje de padres. Jejeje

Juan Luis Chulilla dijo...

Y eso que tú te curraste lo de squeak, que es una raya en el agua para los tiempos que corren. No importa que sea una crack programando, y menos con su edad. Lo que importa es que ha entendido que no hay nada de magia en esos instrumentos llamados ordenadores.

La mía está aprendiendo a leer, con lo que es pronto para que se líe con ningún lenguaje. Pero no tardará demasiado.

La desgracia es que, con los medios maravillosos que tenemos, se motiva menos a los niños para aprender a poner los ordenadores a su servicio. En los 80 los primeros spectrum, commodore y luego los primeros PC daban mucho más servicio en ese sentido.

Es un auténtico desperdicio. Eso es lo que más me repele de dar tabletos a los niños: que se les inicia con un dispositivo completamente fuera de su control!

Exteban dijo...

Con tu permiso, he puesto un enlace en mi articulo de Wintablet. Buen trabajo