A ver posts de Outubro de 2014

Entrada de escola
A partir desta foto de João Ornelas – Creative Commons BY-NC-SA 2.0

Conhecem a GIAE? Não? E se for a Gestão Integrada para Administração Escolar, ring a bell (pun oh-so-much intended)? Trocado por miúdos (vou tentar que este seja o último trocadinho deste post), é o sistema que gere os cartões de identificação dos putos nas escolas. Numas escolas é este, noutros é o SIGE (Sistema Integrado de Gestão de Escolas). Desconheço se há mais. Estes sistemas são implementados e (presumo) mantidos por empresas privadas.

Este post é sobre o GIAE, que é o usado na escola frequentada pela minha filha mais velha.

A coisa é conceptualmente interessante: serve para pagamentos dentro da escola (sujeito a pré-carregamento), controla as entradas e saídas e dispõe de um portal online onde os alunos e os encarregados de educação podem consultar os dados pessoais do aluno e dos encarregados de educação, saldos, consumos e registo de entradas¹. Até dá para comprar a senha da cantina (e ver as ementas da semana).

Portanto, o ano escolar iniciou-se no dia 15 de Setembro. Não sei porque raio, mas os cartões para alunos novos só vieram parar à mão da canalha no dia 10 de Outubro. Quase um mês, quando as listas de estudantes, turmas e tudo isso está feito há que tempos, mas pronto - sei lá, podem ter ficado sem smart cards em stock, ou assim.

No dia 10, em vez de darem logo os códigos aos alunos, não - ainda têm que se deslocar ao gabinete de apoio ao aluno para os pedir. Como agora os miúdos nem furos têm¹, isto foi por si só uma aventura; entre falta de tempo, e falta da pessoa responsável nas vezes em que lá foi, a minha filha só conseguiu pedir o código hoje. Pediram-lhe o cartão para confirmar a identidade (o cartão tem fotografia), e gastaram uma folha A4 inteirinha com uma tabela de duas linhas com o número do cartão, o nome dela, o código para consultas presenciais e as duas senhas para acesso online, aluno e encarregado de educação.

Os problemas começaram à tarde. Tínhamos uma reunião marcada com a directora de turma² e, enquanto esperávamos, sem saber que a nossa filha já tinha o código, resolvemos pedi-lo também.

Problema #1: o sistema não avisou o responsável que o código já tinha sido pedido (e o responsável também não deu conta que era a segunda vez naquele dia que lhe pediam os códigos daquele cartão).

Problema #2: o responsável não confirmou a nossa identidade. Chegámos, dissemos a turma e o nome, e ele passou-nos o papel para a mão. Aliás, ainda mais grave, imprimiu o papel para a secretaria e eu fui lá buscá-lo. Nem confirmou se éramos encarregados de educação da criança. É assim, à papo-seco.

Problema #3: ao chegar a casa, o receio que eu tinha confirmou-se logo: o código e as senhas eram os mesmos no papel da minha filha e no que eu tinha. Isto quer dizer que as senhas estão guardadas no sistema de forma recuperável. Nunca, ever, em qualquer circunstância se guardam senhas em sistemas online. Guardam-se hashes, com salt. Isto é um processo irreversível. É possível confirmar que a senha introduzida está correcta, mas é impossível³, tendo-se acesso à hash e ao salt, recuperar a senha original. Da forma como está feito, se algum dia o sistema for comprometido, existem milhares de senhas de alunos e encarregados de educação por aí à solta, com acesso aos nomes completos, moradas, o que é comeu, a que horas entra e sai... E, dado o interesse suficiente, qualquer sistema é comprometido. A questão não é se, mas sim quando.

Problema #4: o procedimento padrão cá em casa quando se recebem códigos de algum lado, é mudá-los imediatamente. Entra-se na plataforma online e as condições para as senhas é serem alfanuméricas (A-Z, a-z e 0-9) e terem 8 caracteres. Não é até 8 ou no mínimo 8. É 8. Ponto. Isto é facilitar ainda mais o trabalho a um ataque brute force. E como quem cometeu estes erros até aqui provavelmente nem sabe o que é uma comparação XOR de tempo constante, palpita-me que tinha senhas nas mãos numa noite com um ataque de análise temporal.

São os sistemas que temos.


¹ Qualquer dia escrevo mais sobre o assunto, mas as escolas agora parecem presídios: controlo de entradas, os furos já nem são furos, que os miúdos têm aulas de substituição, os funcionários têm que andar sempre atrás deles... Porra, no meu tempo íamos para trás do ginásio jogar ao bate-pé!

² Felizmente, a nossa filha não dá problemas. O que me levou lá, e qualquer dia também escrevo mais sobre isto, é a insistência que a administração pública tem em usar tecnologias Microsoft sem qualquer alternativa. Isto é um problema de princípio para mim, até porque existe legislação nacional nesse sentido (Lei n.º 36/2011 e Resolução do Conselho de Ministros n.º 91/2012).

³ Impossível é uma palavra muito forte. Bastante improvável será mais o caso. De facto, é impossível calcular a senha original, mas é possível construir rainbow tables de todas as combinações de hashsalt possíveis e extrapolar uma senha que dê origem à mesma hash. O tempo e espaço necessários para esta construção com algoritmos recentes (recentes - nada de MD5, por favor) são impraticáveis.

Comentários Nenhum comentário Continuar a ler Continuar a ler »
 Categorias
 Arquivo
 Projectos em Destaque
 Últimas Postas no Blog
 Últimos Comentários do Blog