Vulnerabilidade no kernel Linux chinês

backdoor
backdoor

Não escrevo notícias, quero deixar mesmo como um registro para simples apreciação presente e futura sobre vulnerabilidade de sistema.

Backdoor: a vulnerabilidade inserida

Não é de hoje que os chineses inserem backdoors em seus dispositivos. Já tive um pendrive que a cada vez que era conectado ao computador, habilitava uma área escondida no início da memória e essa área tinha código malicioso que modificava informações no Windows no handshake com o dispositivo. Mas agora o caso é mais interessante, trata-se do kernel Linux.

Essa é a razão que gera o discurso estilo petista ‘open source não é seguro’, mas é por ser open source que essa informação pôde ser encontrada. Perceba que pela obrigatoriedade da disponibilização pública do código fonte (dentro da conformidade com a licença GPL), podemos ter acesso aos tantos milhões de linhas de códigos que compõe o sistema operacional. O caso é a complexidade para um usuário comum ou desenvolvedor ocasional encontrar uma falha destas.

Como a vunerabilidade funciona





A vulnerabilidade poderia ter sido inserida de forma discreta, mas foi gerado “uma chave do tamanho da porta”. Basicamente, uma mensagem “rootmydevice” é enviada ao kernel por meio de qualquer chamada de debbuging e no canal de parsing dessa mensagem ela é verificada. Casando com o backdoor, o “abre-te Cézamo” acontece dando ao usuário do momento todos os privilégios de root. Inacreditável? Então veja a simplicidade da ação:

Repare na linha 41 (aí já é após a cópia para o buffer), onde a brincadeira acontece. Logo em seguida a essa condicional, todos os privilégios são garantidos por simples chamadinhas, sem nenhuma complexidade.

Em nota, a fonte diz que “é provável que ocasionalmente, acidentalmente, irônicamente um desenvolvedor [esqueceu] de desabilitar [sem querer] um modo implementado para uso em desenvolvimento”:

The backdoor code is believed to have been left by mistake by the authors after completing the debugging process.

 

Isso demonstra os dois lados do open source; o quão frágil e o quão forte pode ser, porque bastou buscar para encontrar. Mas tem algo mais que quero falar tomando como exemplo essa vulnerabilidade.

Vulnerabilidades da urna eletrônica

Essa é uma questão que gostaria de co-relacionar. A empresa Diebold, desenvolvedora da urna eletrônica, já foi processada em diversos países por inserir backdoors de baixo nível que permitiram manipulação dos resultados. Ora, imagine que aqui no Brasil as milhares de linhas de código da urna eletrônica “não” são disponibilizadas de forma pública – o que fere mortalmente o princípio da licença do código utilizado. Segundamente, a urna não é passível de perícia, quando no máximo a legislação permite eventual auditoria – essa, feita dentro do ambiente disponibilizado em Brasilia, junto a um técnico da equipe de desenvolvimento deles e tão somente as partes solicitadas previamente podem ser analisadas. Ou seja, é necessário saber “o quê” e “onde” olhar antes de saber o que existe. Para aumentar a ironia, a solicitação pode ser recusada, caso a solicitação não seja aceita pelo supremo.

Se de interesse for, a resolução 23.999 exclarece todo o pleito sobre o processo de votação e daí podemos devanear a respeito dos meios. Nessa resolução fica claro que “somente empresas de auditoria cadastradas” podem interagir com a urna. Isto é, o código é público para quem eles permitam que seja.

Como o tema aqui não é urna eletrônica, não vou me extender, mas quero só deixar mais uma referência à respeito, que é o processo de fiscalização eleitoral (que também é uma piada de mal gosto) e minha última nota a respeito; a última fase da auditoria, que é a parte da implementação de segurança (aquela parte onde foi injetada o incerator, que permite  a inserção de programas não autorizados) é feita pela ABIN. Pra quem não sabe, a ABIN é a Agência Brasileira de Inteligência, algo como o nosso FBI. Ah, detalhe; a ABIN responde diretamente ao gabinete da presidência, ou seja, quem for presidente ganha um puxadinho de espionagem.

Prometo que esse é o último parágrafo a respeito – a “chave de ajuste de hora”, um dispositivo RTC para “ajustar” a hora da urna, caso tenha algum problema com o horário ao ser ligada no local de votação. Mas o interessante é que a urna é testada previamente, conforme determinação da legislação. E apenas 2 dias antes de seguir para votação ela é embalada. Como pode o relógio da máquina perder o horário? E como podem permitir que um dispositivo de ação ativa se conecte à imaculada urna eletrônica?

Por isso, devemos lutar para que a urna faça a impressão do voto, se no pior dos casos devamos permanecer com votação eletrônica.

Tema principal: o quão vulnerável estamos?

Quanto a sermos acessados remotamente, não seria algo trivial, exceto uma brecha em outro canto não tenha sido percebida ainda. Basicamente, qualquer serviço de rede que garanta acesso à /proc pode ser um risco potencial. De qualquer modo, tendo o código do kernel, essa brecha pode ser removida e o kernel, recompilado.

Referência da vulnerabilidade: http://thehackernews.com/2016/05/android-kernal-exploit.html

Inscreva-se no nosso newsletter, alí em cima à direita e receba novos posts por email.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR – https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR – https://www.facebook.com/groups/raspberrybr/
Orange Pi BR – https://www.facebook.com/groups/OrangePiBR/
Odroid BR – https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR – https://www.facebook.com/groups/SistemasEmbarcadosBR/
MIPS BR – https://www.facebook.com/groups/MIPSBR/
Do Bit ao Byte – https://www.facebook.com/groups/dobitaobyte/

Próximo post a caminho!

Agregador de Links - Loucuras da Net

Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.