Você está na página 1de 6

Julio3,2015

Ataque a sistema de voto electrnico Vot.Ar


(BUE) permite sumar multiples votos con una
sola boleta.

Introduccin

Elsistemadevotoelectrnico
vot.ar
escogidoparalaseleccioneslocalesdelaciudadde
BuenosAires,inspeccionadoporlaFacultaddeCIenciasExactasyNaturalesdelaUBAa
solicituddelTribunalSuperiordeJusticiadelaciudad,permitealterarlosresultadosdel
escrutinioencadamesa.

Eldomingo5dejuliodel2015serealizaporprimeravezenlaCiudaddeBuenosAiresuna
eleccinempleandounsistemadevotoelectrnico.Sonmuchaslaspolmicasquegenera
tantoanivellegalcomotcnicoenelmbitodelaseguridadinformtica.

Durantesemanaspreviasalaselecciones,ungrupodeentusiastasdelaseguridad
informticaintentamosofrecernuestraayudapordiferentesmediosteniendoinnumerables
reunionesconresponsablesypolticos,todasellasenvano.

Nuestroobjetivoeralarealizacindeuninformesobrelosaspectosfsicos,lgicosy
procedimentalesdeseguridadquefueratotalmenteindependienteyporsobretodo,no
partidario.Simplementedesdelaposicindeunciudadanoms.Afaltadecolaboracin,
nuestroltimorecursofuelarecoleccindeinformacinpblicaeninternetylautilizacin
pararealizarpruebasdelospuestospblicosdecapacitacin.

Estedocumentodemuestraunodeloserroresdeseguridadmsgravesencontrados,que
permitequecualquierelectormalintencionadodepositeunaboletaenlaurnaconunchip
grabadoparaalterarelresultadodelescrutinioprovisorio.

Descripcin e impacto del Ataque Multivoto

Elpresidentedemesaentregaacadavotanteinscritoenelpadrnunaboleta.Esta
contieneun
tag
deidentificacinporradiofrecuencia(RFID),compuestodeuncircuito
integrado(chip)yunaantena.MediantelasmquinasdeVot.Ar,elelectoreligelos
candidatosdesupreferencia,yestaseleccinsegrabaenelchipyseimprimeenlaboleta,
queesluegodepositadaenunaurnatradicional.

Alfinalizarloscomicios,elpresidentedemesaabrelaurnaycomienzaelconteodelos
votosempleandolamismamquina
vot.ar
medianteotrafuncindelprograma.Para
efectuarelconteo:

Apoyalaboletaenlamquina>secontabilizaunvoto.
Apoyalaprximaboleta>secontabilizaotrovoto.

Yashastafinalizarelrecuento.Elsoftwaredelamquinadevoto(PCcorriendosistema
operativoUbuntu14.04)nopermiterestarvotosalrecuentosinvolveracero.

Durantenuestrainvestigacindescubrimosqueesteprocesonoestcorrectamente
implementado,yatravsdeunerrordeprogramacinesposiblegrabarelchipmedianteun
simplesmartphonedeformaquecontengamltiplesvotosaunmismocandidato.
Cuandoelpresidenteapoyelaboletaenlamquina,ocurrirlosiguiente:

Unaboletaconchip>secontabilizanmltiplesvotos.

Demo

Ver video
https://www.youtube.com/watch?v=CTOCspLn6Zk

Detalles tcnicos

Elpseudocdigodelprogramaqueleeycuentalosvotoses:

class Selection(object):
...

def from_string(TAGcontent):
datatag = parse(TAGcontent)

...
candidates = []
for e in datatag.vote:
party_code = e["party"]
category_code = e["category"]
candidate = CandidateClass.get(category_code,
party_code)
candidates.append(candidate)

Primeroseleenlosdatosdelchipdelaboletaysealmacenanenlavariable
datatag.

Despusseinterpretalaseleccinyseagregaalalista
candidatos.

ElcdigoNUNCAverificasihaymsdeunvotoparaelmismocandidatoporelector,y
tampocolimitaunnmeromximodevotosporboleta.

Lafuncin
parse()
fallatambinenverificarlosdatosdeformaalguna.

Luego,laclase"
Count()
"sumalosvotos.Esteeselpseudocdigo:

class Count(object):

...
def add_selection(self, selection, RFIDserial=None):
if not RFIDserial or not self.serial_exists(RFIDserial):
for candidate in selection.candidates:
self.results[candidate.party_code,
candidate.category_code] += 1
if RFIDserial:
self._RFIDserials.append(RFIDserial)
...
else:
raise RepeatedSerial()

Aqulalistaquecontienelosmltiplesvotosesagregadaalavariable'
results
'.
Nuevamente,nohaymecanismoalgunoquedetectevotosrepetidos.

Falla de Recuento
Esteproblemapodrahabersesubsanadoenlafasederecuentodevotosasegurndosede
quelasumadevotoscoincidaconlacantidaddeboletas.Comopuedeverseenla
siguientefotografadelaimpresin,estaverificacinnoserealiza:


LamquinaemiteactaconuntotaldevotosaJefedeGobiernomayoraltotalgeneral.

Prueba de concepto

Hemosintentadohacerllegarnuestrapreocupacinsobrelafragilidaddeestesistemay
alertarsobrelosriesgosadiferentesautoridadessinxito.Fracasadaestaopcin,nuestra
responsabilidadcomociudadanosycomopracticantesdelaseguridadinformticanos
obligaapublicarestainformacinparaqueautoridadesdemesayfiscalesestnalerta
duranteelrecuento.

Elerrordetectadonoesnico,sinounejemplodeunproblemalgicoenunadelas
funcionesprincipalesdelsistema.Suconstatacinhaceevidentequelosprogramasno
fueronauditadosconformealasreglasdelarte,enparticularparaunaaplicacinquees
crticaenlaejecucindeunprocesofundamentaldelademocracia.

Lainformacinquepermitereproduciresteataquedeboletamultivotoyasehahecho
pblicapordiversosmedios.Comomedidapaliativa,nopublicaremoscdigoquefacilitela
creacindeboletasfraudulentashastadespusdetranscurridalaeleccin.

Estamosadisposicindelasautoridades,lospartidosy/operiodistasqueestninteresados
encomprobarlavulnerabilidadquesedescribeenestedocumento.

Solucin Paliativa
Lasolucindefondodeesteproblemaesnoemplearsistemasdeemisindelsufragiopor
mediosinformticos.Estosagregannuevasposibilidadesdeataquesyfraudessin
solucionarningunodelosproblemascaractersticosdenuestrosistemaelectoralqueno
puedaserresueltoconlaboletanicadepapel.

Elsistemafueimpuestodeformaapresurada,sineducacinapropiadaalosciudadanosni
lasautoridadesysinunaauditoradecdigoexhaustiva,comoclaramentedejaen
evidenciaesteejemplodeerrordeprogramacin.Porotraparte,laexperiencia
internacionalmuestraquetodosistemadevotoelectrnico,mstempranoquetarde,ha
resultadovulnerableaalgunaformadeataque.

Comopaliativo,recomendamosenfticamentealospresidentesdemesayalosfiscales
realizarlacontabilidadboletaporboletahaciendonfasisenlaimpresinporsobrela
informacindelchip.Es
indispensable
asegurarsedequelacantidaddeboletascoincide
exactamenteconlosvotoscontadosporlamquina.

Concarctermsgeneral,peronomenorimportancia,recomendamosnoconfiarenlos
resultadosgeneradosporlamquina
vot.ar
,yaqueaunquenohubierasidomanipulada
maliciosamente,laaparicindeestegruesoerroranteunainspeccinlimitadaentiempoy
mediospermiteinferirunaprogramacindeficienteyelprobablesurgimientodeotros
errorescrticos.

Aconsejamosdesarrollarunprocedimientomanualenparalelo,ejecutadoporlas
autoridadesdemesaylosfiscalesdelmismomodoquehistricamentesehaejecutado
paralaseleccionesconvencionales.

LLEVARCALCULADORAPARACONTROLARELACTA

Enlamedidadenuestrasposibilidadesdesarrollaremosunaaplicacinmvilparadetectar
elataqueenlasboletaselectrnicas.

Recomendacin

Durantenuestrainvestigacin,notamosquelaformayelestilodelaprogramacindel
sistemanoparecerealizadabajolosestrictosestndaresquerequierenaplicacionesde
infraestructuracrtica.

Durantenuestrainvestigacinnopudimosdeterminarsiesteyotroserroresdeseguridad
encontradossonintencionalesosedebenalatorpezadelosprogramadoresyfaltade
adecuadosprocesosdecontroldecalidaddelsoftware.

Desdeelcampodelaseguridaddelossistemasdeinformacin.evaluamosquelosriesgos
queintroduceelvotoelectrnicoentrminosdeerroresaccidentalesoataquesmaliciososa
granescalayfcilesdeencubrirsuperanconholguralosbeneficiosrealesopercibidosde
laautomatizacindeunpasocrticodelsistemaelectoral
.

Sehageneralizadolacreenciaquetodosistemasocialpuedesermigradoaunsistemade
computadoras,yqueestoimplicaautomticamenteunamejoraentrminosdeagilidady
economa,sinningunacontrapartida.Existenciertasaplicaciones,conrequerimientos
crticosdeseguridadinformtica,privacidadyusabilidad,paraloscualeslatecnologa

actualannopuededarrespuesta.Estossistemassoncomplejosyamayorcomplejidad,
mayoreselriesgodefalla.

Lacomunidadacadmicaylaindustriaannosabencmohacermquinasysistemas
segurosdeestetipo.Porestarazn,labuenaintencindeexplorarlamigracintecnolgica
delsistemadevotacindebeestarenglobadaenunproyectoqueincluyamltiples
iteracionesdeanlisisyretroalimentacinconlosdiversosactoresdelacomunidad.
Ningnavancetcnicodebedebilitarlademocracia.

Adhieren:
AlfredoOrtega
IvanArielBarreraOro
EnriqueChaparro
FernandoRuss
FranciscoAmato
JavierSmaldone
JulianoRizzo
NicolasWaisman
SergioDemianLerner

YgentedelaInternet..

Você também pode gostar