jueves, 10 de noviembre de 2011

La seguridad como excusa

Hace poco nos reunimos con un cliente para desarrollar un proyecto para móviles y, en concreto, definir qué plataformas íbamos a soportar.

A diferencia de otros proyectos, éste tenía una particularidad muy interesante: el cliente quería reutilizar código, escrito en C, que habían desarrollado internamente durante años en la empresa. La idea era que la aplicación móvil fuera solo el interfaz de usuario, pero que el cerebro del programa fuera código nativo.

Este requisito, muy común en las empresas que desarrollan su propia tecnología, inmediatamente descartaba una plataforma: Windows Phone 7. Y es que los ingenieros de Microsoft han restringido el uso de código nativo en su plataforma.

Esto no es nuevo, pero sí que es la primera vez que he visto, en primera persona, como esta limitación suponía un problema muy serio para un cliente.

Hace más de un año, los desarrolladores del navegador Firefox ya anunciaban que no habría soporte para Windows Phone 7 debido exactamente al mismo problema. Y es que, ¿qué empresa está dispuesta a portar decenas de miles de código nativo a C# para soportar una plataforma que aún representa un porcentaje tan pequeño del mercado?

Los motivos de Microsoft se resumen, oficialmente, en uno: la seguridad. Según los diseñadores de la plataforma el código en nativo vulnera seriamente la seguridad del sistema y simplemente no está permitido. Cualquier persona que desee desarrollar para Windows Phone 7 lo debe hacer en lenguajes managed, con una API muy limitada y concreta.

Mi pregunta es: ¿Es Android menos seguro por permitir el uso de código nativo? Yo creo que no. Hoy en día, todas las aplicaciones se ejecutan dentro de su propio proceso totalmente aislado del resto del sistema. Esto es así en Android y Windows Phone 7. Entonces, ¿qué más da si la aplicación está escrita en C#, Java o código nativo? Desde el punto de vista de la seguridad realmente ninguno.

Lejos han quedado los días en los que una aplicación escrita para MSDOS tenía control absoluto del sistema. Eso sí que era un problema de seguridad serio y, aun así, eso no impidió a Microsoft llegar a ser la empresa de software más grande del mundo.

3 comentarios: