Profile picture
Diego F. Aranha @dfaranha
, 19 tweets, 6 min read Read on Twitter
Voto impresso está novamente em pauta, após @MPF_PGR iniciar Ação Direta de Inconstitucionalidade contra lei aprovada em 2016. Isso acontece logo após os Testes Públicos de Segurança de 2017, que apresentaram resultados mais graves até aqui. Senta que vai ser longo de novo! (1/)
Tudo começou no programa da @MonicaWaldvogel, quando debati com representante do TSE e praticamente fui desafiado a participar dos testes novamente, após vencê-los em 2012. Para detalhes sobre estes, ver minha outra sequência. (2/)
Havia um certo risco embutido na participação, pois tudo indicava que o TSE apostava na sobrevivência da urna eletrônica pelos testes de segurança para alegar que voto impresso não era necessário e poderia ser descartado, economizando tempo e recursos. (3/)
Recebi convite para coordenar uma equipe brilhante do @eltctfbr, composta por @thotypous, Pedro Yossis, @CaioLuders e @tncardoso. Novamente encontramos a primeira vulnerabilidade em poucos minutos de análise do código, porque já estava lá desde 2012... (4/)
A vulnerabilidade é um erro fundamental de projeto, a inserção de chaves criptográficas diretamente no software de votação. Erro clássico no desenvolvimento de sistemas, que data lá dos anos 80. Para outro exemplo de porquê é péssima a idéia, ver duhkattack.com (5/)
Com captura da chave criptográfica no código-fonte, abrimos as porções protegidas dos cartões de memória que instalam software na urna eletrônica, os chamados "flashes de carga". Equipe da @policiafederal depois encontrou outro caminho para a mesma chave, sem código-fonte. (6/)
A análise do conteúdo dos cartões mostrou alguns arquivos lá dentro sem autenticação com assinatura digital, que poderiam ser modificados arbitrariamente e ainda assim aceitos pela urna. Como cada cartão instala umas 50 urnas, abrangência do ataque pode ser amplificada. (7/)
Ao ganhar capacidade para injetar código NOSSO em arquivos sem autenticação, o "céu virou o limite", segundo palavras de alguém que acompanhava os trabalhos. Começamos a explorar as possibilidades para comprometer as propriedades de segurança do equipamento, uma a uma. (8/)
Para demonstrar a capacidade, *programamos* a urna para zerar outras chaves criptográfica, fragilizando o sigilo do voto; imprimir na tela o que era digitado em um teclado, habilitando dispositivos intrusos; adulterar o registro cronológico de eventos, alterando história. (9/)
Mas a cereja do bolo ficou reservada para o último dia, quando conseguimos injetar programas para rodar junto com o software de votação e manipular seu funcionamento, por exemplo alterando mensagens na tela do eleitor em tempo de votação: github.com/epicleet/tps20… (10/)
Continuamos trabalhando até os últimos instantes e chegamos MUITO perto de interferir com a contagem dos votos, sendo capazes de zerar os candidatos de uma cédula antes dos votos serem contabilizado, disparando um erro no sistema. (11/)
Apesar do dia adicional aprovado pela organização dos testes após solicitação nossa, faltaram 1 ou 2 horas para completar esse último objetivo. Se as condições de trabalho não fossem tão ruins no ambiente de testes, com certeza teríamos conseguido. (12/)
Pode parecer pouco para um leigo, mas não se enganem: injetar programas estranhos para alterar o software de votação permite fazer absolutamente QUALQUER COISA, é apenas uma questão de tempo e dedicação. (13/)
Esse tipo de ataque a sistemas computacionais é chamado na comunidade técnica de "execução arbitrária de código" e costuma recompensar pesquisadores que os descobrem com uma bela fortuna, dada sua gavidade. (14/)
O relatório do TSE com os resultados dos testes pode ser encontrado em tse.jus.br/hotsites/teste… . Apesar de estar razoavelmente acurado, leiam com senso crítico e lembrem que é a versão do Tribunal, repleta de eufemismos. (15/)
Para os curiosos da comunidade técnica, pedaços do código que escrevemos estão em github.com/epicleet/tps20… e podem ser examinados independentemente para verificar parcialmente nossas alegações técnicas. (16/)
Os resultados dos testes mostram, portanto, que comprovante físico e anônimo do voto é mais importante do que nunca; e validam as análises de segurança anteriores que apontaram vulnerabilidades graves na arquitetura do sistema. (17/)
Além da discussão técnica sobre vulnerabilidades e segurança do software de votação, o buraco é bem mais embaixo. Recomendo a leitura do livro "O mito da Urna:
Desvendando a (in)segurança da urna eletrônica" do Prof. Jeroen, para análise cuidadosa: facebook.com/omitodaurna/ (18/)
Essa sequência foi escrita com ajuda de uma mão que cumprimentou o então presidente do TSE, logo após os testes. Reporto finalmente que, apesar das preocupações em contrário, em dois meses essa mão ainda não caiu. FIM! 19/19)
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Diego F. Aranha
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!