Como as habilidades de desenvolvimento deficientes prejudicam a Internet | Meu blog
Recentemente, me deparei com um site administrado pelo governo. Acredito que tenha sido desenvolvido por uma empresa afiliada ao governo ou por uma empresa privada que ganhou o projeto por meio de licitação. De acordo com a Wayback Machine, o site provavelmente está online desde 2015. No entanto, sua versão atual está em vigor desde 2018. Não vou revelar o nome do site porque meu objetivo não é torná-lo alvo de hackers.
Consegui reunir muitas informações neste site, mas não vou entrar em todos os detalhes aqui porque meu principal objetivo é explicar como esses problemas podem prejudicar a internet. O maior problema que encontrei no site é que ele é vulnerável a ataques de cross-site scripting (XSS). Para quem não está familiarizado com XSS, é uma das vulnerabilidades mais comuns em sites. Os hackers podem usá-lo para injetar diferentes tipos de código em um site para roubar informações.
Este site me levou a pesquisar outros sites relacionados ao governo. Em muitos deles, encontrei diversas vulnerabilidades e problemas de segurança, que parecem ser comuns em sites governamentais. Não entrarei em detalhes sobre todos os problemas que encontrei neste artigo. O que quero destacar é que esses sites foram construídos sem considerar os princípios básicos do desenvolvimento web.
Todos sabemos que o sistema W&OP do governo foi recentemente hackeado. Posso mencioná-lo aqui porque foi amplamente divulgado nos noticiários da época. O governo alegou que não havia nada com que se preocupar. No entanto, algum tempo depois do incidente, assim que as coisas se acalmaram, o governo pediu a certos tipos de trabalhadores que submetessem novamente o formulário W&OP. Acredito que isso aconteceu porque não havia backup adequado ou sistema à prova de falhas. Parece que todos os dados vazados foram perdidos para sempre. O que é realmente preocupante é que a maior parte das informações vazadas eram privadas e incluíam até fotos de retratos de todos os funcionários do governo. Infelizmente, a maioria das pessoas não sabe disso ou simplesmente não se importa.
Ao mesmo tempo, o governo pretende digitalizar o bilhete de identidade nacional (NIC) e, com o actual nível de segurança que têm, nem consigo imaginar quais poderão ser as consequências.
Pelo que eu sei, quando o governo abre licitações para construir sites como esses, eles pedem todos os tipos de documentos de projeto, incluindo perfis de empresas, documentos fiscais, propostas técnicas e especificações de requisitos de software (SRS). Eles ainda exigem que as equipes de projeto tenham mais de cinco anos de experiência, e muitas vezes espera-se que o líder da equipe tenha um diploma em engenharia de sistemas ou ciência da computação. Esses requisitos podem variar dependendo do projeto. O que estou tentando dizer é: se uma equipe com essas qualificações estiver envolvida, como eles poderiam deixar de construir um site com segurança básica? Acho que você já sabe a resposta para isso.
O mais importante é que esse problema não se limite aos sites governamentais. Recentemente, nossa empresa teve a oportunidade de assumir um projeto. Porém, acabamos não conseguindo porque o cliente disse que encontrou uma equipe de alunos de graduação que se dispôs a fazer o trabalho por um preço menor. Então, nos afastamos e deixamos eles seguirem em frente com aquela equipe.
Quando se trata de sites privados, o problema geralmente vem de clientes que acham que o desenvolvimento web é fácil e que qualquer pessoa com um pouco de conhecimento de codificação pode fazê-lo. Na realidade, um site pode ter centenas de problemas de segurança. A maioria dos desenvolvedores nem percebe esses problemas a princípio. Às vezes, eles ignoram as vulnerabilidades mais comuns e se concentram apenas nas mais avançadas. Esse erro pode causar sérios danos ao seu site e ao seu negócio.
O engraçado é que a maioria dos clientes nem se preocupa com segurança. Eles arriscam e acabam perdendo. Depois disso, eles começam a pensar que todos os prestadores de serviços são iguais. Esses clientes não percebem o erro de escolher um fornecedor só porque é barato ou fisicamente mais próximo deles. Sim! Eles acreditam que ter o desenvolvedor por perto ou visitar seu escritório todos os dias garantirá de alguma forma um ótimo site. É assim que as pessoas pensam, mas a triste verdade é que a maioria dos desenvolvedores não gosta de ser vigiada ou microgerenciada pelos clientes. É por isso que muitas empresas utilizam analistas de negócios (BAs) para conversar com os clientes, em vez de permitir que os clientes negociem diretamente com os desenvolvedores.
Vamos parar de sair do assunto. Meu ponto principal é este: é assim que a internet quebra. Como cliente, é por isso que é tão importante investir em boas habilidades de desenvolvimento web e em uma forte segurança do site. Portanto, da próxima vez que você escolher um desenvolvedor, decida com cuidado.
O desenvolvimento web não é tão simples como muitas pessoas pensam. No mundo de hoje, a construção de um site adequado deve ser realizada por profissionais altamente qualificados – não apenas por um grupo de programadores ou estudantes de graduação que acreditam saber programar. Como cliente, você também precisa estar ciente das habilidades de infraestrutura, que são igualmente importantes. No entanto, não entrarei nesse tópico neste artigo – talvez eu o aborde em outra ocasião.
Estou compartilhando tudo isso com você porque sou um engenheiro de back-end altamente qualificado e experiente, além de especialista em segurança de sites. Estes são pensamentos puramente pessoais e não têm a intenção de prejudicar ou enganar ninguém de forma alguma.
