Por qué iOS no se ve afectado por los virus?

Porque no se pueden ejecutar aplicaciones que no estén firmadas con la clave de firma de Apple.

Esto se implementa en la ruta de paginación cuando el sistema de memoria virtual del kernel intenta cargar una página de un ejecutable en la memoria tras un fallo de página; para ello se utiliza una variante del mecanismo de encriptación de contenido FairPlay.

Una de las cosas que implica el jailbreaking es desactivar la aplicación en la ruta de paginación frente a la clave de firma de la aplicación.

Debido a esto, los gusanos, los virus y el malware se dividen en varias grandes categorías:

  • Afecta sólo a los dispositivos con jailbreak; casi todo el malware para iPhones entra en esta categoría
  • Se ha desarrollado utilizando una versión troyanizada de XCode; casi todo el malware de este tipo se ha desarrollado en China, debido a que la conexión a Internet de China es muy lenta con respecto al resto del mundo, debido a las restricciones políticas e ideológicas de China sobre el contenido, lo que fomenta la descarga de XCode y otro software desde servidores situados dentro de China
  • Afecta al software con un certificado de empresa instalado; esto es potencialmente aprovisionado a través de un mensaje de texto o un correo electrónico, que el usuario hace clic en un enlace en el que no debería haber hecho clic, o es aprovisionado por la empresa que vende el iPhone, y que ejecuta su propia (más barata) App Store pirata; esto también afecta principalmente a China
  • Malware que fue capaz de pasar el proceso de revisión de Apple para las aplicaciones; esto ocurre ocasionalmente; si tienes las actualizaciones activadas, Apple puede desactivar estas Apps de forma remota como parte del proceso de actualización (o cuando vas a instalar una nueva aplicación)
  • Hay una carga útil de malware que se distribuye a través de tu ordenador de sobremesa cuando conectas tu dispositivo iOS a iTunes; para ello, utiliza código del software actual de jailbreaking, en combinación con tu ordenador de sobremesa que ya tiene malware; cuando usas iTunes, esencialmente tu ordenador de sobremesa tiene sexo sin protección con tu dispositivo iOS

En otras palabras, casi todo el software que puedes instalar en un dispositivo iOS está curado, y el que no está curado se instala directamente a través de un certificado de empresa, o se debe al jailbreaking, o se debe a que tu sistema de sobremesa ya está muy infectado.

Así que la respuesta es:

  • La mayoría de la gente no hace jailbreak
  • La mayoría de la gente no instala certificados de empresa que les permitan piratear software por el que deberían pagar
  • La mayoría de la gente que usa iTunes para sincronizar sus dispositivos IOS tiene un software antivirus correcto en sus sistemas de escritorio
  • La mayoría del software de iOS no se desarrolla en China con versiones piratas (y troyanizadas) de XCode, y en su lugar utiliza XCode descargado de Apple

Aparte de eso, no hay realmente ninguna manera fácil de evitar la fuerte criptografía utilizada para hacer la protección de contenidos al estilo FairPlay, y el certificado de firma de Apple aún no ha sido comprometido - también fuerte criptografía.