Seguridad Informática y como el tiempo le esta dando la razón a Jobs

***Este articulo lo publique en mis notas de facebook el 28 de agosto de 2012
Hoy se acaba de anunciar una grave vulnerabilidad en el software Java 7 de Oracle, esta vulnerabilidad está calificada como critica, el nivel mas alto de peligro. Java es el lenguaje de programación mas usado, principalmente para aplicaciones del lado del servidor (Computadores que alojan las paginas web y demás servicios) pero también es muy usado para hacer aplicaciones de escritorio (Ej: Jdownloader, Azureus, jEdit) y aplicaciones web que se ejecutan del lado del cliente (applets), o sea en el navegador web de los usuarios (ej Google Chrome, Internet Explorer, Safari, etc)
La vulnerabilidad puede ser aprovechada si navegamos con un navegador que tenga activado Java 7. Para evitar ser víctima de ataques o bien desinstalar Java si no lo usamos o no visitar paginas que requieran su uso, o  regresar a la versión 6 que carece de dicha vulnerabilidad. Microsoft por defecto no incluye Java en las instalaciones de Windows, pero muchos fabricantes de equipos si incluyen por defecto Java preinstalado con sus equipos nuevos. Apple desde Mac OS X Lion en adelante no incluye Java por defecto, es opcional y la versión de Java que suministra Apple es la 6 o sea la que no tiene esta vulnerabilidad.

Sin embargo meses atrás se hizo famoso el anuncio de un virus dañino en la plataforma Mac OS X, dicho virus llamado flashback, se beneficio precisamente de una vulnerabilidad de Java que fue corregida por Apple al día siguiente. Apple era la responsable de la versión Java de Mac y fue criticada duramente. Oracle propietaria de la tecnología Java se lavo las manos diciendo que dicha vulnerabilidad era responsabilidad de Apple por no mantener bien su versión de Java para Mac y desde entonces anuncio su propia versión de Java para Mac con su total soporte y respaldo. Dicha versión Java 7 de Oracle para Mac se lanzo este mes hace un par de semanas. esta versión en teoría mas rápida, estable y segura por ser directamente de Oracle acaba de mostrar otra vez nuevas debilidades en seguridad. Lo peor es que Oracle no planea sacar parches por ahora solo hasta el mes de Octubre, una eternidad en términos de tecnología.


¿Por qué digo que el tiempo le esta dando la razón a Steve Jobs? Mientras se desempeño como máximo responsable de Apple, Jobs siempre se opuso a admitir las tecnologías Java y Flash dentro de los dispositivos iPhone y iPad. No solo a Java y Flash sino toda tecnología que creara una nueva capa de software para desarrollar programas dentro del Sistema Operativo de Apple. Muchos vieron esta maniobra como un intento por acaparar todo el mercado de aplicaciones a través de la tienda en linea App Store. Esta pudo ser una razón pero no la principal. Las razones principales de no permitir tecnologías de terceros para la creación de aplicaciones eran: Seguridad, Rendimiento y Experiencia de usuario. 

¿Por qué la seguridad se ve afectada? 

La noticia de hoy es una respuesta, ademas de las innumerables vulnerabilidades que se encuentran a menudo en Flash y también en Adobe PDF. Admitir estas tecnologías implica ser vulnerable cuando se descubren fallos de seguridad en dichas plataformas. Apple prefirió la seguridad y de plano no admitió ninguna capa de terceros para el desarrollo de aplicaciones y ser ellos mismos quienes controlen la seguridad a través de su App Store y su mecanismo de Sandboxing que obliga a los desarrolladores a crear aplicaciones en un ambiente controlado, menos flexible de programar pero seguro y eficiente. Apple al publicar apps en la tienda de aplicaciones garantiza que esta exenta de código malicioso pues estas apps pasan por estrictos controles de calidad.

En cuanto al sistema de escritorio Mac OS X java no viene por defecto por las razones antes mencionadas y se desarrollo el sistema Gatekeeper que permite controlar el grado de seguridad de su sistema, en la configuración por defecto solo aplicaciones provenientes de la Mac App Store y aplicaciones de desarrolladores identificados están autorizadas para funcionar. Se puede bajar el nivel de seguridad permitiendo aplicaciones de fuentes desconocidas pero obviamente no se recomienda y se da un aviso de advertencia. Tanto iOS como Mac OS X siguiendo las configuraciones por defecto son totalmente seguros, un antivirus en estos sistemas es totalmente innecesario. Obviamente nada es perfecto pero los hackers hasta ahora tienen muy difícil vulnerar la seguridad de estos sistemas.

Creo que la solución de Apple es la mas inteligente, en vez de crear un potente antivirus que detecte cuanto virus y código malicioso pase por el computador, mas bien restringen a una sola fuente de aplicaciones, analizan cada aplicación antes de pubicarla y se aseguran de identificar a todos los desarrolladores.


¿Por qué el rendimiento se ve afectado? 

Históricamente tanto Java como flash han tenido una fama (y bien ganada) de devoradores de recursos tanto de memoria como de procesador. esto debido a que no sacan todo el partido al hardware, hacen poco uso de la aceleración de gráficos por hardware y utilizan rutinas no nativas que hacen que los programas corran mucho peor que uno programado con las rutinas nativas. Y esto no solo pasa en la plataforma de Apple, pasa en todos los sistemas operativos. Cada sistema tiene su kit de desarrollo nativo que producen software que se integra bien con el resto del entorno y que funcionen mucho mas rápido que programas escritos en API de terceros. El Kit de desarrollo que proporciona Apple llamado Cocoa en Mac y Cocoatouch en iOS (El sistema operativo del iPhone iPad y iPod) garantiza rutinas totalmente eficientes a la hora de gestionar gráficos, audio, video, todo con aceleración por hardware, con uso optimo de energía y memoria.

¿Por qué la experiencia del usuario se entorpece? 

Al usar capas de terceros como Java o Flash los programas resultantes no usan el ambiente gráfico que proporciona el sistema sino uno propio, tanto la paleta de colores como los diálogos de apertura de archivos, botones, menús, scrolls, etc, van a ser diferentes a los estándar, y esto aunque a nosotros los usuarios avanzados nos cueste creer, confunde al usuario corriente, ademas el hecho de no usar gráficos avanzados acelerados por hardware, la fluidez que tanto se cuida en la plataforma estándar se pierde pues los programas desarrollados en estos ambientes no usan estas capacidades, haciendo torpe la interfaz gráfica. En Java sobre todo es muy notorio el nefasto sistema gráfico que tiene, muchas veces es posible ver como los controles van terminado de dibujarse parte por parte antes de desplegarse totalmente para ser usados.

Nadie va a poner el mismo empeño en cuidar una plataforma informática que la propia empresa propietaria, y eso Apple lo sabe por eso prefieren pasar por una empresa voraz, terca y prepotente a desmejorar la calidad de sus productos. Es por esto que recomiendo productos Apple te permiten estar un poco mas despreocupado de estos problemas de seguridad, con iOS no hay que hacer nada, es totalmente seguro como viene y en Mac OS X siguiendo las configuraciones estandar es también seguro. ademas el rendimiento del equipo siempre es optimo pues no es necesario correr en segundo plano todo el tiempo antivirus que relentizan mucho el desempeño del equipo, y el software esta pensado para sacarle todo el jugo a las capacidades del hardware.


Comentarios

Entradas populares de este blog

Y el mejor smartphone es...

.NET una maravilla tecnológica

Software libre como alternativa