O Mito da Anonimidade do Bitcoin

O site Wired traz um longo artigo de Andy Greenberg, sobre como agentes da lei, em conjunto com a empresa Chainalysis, desanonimizaram transações de bitcoin em 2017, para chegar a uma associação criminosa voltada ao abuso de menores.

Imagem: Pexels

Segundo o artigo,

alguns anos após a chegada do Bitcoin, pesquisadores acadêmicos de segurança – e depois empresas como a Chainalysis – começaram a abrir buracos nas máscaras que separam os endereços dos usuários do Bitcoin de suas identidades do mundo real. A empresa tinha capacidade de seguir bitcoins na blockchain enquanto os ‘bits‘ trafegavam de endereço em endereço até chegarem a um que pudesse ser vinculado a uma identidade conhecida.

Em alguns casos, um investigador da empresa foi capaz de descobrir os endereços de Bitcoin de uma pessoa ao negociar com ela em tempo real, da mesma forma que um agente de narcóticos disfarçado pode conduzir uma compra e apreensão. Em outros casos, os investigadores puderam conduzir as transações para uma conta onde os regulamentos financeiros exigiam que os usuários provassem sua identidade. Uma rápida intimação ao(s) investigador(es) envolvidos foi suficiente para revelar a identidade das outras partes e assim eliminar qualquer ilusão de anonimato do Bitcoin.

A Chainalysis combinava essas técnicas de desanonimização com métodos que permitiam “agrupar” endereços, mostrando que dezenas [até milhões] de endereços às vezes pertenciam a uma única pessoa ou organização. Por exemplo, quando moedas de dois [ou mais] desses endereços eram gastas em uma única transação, isso revelava que o criador dessa transação de “vários registros” devia ser o controlador de ambos os endereços, permitindo que a Chainalysis os agrupasse em uma única identidade.

Em outros casos, a Chainalysis podia seguir [o que traduzirei como] a “cadeia de embolso”– um processo análogo ao rastreamento de um único maço de dinheiro enquanto um usuário o ‘embolsa’ repetidamente, ou seja, retira algumas notas e o coloca em um bolso diferente [ver ‘peel chain‘].

Graças a truques como esses, o Bitcoin acabou se tornando praticamente o oposto de “não rastreável”: uma espécie de “pote de mel” para criminosos criptográficos que, durante anos, registraram de maneira obediente e inapagável as evidências de seus negócios mal feitos. Em 2017, agências como o FBI, a Drug Enforcement Agency e a divisão de Investigação Criminal do IRS já rastreavam transações de Bitcoin rotineiramente, muitas vezes com a ajuda da Chainalysis.

O Bitcoin pode ser rastreado

Os criminosos não conheciam a tecnologia subjacente à criptomoeda [ignorância compartilhada por virtualmente 100% dos ‘investidores’], e acreditavam no proverbial “anonimato do bitcoin”, uma lenda urbana concebida na época do lançamento da moeda pelo lendário Satoshi Nakamoto.

Essa suposta não-rastreabilidade do bitcoin (e todas as outras similares) nunca foi um assunto sério para os profissionais de software, muito menos para os especialistas em segurança. Porque a rastreabilidade está necessariamente embutida na arquitetura do sistema pelos próprios requisitos do software. As moedas digitais precisam garantir duas coisas:

  • um mecanismo anti “duplo gasto”.
  • um registro completamente público de todas as transações.

Exatamente por causa das medidas contra o duplo gasto, cada moeda digital tem um identificador único que atua como um ‘fio condutor da verdade’ em cada movimento. Some-se a isso as técnicas avançadas de comunicações, como a análise de tráfego, pareada com sua equivalente financeira, a análise de transações, e lá se vai a não-rastreabilidade.

Para aqueles que ainda estão com o braço levantado, perguntem a si mesmos: “em um sistema topologicamente homogêneo, “liso” – como deve ser a arquitetura de uma criptomoeda – que mato há para se esconder?”.

A única maneira de se esconder seria de alguma forma esgotar os recursos computacionais desses rastreamentos. Como os recursos necessários para rastrear a blockchain são consideravelmente menos intensivos do que os requeridos para realizar transações, se torna óbvio que a opção ‘esconder’ não está no cardápio.

É surpreendente o tempo que os ocasionais golpistas e, mais importante, as instituições de aplicação da lei, levam para perceber esses fatos.

A inexorável corrosão das liberdades

Em 2016, o Banco Central Europeu (BCE) anunciou que deixaria de cunhar notas de € 500, em uma medida que, segundo eles, visava coibir fraudes e lavagem de dinheiro. A nota de 500 euros é a segunda maior denominação atualmente na zona da moeda comum do euro, e o BCE diz que é a nota preferida entre os criminosos.

Embora o objetivo declarado fosse impedir o crime financeiro, certos comentaristas [entre os quais me incluo] defendem que esse movimento hoje faz parte da crescente tendência autoritária de controle social e eliminação do dissenso. O dinheiro em espécie é simplesmente livre demais, anônimo demais. Outros analistas sustentam que a ‘guerra’ ao dinheiro se insere em um cenário de ‘corrida para o abismo’ para enfraquecer as moedas, a fim de estimular economias em declínio em todo o mundo. Seja qual for a verdade, tudo indica que veremos a eliminação completa do papel-moeda – transformado em ‘tokens’ fiduciários armazenados como registros eletrônicos em contas bancárias.

Liberdade de escolha

Às vezes falamos de “consentimento informado”, para enfatizar nossa suposta liberdade de escolha. Nós ‘conscientemente escolhemos’ usar cartão de crédito, ou bitcoin. Mas com toda a honestidade, como alguém pode ser suficientemente “informado” de tudo, em toda e qualquer pequena oportunidade?

Afinal, quando você usa um cartão de crédito para fazer uma compra, você está suficientemente “informado” para saber tudo o que seus “registros comerciais em poder de terceiros” vão produzir? A atitude blasé das pessoas diante desses detalhes torna a coleta e venda desregulada de dados pessoais muito, muito assustadora.

Eu prefiro dinheiro vivo ao invés de plástico ou bitcoins, porque, segundo minha opinião “informada”, eu fico à mercê do governo e das corporações [ou coisas ainda piores] quando ‘escolho’ usar cartões ou bitcoins.

Os políticos agora querem me impedir de ter o direito de fazer essa escolha [sem dúvida esse será o novo grande debate nos parlamentos do mundo]. Eles querem forçar todos ao dinheiro eletrônico [no Brasil, aplicativos como o Pix representam o primeiro movimento nesse sentido]. Todos devem fazer sua parte na Economia da Vigilância para que novas formas de tributação e controle social possam ser introduzidas. Ah, e, claro, lucros muito maiores para o setor bancário, que se libertaria de qualquer concorrência nos métodos de pagamento.

Vamos ser sinceros, a blockchain, e o que ela mostra nas auditorias financeiras, é uma visão pública do que a maioria das empresas de cartão de crédito/débito mantém em seus registros privados. Não é à toa que os governos, no início desconfiados, agora abraçam a ideia da criptomoeda com paixão, facilitando sua aceitação, como aconteceu com os cartões de crédito.

Por essa facilidade de rastreamento a blockchain deverá ser algo positivo no mundo dos contratos [o que é um assunto à parte].

Post scriptum

E então há os telefones celulares e os registros detalhados que eles armazenam, incluindo “dados de localização” com um grau muito alto de precisão. O fato de eu ser efetivamente forçado, pela pressão social e institucional [de novo, o Pix], a carregar um dispositivo de rastreamento no bolso, não é fácil para mim. Não é “consentimento informado” de forma alguma. Minha escolha seria completamente diferente se eu tivesse uma.

Entre a privacidade e a segurança a sociedade ocidental fez uma “Escolha de Hobson” invertida [uma opção entre dois nadas], e no processo deu muito poder a pessoas que realmente não deveriam tê-lo.

* * *

Escrevo no dia 12 de abril. Este post marca um ano do domínio voxleone.com. Dia de pagamento pesado ao WordPress. Mas eu pago, trabalho até aos domingos e procuro fazer um conteúdo de muita qualidade [138 artigos, 200.000 palavras], pelo simples objetivo de construir um grande site de ciência e análise de dados – além de informação e discussão tecnológica – na língua portuguesa [with a little help from my friends].

Sou insistente e só estamos no começo. :)

A Visão do Computador, Nós e os Presidenciáveis

Neste post vou abordar um assunto com o qual os leitores podem facilmente se identificar, pois o que vamos discutir está firmemente arraigado em nossa vida diária. Faça um esforço para ler até o fim. Você pode se surpreender e até gostar.

Arte: Vox Leone

Como já informei, aqui em nosso lab temos usado o incrível Jupyter Notebook, nas tarefas rotineiras de análise de dados, e também em pesquisas relacionadas à visão de computador e processamento de linguagem natural. Isso nos permite colaborar (trabalhar em rede), consolidar dados que serão usados em outras fases do trabalho e gerar as mais diversas visualizações, que são necessárias nas relações com clientes e o público geral.

Nas últimas semanas estive absorvido na tarefa de desenvolver nossa própria aplicação de reconhecimento facial, usando tecnologias populares na área, como Tensorflow, Computer Vision 2, Matplotlib e Pandas. Tudo orquestrado pela excelente biblioteca DeepFace, que disponibiliza oito modelos pré-treinados.

Os resultados que tivemos foram impressionantes. Animado com os experimentos, preparei este Notebook para demonstrar aos leitores como somos vistos pelos olhos digitais que pululam ao nosso redor (sempre em detrimento de nossa privacidade) e quais as tecnologias empregadas.

Os aeroportos resumem a experiência. Todos sabem que ao entrar nesse tipo de ambiente nós somos enquadrados de todos os ângulos imagináveis, por sensores cada vez mais sofisticados, entre os quais se destacam os onipresentes sensores óticos. Já discutimos neste blog – e vamos continuar – algumas questões éticas e legais a respeito do assunto, mas hoje quero demonstrar sucintamente como a análise facial é feita materialmente e quais as informações que os sistemas de vigilância podem obter bastando apenas voltar seu olhar em nossa direção.

A Tecnologia

Vou ter que usar um pouco de código, e algum jargão, mas você pode pular até o resultado da análise da imagem e discussão, mais abaixo.

Seguindo a tendência de grande parte da indústria, nossa aplicação – escrita em Python – é desenvolvida e executada dentro de um ambiente virtual Conda. O núcleo do ambiente é a versátil biblioteca DeepFace, desenvolvida pela Alphabet (Google), aqui instalada através do repositório pip. (*)ressalto que não é recomendado misturar os canais dos repositórios Conda e pip em um mesmo ambiente, mas neste experimento se torna necessário usar pip pelo fato de DeepFace ainda não estar disponível no repositório Conda.

Depois de ter instalado a DeepFace e suas dependências no ambiente virtual, iniciamos o script importando a DeepFace e outras bibliotecas das quais ela depende, como TensorFlow, CV2 e Matplotilb. TensorFlow é o motor da aplicação. CV2 é responsável pela visão de computador, neste caso digitalizando apropriadamente as imagens. Matplotlib é a responsável pela renderização das imagens (plotagem). Vou comentar o código com as explicações.

Análise dos resultados

Et voilà! Depois de alguns segundos temos o resultado da análise. O algoritmo, mesmo nesta configuração básica, é sensível o bastante para detectar sete variações emocionais, além da idade aparente e do gênero. Ele também é capaz de diferenciar seis etnicidades, um tanto arbitrárias, devo dizer, espelhando a classificação dos países anglo-saxões.

Eu anoto neste ponto que usamos a biblioteca DeepFace em sua configuração original, assim como o modelo de aprendizado de máquina pré-treinado em bancos de imagens com milhões de amostras. Não tivemos ainda tempo hábil para introduzir grandes modificações no código e treinar nossos próprios modelos, o que já está sendo feito – e será mostrado oportunamente.

Esta é a análise que os sistemas fazem sobre mim [sobre nós] no momento em que saio do táxi na porta do aeroporto.

É uma análise aparentemente trivial de uma imagem trivial. Contexto real da foto: acabei de chegar a uma chácara para uma festa de aniversário – alguns anos atrás.

A Análise

O algoritmo me interpreta como um homem branco de aparentes 37 anos – sendo agradavelmente generoso na avaliação etária. É interessante que ele me atribui uma certa negritude, como alternativa, muito mais do que seria esperado de minha ascendência mediterrânea, que fica relegada a um baixíssimo patamar de probabilidade. Minha expressão é calma, que o algoritmo traduz como neutra. Como indicam os números na tabela em inglês, posso estar também um pouco triste, e com um certo nojinho.

Contudo, o resultado me atribui uma significativa aparência de medo, como o segundo resultado mais provável. Por que eu estaria com medo nesta foto? Acabei de chegar a uma festa e a tarde de sábado parece promissora – no aeroporto isso acenderia uma luz amarela no centro de comando da segurança. Interrompo o teste e começo a tentar entender esse resultado aparentemente divergente.

Depois de algumas horas eu tive um insight que realmente me encantou. Eu entendi que, de fato, o algoritmo havia conseguido ver através da minha máscara social. Ele captou uma verdade íntima e bastante sutil: eu realmente sou ansioso em situações sociais, e sempre demoro um pouco a me adaptar aos ambientes – valentemente, com um sorriso no rosto. Mas a ansiedade – uma forma de medo – deve sulcar nossa face de uma maneira óbvia a sistemas de precisão, que conhecem dezenas de milhões de rostos que respondem sempre da mesma maneira; da mesma maneira humana demais. Minúsculos espasmos musculares, resultantes de nossas emoções, não importa quão sutis, deixam sua marca em nossa face, e em imagens de alta resolução nos desnudam de qualquer abrigo.

Ver o sistema em ação elevou em vários graus minha confiança na tecnologia [além de uma óbiva inquietação]. Depois de muitas rodadas do sistema, com imagens diferentes, eu tenho razões para crer que esse tipo de algoritmo é consistente na detecção de sinais e marcadores de emoções bastante sutis.

Revelando emoções ocultas

Existe uma atividade humana em que ser capaz de detectar as emoções alheias seria de muita utilidade: a política, por exemplo. Seria do maior interesse público tentar sondar os reais sentimentos daqueles que se apresentam para gerir a coisa pública. Nessa atividade em que a manipulação das emoções é tão corriqueira, seria interessante tentar ver através das máscaras.

Acontece que em abril de 2022 nós temos essas fantásticas ferramentas e estamos aprendendo a dominá-las. Vamos tentar, então, fazer a mesma análise que fiz acima, de mim mesmo, em imagens casuais dos principais políticos que se apresentam para a disputa presidencial deste ano. Vamos usar fotos tiradas da internet e submetê-las ao mesmo algoritmo.

Com certeza os candidatos não vão se importar, pois todos eles, com palavras ou atos, já se manifestaram apoiadores da vigilância eletrônica na vida do cidadão. É uma ironia deliciosa poder usar contra os representantes do sistema a mesma tecnologia que o sistema usa para nos oprimir delicadamente. Vai ser, no mínimo, divertido.

Nota: as imagens abaixo foram buscadas no site da Wikimedia Commons. Foram escolhidas por serem adequadas a este projeto. São apresentadas na ordem alfabética dos sobrenomes dos retratados.

Este Notebook é melhor visualizado em um desktop.

Bolsonaro, Jair

O perfil de Bolsonaro revela uma grande carga de emotividade. Uma mistura de raiva, medo e tristeza, indicando um rosto que quer esconder o que sente. O modelo também é generoso na atribuição da idade, desvio que foi notado em todas as imagens analisadas [creio que sei a razão para isso, que comento na conclusão do artigo].

Dória, João

Vamos concordar que a imagem não precisa de análise por AI. Embora o modelo opte pela etnicidade Latina, na verdade ele se mostra indeciso. Isso implica em um certo viés colorista. Comento na conclusão.

Gomes, Ciro

Uma expressão neutra com um forte sinal – isolado – de tristeza. Minha avaliação humana concorda.

Lula da Silva, Luiz Inácio

Tristeza generalizada, com um sinal de nojo/desconforto [talvez pela situação]. A idade também é grandemente descontada.

Moro, Sérgio

A raiva e a tristeza predominam. O desvio etário se mostra menor. Um autêntico Latino Hispânico.

Tebet, Simone

Embora não esteja exibindo um sorriso exuberante [como Dória], o modelo atribuiu à imagem um sinal de alegria muito sólido. Não há emoções conflitantes, indicando sinceridade e abertura. A discrepância etária também é menor aqui. Surpreendentemente o modelo não atribui um peso muito forte à herança árabe da senadora.

Conclusão e notas

Como eu disse anteriormente, o modelo Facenet, um dos oito implementados na biblioteca DeepFace, se comporta de forma muito satisfatória. É preciso lembrar que o modelo reflete a amostra com a qual foi treinado. A medida que mais iterações do processo de treinamento venham a incorporar mais e mais segmentos populacionais, a precisão deverá aumentar.

Deixo uma crítica à classificação étnica empregada pelo modelo. Ela reflete a abordagem do censo americano, mas claramente não é mais adequada. Uma revisão se impõe. Os desvios notados com relação à idade das pessoas analisadas, se devem, provavelmente, à baixa resolução das imagens, que nivela os valores dos pixels dando margem a um enganoso efeito de filtro. A discrepância parece ser diretamente proporcional à idade do analisado [quanto mais idoso, maior a discrepância]. Esse desvio é responsável também pelo ‘colorismo’ do software, que dá grande peso à palidez aparente da imagem na classificação étnica.

Vamos continuar experimentando e trabalhando para tornar o modelo mais fiel às nossas características.

Referências

Jupyter Notebook – https://jupyter.org/

Anaconda – https://anaconda.org/

DeepFace – https://github.com/serengil/deepface

TensorFlow – https://www.tensorflow.org/

A Miséria da Internet em 2022

Há muito tempo deixei de gostar dessa coisa absurda que internet se tornou. Posso talvez não ser o único, embora eu não encontre meus iguais nestas terras torturadas.

Imagem: Pexels

Mas, para além da desilusão, ainda gosto muito do meu trabalho em computação [agora em tempos de recomeço!]. Gosto de projetar e me deixar absorver pelos detalhes dos sistemas, hora a hora, minuto a minuto, e deixar as preocupações da vida de lado; gosto de pesquisar defeitos e descobrir o que está acontecendo de errado; gosto de aprender coisas novas; eu gosto muito dos insights sobre dados proporcionados por tecnologias como Python. Gosto até mesmo de web design, algumas vezes.

Mas aqui está a minha verdade: em algum lugar ao longo do caminho, eu perdi totalmente o interesse por essa web que as outras pessoas consomem, e principalmente pelas abjetas redes sociais.

Em 2022 eu: não assisto a vídeos em computadores; não ouço podcasts; não tenho o sócio-linfoma [o câncer mental induzido pelas redes anti-sociais]; não tenho Netflix nem Spotify; não uso Uber; não tenho nem quero uma Alexa [e tenho raiva de quem tem]; não quero meus interruptores de luz conectados à internet; nem minha geladeira; nem meu fogão; nem realmente qualquer coisa, exceto meu(s) computador(es).

As tecnologias que fazem a alegria dos corintianos e flamenguistas; que os fazem se sentir importantes e “acolhidos”; que dão aos idiotas fama e um desproporcional poder de fogo; que sequestram a capacidade crítica dos Josés e das Marias… essas coisas para mim não têm nenhuma graça. De fato as considero nefastas, considerando que não são, como outrora, tecnologias libertadoras.

A tecnologia de rede se tornou absolutamente desumana quando, por volta de 2003, passou a servir cada vez mais os interesses das oligarquias e dos governos ao se degradar em vigilância e controle mental das massas. Não é mais divertido. Não é bonito [a fealdade das pessoas e das coisas parece ser outra marca definitiva do século 21]. Não vou colaborar com esse sistema.

Computadores – incluindo celulares, tablets, o que for – não são meu “hobby”. Não paro de trabalhar e vou jogar na internet “para me distrair”. Eu geralmente paro de trabalhar e quero fazer algo que não envolva a internet. Eu gosto de ler. Eu gosto de ouvir Miles Davis. Gosto de comer fora, em restaurantes, à moda antiga. Eu gosto de dirigir meu carro e ir a lugares.

Um dos meus principais critérios para comprar coisas é se elas funcionam sem uma conexão de rede. Fora do trabalho eu uso computadores para… bem, ler coisas. Ou seja, realmente ler. Texto. Fotos também, se for preciso. Eu os uso para mergulhar em temas profundos e tentar ver além do que a visão me mostra.

Não é mais 1998. Não é o ano do “Linux no desktop” – nunca haverá o ano do Linux no desktop. Sequer será o ano do desktop. Hoje em dia computar é simplesmente o que eu faço. Porque é o que eu faço.

Minha história

Aprendi a programar Basic em um CP-300 (48k de RAM!) – um lixo gestado durante a infame reserva de mercado para computadores nacionais, da desditosa ditadura militar [que a malta inculta quer reviver, agora sob a liderança idiocrática do palhaço Javoltar Barrigonaro]. Passei por alguns sistemas menos limitados de 8 bits e aprendi FORTRAN alguns anos depois.

Depois trabalhei em uma companhia multinacional, onde lidar com computadores não era minha atividade-fim. Em 1999 eu finalmente consegui penetrar nos mistérios do Linux [SUSE, se me lembro]. De repente eu não precisava mais programar sozinho. Qualquer coisa era de código aberto. Eu apenas dava uma espiada no código- fonte, mudava alguma coisa e recompilava em algo novo. Aquilo era a vida!

Fiquei encantado com alguns desenvolvimentos realmente engenhosos. Adorei como a computação pareceu mais completa depois disso – pode ter sido minha imaginação, mas foi o que senti. Eu ainda era principalmente um usuário, mas senti que estava no controle e entendi muito bem o que estava por baixo do capô. E se não entendesse, eu sempre soube onde procurar a iluminação – e sempre havia um blog com a iluminação.

Muitos anos depois, já na primeira década do século, já empresário do ramo, eu realmente continuava a me aprofundar. Chegava a Web 2.0 e eu não percebi na época que eu era um dos últimos dinossauros. A excelência do código aberto começava a perder terreno para as plataformas “na nuvem”, baseadas em código proprietário e uso intensivo de dados capturados dos usuários – que mais tarde dariam origem ao atual sistema vicioso e predatório do capitalismo de vigilância.

Hoje quase nenhum usuário sabe como a tecnologia funciona. Quinze anos atrás ainda sabíamos apreciar a arte de uma applet Java, de uma library ou mesmo de um framework. Mas hoje quase ninguém mais. Tudo o que consumimos são produtos ruins com um pequeno ciclo de atualização antes que a obsolescência planejada entre em ação e você tenha que comprar a versão mais recente – e o melhor hardware – novamente. O software é na maioria das vezes escrito por algum chimpanzé que encara a programação apenas como um trabalho e acha que quanto mais linhas de código escrever melhor ele vai ficar com seu supervisor [que via de regra não é muito melhor que ele]. Existem exceções, mas esse é o balanço das coisas.

Marketing em lugar da Engenharia

Os departamentos de marketing [sociopatas de fala mansa, como Steve Jobs] substituíram a engenharia [pesquise “the curse of Boeing”] no controle do que chega ao mercado, e tudo indica que não vão abrir mão desse controle. Os técnicos cederam à pressão do time-to-market. Isso vale para qualquer smartphone, qualquer receptor, qualquer roteador. Muitos até rodam Linux, mas mesmo assim a maioria ainda é muito ruim. Mesmo o acesso básico à Internet hoje vem com termos de serviço com os quais realmente ninguém com uma mente sã poderia concordar.

Acho que o que desempenha um papel importante na falta de entusiasmo tecnológico atual [além do analfabetismo funcional de toda a sociedade, incluindo a sedizente “elite”] é que, em 1998, a perspectiva de uma rede livre rodando software livre em computadores cada vez mais poderosos nos os quais podíamos mexer, alterar, estender, etc, prometia um futuro lindo pela frente. Eu adorava estar a viver [uma saudação aos irmãos de Angola e da lusofonia!] nos míticos anos 2000.

Vinte anos se passaram, e que o que temos em vez da utopia tecnológica que produziria cientistas-filósofos é a desgraça deprimente das redes sociais, que transformou grande parte da humanidade em zumbis consumidores, depravados, alienados, incivilizados e animalescos. Os Mestres do Universo – banqueiros, nababos da mídia, ONG’s com relações incestuosas com o poder, capitalistas da vigilância e outros parasitas – se divertem ao ver a massa cada vez mais dócil, fotografando e compartilhando seu caminho rumo à obliteração. A vida feliz das ovelhas a caminho do abatedouro.

Eu queria não ter tomado a pílula vermelha.


(*) Tentei buscar referências sobre a reserva de mercado para computadores no Brasil da década de setenta e não encontrei. Isso comprova meu ponto sobre a futilidade, o atraso e o inaceitável baixo nível intelectual da Internet em português. Culpa do referido sócio-linfoma.

As Implicações da Escassez de Chips para a Segurança Digital Global

Uma nova preocupação no campo da segurança está surgindo e talvez você se interesse em ficar de olho no clima. Não é segredo que há uma escassez global de chips de silício, e onde há escassez, há oportunidades para bandidos e afins.

Imagem: Pexels

Como já mencionei no blog [aqui e aqui], uma cascata de eventos fez com que a fabricação de chips diminuísse de ritmo nos últimos anos. Em algumas áreas, como componentes analógicos para digitais, a quebra no fornecimento foi quase total para alguns dispositivos.

Mas para além dos dispositivos de entrada/saída existem outros dispositivos, como “System on a Chip” (SoC) e “Micro Controller Units” (MCU). Estes não usam os métodos mais modernos de impressão em escala nanométrica e tendem a ser feitos em fábricas de segunda ou terceira linha, onde as margens de lucro são muito baixas.

Bem, esta notícia, que foi reportada no ano passado – e amplamente ignorada, parece estar ficando mais insistente na grande mídia [The Register]. A consequência desse estado de coisas, que recebeu apenas uma menção passageira na parte inferior do artigo do The Register, é que há um buraco se abrindo na segurança das linhas de suprimento globais.

No início a escassez impulsionou os prazos de entrega de algumas semanas para alguns meses. Agora chegam a ultrapassar um ano. Alguns fabricantes estão cancelando novos projetos de design e eliminando recursos em projetos existentes, pois precisam refazer os projetos para aproveitar as peças inferiores ainda disponíveis.

Como em toda escassez, a manipulação de preços já começou, com alguns produtos agora custando cinco a dez vezes o preço que tinham há apenas um ano ou mais. O que significa que a oportunidade de lucrar de forma ilícita está de volta (não que algum dia tenha desaparecido). Os mais experientes talvez se lembrem do choque da mudança do padrão RS232 para USB “FTD-Chip”, quando a FTD mudou o driver do chip fornecido pela Microsoft e, da noite para o dia, centenas de milhares, senão milhões de mouses e produtos semelhantes para PC pararam de funcionar.

O motivo foi a “Grey Supply Line”, a infame “linha cinza” de imitações paralelas dos chips FTD, na época usados em milhões de PCs. O que estava acontecendo era que as peças não-FTD, muitas delas não-funcionais, foram feitas para parecer peças FTD reais e vendidas como “estoque recuperado” e similares, entrando, assim, na cadeia de suprimentos.

Se a história é um guia, devido à escassez e ao aumento dos preços as Grey Supply Lines entrarão em operação a qualquer momento novamente. Enquanto imitações são um problema por si só, pois na maioria das vezes são abaixo do padrão, elas também trazem um novo potencial vetor de ameaças.

Armas Cibernéticas do Mercado Cinza

Muitos chips Grey Supply passam pela China de uma maneira ou de outra, e provavelmente não passou despercebido pelas pessoas atentas que o barulho de sabres e tambores nos mares do sul da China fica cada dia pior.

Essa é uma das razões pelas quais o governo dos EUA vem pressionando o governo e os fabricantes de chips de alta qualidade de Taiwan para mudar as fábricas para os EUA (algo que os taiwaneses estão muito relutantes em fazer por várias razões óbvias). Bem, embora os chineses continentais não tenham fábricas de última geração, eles têm muita capacidade de segunda e terceira linhas. Assim, surge a oportunidade de injetar quantidades consideráveis de Grey Supply em produtos fabricados e vendidos em todo o mundo.

Mais cedo ou mais tarde, algumas peças Grey Supply serão consideradas deficientes ou abaixo do padrão, o que é de se esperar, como se viu no incidente do chip FTD. Mas a presente situação também abre a possibilidade de algo mais insidioso: a oportunidade de se incorporar armas cibernéticas nos chips Grey Supply. Esses chips não seriam totalmente abaixo do padrão, como de costume, mas teriam “um certo conteúdo extra embutido” – o qual seria como um mecanismo de disparo à espera do acionamento

Embora contaminação por malware possa ser realmente desagradável de se lidar, ela afeta as coisas principalmente no nível do software, onde fazer uma simples reinstalação completa a partir dos backups permite que você recupere a funcionalidade de seu sistema em um tempo relativamente curto. Agora considere que infestação por malware está acontecendo cada vez mais no nível de firmware, o nível mais básico, onde o usuário médio não pode fazer uma reinstalação do sistema operacional.

Mas vá um pouco mais longe e considere que o firmware está na verdade embutido nos chips, de uma maneira que muito poucas pessoas têm conhecimento para reinstalar o código operacional, e mesmo assim apenas de forma insatisfatória. Imagine o que aconteceria se não apenas computadores, mas dispositivos inteligentes e telefones de todos os tipos parassem de funcionar.

A nação mais atingida seria os EUA, na medida em que apenas um ou dois ataques recentes de ransomware demonstraram. Na sequencia viriam as nações do “primeiro mundo”, como grande parte da Europa Ocidental como também as nações da Ásia e Oriente Médio que “saltaram” uma geração de tecnologia no último quartel do século passado e início deste – tecnologia 1985-2010.

Na série de ficção científica “Fundação”, Isaac Asimov tem como enredo uma coalizão de mundos tecnicamente sofisticada, mas não militarmente poderosa, enfrentando uma guerra iniciada por uma população significativamente maior e fortemente militarizada, mas não tecnologicamente sofisticada. Em condições normais estes iriam perder. No entanto, em um plano pérfido, eles já haviam vendido muita coisa de sua tecnologia atrasada para a coalizão, em produtos domésticos e comerciais para o dia a dia.

Os produtos começaram a falhar e a coalizão descobriu que suas forças armadas eram, na verdade, fortemente dependentes desses produtos defeituosos, de tal forma que não tinham mais meios para contra-atacar à altura.

Neste mundo dos tempos modernos, o Ocidente é efetivamente a coalizão e a China o fornecedor de todos os produtos domésticos e comerciais de que tanto dependemos em um ou mais níveis. Com um pouco de imaginação, não é difícil ver como a China poderia, com base nestes pressupostos, facilmente construir um “Grande Interruptor Vermelho” no coração dos EUA, Europa, etc. com os infames produtos “Grey Supply Cyber Weaponized”.

Isso se já não o fez…

Cyberfront: Sabotagem Começa a Atingir o Software Open Source

O site Ars Technica reporta que um desenvolvedor foi pego adicionando código malicioso a um popular pacote de código aberto que apagou arquivos em computadores localizados na Rússia e na Bielorrússia como parte de um protesto que enfureceu muitos usuários e levantou preocupações sobre a segurança do software livre e de código aberto.

Imagem: Pexels

O aplicativo, node-ipc, adiciona a um sistema recursos de comunicação e redes neurais a outras bibliotecas de código aberto. Por ser uma dependência de outro programa, o node-ipc é baixado automaticamente e incorporado a outras bibliotecas, incluindo algumas como Vue.js CLI, que possui mais de 1 milhão de downloads semanais.

A atualização espúria do node-ipc é apenas um exemplo do que alguns pesquisadores estão chamando de protestware. Especialistas começaram a rastrear outros projetos de código aberto que também estão lançando atualizações chamando a atenção para a brutalidade da guerra da Rússia. Esta planilha lista 21 pacotes diferentes que são afetados.

Um desses pacotes é o es5-ext, que fornece código para a especificação da linguagem de script ECMAScript 6. Uma nova dependência chamada postinstall.js, que o desenvolvedor adicionou em 7 de março, verifica se o computador do usuário tem um endereço IP russo. Em caso positivo o código transmite uma “mensagem de paz”.

“Mensagem de paz”, que o sabotador codificou no aplicativo comprometido – Imagem da Internet

As pessoas que não trabalham no ramo talvez se surpreendam com a grande quantidade de software crítico que depende dos caprichos de programadores anônimos que mantêm bibliotecas de software de forma inconsistente, como hobby ou projeto secundário. Repetidas ocorrências estão transformando isso em uma vulnerabilidade séria. A Casa Branca anunciou no ano passado uma iniciativa para começar a resolver esse problema, declarando que vai passar a exigir uma “lista de materiais de software” para todo software encomendado pelo governo:

…o termo “Lista de Materiais de Software” ou “LMDS” significa um registro formal contendo os detalhes e relacionamentos da cadeia de suprimentos de vários componentes usados na construção de software. Desenvolvedores e fornecedores de software geralmente criam produtos montando e mesclando componentes de software comercial e de código aberto dos repositórios existentes. A LMDS enumera esses componentes em um determinado produto. É análogo a uma lista de ingredientes em embalagens de alimentos. Uma LMDS é útil para quem desenvolve ou fabrica software, para quem seleciona ou compra software e para quem opera software. Os desenvolvedores geralmente usam componentes de software de código aberto e de terceiros disponíveis para criar um produto; uma LMDS permite que o desenvolvedor certifique-se de que os componentes de terceiros usados em seus projetos estejam atualizados e responda rapidamente a novas vulnerabilidades. Por exemplo, os compradores podem usar uma LMDS para realizar análise de vulnerabilidade ou licença. Aqueles que operam software podem usar LMDSs para determinar facilmente se estão em risco potencial de uma vulnerabilidade recém-descoberta. Um formato LMDS universal, legível por máquina, que seja amplamente utilizado, permite maiores benefícios por meio da automação e integração de ferramentas. Os LMDSs ganham maior valor quando armazenados coletivamente em um repositório que pode ser facilmente consultado por outros aplicativos e sistemas. Compreender a cadeia de suprimentos de software, obter um LMDS e usá-lo para analisar vulnerabilidades conhecidas são cruciais no gerenciamento de riscos.

Fornecedores governamentais

Vários empreiteiros de defesa em todo o mundo usam recursos de código aberto em todos os tipos de aplicativos implantados em sistemas militares, desde comunicações, navegação, controle de voo, controle de fogo e aplicativos de missão crítica.

Grande parte do código que é modificado ou adicionado nos repositórios de código aberto está dentro do contexto de aplicativos seguros. A questão, porém, é qual o nível de exposição dos sistemas de missão crítica e outros sistemas vulneráveis a esse problema? Qual o componente de risco/recompensa mais aparente nessa escalada interminável de guerra de códigos? Talvez estejamos diante da necessidade de um acordo de não proliferação de armas cibernéticas entre estados-nações.

Bom começo

Uma LMDS é apenas uma boa prática. Os projetos de desenvolvimento bem executados sempre devem ter uma lista de requerimentos de sistema para gerenciar dependências e atualizações. Algumas licenças, a GPL e a LGPL em particular, exigem implicitamente uma licença parcial na medida em que exigem a identificação dos componentes GPL para o destinatário. Estabelecer uma lista de requerimentos que possa ser compartilhada não é um um problema complicado e é um bom começo.

...mas não suficiente

A dimensão do problema está muito além de uma Lista de Materiais. Um grande número de desenvolvedores executa muitos pacotes de software que são atualizados em massa, ou muitas vezes atualizados automaticamente a partir de uma ampla variedade de “fornecedores” em vários países.

No mundo do código aberto, instalamos chaves para os gerenciadores de repositórios (como o Ubuntu) que, em teoria, assinam os pacotes destinados ao download pelos usuários após verificá-los, mas na verdade não os verificam. Portanto, quando o desenvolvedor oficial autorizado de um pacote deseja inserir malware em seu pacote, pouco ou nada pode detê-lo. É uma violação de confiança que pode resultar em punição – uma punição que virá após o fato.

O desenvolvedor do qual falamos aqui atacou indiscriminadamente tanto civis como alvos legítimos em sua sanha de justiça – talvez tenha até cometido um crime de guerra. O que aconteceria se ele tivesse codificado seu programa para atingir alvos militares sensíveis no contexto geral das relações Leste-Oeste? E se fosse o próprio computador de Putin?

Nenhuma regra vai parar isso. Se o seu país estiver em uma guerra (uma que ele começou ou para a qual foi arrastado), você deve considerar que qualquer atualização de software em seu sistema vem de um adversário – ou de uma fonte que pode ser comprometida pelo seu adversário. Essa é a realidade da guerra.