Cyanogenmods Updater vulnerável a ataques man-in-the-middle
A Cyanogen trouxe uma pequena revolução para o Android ao tornar simples a instalação de ROM's personalizadas, sem que o utilizador tivesse de passar pelo processo, nem sempre simples, de fazer root ao telefone.
Para além do mecanismo de instalação, o Cyanogem tem ainda um processo mais ou menos automático de actualização que mais uma vez retira ao utilizador qualquer intervenção e que coloca nos dispositivos a mais recente versão do Cyanogen.
Mas foi agora descoberto que este mecanismo de actualização está vulnerável e que com alguma facilidade pode ser enviada uma ROM qualquer, com as alterações que alguém mal intencionado queira introduzir num telefone.
Esta falha de segurança pode levar a que qualquer pessoa mal intencionada possa, com relativa facilidade, enviar para um equipamento que esteja a fazer a actualização do Cyanogen.
O problema está no facto de a chamada à API do Cyanogen ser feita sem recurso a mecanismos seguros e use a simples e insegura ligação de HTTP. As chamadas à API da Cyanogen é feita em claro e por isso pode ser desviada e os dados alterados.
Existe uma validação que é feita, a do md5sum que é enviado, mas assenta em dados que a própria resposta da API envia, que pode ser facilmente alterada.
Por passar em claro, e sem qualquer validação, torna-se simples para o atacante resgatar o pedido para uma máquina que controle e servir os dados que bem entender, tendo apenas de se preocupar em manter a coerência dos dados que enviar, uma vez que não será feita qualquer validação dos dados enviados.
Como foi provado por quem descobriu esta falha, este processo é muito simples de explicar e de implementar e pode levar a que, em teoria, um telefone veja instalada uma ROM alterada e com software malicioso.
To MITM someone’s update all you need to do is firstly grab a legit copy of the CM update they’re likely to upgrade to, unzip it, replace whatever you want inside it, md5sum it, then serve it up via http.
You replace the URL above with your evil URL, the md5sum with your new md5sum and the filename with your evil file. Then use something like mitmproxy + (Wifi pineapple/ARP spoofing/DNS spoofing/etc) to MITM the targets connection. mitmproxy will let you script/regex requests so you can replace the URL/md5sums automagically
Pode parecer um processo complexo, mas quem para quem está rotinado neste tipo de acções são apenas alguns passos simples e a utilização de software disponível na Internet.
Este problema está já a ser tratado pela Cyanogen, que entretanto disponibilizou o acesso às suas ROM's por HTTPS, mas por enquanto o Cyanogenmods Updater ainda não usa esta ligação segura e com validação de certificados.
Para já o que é recomendado é que descarreguem essas actualizações de forma manual, e recorrendo às ligações seguras, para garantirem que não estão a ser servidas ROM's alteradas e com software indesejado.
A confiança nestes mecanismos traz alguns perigos associados. Estão dispostos a aceitá-los e a conviver com eles?
Este artigo tem mais de um ano
Lol que filme, quem se vai dar ao trabalho de fazer um ataque mitm com uma ROM, e isso só acontece em locais que não usamos a nossa internet o que ja por si torna isto mais irreal!
Primeira regra de segurança ofensiva é atacar onde não estas a ser esperado.. Se pensas que ninguém se vai lembrar ou que ninguém se vai dar ao trabalho informo-te que estas muito mal protegido 😀
Tenho uma questão:
Estava a pensar usar Cyaogenmod updater no meu galaxy nexus para ele ter o android 4.4 mas aquilo não me diz a versão que eles metem no telemovel..
Como é que sei qual a versao do cyaogen \ android é q é instalada?
http://en.wikipedia.org/wiki/CyanogenMod#Version_history
Obg mas mesmo assim não sei se o instalador deles me instala a o cyaogenmod 10 ou 11… como o 11 ainda não chegou à versão final suponho que me vá instalar a versão 10 certo?
É que este instalador novo que eles tem não informam que versão de cyagonemod instala…
à partida será a versão 11
Só vai instalar a 10, a 11 ainda não é a final.
Podes sempre instalar por outros métodos se souberes:
1: Começa por instalar as drivers ADB para poderes comunicar com o smartphone
http://forum.xda-developers.com/showthread.php?t=2588979
2: Sacas a recovery ClockworkMod Recovery para o teu aparelho e pesquisas como flashar a recovery através dos comandos ADB.
https://www.clockworkmod.com/rommanager
3: Sacas a ROM do site cyanogenmod e instalas através da recovery que instalaste no ponto 2.
Todos os pontos precisam de um pouco de pesquisa, depois de fazer uma vez, torna-se facil :).
É preciso primeiro fazer o OEM unlock.
Obg pela dica!
Já agora aconselham a esperar pela versão final?
errado! se instalar pelo cyaongenmod installer vai instalar a última nightly build e não precisa de fazer root, unlock nem nada.. o installer faz tudo!! e apesar de ser uma nightly build é bastante estável, tenho no nexus 4 e recomendo!!
Faltou a parte do OEM unlock sim,obrigado Nelson.
Telmo Viana, limitei-me a ver a documentação, não sabia que instalava a nightly.
“What build type of CyanogenMod is installed with the installer?
The installer uses a stable snapshot build unique to the installer. These are stable builds designed to provide all core features and functionality of the device.”
Em mais pormenor deverá ser qualquer coisa assim para o Galaxy Nexus, corrijam-me se estiver enganado:
1) Instalação das drivers ADB para comunicação com o smartphone: http://forum.xda-developers.com/showthread.php?t=2588979
2) Ligar o telefone carregando no power + volup + voldown : aparece um menu
3) Ligar o telefone ao computador, e para ver se reconheceu o telefone abrir uma consola no windows e escrever: fastboot devices
4) Se não tiver o bootloader desbloqueado tem que se desbloquear usando o comando (perde-se todos os dados): fastboot oem unlock
5) Aceitar no telefone o desbloqueio
6) Fazer reboot com o comando: fastboot reboot-bootloader
7) Sacar e Flashar a recovery do site https://www.clockworkmod.com/rommanager (versão Google Galaxy Nexus (GSM)) e fazer: fastboot flash recovery recovery-clockwork-6.0.4.7-maguro.img
8) Fazer Reboot: fastboot reboot
9) Meter na raiz do cartão a ROM Cyanogenmod (versão maguro preferencialmente stable se houver)
10) Desligar o telefone e voltar a ligar com power + volup + voldown e no menu seleccionar recovery.
11) Entrar no menu da recovery e há-de aparece algo como “flash from sdcard ou zip”, seleccionar o ficheiro da ROM que está no cartão, instalar, esperar que faça o primeiro boot.
Pelo o que li convém fazer o wipe da cache e dalvik nas opções da recovery.
EacHTimE tenho no meu Gnex a cm-11-20140210-SNAPSHOT-M3-maguro.zip a funcionar sem problemas. Pelo menos não dei conta de nada.
uso a CM11 em 2 dispositivos, no nexus 4 tenho problemas com as CM11 Snapshots, por isso tenho usado nighlties e até agora 0 problemas, assim que sair a versao 11 stable experimento.
No meu S2 tenho o 4.4.2 desde que a CyanogenMod o lançou há dias. A versão deles para este 4.4.2 é a 11 (neste momento tenho a NIGHTLY actualizada ontem)
Só para dizer que sempre instalei o Cyanogenmod 11 – 4.4 Kit Kat com o novo instalador e é super simples e fácil!!
Está muito bom. É só fazer next e esperar e fica instalado.
Estou a gostar muito da ROM tb. É muito parecida com a da Google pura mas com mais opções malucas 😀
Obrigado a todos pelas informações
O 4.4 é a versão cm11
Estou a pensar usar uma rom no meu phone, mas pela que vi no cyanogen…tenho que ter uma app para windows correcto?
http://beta.download.cyanogenmod.org/install
passo 4 ??
correcto.. a instalação é bastante simples e nem chega a demorar 10 minutos
obrigado Telmo 😉
Estas Rom’s serão uma boa opção para maquinas antigas single core 1.4ghz e 512 de ram?
vou ter um problema com a app windows, mas vou ver se arranho uma vm, para instalar a app…
Já arranjei forma de salvar a bd das sms e mms, mas gostava de salvar as notas criadas na aplicação memorando(muito importante), conheces alguma app, ou os locais onde esta info é guardada??
obrigado
atenção que a partir dessa app só se consegue instalar para os dispositivos devidamente suportados.. A lista pode ser consultada aqui http://wiki.cyanogenmod.org/w/CyanogenMod_Installer#Supported_Devices
Em relação a serem boa opção para máquinas single core com 512 mb de ram, não lhe sei responder por experiência própria mas acredito que se houver para o dispositivo em questão então sim 😉
obrigado telmo 😉
vou avançar, a minha maquina está a precisar de velocidade 😛
Eu sou novo no mundo Android. Comprei em Novembro de 2013 o S4 mini (GT-I9195) e instalei a CM11 à dois dias. Ficou mais rápido, sem lixo da operadora e Samsung. Até agora estou a gostar.
para instalar segui as seguintes indicações:
http://forum.xda-developers.com/showthread.php?t=2558685
Devido a esta noticia, alterei as atualizações para manual.
Agradeço o excelente trabalho do Pplware. Vou ficando atento às novidades.
Cumprimentos
Fica sem o S voice, smart stay e samsung app store? é possível ter o gear manager, par quem tem o relógio?