581 - Software Livre e Segurança Eleitoral

candidaturas

    autores

    • Diego de Freitas Aranha - Universidade Estadual de Campinasmini-currículo

    resumo

    O sistema de votação eletrônica utilizado no Brasil é dos mais opacos no mundo, tanto do ponto de vista do processo de desenvolvimento empregado quanto da possibilidade de verificação independente de resultados por eleitores ou fiscais. Ainda assim, diversas vulnerabilidades puderam ser detectadas durante participação de equipe da UnB nos Testes Públicos de Segurança organizados pelo TSE, com impacto considerável no anonimato e destinação dos votos.

    proposta

    Esta palestra apresenta uma análise de segurança do software da urna eletrônica brasileira baseada na experiência dos autores enquanto participantes da 2a edição dos Testes Públicos de Segurança do Sistema Eletrônico de Votação organizados pelo Tribunal Superior Eleitoral (TSE). Durante o evento, foram detectadas vulnerabilidades no software que permitiram a recuperação em ordem dos votos computados. Apresentamos cenários onde as vulnerabilidades permitem a possibilidade de fraude eleitoral e sugestões para se restaurar a segurança dos mecanismos afetados. Também são apontadas outras fragilidades no software e nas práticas utilizadas para confecção do mesmo. Em particular, este trabalho versa sobre os principais problemas de projeto e/ou implementação de mecanismos de segurança detectados no software da urna eletrônica: proteção inadequada do sigilo do voto, cifração inadequada, armazenamento às claras de chaves criptográficas, utilização de algoritmos obsoletos, formulação equivocada do modelo de atacante, processo de desenvolvimento defeituoso e verificação insuficiente de integridade. Pode-se observar de antemão que vários dos recursos implementados no software da urna eletrônica não representam mecanismos de segurança, mas apenas de ofuscação, não resistindo a colaboradores internos ou atacantes persistentes. Como vários dos problemas encontrados resultam de falhas arquiteturais ou premissas inadequadas de projeto, é improvável que a intervenção pontual em algumas dessas questões resolva as causas fundamentais para a sua ocorrência. É imprescindível que se execute revisão crítica completa dos processos de desenvolvimento de software para que se estabeleçam boas práticas que tenham condições de evitar que novas vulnerabilidades sejam inseridas acidentalmente ou intencionalmente por agentes maliciosos internos ou externos. Por fim, discute-se como o modelo de desenvolvimento em software livre pode contribuir para o incremento de segurança da etapa final do processo eleitoral: a totalização dos votos.