Sobre a MAD
A percepção de que o iOS é intrinsecamente imune a ataques devido ao modelo de segurança conhecido como “Walled Garden” (Jardim Murado) da Apple é perigosa. Dispositivos com jailbreak, perfis de gerenciamento indevidos, falhas lógicas na aplicação e técnicas de reempacotamento permitem que atacantes realizem análises avançadas e manipulem o comportamento de aplicativos, inclusive em cenários sem jailbreak. Ferramentas de instrumentação e análise dinâmica podem ser utilizadas para observar, modificar e explorar a lógica da aplicação quando proteções adicionais não estão presentes.
Nesse contexto, o MAD para iOS oferece proteção em múltiplas camadas para aplicativos nativos e multiplataforma. A solução combina mecanismos proativos de defesa, proteção contra análise estática e técnicas avançadas de ofuscação para dificultar a engenharia reversa e a adulteração do código. O foco está na integridade do runtime Objective-C e Swift, na proteção de dados locais sensíveis e na aplicação de ofuscação baseada em LLVM, elevando significativamente o nível de resistência do binário Mach-O contra tentativas de análise e manipulação.
Objetivos Comuns dos Atacantes
Em cenários de ataque a aplicativos iOS, os objetivos mais frequentes incluem:
• Obter acesso não autorizado ao aplicativo ou a recursos protegidos • Modificar o comportamento do aplicativo ou injetar código malicioso • Realizar engenharia reversa para subtração de propriedade intelectual • Ampliar a superfície de ataque e contornar mecanismos de proteção
Abordagem de Proteção do MAD
O MAD auxilia o aplicativo a resistir a esses vetores de ataque por meio da inserção de rotinas de proteção interdependentes, acopladas diretamente ao binário da aplicação. Essas rotinas permitem que o próprio aplicativo identifique tentativas de ataque em tempo de execução e reaja de forma automática, aplicando políticas de bloqueio, mitigação e geração de alertas.
Além das detecções ativas, o MAD implementa mecanismos que dificultam significativamente a leitura, extração e compreensão do código por atacantes, reduzindo a eficácia de análises estáticas e dinâmicas.
Quando uma tentativa de ataque é detectada em tempo de execução, o MAD aciona a resposta configurada, que pode incluir o encerramento controlado da aplicação e o envio de alertas para o Command Center, permitindo resposta centralizada e correlação de eventos.
Diferenciais da Solução
A proteção fornecida pelo MAD se destaca em relação a abordagens tradicionais de segurança de software pelos seguintes fatores:
• Proteção Variável: Um valor de semente é utilizado para definir como o código será protegido. A cada nova aplicação de seed, o aplicativo recebe uma proteção diferente, dificultando a engenharia reversa contínua e impedindo que atacantes acumulem conhecimento reutilizável entre versões. • Alta Personalização: As proteções podem ser ajustadas de acordo com a sensibilidade do aplicativo, requisitos de desempenho e regras específicas de negócio. Isso permite que a solução se molde a diferentes cenários e necessidades do cliente, mantendo o equilíbrio entre segurança, usabilidade e performance.
Atualizado