David Wang, um dos quatro desenvolvedores do Evad3rs, grupo responsável pelo Evasi0n, numa entrevista à Forbes explicou como funciona a ferramenta de JailBreak que eles desenvolveram.
Foram exploradas cinco falhas do iOS. O Stuxnet, praga desenvolvida pela NSA mirando as usinas de enriquecimento de Iranianas, para referência, explora quatro falhas. Isso faz do Evasi0n o JailBreak mais elaborado/sofisticado até hoje.
O Evasi0n começa rodando o libimobiledevice, um substituto para o iTunes que se comunica com o iTreco pelo mesmo protocolo do iTunes.
Explorando uma falhando sistema de backup ele conseguem acessar um arquivo de fuso horário. Um link simbólico para o Launch Daemon é inserido nesse arquivo.
Ou seja, sempre que o sistema de backup executar e fornecer acesso às informações de fuso horário, também será fornecido acesso ao launchd.
O code-signing evita que um programa não assinado pela Apple seja executado. Mas com um app que o usuário abre, com um truque chamado de “shebangs”, ele consegue se passar pelo launchd que já foi “modificado”. E assim o acesso root é garantido
De posso do root o launchd.conf é alterardo para repetir esse processo sempre. Deixando o Jailbreak untethered.
A próxima alteração é no Apple Mobile File Integrity Daemon. Isso fará com que a validação do Code-Signing seja sempre bem-sucedida.
Outra proteção que o iOS tem para evitar que hackers alterem a memóeia é o Address Space Layout Randomization. O co’digo fica numa posição aleatória, mas simulando um crash o Evasi0n consegue examinar o array de exceção do chip ARM e determinar a posição exata do código a ser reescrito.
Uma outra falha de segurança no iOS está na interface USB que passa a referência da memória do kernel. E uma vez no núcleo, não há mais o que fazer.