Maior segurança do código aberto é uma questão de atenção

Maior segurança do código aberto é uma questão de atenção. 

A forma de arte moderna que redimiu um utilitário do Windows tem lições para todos.

O speedrun é uma das formas de arte genuinamente novas da internet. Na melhor das hipóteses, assemelha-se a um recital de piano virtuoso. Menos profundidade emocional, mais adrenalina. Assistir a um especialista em um jogo em alta velocidade gera uma descarga de endorfina sem o gasto ou o tempo de fazer isso sozinho. 

Speedruns também podem ser esclarecedores. O caso de uso óbvio é observar atentamente a solução para algo que está te atrapalhando como jogador. Como oportunidades de aprendizado, os speedruns se assemelham aos debriefs que os aviadores militares recebem após um exercício ou que as equipes esportivas recebem após as partidas. E agora temos todos os tipos de ferramentas de análise e reprodução de vídeo que podem funcionar quase em tempo real. Essa forma de arte funciona para todos, desde jogadores casuais solo até os profissionais mais bem treinados e bem pagos que existem. Será que eles poderiam funcionar, digamos, para a segurança cibernética, onde precisamos de toda a ajuda possível?

Ah, sim. Se você tem interesse em se manter atualizado com a segurança cibernética em sua essência, quase certamente já encontrou streamers e YouTubers que decifram um pedaço de malware e o destrincham até a medula, como açougueiros experientes preparando um cervo para o churrasco. Não são tanto tutoriais, mas sim demonstrações de técnicas, tanto do hacker ético que faz a dissecação quanto dos criadores do malware. Dupla bolha. 

Então surge um que não apenas relata da linha de frente, mas ilustra algumas verdades sobre a criação de melhor segurança por meio da atenção a atributos que normalmente não são discutidos. Em particular, as implicações do código aberto ser uma maneira mais segura de construir software. Mais olhos no código significam menos lugares para esconder coisas ruins, mas como muitas coisas em FOSS , isso não vem de graça. Código nunca é apenas código: ele existe em um ecossistema de criadores, usuários e conceitos, de confiança e suspeita, e será julgado por pessoas com todo um espectro de expertise. Se você estiver escrevendo um utilitário de sistema de código aberto, por exemplo, sua chance de adoção generalizada depende de sua reputação como confiável, e isso se refletirá em você. 

Quem observa os observadores?

O Talon é um exemplo claro. Um desintoxicador para Windows, desenvolvido por uma empresa chamada Raven e distribuído pelo GitHub como código aberto, ganhou fama de malware em potencial. O código aberto por si só não garante nada, e a discussão sobre se a credibilidade do Talon foi comprovada ou não só cresceu. Entra em cena o educador de segurança cibernética e hacker ético do YouTube, John Hammond. Seu trabalho diário inclui responder à pergunta “É malware?”. Ele tem a habilidade, as ferramentas e a cafeína. O Speedrun está aí. 

O resultado , de 39 minutos, não é um tutorial, e isso também não. É uma demonstração de como ele avalia se algo que parece suspeito, como as entranhas do Talon, é realmente prejudicial. No fim das contas, ele conclui que não é. 

O motivo de tantas pessoas desconfiarem da ferramenta é que o que parecia suspeito para ele também parecia suspeito para vários scanners automatizados que procuravam traços típicos de malware no código. Hammond, sendo humano, sabe como ir além disso e ver o que a lógica e o caminho de execução realmente fazem, e sempre acaba desinchando em vez de detonar. Ele também é muito bom nisso; você deveria ver como ele desliga o navegador Edge da Microsoft para sempre.  

Se você observá-lo usando o Python e o Powershell, tanto no código-fonte quanto no executável do GitHub, um padrão emerge: se você estiver fazendo modificações de baixo nível em todo o sistema de uma máquina Windows, essa é a natureza da coisa, seja ela beligerante ou benigna. 

Por exemplo, o Talon precisa desativar o Defender, executar como administrador, anular privilégios de execução, gastar 15.000 linhas de espaguete do PowerShell e assim por diante. Além disso, os designers optaram por fazer o Talon baixar vários binários executáveis externos, além de construir tudo com uma ferramenta que produz um binário compactado, convertendo todo o Python para C e, posteriormente, para código de máquina. Portanto, embora isso não seja ofuscação, tem o cheiro.

Em cada caso, Hammond demonstra por que não há malícia escondida — provavelmente. Como ele observa, a quantidade de análise detalhada que você faz depende de como você ajusta o seu nível de conforto pessoal em relação à ameaça. 

Como o Raven poderia ter evitado ser considerado suspeito? Existe um conceito chamado codificação defensiva, em que você considera cada decisão não apenas como ela contribui para a funcionalidade, mas como ela codificaria se recebesse uma entrada inesperada. Com o Talon, o processo defensivo é se uma escolha de técnica acionará scanners de malware e, se isso puder, mas for indispensável, como deixar claro no código o que está acontecendo. Você sabe, aquela coisa chata de documentação. A visão geral do design. Os comentários no código. Se o seu produto vai precisar de todos esses olhos de código aberto para se tornar confiável, então alimente esses olhos com o que eles precisam. Não há muitos Hammonds, mas há muitos aspirantes curiosos, e até mesmo o jornalista ocasional ansioso para contar uma história. 

Criar segurança é uma tarefa gigantesca, e todos que lançam software para as massas têm a oportunidade de ajudar ou atrapalhar, independentemente da intenção real do produto. O código aberto é um caminho magnífico para uma segurança mais ampla, pois mantém os humanos informados. A engenharia para esses humanos é um amplificador de força para o bem. Basta perguntar aos futuros historiadores que farão uma rápida análise da história da segurança cibernética daqui a séculos.

Fonte: The Register

Veja também:

About mindsecblog 3120 Articles
Blog patrocinado por MindSec Segurança e Tecnologia da Informação Ltda.

Be the first to comment

Deixe sua opinião!