Hace 3 años | Por --642813-- a medium.com
Publicado hace 3 años por --642813-- a medium.com

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

Comentarios

D

#2 Ojalá fueran sólo 2000 años.

ytuqdizes

#3 Bueno depende. Igual yo prefiero que no sea de código abierto y mi voto vale lo mismo que el tuyo... Será discutible, pero triste no...

D

#15 y cual es la razón de que quieras que el código no sea abierto

ytuqdizes

#17 Uno es que su desarrollo tiene un coste, y tal vez no quiera dejar ese software disponible para otros paises para que lo usen por la patilla. En el caso concreto de una aplicación para combatir la covid, entiendo que la colaboración entre países nos beneficía más, pero no creo que por defecto todo deba ser abierto.

ytuqdizes

#28
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...

orangutan

#28 #21 De hecho no recuerdo ahora que país fue en concreto (no sé si Suiza), pero un país europeo si que liberó su código.

ytuqdizes

#44
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

Ferk

#48 "Una aplicación de este tipo" != "todo"

ytuqdizes

#49 No soy el más listo, pero hago lo que puedo lol

editado:
Ey! el comentario #44 ha crecido!!!

Ferk

#51 Tampoco es eso hombre.
Además, te mereces positivo por releer las cosas.

a

#21 La aplicacion alemana es opensource, con su codigo publicado en internet y ha costado 69 millones de Euros.

Me gustaria ver el codigo de esta para ver "cuanto de parecida" es a la alemana.

y por si no te lo crees: https://github.com/corona-warn-app

mdotg

#21 Quizás no debería ser la empresa quien decide si es abierto o no sino el gobierno cuando hace la licitación

M

#3 #1 la app no tiene ningún problema, esta limpia. Solo dos aclaraciones

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

p

#60 Creo que la ingenieria inversa en españa no es delito. Lo que es delito es como uses luego el codigo, es decir si lo alteras, lo usas para robar datos etc

M

#76 #79 estas modificando algo que tiene propiedad intelectual y no lo estás usando con el fin del que fue diseñado

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...

D

#88 Échale un vistazo al artículo 100.3 de la Ley de Propiedad Intelectual española vigente: https://www.boe.es/buscar/act.php?id=BOE-A-1996-8930

M

#93 las leyes no están pensadas para este escenario, y depende de la interpretación del juez. Como he dicho en el comentario anterior, tu puedes usar la aplicación pero no tienes acceso al código fuente. Es un secreto y no tienes autorización para acceder a el

Aquí lo explican un poco mejor https://elderecho.com/medidas-de-seguridad-ingenieria-inversa-y-privacidad

M

#97 lee #98

sam2001

#99 Sí, leí en su día ese artículo, son de unos compañeros de hecho, pero ahí ni siquiera hablan de delitos. ¿Sabes entonces en qué artículo del código penal se castiga la conducta de mirar el código fuente mediante ingeniería inversa? Porque empiezo a sospechar que es algo que te has inventado, no sé si por ignorancia deliberada o no.

D

#98 Me temo que estás mezclando cosas. Una cosa es hacer ingeniería inversa simplemente, y otra, que es de lo que habla ese artículo que pones, es utilizar ingeniería inversa para obtener claves de descifrado que te permitan acceder a información privada. Lo segundo claro que es ilegal, pero no por hacer la ingeniería inversa en sí, sino por usarla para romper un cifrado que protege la privacidad de otros.

Un ejemplo: yo puedo hacer ingeniería inversa de un reproductor de DVD, pero lo que no puedo es aprovechar esa ingeniería inversa para extraer la clave de descifrado de los DVDs y usarla para piratearlos. En otras palabras: que haya obtenido esa clave "legalmente" no me permite utilizarla para acceder a esos contenidos sin autorización.

D

#60 La ingeniería inversa en sí no es delito. Se podría discutir si publicas claves privadas, y lo que sería delito en todo caso sería utilizar en tus desarrollos el código obtenido de la ingeniería inversa. Pero la ingeniería inversa en sí no lo es.

sam2001

#60 ¿Qué delito exactamente (del Código Penal español) se está cometiendo?

M

#90 al tener acceso al código fuente, estás haciendo una posible revelación de secretos y vulnerando la propiedad intelectual

Tu tienes una licencia que te permite usar una aplicación, pero no ver el código fuente

sam2001

#96 ¿Dónde pone eso en el Código Penal? ¿Dónde pone en el Código Penal que ver el código fuente de un programa informático sea delito?

redscare

#96 Y eso no debería ir si acaso por lo civil o mercantil. No pega mucho en lo penal, no?

a

#3 Por lo menos que no sean obligatorios los Google Play Services.

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.

a

#70 O sea, una cagada. Seguro que se puede programar sin necesidad de usar la API de Google, como miles de apps que sí puedo usar en mi móvil, incluidas muchas que usan localización.

D

#75 Por supuesto que se puede, pero la ventaja de la API de Google es que incluye, precisamente, el protocolo de comunicación sobre Bluetooth "estandarizado" para la Covid-19, con lo que las diversas apps de todos los países no necesitan implementarlo, lo que garantiza que siempre serán interoperables entre sí sin nada de esfuerzo, tanto entre Android e iOS como entre distintos países. Teniendo en cuenta la situación de pandemia y la prisa por sacarla, tiene sentido que forme parte del sistema operativo.

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.

javierchiclana

#70 Con ello deja fuera a los Huawei de nueva hornada roll

sorrillo

#84 Ante una pandemia cada día cuenta, cada día con herramientas disponibles salva vidas.

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.

m

#3: Y que pida un teléfono último modelo o casi, o al menos yo he intentado instalarla y no me sale porque al parecer no renuevo mi móvil cada 6 meses.

Tom__Bombadil

#86 Ummmm, no.

Se puede instalar desde Android 6.0 (finales de 2015) o desde iOS 13.5 (iPhone 6S, finales de 2015 también). Así que, más o menos un móvil de hace 4 años te sirve como poco.

4 años dista muchísimo de último modelo o casi.

jaitrum

#3 si, pero bueno, prometieron que el próximo mes publicarían el código.

Q

#3 ..mas la gestión publica de los datos

snowdenknows

#1 vaya tontería, anda que no espían las apps de google y las tienes con pruebas y sin pruebas lol

Meneacer

#1 Pues que la examinen ellos mismos... Ah, no, que hay que estudiar. Quita, quita...

T

#1 ALGUIEN ME PUEDE EXPLICAR PARA QUÉ SIRVE??? Es decir, alguien sabe qué ocurre cuando te llega un mensaje avisando de un contacto positivo? Pregunto si alguien LO SABE, no lo que creéis que ocurre.

orangutan

#c-6" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/3371828/order/6">#6 # 16 Es que no es lo mismo que te espie el gobierno americano que el español

Ne0

#34 y algunas piden acceso al patio trasero...

kmon

#6 mi favorita es la gente que te avisa de los peligros del 5G usando 4G, del cual también te advirtieron usando 3G

D

#16 Que tú regales esos datos no significa que los demás lo hagamos y des por supuesto que todos seamos unos ignorantes digitales como tú.

D

#57 Claro que sí campeón seguro que Google o Facebook no tiene ningun dato de ti.

Los insultos a los@admin.

D

#63 ¿Y como los va a obtener Google y Facebook sino uso ningún servicio de ellos?. En las páginas web uso VPN y NoScript así que todos los datos cargados son bloqueados (permito sólo el uso de la propia web) el resto bloqueados totalmente.

D

#89 y el móvil que tienes no es ni un Android no un IPhone no? Cuentame más....

D

#100 Es un nokia el N95 y sin internet en el mismo.

Telamarth

#10 En principio han prometido abrir la aplicación una vez este implementada en todo el país y deje de estar en fase de pruebas. Lo que debiera de ocurrir hacía mediado de septiembre.

barni

#18 vaya flipadas y movidas os montáis algunos

TinkerTinker

Yo la he probado y me pide que me instale cosas de Google. No funciona sin ellas?

R

#20 Vives sin play services? mi enhorabuena.

TinkerTinker

#24 #26 #27 No tengo los servicios de google play instalados. Es una rom personalizada.

D

#41 no, no funciona sin los servicios de Google, enhorabuena por no tenerlos.

e

#20 Debes tener un tlf poco actualizado, porque hasta en un Android 6 con las play services actualizadas se instala sin problema. Si no tienes las play services al día (o casi) hay muchas apps que no te deben funcionar. Y las play services se actulializan solas cada vez que actualizas una app aunque sea manualmente. Es raro.

Powertrip

#20 no te pide que instales cosas nuevas, sino que actualices las que tienes

E

#27 gente con 8GB o menos es un calvario para actualizar y van tirando borrando fotos de WhatsApp de vez en cuando.

D

#20 Google Play services es el servicio del market de Google play https://play.google.com/store/apps/details?id=com.google.android.gms, a menos que no quieras actualizarla por motivos concretos deberías tenerla actualizada siempre

redscare

#20 Si tira de librerías comunes que son parte de los google services... pues pinta que no.

c

¿Eso no tiraba del nuevo servicio de Google "Notificaciones de exposición a COVID-19"?

e

#8 Sí, de hecho si te vas a los "ajustes de Google" del tlf, ves esa opción y te dice que en este momento está usando Radar Covid como app de apoyo.

D

#8 Los permisos para usar esa API están también en el artículo. El único que necesita la aplicación es el de recibir notificaciones desde esa API de que has estado expuesto, y la notificación la recibirás si un usuario que esté entre tus contactos ha sido diagnosticado.

D

#29 Sólo si se usa esa característica. Por cierto, se llama reflexión https://es.wikipedia.org/wiki/Reflexi%C3%B3n_(inform%C3%A1tica), no refracción.

D

Me parece un analisis bastante pobre.
Lo suyo seria ver lo que envia por red y lo que recibe.

D

#7 pues con los permisos que solicita no puede enviar mucho más que tu ubicación e información de la Red a la que está conectado el teléfono.

D

#11 hace falta algun permiso especial en android 6 para copiar el portapapeles (que puede tener datos privados) y enviarlo usando un servicio web?

D

#18 es de suponer lo habrían visto en el código, al igual que han visto los listeners para conectar a los diferentes servicios. Y de todas formas enviar el contenido del portapapeles en texto plano no sería muy útil ya que literalmente puede contener cualquier tipo de información y no sé yo de ninguna IA capaz de coger como entrada cualquiera dato y darlo sentido.

t

#18 ¿Hace falta abrirse una cuenta todos los meses para parecer idiota? ¿O se es a priori sin necesidad?

kmon

#7 no enviará nada por la red porque se comunica con la api de Google, que sí enviará los datos a Google

redscare

#47 tinfoil tinfoil tinfoil

Escheriano

#13 sí sí, me refería a la segunda captura.

Escheriano

El código de la captura, es la ofuscación, ¿no?

uyquefrio

#4 Es el archivo manifest de android, en resumidas cuentas es donde se define el nombre la app y los permisos entre otras cosas.

D

#13 Creo que #4 se refiere a una captura que hay más abajo.
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.

a

#22 Pero Java permite refracción. Lo cual significa que el nombre de las variables debería estar guardado en el fichero objeto también

D

#29 ¿refracción?

t

#4 En Android Studio tienes disponible Proguard.

redscare

#4 No parece ofuscado, simplemente el decompilador se ha inventado unos cuantos nombres de variables. Si estuviera ofuscado no habría dios que entendiese nada sin echarle una pila de horas.

W

#62 Y si lo ofuscas muy, muy bien, ni echando pila de horas. El problema es que afecta al rendimiento de la aplicación así que, normalmente, no se suelen tomar muchas molestias en realizar ofuscados excesivamente fuertes.

redscare

#78 Y que hay decompiladores que se pasan la ofuscación por el forro de los webos. Como dicen en ingles, el 'security through obscurity' nunca es buena idea.

W

#83 Ya no es sólo en lenguajes compilados. Yo he visto código ofuscado en JavaScript que era una maldita pesadilla, con funciones de "auto-defensa" sobre modificaciones en el código, infinidad de código basura entremezclado con el código legítimo, protección anti-debugging y otras muchas barbaridades típicas de un ofuscado muy a lo bestia.
No sé lo que querrían esconder, pero se me quitaron rápido las ganas de intentar descubrirlo, la verdad.

Nova6K0

#77 Gracias. Precisamente si lo preguntaba es porque ya sabía eso. Pero sigue sin convencerme, aunque no sea directamente culpa de la aplicación.

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.

D

Yo la tengo instalada y no me ha avisado de ningún contacto cercano con positivo.

blockchain

#35 yo tb, estoy en madrid y se supone que no estamos adheridos aún. No acabo de entender exactamente qué implica.


Me pregunto si eso significa que la app no reporta contactos o que aunque los reporte la sanidad de madrid pasará de mi

Black_Phillip

Yo el mayor fallo que le veo a la app es justamente el anonimato. Si un grupo de imbeciles en actitud de troleo, que haberlos haylos, activa que son positivos (sea cierto o no) y pase por sitios donde trascurra mucha gente bastará para empezar a crear paranoia.

Nova6K0

En un supuesto de instalar Radar Covid, si le digo que no quiero usar la ubicación ¿me funcionaría? (ya sé la respuesta, en realidad). Lo digo porque cuando instalé Instagram, me preguntó si podía usar la ubicación y le dije que no y aquí la tengo funcionando igualmente.

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.

Telamarth

#74 A mediados de septiembre aproximadamente deberían abrir su código. Así lo han prometido varias veces.

pip

Estamos de acuerdo en que la aplicación debería de ser de código abierto.
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.

Sofa_Knight

Desgraciadamente mi versión de Android está anticuada y no puedo instalarla.

m

Jajajaja vaya ingeniería inversa, se ha matao. Nice pantallazos.

D

Cuando dice "los contactos" se refiere a gente que ha pasado cerca de tu móvil con el bluetoth activo teniendo ambos la app instalada, ¿no?

insulabarataria

#68

D

se ha explicado mil veces, las personas que se preocupan de su privacidad suelen ser las que precisamente no dan datos fácilmente

D

#59 Pues si,algunos se creen que todos los que se quejan de la privacidad,usan Google,Wuasa,redes sociales,etc.No se dan cuenta que muchos no usamos ninguno de esos servicios y no tenemos ningún problema en pedir privacidad en nuestros teléfonos o en nuestras vidas.

T

Chapó para los desarrolladores y para quién encargó la app

D

Cuando sea open source me lo pienso.

D

llamarte ignorante no es un insulto, dado que lo estás demostrando es una constatacion de la realidad.

D

moraleja, con el bluetooth nos localizan empresas y gobiernos sin ser conscientes de ello. Bien por google por obligar a dar permiso al servicio de localización, así la gente se pone sobreaviso.

Daniel_Jimenez_1

Pues mi cuñado, que sabe mucho de esto, me ha dicho todo lo contrario, que nos espían y nos van a instalar el 5G en cada móvil

D

#43 Pues a ver si hay suerte y me lo instalan en el Nokia 3310 que tengo en un cajón.

Daniel_Jimenez_1

#55 quien te ha dicho que no lo tiene ya instalado? No hace falta ni encenderlo

1 2