el hombre pulpo Profile picture
Mar 30, 2024 22 tweets 7 min read Read on X
Tá, mas e se eu contar pra vocês que nos últimos dias tá rolando uma história de intriga digna de filme de espionagem, tudo em torno de uma tentativa de invadir máquinas no mundo todo?

Vem na thread que vou te explicar. 🧵 #bolhasec Image
O "xz" é uma aplicação de compressão usada em várias distros linux. Ele em geral atinge taxas de compressão menores que o tradicional gzip, ao custo de usar mais memória, então ele vem sendo escolhido pra cada vez mais aplicações. Até aí tudo ótimo. Image
O xz, como várias ferramentas Linux, oferece suas funcionalidades tanto como uma aplicação de terminal quanto uma biblioteca que pode ser consumida por outras aplicações - nesse caso a liblzma, nomeada pelo algoritmo LZMA que o xz usa.
O problema foi descoberto ontem - com uma postagem na lista de emails "oss-security" feita pelo @AndresFreundTec, um dev do PostgreSQL. O Andres começou a perceber lentidão em sessões SSH no Debian Linux e foi investigar. O que ele não esperava era encontrar um backdoor. Image
@AndresFreundTec A versão 5.6.0 do xz introduziu uma mudança que é injetada, aparentemente, SÓ nos releases. O código malicioso não está no repo - ele é injetado apenas na hora de gerar o release, o que torna ele mais difícil de detectar. Image
@AndresFreundTec A alteração injetada consiste em uma única linha no script "configure" () que, por sua vez, altera o Makefile do projeto. A alteração no Makefile, por sua vez, descomprime e executa um dos arquivos na pasta tests do projeto.salsa.debian.org/debian/xz-util…
@AndresFreundTec Aqui vale um parêntese: Como o xz é uma aplicação de compressão, tem vários arquivos comprimidos na pasta tests pra testar vários casos de descompressão. Image
@AndresFreundTec Esse arquivo foi adicionado como se fosse um teste normal, mas ele continha código bash comprimido que o código adicionado no Makefile descomprime e executa. Image
@AndresFreundTec Tem mais alguns passos no meio pra dificultar entender o que está acontecendo, mas o efeito final é: Se o build do xz estivesse rodando em uma máquina Debian ou sendo iniciado pelo gerenciador de pacotes RPM, ele linkava uma versão modificada do código da liblzma.
@AndresFreundTec Nesse código, algumas funções relacionadas com checagens de integridade foram alteradas para modificar dinamicamente a função RSA_public_decrypt caso ela fosse chamada.
@AndresFreundTec Essa função *não existe* no código da liblzma - ao invés disso, ela é usada (a partir do OpenSSL) pelo SSH no Debian na autenticação da conexão. Image
@AndresFreundTec Ou seja - uma alteração é injetada de forma extremamente circuitosa para no final afetar binários do SSH que usam compressão xz no Debian, e provavelmente permitir invasão de máquinas e execução remota de código. E é esse o backdoor que o Andres encontrou. Image
@AndresFreundTec Vocês podem ver a notificação completa sobre o backdoor aqui: . Também recomendo se vocês tiverem o xz versão 5.6.x instalado em qualquer máquina, vocês atualizarem imediatamente.

Mas fica outra pergunta: quem estaria interessado em fazer isso?openwall.com/lists/oss-secu…
@AndresFreundTec Bom, vou introduzir o segundo personagem da nossa história: O "Jia Tan", um contribuidor frequente do xz. Como vocês podem ver aqui, ele vinha contribuindo para o xz desde o fim de 2022. 13/20 play.clickhouse.com/play?user=play…
Image
O Jia Tan, sob seu usuário do GitHub JiaT75, introduziu os commits com o backdoor no projeto. Mas após o backdoor ter sido descoberto, também foi descoberto que ele fez muito mais do que só isso. 14/20 Image
Por exemplo, nosso hacker também contribuía para o projeto "xz-java" e ele adicionou o seguinte aviso (traduzido por mim):

"Se você descobrir uma vulnerabilidade de segurança neste projeto, por favor a reporte em privado. (...) Não crie um issue público". Image
Lendo entre as entrelinhas e agora sabendo do contexto, podemos entender como: "Me garanta tempo para ajustar meus exploits e tornar eles mais difíceis de achar".
Além disso, alguns mantenedores de distribuições Linux vieram a público dizer que essa pessoa estava em contato com eles, buscando convencê-los a atualizar tão rapidamente quanto possível para versões 5.6.x do xz pois "tinha muitas features novas incríveis". Image
Então é essa a situação: Temos uma pessoa que se infiltrou num projeto open-source, ganhando confiança por mais de um ano e adicionando vários arquivos binários ao projeto. Essa pessoa então usou a confiança vinda disso pra tentar acelerar a adoção do seu backdoor. Image
No final, terminamos com mais perguntas do que começamos: Quem é Jia Tan? Em algum momento a conta foi legítima e ela foi comprometida ou sempre foi um ator malicioso? O que mais ele pode ter escondido no xz nos mais de 12 meses que passou no projeto?
E talvez a pergunta mais importante: Quais são os interesses por trás disso?
Além disso: será que o código no backdoor realmente afeta só o SSH ou há outras funcionalidades ainda não descobertas? Eu pretendo seguir acompanhando essa história nos próximos dias.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with el hombre pulpo

el hombre pulpo Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @coproduto

Apr 23
É comum a gente explicar IA usando simplificações. Afinal, nem todo mundo pode ou quer se aprofundar. Mas simplificações levam a erros, tipo dizer que LLMs modernos são limitados porque "só geram texto".

Segue aqui pra entender 👇 (imagem meramente chamativa) Image
A gente escuta muitas vezes que o que um LLM faz é "só prever a próxima palavra". Isso é praticamente verdade, mas muitas vezes falam isso com desdém, como se isso significasse que a operação é "burra" e inevitavelmente cometerá erros.

1/17
Minha impressão é que as pessoas pensam, intuitivamente, que como um LLM só "prevê texto" isso significa que ela não tem como ter nenhum contexto do *significado* daquele texto, tornando ele "vazio".

Isso em si é, ao meu ver, uma compreensão errada.

2/17
Read 19 tweets
Apr 15


Fiz esse post outro dia sem dar muitos detalhes e bastante gente se interessou.

Então vamos falar da história da contabilidade de dupla entrada, um dos algoritmos práticos mais antigos que existem.

👇 Image
Uma coisa que eu acho fascinante é que algoritmos e estruturas de dados são mais antigos que computadores. Afinal, um algoritmo é só uma "receita" de como fazer algo e uma estrutura de dados é só uma organização da informação que permite consultá-la eficientemente.

1/17
Um dos algoritmos mais antigos que conhecemos é o Crivo de Eratótestenes (criado por Eratóstenes de Cirene, filósofo grego que viveu no séc 3 a.C. de acordo com os escritos de Nicômaco de Gerasa, um outro filósofo grego que viveu no séc 2 a.C).

2/17 Image
Read 19 tweets
Apr 7
No sábado, fiz um post sobre a possibilidade da IA ter uma explosão de inteligência em 2027. (aqui: )

Hoje trago um contraponto, com a visão de uma pessoa que considero bem-informada e que duvida que seja tão rápido.

👇 Image
Tyler Cowen é professor de economia na George Mason University, colunista do New York Times, da Bloomberg Opinion, e foi eleito um dos 36 economistas mais influentes dos anos 2000 pela revista The Economist.

Ele também é um notório cético quanto ao impacto econômico da IA.

1/11 Image
A maior parte do que vou escrever aqui na thread é um resumo das ideias que Tyler expressa no podcast de Dwarkesh Patel (que, por sinal, é um dos melhores lugares pra ver as opiniões de várias pessoas que estão construindo a IA). Como sempre, recomendo ver o podcast inteiro:

2/11
Read 13 tweets
Apr 5
Scott Alexander, um dos blogueiros que mais respeito contribuiu em um relatório sobre futuro da IA, e acho que vale MUITO a leitura.

Não é feito pra criar hype, é uma análise séria de pessoas capacitadas, e mostra que não é errado estar alarmado.

Link e comentários abaixo 👇 Image
A ideia é criar um cenário realista sobre como pode se desenrolar a evolução da IA nos próximos anos, com feedbacks e input de muitos especialistas e pessoas da área. Vocês podem ler o relatório completo aqui: ai-2027.com
Os autores são todos pessoas extremamente capazes. O autor principal, Daniel Kokotajlo, publicou um texto em 2021 que essencialmente previu a maioria dos avanços dos últimos 5 anos () lesswrong.com/posts/u9Kr97di…Image
Read 24 tweets
Apr 3
Ontem talvez tenhamos visto pela primeira vez a IA afetar a geopolítica mundial. E talvez a gente precise repensar quanta transparência é necessária no uso de IA dentro de governos.

Estou falando das tarifas recíprocas do Governo Trump.

Vem que eu explico.

👇 Image
Ontem saiu o "tarifaço" do Governo Trump.

Muita gente ficou feliz que o Brasil "se deu bem" (eu incluso), mas... Como que esses números foram calculados exatamente?

Não soltaram nenhuma explicação.

1/5 Image
Bom, muitos tuiteiros gringos tentaram analisar os números. Depois de muito tentarem encaixar modelos, chegaram em um que funciona:

Os números são o déficit comercial dos EUA com o país dividido pelas exportações do país pros EUA, com mínimo de 10%.

2/5 Image
Read 8 tweets
Mar 28
Esta semana fiz um experimento: Todos os dias fiz uma thread sobre um tópico de computação que acho que mais gente devia saber sobre.

Hoje, na última thread, vamos falar sobre DNS. Como que o seu browser sabe o que abrir quando você digita ""?

👇 google.comImage
DNS é a abreviação de Domain Name System, ou Sistema de Nomes de Domínio.

O DNS é um sistema distribuído hierárquico através do qual nomes de domínio são convertidos em IPs.

Mas não é só isso que ele faz. Todo o controle de quais recursos ficam em qual domínio é no DNS.

1/21
O sistema DNS é, em sua essência, um mapa chave-valor distribuído.
Uma consulta ao sistema DNS consiste em:

- Uma URL
- Um tipo de entrada
- Um tipo de serviço (que pros nossos fins vai ser IN, significando "Internet")

2/21 Image
Read 28 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(