¿Cómo puede la versión defectuosa de una aplicación de iOS (como WhatsApp) exponer todo el dispositivo a fallos o asumir el control?

10

Hubo muchas noticias recientes y destacadas sobre una vulnerabilidad de seguridad en WhatsApp que también afecta a las versiones de iOS de la aplicación. Se ha descrito que la volnerabilidad conlleva el riesgo de que un atacante choque el dispositivo (por ejemplo, se menciona en informe original de Google Project Zero) o tomar el control de un teléfono inteligente (p. ej., mencionado por heise.de aquí en alemán ; traducción cortesía de Google Translate aquí ). La solución sugerida es actualizar al menos la versión 2.18.93 de la aplicación iOS; aparentemente no se requieren actualizaciones de iOS en sí mismas.

Dado que esto se describe como un error en una aplicación (no en el propio iOS), me pregunto: ¿cómo puede una aplicación (legítima o no) bloquearse o apoderarse de un dispositivo iOS en primer lugar? FWIK no hay llamadas de SDK que otorguen a una aplicación tales poderes y, de hecho, el informe menciona la corrupción del montón. Pero, ¿cómo puede la corrupción del montón dentro de una sola aplicación causar tales estragos en todo el sistema? Podría imaginarme que este sería el caso si el montón de la aplicación se superpusiera con la memoria que pertenece al sistema operativo de una manera peculiar, de modo que (una versión defectuosa) la aplicación pudiera inyectar código malicioso allí. Pero en este caso, espero que esto se trate como un error en iOS (no solo la aplicación), que no es el caso aquí.

Entonces, ¿qué está pasando aquí? ¿Cómo puede una versión defectuosa de una aplicación (como WhatsApp) colapsar un dispositivo iOS o permitir que se retire en su totalidad?

ACTUALIZACIÓN Este artículo menciona los nombres de dos ingenieros de Google involucrados. Sus identificadores de twitter son @natashenka y @taviso . Quizás alguien con una cuenta de Twitter podría comunicarse con ellos y llamar la atención sobre esta pregunta.

    
pregunta rookie099 11.10.2018 - 23:22
fuente

1 respuesta

1

Supongo que lo que podría estar pasando aquí es que hay (fue) un error en una biblioteca que podría ser utilizado tanto por la aplicación WhatsApp, iOS, Android, etc. Esto explicaría por qué el problema surge en iOS y Aparentemente Android a nivel de root. Quizás lo que podría haber ocurrido en tal caso es que Google informa a los proveedores del sistema operativo, quién informa al responsable de la actualización de la biblioteca y, luego, ¿qué?

Para hacer esto más concreto a modo de ejemplo, aquí hay un extracto de iOS 12's Settings | General | About | Legal :

YaquíhayunpocodetextodelproyectoGitHubde cisco / libsrtp ( srtp_protect también se menciona en el informe original):

  
  • La función srtp_protect() asume que el búfer que contiene el paquete rtp tiene suficiente almacenamiento asignado para que la etiqueta de autenticación pueda   escrito al final de ese paquete. Si esta suposición no es válida,   la corrupción de la memoria se producirá.
  •   

El proyecto está al menos algo activo (último compromiso hace 7 días), pero su problema # 322 es Aparentemente abierto desde julio de 2017. No soy un sombrero blanco experimentado (ni un sombrero negro), pero mi estimación actual es que es justo publicar un ejemplo (teórico) en este contexto exactamente porque todos los ingredientes ya están a la vista. Tal vez incluso se podría calificar como ingeniero de Google Zero con solo buscar en Google (sin intención de decirlo) tales cosas :)

ACTUALIZACIÓN Para su valor, Sonatype OSS Index (un servicio gratuito utilizado por los desarrolladores para identificar dependencias de la fuente y determinar si existen vulnerabilidades conocidas y divulgadas públicamente) actualmente no muestra ninguna vulnerabilidad para libsrtp .

    
respondido por el rookie099 16.10.2018 - 04:40
fuente

Lea otras preguntas en las etiquetas