Vivimos tiempos difíciles para la seguridad informática. El más mínimo fallo en la programación de una aplicación puede permitir a un pirata informático hacerse con el control de un dispositivo y poner en peligro la seguridad y privacidad de los usuarios. Por ello, con el fin de mitigar estas amenazas, se ha puesto de moda una técnica conocida como «Hot Patching» o «Parches en caliente» que permiten solucionar vulnerabilidades a través de sencillos scripts JavaScript liberados vía OTA sin tener que actualizar y publicar la aplicación completa.
Rollout.io es una plataforma que nos permite crear fácilmente aplicaciones para iOS. Como medida de seguridad, esta compañía hace uso de los parches en caliente para solucionar cualquier vulnerabilidad que se haya podido descubrir en estas aplicaciones. Sin embargo, recientemente, muchos desarrolladores han empezado a recibir una serie de avisos de Apple donde se indica que sus aplicaciones no cumplen con los términos de licencia de desarrolladores de iOS debido a que tienen funciones que permiten la inyección de código en ellas.
Aunque Apple revisa las aplicaciones antes de que estas aparezcan en la App Store para evitar que se cuelen aplicaciones vulnerables, en caso de que se lance una actualización de una aplicación con un parche de seguridad, esta nueva versión debe ser analizada por completo, proceso que puede llevar hasta varios días dejando en peligro a los usuarios. Por ello, cada vez son más los desarrolladores que buscan soluciones en tiempo real que, aunque luego se libere la correspondiente actualización, permitan proteger a los usuarios desde el momento inicial.
Es cierto que si se habilita una función de inyección de código en una aplicación puede ser utilizada tanto para bien como para mal. Por ello, los responsables de Rollout han propuesto a Apple que actualice sus medidas de seguridad e implemente un sistema de parches en caliente basado en certificados. De esta manera, los desarrolladores podrán enviar estos parches con total seguridad, ejecutándose solo si el certificado el correcto, siendo este un sistema mucho más eficiente que el actual.
La paranoica seguridad de Apple a veces puede resultar hasta peligrosa
Como hemos dicho, los parches en caliente basados en la inyección de código de forma remota es algo imprescindible para la seguridad. Con las medidas de seguridad adecuadas (por ejemplo, como hemos dicho, el uso de certificados únicos), esta medida puede ayudar a los desarrolladores a blindar sus aplicaciones y a solucionar en tiempo real las vulnerabilidades que se descubran sin tener que esperar a que la aplicación se verifique y publique en la App Store. Además, esta técnica puede permitir a los desarrolladores modificar partes de la aplicación, corregir otros fallos e incluso añadir nuevas funciones.
Sin embargo, Apple es reacia a este tipo de técnicas. La compañía no permite, ni permitirá en un futuro cercano, que los desarrolladores puedan inyectar código en sus aplicaciones ya que, aunque esta es una técnica muy útil, incluso con las mejores medidas de seguridad existe una ínfima probabilidad de que se pueda llevar a cabo un ataque MITM que ponga en peligro a los usuarios durante la distribución del parche.
Los responsables de Rollout han mandado una carta abierta a Apple solicitando que permitan esta técnica de distribución de parches, aunque lo más seguro es que la compañía lo ignore por completo y siga con su política de «cuanto más cerrado, mejor«.
Muchas veces, la seguridad, en vez de una virtud, puede llegar a ser un defecto.
¿Crees que Apple debería de cambiar su mentalidad para adaptarse a las medidas de seguridad necesarias para estos tiempos?