Em me­a­dos de fe­ve­rei­ro de 2016, a Apple re­ce­beu uma or­dem ju­di­ci­al pa­ra que al­te­ras­se as de­fi­ni­ções de se­gu­ran­ça do iPho­ne, de for­ma a per­mi­tir que o FBI ace­des­se ao con­teú­do do te­le­mó­vel de um dos ati­ra­do­res res­pon­sá­vel pe­lo ata­que de San Bernardino, ocor­ri­do a 2 de de­zem­bro de 2015.

Perante a vi­si­bi­li­da­de mun­di­al que o ca­so ad­qui­riu, os gi­gan­tes tec­no­ló­gi­cos de­pres­sa tor­na­ram pú­bli­cas as su­as po­si­ções no que res­pei­ta à se­gu­ran­ça e à cri­a­ção de back­do­ors das su­as apli­ca­ções.

Google e Facebook aplau­di­ram a po­si­ção da Apple. Bill Gates nem por is­so.

A apli­ca­ção WhatsApp apro­vei­tou o es­pa­lha­fa­to e anun­ci­ou ao mun­do que to­das as su­as co­mu­ni­ca­ções de voz, tex­to, ima­gem e do­cu­men­tos, pas­sa­ri­am a es­tar en­crip­ta­das pa­ra to­dos os seus uti­li­za­do­res.

Que po­si­ção de­sa­fi­an­te! Que agra­dá­vel sur­pre­sa! Que be­lo pe­da­ço de quei­jo… na ra­to­ei­ra, à nos­sa es­pe­ra.

E tudo o Tobias levou

Tobias Boelter

Tobias Boelter

Em abril de 2016, Tobias Boelter, dou­to­ran­do na área de Segurança e Criptografia na Universidade de Berkeley, des­co­briu uma vul­ne­ra­bi­li­da­de do WhatsApp e reportou-a.

A res­pos­ta que re­ce­beu foi que a em­pre­sa ti­nha co­nhe­ci­men­to des­ta vul­ne­ra­bi­li­da­de mas que não es­ta­va ati­va­men­te a tra­ba­lhar pa­ra a eli­mi­nar. A vul­ne­ra­bi­li­da­de é mui­to fá­cil de si­mu­lar. Ora ve­jam.

Ou en­tão lei­am a ex­pli­ca­ção abai­xo.

A Ana e o Zacarias no WhatsApp

O que es­tá de er­ra­do nes­ta ima­gem? (Abstraiam-se dos que­ques, se con­se­gui­rem. Esses não ti­nham na­da de er­ra­do; provei-os e es­ta­vam óti­mos).

A Ana e o Zacarias no WhatsApp

No pas­sa­do dia 14 de maio, a Ana en­vi­ou um con­vi­te ao Zacarias e sua fa­mí­lia. A Ana não sa­bia que o Zacarias ti­nha o seu te­le­mó­vel ava­ri­a­do.

No dia 18 de maio, após a com­pra de um no­vo te­le­fo­ne e a ins­ta­la­ção do WhatsApp, o Zacarias re­ce­beu a men­sa­gem. Seria mes­mo o Zacarias?

No mes­mo dia, a Ana é no­ti­fi­ca­da que o có­di­go de se­gu­ran­ça do Zacarias foi al­te­ra­do, mas ape­nas e só de­pois da sua men­sa­gem ter si­do re­en­vi­a­da, pro­te­gi­da com um no­vo có­di­go de se­gu­ran­ça que a Ana não te­ve es­co­lha em acei­tar ou de­cli­nar an­tes da sua men­sa­gem ter si­do re­en­vi­a­da pa­ra o Zacarias (ou fal­so Zacarias!).

Nota: as no­ti­fi­ca­ções acer­ca da al­te­ra­ção dos có­di­gos de se­gu­ran­ça dos nos­sos con­tac­tos ativam-se se­le­ci­o­nan­do «Definições» > «Conta» > «Segurança» > «Mostrar no­ti­fi­ca­ções de se­gu­ran­ça».

Encriptação end-to-end

Em por­tu­guês é co­nhe­ci­da co­mo en­crip­ta­ção ponta-a-ponta e sig­ni­fi­ca que a men­sa­gem é en­crip­ta­da na ori­gem e de­sen­crip­ta­da no des­ti­no me­di­an­te a ve­ri­fi­ca­ção do res­pe­ti­vo e úni­co có­di­go de se­gu­ran­ça que per­mi­te ace­der ao con­teú­do da men­sa­gem, sem que se­ja pos­sí­vel uma ter­cei­ra en­ti­da­de o fa­zer.

É co­mo se a men­sa­gem es­ti­ve em­bru­lha­da em pa­pel de em­bru­lho (crip­to­gra­fia), por sua vez en­vol­to em cor­ren­tes e ca­de­a­do, cu­ja cha­ve é úni­ca e que, nes­te ca­so, é o có­di­go de se­gu­ran­ça as­so­ci­a­do a ca­da con­tac­to.

Na apli­ca­ção WhatsApp, pa­ra ca­da con­tac­to da nos­sa lis­ta, po­de­mos vi­su­a­li­zar o có­di­go de se­gu­ran­ça res­pe­ti­vo, se­le­ci­o­nan­do a op­ção «Ver Contacto» e es­co­lhen­do «Encriptação».

Código de segurança

Deste mo­do po­de­mos con­fir­mar que os nos­sos con­tac­tos são de fac­to quem ale­gam ser, me­di­an­te con­fir­ma­ção fí­si­ca e pre­sen­ci­al, atra­vés do lei­tor de có­di­go QR.

O WhatsApp de­ve­ria ga­ran­tir que a Ana e o Zacarias co­mu­ni­cam úni­ca e ex­clu­si­va­men­te sob es­tes có­di­gos de se­gu­ran­ça con­fir­ma­dos.

Simplificando, va­mos su­por en­tão que o có­di­go da Ana é a le­tra “A” e o có­di­go do Zacarias é a le­tra “Z”.

Sempre que a Ana con­vi­da o Zacarias pa­ra um ban­que­te de que­ques de fram­bo­e­sa, o Zacarias só de­ve­rá re­ce­ber o con­vi­te se a sua apli­ca­ção WhatsApp abrir a men­sa­gem da Ana com o có­di­go de se­gu­ran­ça “Z”.

Quando o Zacarias re­tri­buir, com um con­vi­te à Ana pa­ra um chá das 5, acom­pa­nha­do de sco­nes com pe­pi­tas de cho­co­la­te, a Ana só de­ve­rá re­ce­ber a men­sa­gem se a sua apli­ca­ção WhatsApp abrir o con­vi­te com a le­tra “A”, que é o có­di­go de se­gu­ran­ça que a iden­ti­fi­ca.

O pro­ble­ma es­tá no fac­to de que a ca­da tro­ca de te­le­mó­vel ou mes­mo a ca­da reins­ta­la­ção do WhatsApp, os có­di­gos úni­cos que iden­ti­fi­cam ca­da uti­li­za­dor mu­dam, e nes­te ca­so, o Zacarias dei­xou de ter o có­di­go “Z” e pas­sou a ter o có­di­go “Y”.

Então, co­mo se ex­pli­ca que o Zacarias te­nha re­ce­bi­do a men­sa­gem da Ana usan­do o có­di­go “Y” em vez de “Z”, sem que a Ana au­to­ri­zas­se?

Fechem essa porta, se fazem favor

Fechem essa porta, se fazem favor

É es­te o back­do­or do WhatsApp. Não adi­an­ta a em­pre­sa vir defender-se pu­bli­ca­men­te, ale­gan­do que es­ta vul­ne­ra­bi­li­da­de não é um back­do­or, por­que o é efe­ti­va­men­te.

Na gí­ria in­for­má­ti­ca, back­do­or entende-se co­mo uma por­ta do ca­va­lo ou uma por­ta das tra­sei­ras, pa­ra ser usa­da de for­ma for­ça­da ou ca­mu­fla­da, de ma­nei­ra a ace­der a um de­ter­mi­na­do equi­pa­men­to ou sis­te­ma.

Na si­tu­a­ção de en­vio de men­sa­gem fa­lha­do, ou se­ja, aque­las men­sa­gens que fi­cam ape­nas com um «tick», o WhatsApp da Ana, por sua au­to ini­ci­a­ti­va, vol­tou a em­bru­lhar a men­sa­gem e protegeu-a com o no­vo có­di­go de se­gu­ran­ça do Zacarias (ou já se­ria o Yacarias?) e re­en­vi­ou a men­sa­gem.

Em mo­men­to al­gum a Ana te­ve hi­pó­te­se de can­ce­lar o en­vio da men­sa­gem, ago­ra pro­te­gi­da com um no­vo có­di­go que ain­da não ti­nha si­do con­fir­ma­do pre­sen­ci­al­men­te.

Reparem que a ve­ri­fi­ca­ção pre­sen­ci­al do có­di­go QR é op­ci­o­nal.

Ou se­ja, o WhatsApp con­fia sem­pre nas no­vas cha­ves dos seus uti­li­za­do­res, sem que te­nha­mos de con­fir­mar que de fac­to os nos­sos con­tac­tos ain­da são quem ale­gam ser.

E is­to é um back­do­or.

A em­pre­sa, se­gun­do o The Guardian, ale­ga que es­te ti­po de si­tu­a­ções (tro­ca de car­tão SIM pa­ra ou­tro equi­pa­men­to ou reins­ta­la­ção da apli­ca­ção WhatsApp) são tão re­cor­ren­tes que é mais im­por­tan­te pa­ra os mais de mil mi­lhões de uti­li­za­do­res as­se­gu­rar o en­vio das men­sa­gens.

A po­si­ção ofi­ci­al do WhatsApp con­ti­nua a ser que se re­cu­sam ter­mi­nan­te­men­te a en­tre­gar a go­ver­nos um back­do­or pa­ra os seus sis­te­mas. Analisando ao de­ta­lhe, é cer­to que a em­pre­sa não tem aces­so di­re­to aos con­teú­dos par­ti­lha­dos pe­los seus uti­li­za­do­res.

Mas tem es­te back­do­or bem es­can­ca­ra­do pa­ra ser usa­do se con­vi­er: há for­ma de des­vi­ar men­sa­gens ain­da não en­tre­gues – as que são si­na­li­za­das com ape­nas um «tick»; as que apre­sen­tam dois «ticks» fo­ram en­tre­gues com su­ces­so – pa­ra al­guém que se fa­ça pas­sar pe­lo ver­da­dei­ro des­ti­na­tá­rio.

É pos­sí­vel re­ce­ber men­sa­gens as­su­min­do a iden­ti­da­de do des­ti­na­tá­rio, sem que o re­me­ten­te te­nha au­to­ri­za­do.

E is­to é um back­do­or ao al­can­ce de en­ti­da­des es­ta­tais au­to­ri­tá­ri­as e/ou di­ta­to­ri­ais e de hac­kers.

Uma ou­tra si­tu­a­ção em que po­de­rá ha­ver en­vio de men­sa­gens pa­ra des­ti­na­tá­ri­os er­ra­dos se­rá quan­do a ope­ra­do­ra atri­bui um nú­me­ro que es­ta­va na nos­sa lis­ta de con­tac­tos há anos (aque­le ami­go da fa­cul­da­de que não ve­mos des­de o úl­ti­mo jan­tar de reu­nião do cur­so Engenharia de Minas 92/93) a ou­trem, uma si­tu­a­ção co­mum em Portugal.

Dúvidas? Nós esclarecemos.

Para os agen­tes se­cre­tos Ana e Zacarias, da «Associação dos aman­tes de que­ques e sco­nes de do­min­go à tar­de», não é uma vul­ne­ra­bi­li­da­de que os obri­gue a de­sins­ta­lar a apli­ca­ção.

Mas em paí­ses on­de há efe­ti­va­men­te per­se­gui­ção abu­si­va por par­te das au­to­ri­da­des, prin­ci­pal­men­te po­lí­ti­ca, é uma si­tu­a­ção gra­ve.

Para quem pre­ci­sa de uma apli­ca­ção com en­crip­ta­ção end-to-end sem vul­ne­ra­bi­li­da­de, Tobias re­co­men­da a apli­ca­ção Signal, dis­po­ní­vel pa­ra Android e iOS.

O que é con­de­ná­vel nes­ta si­tu­a­ção é que a apre­go­a­da en­crip­ta­ção de fio a pa­vio pa­ra os mais de mil mi­lhões de uti­li­za­do­res pos­sui uma vul­ne­ra­bi­li­da­de co­nhe­ci­da, even­tu­al­men­te fá­cil de cor­ri­gir – bas­ta­ria que nos ca­sos em que a men­sa­gem es­tá em trân­si­to e o có­di­go de se­gu­ran­ça é al­te­ra­do, o re­me­ten­te pu­des­se op­tar por re­en­vi­ar ou can­ce­lar – e mes­mo as­sim o WhatsApp tem a ar­ro­gân­cia de ba­ter com o pé, fa­zen­do bir­ra, e recusando-se cor­ri­gir um bug de se­gu­ran­ça em no­me da usa­bi­li­da­de.

Shame on you, WhatsApp!

S. Carvalho

Bitaite de S. Carvalho

Matemático por paixão. Engenheiro de profissão. Progenitor dedicado de duas princesas.