Smart male chastity lock cock-up

TL;DR

  • Bloqueo de castidad masculino con Bluetooth inteligente, diseñado para que el usuario le dé el control remoto a un tercero de confianza mediante una aplicación/API móvil
  • Múltiples fallas de la API significaban que cualquiera podía bloquear de forma remota todos los dispositivos e impedir que los usuarios se liberaran
  • La eliminación requiere una amoladora angular o similar, utilizada cerca de áreas delicadas y sensibles
  • Los datos precisos de ubicación del usuario también filtrados por la API, incluida la información personal y los chats privados
  • más de 6 meses punto
  • Finalmente se negó a interactuar más, a pesar de que la mayoría de los problemas se resolvieron en la migración a la API v2, pero la API v1 se dejó disponible inexcusablemente
  • Este post se publica en coordinación con Internet of Dongs
  • 27/01/2021 Afirman que los problemas móviles y de la API ya se han resuelto.

Juguetes inteligentes para adultos y nosotros

No hemos escrito sobre juguetes inteligentes para adultos en mucho tiempo, pero la jaula de castidad de compañero de celda Qiui era simplemente demasiado interesante para pasar. Nos avisaron sobre el dispositivo de castidad para adultos, diseñado para encerrar el apéndice del usuario.

Hay otros dispositivos de castidad masculina disponibles, pero este es un mecanismo de bloqueo y abrazadera habilitado para Bluetooth (BLE) con una aplicación móvil complementaria. La idea es que el usuario pueda darle el control de la cerradura a otra persona.

no Estamos en el negocio de la torcedura avergonzar. Las personas deben poder utilizar estos dispositivos de forma segura y sin el riesgo de que se filtren datos personales confidenciales.

La seguridad del campo de la teledildónica es interesante por derecho propio. Vale la pena señalar que las ventas de juguetes inteligentes para adultos han aumentado significativamente durante el reciente cierre.

¿Cuál es el riesgo para los usuarios?

Descubrimos que los atacantes remotos podían evitar que se abriera el bloqueo Bluetooth, bloqueando permanentemente al usuario en el dispositivo. No hay desbloqueo físico. El tubo se fija a un anillo que se usa alrededor de la base de los genitales, lo que hace que las cosas sean inaccesibles. Se necesitaría una amoladora angular u otra herramienta pesada adecuada para cortar al usuario.

La ubicación, la contraseña de texto plano y otros datos personales también se filtraron, sin necesidad de autenticación, por la API.

Tuvimos problemas particulares durante el proceso de divulgación, ya que normalmente le pedíamos al proveedor que eliminara una API con fugas mientras se implementaba la corrección. Sin embargo, cualquier persona que utilice actualmente el dispositivo cuando la API se desconecte también estará permanentemente bloqueada.

Como verá en la cronología de divulgación al final de esta publicación, algunos problemas se solucionaron, pero otros no, y el proveedor simplemente dejó de respondernos a nosotros, a los periodistas y a los minoristas. Dada la naturaleza trivial de encontrar algunos de estos problemas, y que la compañía está trabajando en otro dispositivo que plantea un daño físico potencial aún mayor (un dispositivo de castidad «interno»), nos hemos sentido obligados a publicar estos hallazgos en este momento.

Los problemas

Hemos redactado detalles significativos aquí.

Aplicación móvil

Encontramos una grave vulnerabilidad de privacidad muy rápidamente con la aplicación móvil: todos los puntos finales de API no se autenticaban utilizando solo un «código de miembro» de largo plazo para realizar solicitudes. El código de miembro en sí es algo determinista y se basa en la fecha en que un usuario se registró en el servicio, sin embargo, encontramos una forma aún más fácil utilizando un «código de amigo»más corto.

Una solicitud con este código de «amigo» de seis dígitos devolvió una gran cantidad de información sobre ese usuario, incluida información muy confidencial como su nombre, número de teléfono, fecha de nacimiento, las coordenadas exactas donde se abrió la aplicación, su valor de «código de miembro» más largo y la contraseña de texto plano del usuario (no es que la necesitemos).

Un atacante no tardaría más de un par de días en filtrar toda la base de datos de usuarios y usarla para chantaje o phishing.

Números y datos de ubicación filtrados

Pudimos probar algunos ID al azar, mostrando las ubicaciones de los usuarios en el momento de los registros de la aplicación. Tenga en cuenta que esto es solo un pequeño subconjunto de usuarios a partir de los datos disponibles. Tiramos cualquier información personal de inmediato.

memberCode datos = DoS para el usuario

Ahora tenemos la más memberCode podemos obtener todos los dispositivos asociados con esa persona:

GET /list?memberCode=20200409xxxxxxxx HTTP/1.1Host: qiuitoy.comConnection: close "deviceId": 0, "deviceCode": "201909xxxxxxxxxx", "deviceName": "Cellmatexxxx", "deviceNick": "Cellmatexxxx", "deviceNumber": "QIUIxxxxxxxxx", "deviceType": 2, "deviceBlue": null, "deviceBlueAddr": "F9:34:02:XX:XX:XX", "isEncrypt": 1,

Y una vez que tengamos eso, podemos averiguar qué permisos tiene esa persona sobre ese bloqueo (para que lo desbloqueen ellos mismos o tengan que preguntar a alguien más):

GET /wear?memberCode=20200409xxxxxxx&deviceCode=20191204xxxxxx HTTP/1.1Host: qiuitoy.com

Y si pueden, podemos voltearlo para que ahora estén bloqueados fuera del dispositivo:

POST /binding HTTP/1.1Host: qiuitoy.comConnection: closememberName=Pwned&memberCode=20200409xxxxxx&deviceCode=20191204xxxxxx

Y podemos hacer eso a todos, muy rápidamente, encerrando a todos dentro o fuera. Tampoco hay función de anulación de emergencia, por lo que si está encerrado no hay salida. ¡Esto puede o no ser considerado una característica!

Problemas de BLE

La propia implementación de BLE requiere una solicitud de API para generar un comando de desbloqueo basado en un token escrito previamente en el bloqueo. Es posible que podamos analizar las solicitudes y respuestas para generar la clave correcta, o realizar ingeniería inversa del hardware de bloqueo en sí

Lo anterior se toma de la aplicación Android descompilada y conectándolo con Frida podemos ver las notificaciones (36f6) y las 36f5) asociado con la comprobación del nivel de batería primero y luego el desbloqueo (la tercera escritura):

 BluetoothGattCallback constructor called from com.apicloud.uzble.AndroidBle$2 UUID: 000036f5-0000-1000-8000-00805f9b34fb data: 0x56f3430769ddd6e1603xxx UUID: 000036f6-0000-1000-8000-00805f9b34fb data: 0xe01012b3074d111c98bxxx UUID: 000036f5-0000-1000-8000-00805f9b34fb data: 0x25f8a92325fd9cfc7ea79xxx UUID: 000036f6-0000-1000-8000-00805f9b34fb data: 0x2717dd996ab4a017a6ceexxx UUID: 000036f5-0000-1000-8000-00805f9b34fb data: 0x9ee90373a2d3f156b3557xxx UUID: 000036f6-0000-1000-8000-00805f9b34fb data: 0xbcdaea06fa1cb94f3f1c2596xxx UUID: 000036f5-0000-1000-8000-00805f9b34fb data: 0x9ee90373a2d3f156b3557d52xxxx UUID: 000036f6-0000-1000-8000-00805f9b34fb data: 0xc04dab04c54c818d808a78c79adef839

Pero espera, ese hexágono de la aplicación para Android y las características de BLE parecen muy familiares. Es exactamente la misma implementación que el Nokelock que vimos, excepto que el nombre del dispositivo anunciado es «OKGSS101».

La clave de cifrado AES por bloqueo se devuelve en la llamada a la API que muestra los dispositivos que hicimos anteriormente. Desbloqueo masivo sobre alguien?

¿Encerrado? Esta es una solución alternativa

Si se encuentra encerrado, probablemente se pregunte cómo puede salir sin herramientas pesadas o una visita a la sala de emergencias

El diseño del pasador de bloqueo utiliza un motor para retirarlo y, desafortunadamente, no es ferroso, por lo que no es fácil usar imanes ni «golpearlo» abierto (ya que lo usará). Tuve un poco de éxito con una cuña hecha de una lata cortada, pero la idea de metal puntiagudo afilado cerca de cualquier cosa importante no es ideal.

La «mejor» alternativa es hacer palanca para abrir el circuito de la junta área donde el delantero de botón y la luz es:

está pegado, pero salió sin mucho esfuerzo o daño. 3 voltios (dos pilas AA) aplicados a los cables blanco y amarillo es suficiente para accionar el motor de desbloqueo directamente (blanco = negativo, amarillo = positivo), una técnica conocida como «clavado».

Su departamento de emergencias local probablemente tendrá las herramientas adecuadas para cortar el metal de forma segura y sería su mejor primer puerto de escala.

Conclusión

Para una amenaza realista, el riesgo de fuga de datos personales parece más propenso a ser explotado y recompensado por un atacante.

Varios países tienen leyes opresivas que pueden exponer a los usuarios de este tipo de dispositivos a intereses injustificados de las fuerzas del orden y los fanáticos.

Además, es probable que los usuarios quieran mantener su vida privada en privado. Deben esperar privacidad por defecto y seguridad por diseño. Si uno quiere compartir información muy privada, entonces eso debe ser por intención explícita del usuario.

Muchos vendedores de juguetes para adultos han mostrado un desprecio casi total por la privacidad y la seguridad en los últimos años. Afortunadamente, proyectos como Internet of Dongs han ayudado a guiar a muchos hacia una mejor seguridad. Claramente Qiui no había entendido el mensaje.

Cronología de divulgación

La divulgación no fue tan fluida como esperábamos inicialmente:

20 de abril de 2020: les enviamos un mensaje preguntando a quién informar del problema. Respondieron muy rápidamente. ¡Órale!

No hay problema, así que lo intentó de nuevo, sin PGP:

Así que les mandamos los detalles. Reinaba el silencio.

26 de mayo de 2020: presionamos un poco más, respondieron, afirmando que lo arreglarían para el 6 de junio.

11/06/2020: se implementó una versión actualizada en la aplicación & Play Stores. Esto en su mayoría resolvió problemas con las solicitudes que ahora se ven obligadas a autenticarse. Sin embargo, se dejaron los puntos finales de API más antiguos, y las API nuevas aún devolvían ubicaciones exactas de usuario.

17 de junio de 2020: enviamos un mensaje detallando los problemas residuales, sin respuesta.

25 de junio de 2020: nos pusimos en contacto de nuevo, a través de un periodista, Qiui dijo que no querían arreglar (o no podían) ya que «solo» tenían $50,000.

el 30 de junio de 2020: hemos enviado un correo electrónico de seguimiento (y DM de twitter) con posibles correcciones para los problemas pendientes (y traducido al Chino por si acaso), sin respuesta.

10 de julio de 2020: nos pusimos en contacto con dos minoristas del dispositivo en el Reino Unido para informarles de los problemas. Uno de ellos lo retiró de la venta y se puso en contacto con mayoristas con sede en la UE. Qiui respondió a los minoristas que los problemas restantes se solucionarían «en agosto».

11 de septiembre de 2020: RenderMan de @InternetOfDongs también se puso en contacto con nosotros: había ayudado a otro investigador a través del proceso de divulgación con Qiui. @MikeTsenatek había encontrado un problema de restablecimiento de contraseña de forma independiente y también estaba luchando para que el proveedor lo escuchara. Por casualidad se dio cuenta de un tuit mío hace algún tiempo, pensó que podríamos estar mirando este dispositivo y contactando.

Tuvimos una gran llamada juntos donde intercambiamos experiencias notablemente similares de interacciones con Qiui! Su artículo está disponible aquí.

Esto reforzó nuestra decisión de publicar: claramente, era probable que otros encontraran estos temas independientes de nosotros, por lo que el caso de interés público se hizo en nuestras mentes.

RenderMan definitivamente merece elogios por sus continuos esfuerzos para negociar conversaciones entre investigadores y vendedores en la arena de juguetes para adultos. Algunos proveedores han realizado mejoras significativas en la seguridad y privacidad de sus productos como resultado de su arduo trabajo.

4 de octubre de 2020: Un tercer investigador nos contactó con preocupaciones similares.

6 de octubre de 2020: Publicamos en coordinación con las demás partes.

Actualización 27/01/2021

El distribuidor europeo de Qiui nos pidió que proporcionáramos una actualización de este blog a la luz de los desarrollos. Nos contactaron el 28 de diciembre, explicándonos que el problema era con la aplicación móvil. Este no era nuestro entendimiento, dado que los problemas de seguridad anteriores están en la API.

De todos modos, pedimos evidencia de esto y un tercero nos envió un informe de prueba de lápiz desde la aplicación móvil .

El informe se refería claramente a la aplicación móvil y había formulado una serie de recomendaciones.

Volvimos al distribuidor y pedimos una copia de un informe de prueba de lápiz de la API.

Esto llegó el 19 de enero. Se habían observado otros problemas, como resultado de una prueba de pluma totalmente autorizada, que no teníamos permiso para hacer durante nuestra investigación original.

Indican que los problemas móviles y de API ya se han resuelto.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.