Detección del enganche de funciones en iOS

5

Por lo que sé, en iOS hay tres técnicas para enganchar funciones:

  1. cargar la biblioteca usando DYLD_INSERT_LIBRARIES
  2. redirección de la tabla de símbolos importada mediante anzuelo
  3. parchea las funciones cuando ya están cargadas, es decir, ya están en la memoria usando substrato MSHookFunction

Esto expone los problemas de seguridad, así que quiero poder detectar cuándo suceden tales cosas. Para el punto número 1, puedo aplicar la verificación del puntero a la función para detectar. Sin embargo, para 2 y 3, no he tenido ninguna idea. Estoy muy agradecido por las ideas que se pueden hacer para abordar el problema.

    
pregunta Krypton 30.12.2013 - 04:55
fuente

2 respuestas

1

El es una variación de la Ken Tompson Hack . Si la plataforma se modifica para mentir, ¿en qué herramientas se puede confiar? No se puede confiar en la forma de reflexión , porque cualquier cosa puede ser modificada en un dispositivo iOS comprometido .

Apple está abordando este problema lo mejor que puede al tratar de dificultar el jailbreak de un dispositivo iOS. En la práctica, no hay solución para este problema , ya que los dispositivos iOS casi siempre pueden ser liberados.

    
respondido por el rook 30.12.2013 - 05:13
fuente
0

Realice algún tipo de monitoreo de swizzle como se menciona en la guía que se encuentra en el documento OWASP en Technical Risks of Reverse Engineering

Esto puede no resolver todos los intentos de conexión, pero sería un paso en la dirección correcta.

BlueBox Security supervisa todo tipo de técnicas, incluidos los métodos de enlace de funciones identificados en la pregunta.

    
respondido por el atdre 10.10.2014 - 18:14
fuente

Lea otras preguntas en las etiquetas