Analitzem l’aplicació del Tsunami Democràtic

Advertència: la informació exposada a continuació és resultat de l’observació i anàlisi de l’aplicació distribuïda per Tsunami Democràtic. Es publica amb intenció pedagògica i per permetre que la ciutadania pugui treure les seves pròpies conclusions. Pirates no té cap vincle amb el Tsunami Democràtic.

El nou cicle encetat amb la sentència del Procés s’ha vist marcat per l’ús de les xarxes socials i la missatgeria instantània. Si el 15M va ser fruit de grups de Facebook, el Tsunami s’ha iniciat a Telegram amb rèpliques a Twitter. Però després de l’acció de bloqueig de l’aeroport d’El Prat, l’entitat ens va sorprendre amb una nova eina: una aplicació, només per Android, per a la coordinació d’accions pacífiques de desobediència civil.

Des de Pirates de Catalunya volem explicar el que hem pogut recollir i observar col·lectivament sobre el seu funcionament. Considerem que aquesta eina tindrà a les seves mans la seguretat de milers de catalans i catalanes, així que ha de ser sotmesa a l’escrutini més rigorós possible.

Abans d’entrar en l’anàlisi, volem fer èmfasi que l’absència del codi font original ha dificultat aquesta tasca i en circumstàncies normals seria raó per rebutjar-ne l’ús per no poder conèixer exactament què pot fer, però el nucli de l’aplicació, la comunicació de missatges, sí que és lliure. En aquest aspecte, malgrat ser lluny del nostre ideal, és millor que Telegram, que només el client és lliure, o les xarxes socials com Twitter, que són completament privatives i subjectes al criteri arbitrari d’una empresa que el seu negoci és l’explotació de les dades personals que obté per a publicitat i altres finalitats.

Retroshare: pedra de toc

No ens allargarem en aspectes tècnics de l’aplicació pel que fa a la interfície d’usuari i la interacció amb el maquinari dels dispositius (càmera, micròfon, GPS, etc). Només recollir que és una aplicació desenvolupada en Flutter i amb parts en diferents llenguatges. Però sí explicarem una mica més la peça principal, que ja s’ha explicat a xarxes i alguns mitjans: Retroshare.

Retroshare és un projecte lliure que permet crear xarxes xifrades entre amics per a comunicar-se, compartir fitxers, videoconferències, etc. sense cap servidor central. Es basa en el principi de xarxa de confiança, amb l’intercanvi (preferiblement presencial) de claus asimètriques.

Per fer més entenedora l’anterior frase, us proposem un exemple. Si dues persones comparteixen la clau d’una caixa, una persona pot tancar la caixa i l’altra pot obrir-la; això seria una clau simètrica perquè ambdues parts tenen la clau. Però en el cas d’una asimètrica, la caixa té un pany especial: accepta dues claus, una que en diem pública i una altra privada, i cada persona en té una de cada. Això permet que només es pugui obrir la caixa amb la combinació correcta de claus: la pública d’una persona i la privada de l’altra. En el cas de missatgeria, la persona A pot fer servir la clau pública de la persona B per xifrar un text, que la persona B podrà desxifrar amb la seva clau privada.

Retroshare està dissenyat per no tenir cap servidor central. Tal com IPFS, l’eina amb què es va replicar sense possibilitat de censura la web del referèndum del primer d’octubre, la informació no està centralitzada. La xarxa entre amics de Retroshare permet difondre missatges entre ells de forma automàtica perquè els arribin a tots. El model de xarxa no s’allunya del de xarxes com BitTorrent o diferents blockchains com Bitcoin, amb la diferència que aquí els nodes de la xarxa són coneguts de confiança, cadascú amb la seva identitat criptogràfica, i les claus no estan associades a les seves dades personals.

I com s’estableix aquesta confiança? Aquest és el paper dels codis QR i per això és important no compartir-los lliurement, ja que la xarxa de confiança perd sentit si no es respecta. Els codis QR són un mitjà per intercanviar les claus, ja que solen ser cadenes de text llargues i ferragoses d’escriure manualment. Probablement us pregunteu si les claus tenen més usos. Efectivament, aquestes serveixen per xifrar els missatges i també signar-los. Com us dèiem abans, amb la clau pública d’altri es xifren missatges que només podran llegir qui tingui la clau privada corresponent. I amb la privada es pot signar els missatges, per validar que són enviats per una clau pública coneguda. La tecnologia de xifrat implementada, GPG, és coneguda i provada.

Així, tenim una aplicació que converteix el dispositiu mòbil en un node d’una xarxa formada per persones de la nostra confiança, connectada mitjançant d’aquestes amb altres xarxes de persones fins a formar una gran xarxa on els missatges poden ser enviats des d’un punt d’aquesta i ser replicats a tothom que hi participa. Sobre el paper és una xarxa segura, però el factor humà sempre és la baula més feble de qualsevol sistema segur. Per això cal tenir molta cura amb qui es comparteixen les claus. Cap tecnologia és absolutament segura, sinó raonablement segura i això depèn molt del seu disseny i dels seus usuaris.

Què pot passar si instal·lo l’aplicació?

Volem advertir que a partir d’aquest punt hi ha certa especulació. Donada l’absència del codi font no podem validar si certes característiques de Retroshare són actives. Preguem que s’entengui el que ve a continuació com una crida a la prudència, no com una recomanació negativa de l’aplicació.

Retroshare fa servir una DHT (Distributed Hash Table o Taula d’Empremta Distribuïda) per indicar a quina adreça IP es troba cada amic. Aquesta informació és pública i per tant, relaciona la nostra clau amb una adreça IP. Una font anònima ha confirmat que l’aplicació fa servir la integració amb la xarxa Tor, que permeten ocultar la IP del dispositiu. En qualsevol cas, recomanem fer ús d’una VPN, com Mullvad, al dispositiu per ocultar-ne l’adreça IP.

Si no s’hagués fet servir Tor per la connectivitat, les IPs dels nostres dispositius quedaria exposades al DHT, encara que no relacionades amb la nostra identitat. En aquest cas, quina rellevància té l’associació d’una identitat criptogràfica amb una adreça IP? Un adversari estatal o superior amb accés a les comunicacions a baix nivell, assumint la col·laboració dels proveïdors d’Internet, podria relacionar un parell de claus amb una persona, tot creuant les hores en què es produeixen emissions del Tsunami, les IPs que hi intervenen, etc. Ara bé, és un atac que requereix una quantitat important de recursos, així com una intervenció completa de la infraestructura local d’Internet per a poder fer anàlisi de trànsit. A menor escala, poden fer-ho concentrant-se en usuaris “sospitosos”, tal com seria la intervenció d’una línia telefònica. D’aquestes dades que no són el contingut dels missatges se’n diuen metadades i diferents sistemes de vigilància les fan servir.

Més enllà de la connectivitat, que afortunadament es fa mitjançant Tor, i donada la naturalesa oberta i lliure de Retroshare, entenem que els missatges viatgen xifrats de punta a punta però desconeixem quin ús se li donen a les dades que es poden introduir a l’aplicació.

Per altra banda, el fet de no poder accedir al codi font ens impedeix confirmar quin ús es fa del micròfon, l’únic permís que no arribem a copsar quina utilitat pot tenir. Podem especular amb un possible accés a comunicacions per Veu IP, tal com permet Retroshare. També ens és impossible saber com es tracten les dades introduïdes a l’aplicatiu, si s’emmagatzemen fora del dispositiu – fet que introduïria un factor de centralització gens desitjable – o si es fan servir per filtrar notificacions en funció dels paràmetres com la ubicació actual i la proporcionada per l’usuari. Per coses com aquesta defensem el programari i maquinari lliures, per poder conèixer i verificar el funcionament de la tecnologia.

Però el veritable risc no és en l’eina en sí, sinó en la seva distribució. La distribució del fitxer APK, format binari instal·lable, descarregant-lo de la seva web obra la porta a webs falses que distribueixin versions malicioses modificades. El nostre consell és mai instal·lar res que ens facin arribar, sinó anar a la font original i assegurar-se que l’adreça a la que s’accedeix correspon a app.tsunamidemocratic.cat, o un altre subdomini seu.

Conclusió

L’aplicació de Tsunami Democràtic fa ús d’un fonament tècnicament sòlid per millorar la seguretat de les eines que s’estan fent servir actualment de forma massiva per a les mobilitzacions (com Telegram i Twitter) però no és cap panacea. Això mateix passa amb moltes altres tecnologies, ja que la tecnologia perfectament segura no existeix, només existeixen eines raonablement segures, de les que Retroshare sembla ser-ne una. No tenir accés al codi font de l’aplicació hi afegeix una incertesa addicional, així que resta a la consciència de cadascú decidir si assumeix els riscos inherents del seu ús, com en moltes altres decisions que es prenen dia rere dia, sovint sense consciència dels riscos que això comporta per la nostra privacitat i seguretat, com instal·lar l’última aplicació de moda que et modifica la cara. Però això ho deixem per un altre dia.

Pirates de Catalunya

8 respostes a “Analitzem l’aplicació del Tsunami Democràtic”

  1. Elisa rodriguez martos on

    A mi tot aixó hem sembla molt bé,pero crec que no arribará a tothom,a mi m'han passat dos QR i encará estic sense poguer fer rés!!

    Respon
  2. Tecnolliures on

    Moltes gràcies per aquest anàlisis! Veieu algun motiu per el cual no alliberen el codi d la app? Es podria alliberar sense revelar informació dels nodes centrals?

    Respon
  3. retroixer on

    Hola, gràcies per l'anàlisi contrarrellotge! És molt important decidir el suport que donarem i les demandes que farem per l'aplicació, i aporta molt el vostre article.

    Només volia corregir-vos amb una dada: les IP a retroshare NO són descobribles per ningú més que els nodes que has afegit. Hi ha anonimitat a partir del segon salt.

    Això és així primer perquè no és p2p estrictament , sinó f2f. Les connexions es fan només entre nodes de confiança, no tots amb tots, com en torrent. Les IP sí que es desen a una DHT, però les claus per accedir-hi no són públiques. El teu identificador no l'ha de conèixer ningú més que les teves amistats. Aquestes són les identitats "de node". Però les identitats que permeten comunicar-se tots amb tos són parells de clau que no tenen associada cap ip a la dht, i que simplement es distribueixen internament fent salts de confiança. Si voleu llegir els detalls de com es descobreixen els camins en multisalt (un objectiu semblant a la resolució de dominis onion en el context de Tor, però amb execució molt diferent) llegiu l'article enllaçat des del fosdem. Per sobre, que recordi (fa temps que ho vaig llegir), a mesura que li arriba contingut a un node, aquest va desant les identitats que hi apareixen i per on han arribat com un mac learning en un switch. És més complicat perquè no sempre arribaran a través del mateix node, així que es desen les probabilitats de cada identitat d'arribar per cada un dels nodes amics, de primer salt, i quan vol comunicar-se amb aquella id, envia als primer N nodes més probables, i cadabnode va fent el mateix.

    La idea general, és que les identitats es propaguen només per dins la xarxa de reteoshare, i que no tenen cap ip associada. Aquestes identitats "remotes" poden anar signades per identitats "de node", i llavors sí que si algú troba la id de cert node, podrà demostrar que tals identitats estan relacionades amb tal ip.

    L'exemple seria: estic en un fòrum obert que m'arriba a través d'algun node de confiança. Allà hi veig una entrada d'algú que no conec, però em mostra tal id " remota", i li escric un missatge personal que no anirà pel fòrum. Llavors, no tinc informació per "resoldre" aquesta id , no puc traduirla a una IP, pq les id remotes no es publiquen en dht. El que faig, en canvi, és xifrar el missatge per GPG amb la clau d'aquesta id, empaquetar-lo amb flags i detalls, i enviar-lo a un o més nodes amics esperant que algú pugui desxifrar-lo. La id destinatària no s'especifica per major confidencialitat. Els nodes intermedis provaran de desxifrar un hint per comprovar si va per ells o no. En cas que sí, se'l queden, en cas que no, el reenvien disminuint el TTL.

    Bé m'he repetit una mica, espero que s'hagi entès.

    La utilitat de retroshare amb tor o i2p és de poder afegir a tot déu sense preopcupar-se que tinguin la teva id de node, sense que la xarxa de contactes reflecteixi una xarxa de confiança. En RS amb tor (retrotor), es substitueix les ip en dht per justament adreces onion en la xarxa tor.

    Si podeu esmenar el vostre article us estaré molt agraït. Si voleu, podem extendre la conversa a https://github.com/s3rrallonga/s3rrallonga.github.io/issues/9

    Respon
  4. Jordi C on

    Donada la raonable difusió d'aquest text, no seria desitjable comptar amb la col·laboració d'algun dels desenvolupadors de l'app per a disoldre els dubtes raonables que se'n desprenen?

    Tenir feedback sobre la incapacitat de recursos que sembla desprendre's de la impossibilitat de registrar-se i trobar codis QR funcionals també seria boníssim per a tots els escèptics com jo.

    Respon
  5. retroixer on

    Hola,

    Crec que el vostre post aporta molt, però els dos paràgrafs sobre la IP em semblen molt agosarats. És possible que hagin fet servir malament la llibreria de Retroshare, però està pensada perquè justament la teva IP no s'exposi. En particular em preocupa que esteu equiparant "descentralitzat amb DHT" amb "IP vulnerable", i crec que és erroni.

    Els dos paràgrafs en qüestió són els que comencem amb "Retroshare fa servir una DHT…" i "Quina rellevància té l’associació d’una identitat criptogràfica amb una adreça IP?".

    M'he extès més al repositori a github de la web del TsunamiD. → https://github.com/s3rrallonga/s3rrallonga.github.io/issues/9#issuecomment-543090874

    Us demano si podeu contrastar el que dic i matisar l'article altrament esclaridor. Per exemple, en la presentació al FOSDEM, s'explica durant els 3 primers minuts del vídeo https://archive.fosdem.org/2019/schedule/event/retroshare_json/

    Respon

Deixa'ns un comentari

  • (no el publicarem)