Protestware está em ascensão, com programadores auto-sabotando seu próprio código. Devemos nos preocupar?
Crédito:Alexander Sinn/Unsplash
Em março de 2022, o autor do node-ipc, uma biblioteca de software com mais de um milhão de downloads semanais, quebrou deliberadamente seu código. Se o código descobrir que está sendo executado na Rússia ou na Bielorrússia, ele tentará substituir o conteúdo de cada arquivo no computador do usuário por um emoji de coração.
Uma biblioteca de software é uma coleção de código que outros programadores podem usar para seus propósitos. A biblioteca node-ipc é usada pelo Vue.js, uma estrutura que alimenta milhões de sites para empresas como Google, Facebook e Netflix.
Essa vulnerabilidade crítica de segurança é apenas um exemplo de uma tendência crescente de programadores autosabotagem de seu próprio código para fins políticos. Quando os programadores protestam por meio de seu código - um fenômeno conhecido como "protesware" - isso pode ter consequências para as pessoas e empresas que confiam no código que criam.
Diferentes formas de protesto Minha colega Raula Gaikovina Kula e eu identificamos três tipos principais de protestware.
- Protestware maligno é um software que intencionalmente danifica ou assume o controle do dispositivo de um usuário sem seu conhecimento ou consentimento.
- Protestware benigno é um software criado para aumentar a conscientização sobre um problema social ou político, mas não danifica nem assume o controle do dispositivo de um usuário.
- Sanções do desenvolvedor são instâncias de contas de programadores sendo suspensas pelo serviço de hospedagem na Internet que fornece a eles um espaço para armazenar seu código e colaborar com outras pessoas.
Os sistemas de software modernos são propensos a vulnerabilidades porque dependem de bibliotecas de terceiros. Essas bibliotecas são feitas de código que executa funções específicas, criadas por outra pessoa. O uso desse código permite que os programadores adicionem funções existentes em seu próprio software sem precisar "reinventar a roda".
O uso de bibliotecas de terceiros é comum entre os programadores – acelera o processo de desenvolvimento e reduz custos. Por exemplo, as bibliotecas listadas no popular registro NPM, que contém mais de 1 milhão de bibliotecas, contam com uma média de cinco a seis outras bibliotecas do mesmo ecossistema. É como um fabricante de automóveis que usa peças de outros fabricantes para completar seus veículos.
Essas bibliotecas são normalmente mantidas por um ou um punhado de voluntários e disponibilizadas para outros programadores gratuitamente sob uma licença de software de código aberto.
O sucesso de uma biblioteca de terceiros é baseado em sua reputação entre os programadores. Uma biblioteca constrói sua reputação ao longo do tempo, à medida que os programadores ganham confiança em seus recursos e na capacidade de resposta de seus mantenedores a defeitos relatados e solicitações de recursos.
Se os pontos fracos da biblioteca de terceiros forem explorados, isso poderá dar aos invasores acesso a um sistema de software. Por exemplo, uma vulnerabilidade crítica de segurança foi descoberta recentemente na popular biblioteca Log4j. Essa falha pode permitir que um invasor remoto acesse informações confidenciais registradas por aplicativos usando o Log4j, como senhas ou outros dados confidenciais.
E se as vulnerabilidades não forem criadas por um invasor em busca de senhas, mas pelo próprio programador com a intenção de conscientizar os usuários de sua biblioteca sobre uma opinião política? O surgimento do protestware está dando origem a essas questões, e as respostas são mistas.
Há muitas questões éticas Uma postagem de blog no site da Open Source Initiative responde à ascensão do protestware afirmando que "o protesto é um elemento importante da liberdade de expressão que deve ser protegido", mas conclui com um aviso:"As desvantagens de vandalizar projetos de código aberto superam em muito qualquer benefício possível, e o blowback acabará por prejudicar os projetos e colaboradores responsáveis."
Qual é a principal questão ética por trás do protestware? É ético fazer algo pior para fazer um ponto? A resposta a esta pergunta depende em grande parte das crenças éticas pessoais do indivíduo.
Algumas pessoas podem ver o impacto do software em seus usuários e argumentar que o protestware é antiético se for projetado para tornar a vida mais difícil para eles. Outros podem argumentar que, se o software for projetado para mostrar um ponto de vista ou aumentar a conscientização sobre um problema, ele pode ser visto como mais eticamente aceitável.
De uma perspectiva utilitarista, pode-se argumentar que se uma forma de protestware é eficaz em trazer um bem maior (como mudança política), então pode ser moralmente justificada.
Do ponto de vista técnico, estamos desenvolvendo maneiras de detectar e neutralizar automaticamente o protestware. Protestware seria um evento incomum ou surpreendente no histórico de mudanças de uma biblioteca de terceiros. A mitigação é possível por meio de redundâncias — por exemplo, código semelhante ou idêntico a outro código na mesma ou em bibliotecas diferentes.
A ascensão do protestware é um sintoma de um problema social maior. Quando as pessoas sentem que não estão sendo ouvidas, podem recorrer a diferentes medidas para transmitir sua mensagem. No caso dos programadores, eles têm a capacidade única de protestar por meio de seu código.
Embora o protestware possa ser um fenômeno novo, provavelmente veio para ficar. Precisamos estar cientes das implicações éticas dessa tendência e tomar medidas para garantir que o desenvolvimento de software permaneça um campo estável e seguro.
Contamos com software para administrar nossos negócios e nossas vidas. Mas toda vez que usamos software, estamos depositando nossa confiança nas pessoas que o escreveram. O surgimento do protestware ameaça desestabilizar essa confiança se não agirmos.
+ Explorar mais Estudo descobre que ferramenta de correção automática faz com que mais programadores atualizem código
Este artigo é republicado de The Conversation sob uma licença Creative Commons. Leia o artigo original.