Depois de alguns anos sem participar de conferências, voltei a participar em 2024. Participei da Null Byte Security Conference, em Salvador. H2HC, em São Paulo e CCC (38c3) em Hamburgo, Alemanha. Neste blog post eu comento sobre minha experiência nessas conferências, as apresentações que assisti e outros pontos que considero relevante compartilhar.
10º Edição da Null Byte Security Conference
A 10º Edição da Null Byte Security Conference ocorreu em 30 de Novembro de 2024, em Salvador, Bahia. A Null Byte Security Conference era a única conferência que eu ainda participava. Após a pandêmia, não lembro de nenhuma outra conferência que eu tenha participado além da Null Byte. A conferência é realizada na cidade em que resido e organizada por meus amigos. Eu, inclusive, realizei uma apresentação no evento em 2024. Os slides já estão disponíveis, mas quem ainda não viu e tem interesse, encontrará clicando no link abaixo.
Sobre as palestras, eu acabei assistindo somente uma. A palestra da Thayse Solis, por ser a apresentação antecedendo a minha. A apresentação da Thayse teve o título: Binary Reversing and Exploitation: A Case Study on Egg Hunting. Foi uma apresentação muito boa. Ela apresentou com uma didática excelente, explicando cuidadosamente cada detalhe. Tiveram algumas perguntas ao final da apresentação, então acredito que o público também tenha gostado.
A minha apresentação teve o seguinte título: A importância da metodologia para pesquisas em segurança da informação. Eu escolhi um tema que poderia ser de interesse para todos presentes. Exploração de vulnerabilidades, debugging, kernel e assuntos de baixo nível são legais e interessantes, mas preferi um tema que poderia ser de interessante para todos, independente do nível de experiência. No final, fizeram algumas perguntas e o feedback que recebi, mesmo após o evento, foi positivo.
A conferência no geral foi muito boa. Essa edição foi realizada em um local diferente. De início, preferiria o local anterior em que já ocorreram diversas edições e acredito que a maioria do público já esteja acostumada. Porém, no final, eu posso dizer que esse novo local foi interessante. Pelo menos pra mim, tive experiências legais. O motivo de eu frequentar eventos, além do conteúdo técnico, é reencontrar e fazer novos amigos e nessa edição, a interação social foi bastante satisfatória. Teve um momento que criou-se uma roda de conversa, com várias pessoas compartilhando experiências, conversando, rindo e claro, se divertindo. As fotos do evento estão disponíveis aqui.
21º Edição da Hackers to Hackers Conference (H2HC)
A 21º edição da Hackers to Hackers Conference (H2HC) aconteceu nos dias 14 e 15 de Dezembro de 2024, em São Paulo. Meu planejamento inicial era assistir o maior número de apresentações que eu pudesse, porém, isso foge do meu controle. Consegui assistir algumas, mas deixei de ver várias que eu gostaria. A grade de apresentações da H2HC é sempre de altíssimo nível. Eu ouso até a dizer que o nível é bem maior que muitas conferências internacionais.
A conferência no geral é bem organizada, com palestras simultâneas, atividades diversas e pessoas interessantes, porém, tem crescido muito com relação a última edição que eu tinha participado. Dessa vez dava para ver, pelo menos no primeiro dia, que o evento estava muito cheio. Algumas pessoas relataram desconforto. Eu gosto de conversar e conhecer pessoas e na última edição da H2HC que tinha participado, antes da pandemia, eu me senti como no meme de John Travolta. Passei um tempo andando pra lá e pra cá e sem encontrar pessoas conhecidas ou fazer novos amigos. Apesar de no final das contas eu ter encontrado algumas pessoas e feito novas amizades, voltei para casa com a sensação que a conferência tinha crescido e eu não tinha acompanhado esse crescimento, resultando em poucas interações sociais. Além disso, um número relevante de pessoas que costumava encontrar em eventos, aparentemente não participam mais.
Dessa vez foi muito diferente e esse é um dos motivos que não consegui ver a grande maioria das apresentações que eu tinha planejado. Reencontrei amigos, conheci pessoas e interagi com alguns palestrantes internacionais. No geral, nesta edição, a minha experiência social na H2HC foi bem agradável.
Bom, cheguei cedo para tentar pegar um bom assento para assistir a apresentação keynote de Gerardo Richarte, mas quando cheguei, a fila para pegar as credenciais estava muito grande e isso me preocupou. Felizmente, pra mim, o evento atrasou um pouco e pelo menos no primeiro dia, as apresentações iniciaram um pouco mais tarde. Consegui minhas credenciais e esperei confortavelmente pela apresentação, nas primeiras filas, é claro. Infelizmente, parece que a conferência ainda não disponibilizou os videos e alguns slides das apresentações que assisti e por este motivo, não consigo escrever sobre todos os pontos importantes. Comentarei apenas o que consigo lembrar no momento da escrita desse blog post. Poderei atualizar caso encontre os materiais ou lembre de algo relevante.
Keynote: 30+ years of exploiting things – Gerardo Richarte
Gerardo Richarte foi um dos motivos para eu estar presente nessa edição da H2HC. Realizo exploração de vulnerabilidades há algum tempo e Gerardo Richarte é uma pessoa importante para a área. Ele apresentou e escreveu artigos, muitos anos atrás, sobre técnicas de exploração de vulnerabilidades que até hoje podem ser consideradas interessantes. Hoje, Gerardo Richarte é cofundador e Chief Innovation Officer da Satellogic, uma empresa especializada em satélites de observação da Terra. Sua apresentação teve o título: 30+ years of exploiting things.
Antes de iniciar a apresentação, ainda com a sala vazia, eu o vi sentado, aguardando a hora para iniciar sua apresentação. Eu, então, aproveitei a oportunidade e fui conversar um pouco com ele. Momento importante pra mim, poder conhecê-lo pessoalmente e conversar um pouco. A apresentação foi muito boa.
Gerardo Richarte começou falando sobre seu tempo na Core Security, uma empresa especializada em consultoria e exploração de vulnerabilidades, localizada em Buenos Aires, Argentina. A Core Security foi adquirida em 2019 pela HelpSystems. Quando comecei minha carreira em segurança da informação, a Core Security era uma empresa que se destacava e foi fonte de inspiração. Eu lia e acompanhava tudo que conseguia relacionado a empresa e seus pesquisadores.
Durante a apresentação, ele discutiu sobre o impacto do trabalho de exploração de vulnerabilidades hoje em dia e depois falou o trabalho na Satellogic. Dois pontos importantes mencionados durante a apresentação foi sobre o uso dos seus conhecimentos de hacking na Satellogic. Durante um processo de deploy algo de errado aconteceu e ele precisou recuperar o acesso aos satélites. Outro ponto, se entendi corretamente, é o uso de hacking para baratear os custos. Um equipamento GPS especializado para atividades aeroespaciais tem um custo elevado. Pelo que entendi, através de seus conhecimentos de hacking, foi possível reutilizar GPS convencionais, barateando os custos. Uma das fotos que tirei para registrar o momento histórico.

Gray matter and Zero-Days: Outwitting Cognitive Decline in VR – Nigel Ploof
Esta apresentação também foi muito boa. Nigel falou sobre declínio cognitivo, a influência disso em vulnerability research e como podemos reduzir o impacto na carreira de vulnerability research. A apresentação foi dividida em mais ou menos três partes. A introdução em que ele começou falando sobre pesquisas relacionando declínio cognitivo e envelhecimento, como podemos reduzir o impacto do declínio ao envelhecermos e no final falou sobre sua metodologia de trabalho.
Em um dos momentos durante a apresentação, Nigel Ploof falou sobre a balança entre emoção e capacidade. Jovens são mais emotivos e estão na melhor capacidade cognitiva. Adultos, começamos a decair, mas controlamos melhor as emoções. Também falou sobre a influência de atividades físicas no desempenho profissional e que uma grande parte dos pesquisadores que ele conhece, fazem atividades físicas, predominantemente a corrida. Eu, curiosamente, estou preparando um blog post sobre minha experiência com a corrida. Atividade que iniciei em 2024 e que ultimamente comento bastante com amigos e pessoas próximas sobre o impacto em minha carreira. Hoje me sinto muito melhor cognitivamente falando, principalmente com relação a memória. Não troco o Anderson de hoje pelo Anderson de 10 anos atrás.
Um detalhe, provavelmente irrelevante para todos, mas que chamou minha atenção, foi quando Nigel estava falando sobre um ponto de sua metodologia e mencionou a sigla FAFO (Fuck Around and Find out). Eu não conhecia essa expressão e curiosamente, depois de assistir a apresentação, tenho visto essa expressão em diversos lugares, redes sociais, em uma apresentação na CCC e até o presidente americano Trump usando.
No final da apresentação, eu perguntei sobre evidências demonstrando alterações morfológicas no cérebro e a associação dessas alterações com o declínio cognitivo. Pelo que lembro da resposta, ele disse que não tinha ou talvez não sabia de nenhum estudo com essa temática. O motivo de minha pergunta é que acredito que isso ainda não está tão bem definido na neurociência. Claro, não tenho conhecimentos e nem propriedade para falar sobre o assunto, mas como curioso, lembro de ainda haver um debate sobre isso. De qualquer forma, muitos pesquisadores e profissionais de diversas áreas do conhecimento que acompanho, mesmo com idades avançadas, parecem demonstrar uma alta capacidade cognitiva. Se essas pessoas conseguem manter-se em um nível elevado, talvez não seja um fato que todos vão decair cognitivamente ao ponto de afetar muito nosso desempenho como pesquisadores. Entrei em contato com o Nigel pelo X solicitando a apresentação para poder escrever melhor sobre a palestra, mas infelizmente, ainda não obtive uma resposta.

False Injection – Tales of Physics, Misconceptions and Weird Machine – Christofaro Mune
Esse foi o keynote do segundo dia e foi excelente. Sinceramente, eu esperava um outro conteúdo baseado no título, mas ao assistir a apresentação, saí bastante satisfeito. Hardware e fault injection não são, normalmente, assuntos do meu interessante, mas não deixa de ser um conteúdo interessante. Apesar de ser por uma perspectiva diferente, essa apresentação tocou em diversos pontos que costumo falar no dia a dia.
A apresentação foi muito boa, eu diria que em um nível de excelência. No início da apresentação, Christofaro Mune começa falando sobre o benefício de incluir a física em nosso modelo computacional. Esse é um tópico interessante. Eu venho mencionando que em minha opinião, o futuro de vulnerability research envolverá muito mais hardware e física do que costumamos falar hoje em dia. Em um treinamento que ministrei ano passado, no último módulo eu discurso um pouco sobre minha visão de futuro e eu comentei sobre esses pontos. Temos vistos vulnerabilidades e ataques interessantes recentemente, como rowhammer e vulnerabilidades de processadores que exigem um alto nível de compreensão dos internals dos chips.
Ele discutiu algumas suposições na área de fault injection e que depois de realizar alguns experimentos, foi descoberto que algumas dessas suposições estavam erradas. Fiquei feliz em ver alguém de respeito mencionando esse tema. Eu acompanho ciência de certa forma e converso sobre ela no dia a dia com amigos e conhecidos e um dos pontos importantes que percebo é que muitos tem diversas suposições de como as coisas funcionam que não são verdades. De suposições básicas em biologia, matemática e até sobre como a ciência é feita na prática. Apesar de eu não estar envolvido em nada disso, passo muita parte do meu tempo acompanhando cientistas, tanto em livros, blog posts e nas redes sociais. E sim, existe muita ciência errada e muitas suposições que mesmo sendo acreditada por milhares ou milhões de pessoas, estão erradas. O mesmo acontece com vulnerability research e a área de segurança da informação. Nas palavras do próprio apresentador, podemos ver na imagem abaixo algumas suposições que ele desbanca após realizar experimentos.


Um ponto mostrado na apresentação que talvez seja interessante para mim profissionalmente são as mitigações intencionadas em proteger contra ataques físicos como fault injection. Eu desconhecia essas mitigações. Um exemplo mencionado é a utilização de fault injection para fazer com que determinado código seja ignorado, como uma validação de assinatura. Uma mitigação implementada em código visando a proteção contra esses ataques é duplicação do código. Realizar a validação da assinatura diversas vezes. Como eu acredito que qualquer pessoa envolvida com vulnerability research imagine, essas mitigações não são efetivas. Se através de fault injection é possível fazer que determinado código não seja executado, então não importa a quantidade de código, vai ser possível pular todos eles. Christofaro também mencionou em sua apresentação o poder da visualização de dados e que aparentemente essas técnicas não são muito utilizadas por profissionais e pesquisadores.
Houve interações interessantes durante a apresentação, com comentários do ilustre Sergey Bratus e outros. Apesar do título ter Weird Machine e foi esse o ponto que mais me interessou inicialmente para ver a apresentação, o conceito não foi apresentado e discutido de forma direta, como eu gostaria de ter visto. Os slides estão disponíveis aqui.


What every hacker should know about TLB invalidation – Pawel Wieczorkiewicz
Essa foi a apresentação que eu não poderia perder. Conheço o trabalho de Pawel Wieczorkiewicz e da empresa que ele trabalha, Open Source Security, popularmente conhecida como grsecurity. A Open Source Security oferece segurança de excelência através de patches para o kernel do Linux. Os slides estão disponíveis aqui.
O foco da palestra foi sobre invalidação da TLB e ela foi dividia em três partes. Uma introdução ao conceito da TLB, um problema que eles tiveram ao implementar um recurso no kernel do Linux e por final, um bug em uma instrução para invalidar a TLB em processadores da Intel reportado ao FreeBSD.
TLB é um acrônimo para Translation Lookaside Buffer. Esse é um cache de traduções de endereços existente em processadores. Em computação existe o conceito de endereços virtuais e endereços físicos. Há uma tabela em memória que traduz um endereço virtual para um endereço físico, porém esse processo de tradução é custoso e por isso existe a TLB para armazenar de forma mais rápida esse mapeamento. Invalidação e gerenciamento da TLB é muito importante em desenvolvimento de sistemas operacionais e também para pesquisadores em segurança da informação focados em sistemas operacionais.
A apresentação de Pawel começou com uma introdução da TLB e recursos relacionados. Alguns detalhes talvez não tão populares (paging-structure caches), estranhezas (quirks), condições em que devem e não devem ser feitas as invalidações e como realizá-las. Essa parte da apresentação foi muito bem feita, inclusive, em detalhes que somente quem precisa entender bem como esses recursos funcionam na prática normalmente conhecem. Um detalhe importante para mencionar aqui é que mesmo havendo documentações detalhadas de como os processadores funcionam, em algumas situações, existem bugs ou comportamentos não descritos e por isso, apenas quem precisa interagir nesse nível de abstração entende e se depara com esses cenários. Depois foi mencionado sobre um bug ao implementar o recurso de stacks privadas no grsecurity, chamado PRIVATE KSTACKS. O problema é mencionado no seguinte slide:

Como descrito nos slides, uma exceção rara de page fault #PF acontecia quando não deveria e alguns detalhes são relevantes, como ocorrendo somente nos cores E (Efficient) e em novos processadores Intel da família Alderlake. Em novos processadores existem dois tipos de núcleos, os P de performance e E de efficiency. O problema acontecia devido a uma estrutura das tabelas de páginas continuar armazenado no cache mesmo quando não deveria na teoria e isso conduzia o processador a acessar um endereço inválido, resultado em um spurious page fault. Como já mencionado, o problema acontecia somente nos cores E em processadores Intel da família AlderLake. A solução, aparentemente, foi garantir que esse cache específico fosse limpo para o endereço desejado através da instrução invlpg. Como pode ser visto na imagem que inclui abaixo, além da TLB, existem alguns caches específicos das tabelas de páginas e são caches que estão relacionados ao problema.

O resumo do problema é descrito pelo próprio Pawel no slide abaixo:

A apresentação até esse momento já tinha sido excelente, mas Pawel, não parou por aí. Na terceira e última parte da apresentação foi apresentado um problema na implementação da instrução invlpg em processadores Intel. O problema foi mencionado publicamente em uma issue do sistema operacional FreeBSD. De início, pareceu com o problema que eles tiveram por ter algumas semelhanças, mas, após uma investigação aprofundada, mesmo tendo coisas em comuns, são, na verdades, dois problemas distintos, como ele conclui no penúltimo slide. A Intel confirmou que é um bug no processador e emitiu uma errata.

Eu realizei pesquisas com TLB no passado e até mencionei minha experiência em meus slides de forma simplificada para o público na Null Byte. Os processadores e seus recursos são bastante complexos e a experimentação, independente do motivo, é muito importante para consolidar o conhecimento e realmente aprender como as coisas funcionam. Conversando com Pawel, mencionei que antes de realizar minhas pesquisas, eu achava que entendia bem como as coisas funcionavam. Ele riu e comentou que também tinha esse pensamento antes do trabalho de troubleshooting para a identificação e solução do problema.
A palestra do Pawel foi excelente. Ela sozinha já me garantiu uma ótima experiência no evento e espero que outros presentes também tenham um pouco deste sentimento. O conteúdo foi muito bem apresentado e de altíssimo nível. Uma oportunidade extraordinária para nós brasileiros poder prestigiar um conteúdo desse nível de qualidade e originalidade.

CCC 38c3
O congresso, como sempre, é super organizado. O espaço é grande, confortavelmente suportando dezenas de milhares de pessoas. Alimentação ainda é um dos pontos ruins pra mim, mas talvez uma exceção de alguns dias não seja tão ruim. Fiquei hospedado no hotel ao lado do cento de convenções onde o evento foi realizado e isso facilitou muita coisa. Permitiu acordar mais tarde, descansar quando necessário e bom café da manhã. Cheguei com um dia de antecedência, peguei minha pulseira de forma fácil e rápida, caminhei pelo local do evento para fazer um reconhecimento e retornei apenas no dia seguinte. Vamos para as apresentações.
ACE up the sleeve: Hacking into Apple’s new USB-C Controller – Thomas Roth (Stacksmashing)
Essa foi a primeira apresentação que assisti e talvez a melhor. Eu conhecia o apresentador de Twitter / X, mas não tinha ideia quem ele era e muitos menos o trabalho. Acompanho muitas pessoas e apesar de saber que estão envolvidas com hacking e segurança da informação, para a grande maioria das pessoas e profissionais que acompanho, dificilmente eu conseguiria comentar diretamente sobre o trabalho. Esse era o caso de Thomas Roth, popularmente conhecido como stacksmashing.
A apresentação foi sobre um microprocessador presente em dispositivos Apple, como MacBooks e iPhones, responsável por gerenciar a porta USB-C. O dispositivo é conhecido como ACE3 em dispositivos mais modernos. Na verdade, o ACE3 gerencia muito mais do que apenas comandos USB-C. Um dos mecanismos também presente nesse microprocessador é um recurso de debug. Em dispositivos mais antigos existe uma versão anterior do microprocessador, conhecida como ACE2. O apresentador escreveu códigos e projetou um cabo para o ACE2 que funciona com a porta Lighting de modelos anteriores de dispositivos Apple e tinha tido sucesso hackeando os dispositivos para conseguir execução arbitrária nesse microprocessador. Porém, ainda não tinha conseguido acesso direto ao ACE3 e essa versão apresenta desafios que não existiam na versão anterior. O apresentador falou sobre as diferenças entre os microprocessadores e como ele conseguiu obter execução de código no ACE3. Essa foi uma apresentação fantástica, tanto pelo nível do conteúdo quanto pela habilidade de apresentação.
https://media.ccc.de/v/38c3-ace-up-the-sleeve-hacking-into-apple-s-new-usb-c-controller

From Pegasus to Predator – The Evolution of iOS Commercial Spyware – Matthias Frielingsdorf
Essa apresentação foi bem legal. Me surpreendeu. Inicialmente pensei que seria uma apresentação apenas sobre o lado político, mas foi justamente o contrário. O foco da apresentação foram os detalhes técnicos. Matthias Frielingsdorf palestrou sobre a evolução técnica dos spywares comerciais para iOS. Como as amostras descobertas publicamente foram evoluindo com o tempo e quais principais diferenças entre elas? Apesar de usuário do iOS, eu não acompanho os acontecimentos e aprendi bastante com essa apresentação. Infelizmente, os slides não parecem estar disponíveis, mas o video completo da apresentação pode ser encontrado no link abaixo.
https://media.ccc.de/v/38c3-from-pegasus-to-predator-the-evolution-of-commercial-spyware-on-ios

Can We Find Beauty in Tax Fraud? – Martin
A CCC é um evento interessante principalmente pela diversidade das apresentações. Essa apresentação, por um apresentador chamado Martin, achei interessante. Fraude fiscal é um tópico que sempre tenho interesse em aprender mais. Leio livros e acompanho o que posso relacionado ao assunto. Acredito ser uma forma bem interessante para entender melhor o mundo, as leis e principalmente como as pessoas pensam.
A apresentação foi realizada de uma forma que aparentemente não agradou a todos. Pelo menos, um pessoa que encontrei durante o evento que também assistiu a apresentação, informou que não gostou muito da forma como a apresentação foi feita. Um dos motivos foi o apresentador estar lendo os slides. Para mim, isso não é um fator tão relevante como é para a maioria das pessoas, aparentemente. Não me importo com os slides ou se o apresentador está lendo. O que considero mais relevante é o conteúdo e acredito que essa apresentação teve muita coisa interessante. Gostaria de ter os slides e salvar para consumir com mais calma, porém, encontrei apenas os vídeos. Tiveram algumas perguntas interessantes no final e mais interessante ainda foram a respostas do apresentador. Bom, não vou falar muito sobre a apresentação, mas o link para ao vídeo está aqui:
https://media.ccc.de/v/38c3-can-we-find-beauty-in-tax-fraud
BlinkenCity: Radio-Controlling Street Lamps and Power Plants – Fabian Bräunlein and Luca Melette
Essa foi a última apresentação que assisti na conferência. Não é um assunto que me interessa, independente de ser interessante para muitos. Hacking pra mim não é apenas sobre ser legal, tenho um interesse diretamente relacionado ao meu trabalho ou com o que gosto de consumir. Provavelmente eu tenha assistido essa apresentação apenas porque as pessoas que estavam comigo queriam ver. Porém, não me decepcionei.
A apresentação foi sensacional, os apresentadores demonstraram uma ótima desenvoltura para apresentar em público. O hacking feito por eles foi legal, com um grande impacto, divertido, criativo e uma parte interessante sobre física. Eles descobriram como controlar postes de energia e usinas de energia na Alemanha. O link para o vídeo da apresentação encontra-se abaixo:
https://media.ccc.de/v/38c3-blinkencity-radio-controlling-street-lamps-and-power-plants
Opinião geral sobre a CCC
Todas as apresentações, pelo menos as que já assisti, não apenas nessa edição, mas também em edições anteriores, parecem ser de altíssimo nível, partindo de excelência técnica até a apresentação apropriadamente dita. Algumas pessoas comentaram para mim diretamente no evento dizendo que algumas palestras poderiam ter sido melhor apresentada, mas para mim, no geral, todas que assisti foram muito boas. São quatro dias de evento, com algumas apresentações acontecendo até às 00:00. Sim, meia-noite e ainda têm palestras, como pode ser visto na agenda. Estar na Europa é um ponto relevante para eu prestigiar a conferência. Sempre aproveito para tirar férias e viajar. Normalmente vou para conferências em locais que decido passar alguns dias e a Alemanha é um lugar que sempre gosto de estar.
Oportunidades
Em eventos grandes e importantes como a CCC ocorrem ótimas oportunidades de encontrar com pessoas que realizam trabalho importantes na área de segurança e tecnologia da informação. Para mim, que trabalho com baixo nível, sempre têm apresentações e pessoas importantes circulando pelo evento.
Pontos negativos
Um ponto negativo do evento, que não se aplica diretamente para mim, mas vejo que muitos comentam com conotação negativa é a data de realização. O evento tem data fixa e sempre acontece logo após o natal, dos dias 27 a 30 de dezembro. Por ser Dezembro e na Europa, o evento ocorre no inverno e isso também incomoda muitas pessoas.
Outro ponto negativo é alimentação, como já mencionei. Não há muitas opções para alimentação saudável no evento, tendo que se deslocar para a cidade para poder encontrar opções mais interessantes. Durante o evento, os restaurantes da região acabam ficando cheios, algumas vezes dificultando encontrar uma opção.
Conclusão
No geral, a CCC é uma conferência extraordinária. Normalmente fico muito feliz de estar presente e poder prestigiar uma conferência do tamanho e da relevância da CCC. É uma ótima opção para quem quiser prestigiar uma conferência de grande importância mundial, na Europa, fazer amizades, talvez hackear um pouco no CTF e conhecer a cidade de Hamburgo.