MateAndroid – Oficina de instalação de LineageOS

Nesse domingo, 2/12/18 – 15h, no Tarrafa Hacker Clube, teremos uma oficina de instalação do sistema operacional LineageOS.

A Distribuição Android Lineage OS, é um sistema operacional de código aberto para smartphones e tablets, baseado na plataforma móvel Android. Lançado em 26 de Dezembro de 2016, LineageOS é um projeto que dá sequência ao falecido CyanogenMod, abandonado por seus desenvolvedores, e dá suporte a diversos modelos de telemóveis. Os cinco países onde a ROM é mais popular são: Índia, China, Brasil, Rússia e Alemanha.  Em menos de 1 ano (2017) o sistema já tinha mais de 1,7 milhões de dispositivos rodando o LineageOS, suportando 180 modelos de 23 fabricantes diferentes, e continua mantendo atualizações constantes.  A cada 10 dispositivos Android, 7 são alimentados por uma ROM antiga e insegura e LineageOS permite manter esses aparelhos rodando de forma segura e atualizada.

Segue lista de modelos com suporte:  https://wiki.lineageos.org/devices/

Lembre-se sempre de fazer suas copias de segurança antes de qualquer instalação!

 

Instalei o Signal, e agora?

O aplicativo Signal é uma das melhores opções neste momento para a comunicação via espertofone. Este mensageiro instantâneo criptografa suas mensagens de forma que somente você e a pessoa para quem você as enviou possam ler o conteúdo. Chamamos isso de criptografia de ponta a ponta. Porém, outros cuidados são necessários para manter sua conversa sigilosa. Como a criptografia é uma técnica muito forte de privacidade, os atacantes irão procurar outros meios mais fáceis, simples e baratos de conseguir suas informações, caso você seja um alvo visado individualmente.

Aviso: todos os meios de comunicação e aplicativos possuem vantagens e desvantagens. Estude, avalie, converse com suas amizades que possuem conhecimento técnico para mais informações. Uma rede de confiança é essencial para não termos que fazer tudo sozinhas.

A criptografia em si é confiável e ela depende muito mais da forma como é implementada (em nível de código) e não tanto do que você faz. Aplicativos como Signal e o zap se propõem a fazer tudo por você (chamamos isso de criptografia transparente; ela acontece sem que a gente veja). Porém, sua privacidade vai além da criptografia e também está vinculada às suas práticas cotidianas. Como disse um dos criadores do algoritmo RSA para criptografia, Adi Shamir, “a criptografia geralmente é desviada e não atacada de frente”. Então, preste atenção na sua parte dessa história:

Apague suas mensagens

Configure cada uma de suas conversas com um temporizador. A importância desta recomendação não está no canal usado para se comunicar, mas no armazenamento local. Caso alguém tenha acesso ao seu dispositivo não criptografado (seja por encontrar seu espertofone desbloqueado por acaso ou por você ser forçada a entregar sua senha), não encontrará nada lá dentro.

Escolha um contato, vá nas opções e aperte Mensagens Temporárias.

Depois, escolha um tempo que seja útil para você.

A mesma medida pode ser feita com qualquer forma de comunicação digital, como email ou zap. Por exemplo, vá na sua caixa de entrada e apague suas mensagens antigas.

Não faça backup na nuvem

Como consequência do primeiro ponto, não faça cópia da sua comunicação em serviços de terceiros. O Signal até oferece a opção de backup na memória interna do seu espertofone com proteção de uma senha de 30 números. Novamente, você ainda pode ser forçada (legalmente ou através de violência física) a fornecer suas senhas. (Outros aplicativos como zap ou i-messenger usam g-drive ou icloud para guardar uma cópia das suas mensagens, o que faz com que a criptografia de ponta a ponta seja TOTALMENTE anulada.)

Não aconselhamos nenhum tipo de backup.

Zóião

Cuidado com pessoas olhando por cima do seu ombro enquanto você lê e escreve suas mensagens e principalmente quando desbloqueia o app ou seu espertofone. Tenha atenção também com câmeras de vigilância. Recomendação simples: fica de costas para uma parede e toca ficha.

Verifique o Número de Segurança de seus contatos

Para ter certeza de que você está conversando com a pessoa certa, é importante verificar a chave criptográfica de seu contato. A melhor maneira de fazer isso é pessoalmente.

Lidar com a segurança de forma presencial pode nos ajudar a fortalecer nossos vínculos.

O Signal facilita esse processo de verificação: é só tocar no nome do contato de quem você quer verificar a chave dentro da própria conversa, rolar até a seção Privacidade e então tocar em Ver Número de Segurança.

Agora toque no seu código QR para abrir a câmera e escanear o código de seu contato. Se aparecer um ícone verde é porque deu tudo certo e agora você pode tocar em Verificado. Peça para seu contato repetir o processo e verificar o seu código. Depois disso fique atenta a qualquer aviso de mudança de Número de Segurança.

Configure um número PIN

O Signal (assim como o zap e o telegram) usa o seu número de telefone para fazer um cadastro único na rede interna do programa. Para evitar que outras pessoas usem sua conta do Signal porque conseguiram clonar seu número ou porque seu número foi vendido duas vezes pela cia de telefone (ou porque as agências de inteligência de Estado querem se passar por você com o apoio das telefônicas), você pode configurar um PIN de bloqueio de conta.

No Signal, vá em Configurações, Privacidade, role até a parte de baixo da tela e pressione em “PIN de Desbloqueio de Cadastro“.

Escolha um número e memorize-o. Quando você for usar o signal no PC ou em outro aparelho, esse PIN será exigido como forma de autenticação.

Rede de confiança

A comunicação em geral, assim como nossa organização, envolve várias pessoas e isso significa que todo mundo deve compartilhar práticas semelhantes de segurança. Por exemplo, essas mesmas precauções listadas aqui precisam ser entendidas e seguidas por todas as partes. Dessa forma, uma rede de confiança com respeito à comunicação segura vai se formando aos poucos. (Falaremos mais sobre rede de confiança em outra postagem). Lembre-se, a corrente sempre arrebenta no elo mais fraco. Ajude as pessoas do seu entorno a ficarem fortes com você.

Instalando LineageOS em seu Android

Hoje em dia smartphones são ferramentas que acompanham a maioria de nós o tempo todo. Esses dispositivos se tornaram computadores de bolso que utilizamos para fazer muito mais do que apenas ligações. Com eles tiramos fotos e gravamos vídeos, acessamos a internet, checamos nossos emails, interagimos em redes sociais e principalmente trocamos mensagens instantâneas com nossos contatos. Porém, ao contrário de computadores comuns, smartphones são computadores sobre os quais temos muito pouco controle.

Atualmente apenas dois sistemas operacionais de dispositivos móveis dominam o mercado, iOS desenvolvido pela Apple e Android desenvolvido pela Google. Enquanto que o primeiro é um sistema operacional proprietário, ou seja, uma caixa preta de código fechado, o segundo é parcialmente livre. Parcialmente porque o Android é composto de uma base livre com código aberto chamada de Android Open Source Project (AOSP) mas também de uma base proprietária, ambas desenvolvidas pela Google. Apesar de ser muitas vezes considerado um software livre, essa porção proprietária afeta a confiança do sistema como um todo. É impossível saber com certeza quais dados estão sendo coletados pela Google ou se existe algum tipo de backdoor escondido no sistema. Além disso, na maioria das vezes os dispositivos vem com um número limitado de atualizações o que faz com que fiquemos trancados em versões ultrapassadas e vulneráveis do Android. Outro problema corriqueiro é a falta de espaço de armazenamento porque não é possível excluir apps instalados pelo fabricante e que não utilizamos. Isso tudo somado ao fato que os smartphones são localizadores de alta precisão, constantemente ligados à antenas das operadoras, à sistemas de GPS e todo o tipo de sensores torna esse tipo de dispositivo um pesadelo em termos de segurança.

No entanto existem alternativas de sistemas operacionais para dispositivos móveis totalmente livres. Esses sistemas permitem que xs usuárixs reganhem certo controle sobre seus dispositivos, reduzindo a coleta de dados pela Google e aumentando a vida útil de seu aparelho. Uma dessas alternativas mais bem desenvolvidas e documentadas se chama LineageOS, uma distribuição baseada na porção livre do Android.

>>> Leia mais sobre outras alternativas aos serviços da Google
>>> Leia mais sobre as intenções da Google em Foda-se o Google [PDF]

O processo todo de instalação de um novo sistema operacional (também conhecidos como ROMs) em seu dispositivo varia bastante dependendo da marca e do modelo do celular, e alguns dispositivos sequer possuem maneiras fáceis de fazer essa troca. Nessa postagem vamos fazer um passo-a-passo de como instalar o LineageOS em celulares Samsung.

Antes de começar o tutorial é importante que você tenha em mãos um computador GNU/Linux com adb e heimdall instalados, um celular compatível, uma ferramenta de recuperação (sugerimos TWRP) especifica para o modelo de seu celular, o ROM especifico para o modelo de seu celular e um cabo USB>MicroUSB.

IMPORTANTE: Consulte a lista de modelos compatíveis no site do LineagesOS, como cada ROM é específico para cada modelo, tentar instalar um ROM de outro modelo pode deixar o celular inoperável.

1. No seu celular, libere a depuração USB e ADB nas configurações de desenvolvedor do celular. As vezes as configurações de desenvolvedor estão escondidas. Para encontrá-las você deve entrar no menu “Sobre o Dispositivo”(About) e clicar repetidamente em “Número da Versão” (Build Number).
2. Desligue seu dispositivo, e ligue novamente em modo download segurando vol para baixo + home + power e só então conecte o celular ao computador através do cabo USB. Aceita a responsabilidade de alterar o conteúdo de seu celular navegando com as teclas de volume conforme indicado na tela.
3.  Verifique se a conexão entre o celular e o computadro estão funcionando corretamente. Abra um terminal no seu computador e digite:

heimdall print-pit

Vários dados serão impressos na sua tela e o celular vai reiniciar em modo normal.

4. Desconecte o celular do computador e ligue-o novamente em modo download. Conecte ao computador e instale o arquivo de recuperação que você baixou para o celular usando o seguinte comando:

heimdall flash --BOOT o_nome_do_arquivo_twrp.img --RECOVERY o_nome_do_arquivo_twrp.img

Uma barra de progresso vai indicar o andamento da instalação. Aguarde o término. Uma vez que o processo estiver concluído, o celular irá reinicializar em modo de recuperação.
5. Passe o arquivo do LineageOS que você baixou para o arquivo raiz do cartão de memória do celular usando o adb. Em um terminal dentro da pasta onde o arquivo se encontra digite:

adb push nomedoarquivoLineageOS.zip /sdcard/

6. Faça o backup do seu sistema operacional atual selecionando a opção backup do TWRP.
7. Limpe seu dispositivo com a ferramenta Wipe >Advanced Wipe e selecionando os ítens cache, system e data
8. Volte ao menu principal do TWRP e selecione instalar.

Pronto! Agora é só aproveitar um sistema operacional livre, com atualizações regulares e muitas opções de customizações. Alguns aplicativos populares dependem de serviços proprietários da Google e portanto podem não funcionar perfeitamente. Sempre que possível prefira apps livres. Sugerimos a “loja” de apps F-Droid que tem uma vasta seleção de aplicativos livres.

 

 

Tecnota: Pequenas descobertas sobre smartphone 1

Esta é uma breve compilação das descobertas que fiz para smartphone e android. Até hoje tenho um pé atrás com smartphones. Não há dúvida de que são as ferramentas mais poderosas e pervasivas de vigilância jamais inventadas. Como lidar com isso é um dos problemas mais ignorados da tecnopolítica. As pessoas simplesmente foram engolidas e usam porque têm que usar.

Repositórios e APKs

A primeira pergunta que me veio quando pensei num espertofone foi “mas pra quê diabos um software obrigatoriamente (mesmo os gratuitos/free e/ou de código aberto) tem que passar por uma das stores das grandes corporações? Primeiro, rebatizar um software para “app” já me soou estranho. E é justamente essa a diferença: um app necessariamente gera receita. Obviamente, não pra mim, nem pra ti, mas para uma empresa que já ganha MUITO dinheiro.

Além disso, tu precisas estar devidamente cadastrado nessa corporação. Não só o teu nome e email, como sempre aconteceu na internet livre, mas hoje tens que colocar teu número telefone também. Isso significa ter seu nome real completo, RG, CPF e na maioria das vezes o teu endereço. De “eu só queria instalar um software e saber mais sobre tal assunto” a internet virou “aqui está a sua conta; e lembre-se que sabemos tudo sobre você”.

Na minha mentalidade primitiva de software, eu ficava pensando: “que coisa ridícula, cadê os instaladores? Quero só baixar anonimamente e instalar a parada”. Foi então que descobri que os apps para android são programas geralmente escritos em java e compactados em um arquivo .APK. Instalar um apk é basicamente criar uma pasta e um atalho na janelinha do “telefone”. Ou seja, muito mais simples que a instalação de um software em linux, por exemplo.

Foi aí que descobri o site www.apkpure.com , que contém apks de tudo quanto é repositório de android. Ali é possível baixar sem se cadastrar. Tem também o repositório f-droid com vários app de código aberto.

Mas e como fica a segurança? Como vou saber que o software, na verdade o app, está igual ao que o desenvolvedor lançou? Como vou saber se não colocaram uma backdoor ou outro tipo de código malicioso? Boa pergunta. Como você que usa g-play ou i-store pode garantir isso? Que garantia de privacidade você tem do gugou? Pois é, nenhuma. Prefiro tentar aprender mais sobre segurança e trazer esse poder pra mim do que confiar numa empresa que sabidamente negocia os dados de seus clientes.

Navegador Orfox

Ao instalar o orbot (pra usar a rede TOR no smartphone), descobri que o Guardian Project tinha lançado há pouco um novo navegador para telefone que substituiria o orweb. O orfox procura manter os mesmos objetivos de projeto do Tor Browser ao mesmo tempo que incorpora várias funcionalidades do firefox para android. Seu código é aberto e pode ser revisado aqui. As diferenças entre o orfox e o tor browser e o orweb estão descritas aqui.

SSH Droid

Outra pergunta que me vinha era: “como posso acessar TODOS os arquivos que estão no meu espertofone?” Eu olhava aquela interface do android sobre meus apps e ficava totalmente insatisfeito. Não sou nenhum hacker e não entendo quase nada de programação, mas não saber o que tá ali era muito frustrante.

Foi então que descobri uma forma de acessar o diretório raiz do telefone!

O que fiz foi basicamente o seguinte: instalei o sshdroid, criei um ponto de acesso sem fio no meu notebook, rodei o sshdroid para criar um servidor SSH no telefone e me conectei a ele via file explorer no linux. Segue abaixo o tutorial.

  1. No celular, baixe o SSHDroid pelo repositório f-droid.
  2. No notebook com debian, ubuntu ou linux mint, vá nas suas configurações de rede e simplesmente aperto o botão “criar um ponto de acesso sem fio”. Isso faz com que outros computadores possam se conectar remotamente ao seu computador. Na janela seguinte aparecerá o nome da rede e a senha.
  3. no celular, habilite o adaptador de rede wi-fi e conecte-se a rede criada no notebook.
  4. no celular, rode o SSHdroid. Automaticamente ele criará um servidor ssh no seu celular. Seu endereço será algo como “root@192.168.1.101”. A senha padrão é “admin”.
  5. no notebook, vá no file explorer, arquivo->conectar-se a um servidor. Escolha o protocolo SSH e digite o endereço IP. Coloque “root” como usuário e “admin” como senha.

Pronto! Divirta-se explorando o sistema de arquivos do seu espertofone desde a raiz. O tutorial completo em inglês está aqui.

Mesmo assim, não me dei por satisfeito pois dependo do celular estar ligado e funcionando para poder fazer todo esse malabarismo. Gostaria mesmo de poder acessar a memória do telefone direto do meu notebook. Isso aprenderei assim que conseguir trocar o sistema operacional do telefone (de android para securegen ou replicant). (É bem desagradável não ter uma única boa opção de sistema operacional para telefone!)

Shashlik

Esse é um software que roda programas de android no ambiente linux. Infelizmente só tem para arquiteturas de 64bits. Site.