Llevamos unos días hablando sobre la privacidad y seguridad de la app del Gobierno de España para el rastreo de contactos relacionados con el COVID. Hemos hecho ingeniería inversa y no ha aparecido nada extraño. Análisis de su código
|
etiquetas: ingeniería inversa , radar covid , reversing
Loable realizar un trabajo... que debió no hacer, por incumplimiento de este gobierno
No sé si es por la ofuscación o por la "descompilación", pero es normal que los programas de desempaquetado asigne nombres aleatorios a las variables y objetos que identifica, ya que los originales sólo están disponibles en el código fuente original, no en los binarios o los ficheros objeto.
Repasando el código fuente (decompilado) de la aplicación Radar COVID no se detecta ningún uso “inapropiado”: no se obtiene la localización del usuario en ningún momento, no se accede a ningún fichero del dispositivo, no se accede a ningún servicio de telefonía (para, por ejemplo, obtener el MSISDN o enviar un SMS), …
Si tienes el código fuente, aunque sea decompilado en el caso de Java, no necesitas monitorizar la red para ver contra qué abre conexiones, porque cualquier destino lo tienes que tener en el código.
Y si hay datos ofuscados, cifrados, etc... se ve a simple vista y sabes que hasta que no consigas desofuscarlo, descifrarlo, etc... sabes no tienes seguridad de de qué hace ese código y entonces no asumes que la aplicación es segura.
Abriendo el código con un esquema de licenciamiento adecuado te puedes beneficiar de arreglos y mejoras que hagan otros.
Y dicho sea de paso, en este caso no estamos hablando de un desarrollo que tomó años y/o miles/millones de líneas de código, precisamente.
Acceso a tu agenda, grupo sanguíneo, historial sanitario e historial bancario
tienes una idea bastante distorsionada de lo que significa escribir y utilizar software de código abierto.
Bueno...
Abriendo el código con un esquema de licenciamiento adecuado te puedes beneficiar de arreglos y mejoras que hagan otros.
Es cierto, pero en algunos casos tal vez prefiero ocultar la lógica aunque no puedan ayudarme desde fuera...
Y dicho sea de paso, en este caso no estamos hablando de un desarrollo que tomó años y/o miles/millones de líneas de código, precisamente.
También es cierto, y en este caso concreto, creo que siendo abierto puede ser más beneficioso.
Mi objeción es que todo deba ser abierto por defecto simplemente por el hecho de que se haya financiado vía impuestos. Un país puede haber usado dinero público para pagar el diseño de cualquier otro tipo de tecnología (armas, por ejemplo) y no por eso se van publicando los diseños tan alegremente...
Y adermás nadie ha dicho "que por defecto todo deba ser abierto".
Ya existía código abierto desarrollado en Alemania (github.com/corona-warn-app), que lleva publicado desde mucho antes de que nuestro país tuviese siquiera prototipo. Por desgracia nuestra industria no va a poderse ver beneficiada por la publicidad que supondría el haber sido los primeros que publicaron el código para la aplicación. Y si lo liberasen dudo mucho que sea de mejor calidad que lo que existe actualmente... no me sorprendería de que no lo publiquen para evitar que se le caiga la cara de verguenza a más de uno. Sobretodo por lo mucho que se tardó y las comisiones que seguramente se haya tomado la empresa amiga por el camino.
Me pregunto si eso significa que la app no reporta contactos o que aunque los reporte la sanidad de madrid pasará de mi
Para empezar nadie ha dicho "que por defecto todo deba ser abierto"
Mi comentario venía por este texto de #3:
"Es triste que una aplicación de este tipo, financiada con dinero público, no sea código abierto desde el primer día"
Releyéndolo, si, tal vez lo haya malinterpretado. Pero bueno, creo que en mis comentarios anteriores ya he dejado claro a que argumento estaba contestando
Edit: Ey! el comentario #44 ha crecido!!!
Además, te mereces positivo por releer las cosas.
1 - técnicamente hacer Rev engineering en un delito. Nadie va a denunciarte, pero con la (estupida) ley en la mano, podría hacerse
2- usa mobsf. Es mucho más sencillo de ver toda la info
Los insultos a los @admin.
Yo uso LineageOS en mi móvil y puedo instalar la aplicación, pero en cuanto la ejecuto me exige esos servicios que no tengo.
Y no es lógico que se tenga que usar ingeniería inversa a una aplicación que se supone que iba a ser de código abierto.
Saludos.
Edit: www.xatakandroid.com/sistema-operativo/que-radar-covid-no-funciona-des
Ahora bien: la ingeniería inversa es igualmente necesaria, para verificar que el binario que se está distribuyendo es efectivamente el mismo código que el que está en el repositorio.
No todo el mundo va a compilarse el mismo la aplicación.
Aunque estoy de acuerdo en que deberían haberlo publicado también como un servicio aparte instalable manualmente, precisamente para los dispositivos que no utilicen las GApps.
play.google.com/store/apps/details?id=cat.gencat.mobi.StopCovid19Cat
play.google.com/store/apps/details?id=org.madrid.CoronaMadrid
play.google.com/store/apps/details?id=com.erictelm2m.colabora
Miles de euros a la basura.
No sé lo que querrían esconder, pero se me quitaron rápido las ganas de intentar descubrirlo, la verdad.
Y el Gobierno de España ha tardado meses en sacar una aplicación, de hecho creo que a fecha de hoy aún no está operativa en todo el conjunto del estado.
A mi no tenéis que convencerme, yo uso Frida e ida pro...
son leyes prehistóricas y posiblemente nadie la aplique nunca, pero con la ley en la mano...
Es más me recuerda a un estudio de piratería financiado por la RIAA (Las "majors" discográficas básicamente) y que decía eso que estaba financiado por la RIAA, pero que los resultados eran imparciales. Casi me caigo de culo, de la risa que me entró.
Saludos.
edit: cc #40 Irlanda
Tu tienes una licencia que te permite usar una aplicación, pero no ver el código fuente
Aquí lo explican un poco mejor elderecho.com/medidas-de-seguridad-ingenieria-inversa-y-privacidad