A Lenda do Dev do Escudo
- #Desperte o potencial
- #Boas práticas
- #Segurança da informação
A cada dia o mundo passa a ser mais digital e conectado, muita informação que antigamente ficava presa a um papel e muitas vezes era restrita, agora pode estar nas nuvens e ser facilmente compartilhada. A vantagem da digitalização dos dados é o grande volume de informação disponível que podemos transformar em conhecimento, porém existe o viés que é o trato com a segurança da informação, imagine uma informação de saúde de uma pessoa ser compartilhado principalmente sem o devido consentimento. Quanto mais disponível o dado ou informação é, mais riscos existem em relação a segurança e privacidade e consequentemente são maiores os desafios de proteção.
O vazamento de dados pode acarretar dano para pessoas e empresas e por isso a Cybersegurança ganha cada vez mais espaço em discussões de tecnologia.
O que é Cybersegurança?
De acordo com o site da Kaspersky: “A Cybersegurança é a prática que protege computadores e servidores, dispositivos móveis, sistemas eletrônicos, redes e dados contra ataques maliciosos. Também é chamada de segurança da tecnologia da informação ou segurança de informações eletrônicas”
O concento é aplicável a uma variedade de contextos, sendo os mais comuns:
- Segurança de rede: proteger uma rede de computadores contra intrusos.
- Segurança de aplicativos: focar em manter o software e os dispositivos livres de ameaças.
- Segurança de informações: proteger a integridade e a privacidade dos dados, tanto no armazenamento como em trânsito.
- Segurança operacional: incluir os processos e decisões para tratamento e proteção dos arquivos com dados. As permissões e os procedimentos que determinam como e onde os dados podem ser armazenados ou compartilhados.
- Recuperação de desastres e continuidade dos negócios: definir como uma organização responde a um incidente de cibersegurança ou qualquer outro evento que cause a perda de operações ou dados.
- Educação do usuário final: qualquer pessoa pode introduzir acidentalmente um vírus em um sistema seguro se deixar de seguir as práticas recomendadas de segurança.
Fernando Araújo com seu artigo “Segurança digital: o perigo ao redor!” (clique aqui para acessar), publicado aqui na DIO aborda mais detalhes sobre a segurança digital, principais ameaças, o que empresas e pessoas devem fazer e fala de LGPD e leis relacionadas à proteção de dados e segurança em geral.
E o Dev tem algum papel na área de Cybersegurança?
O desenvolvedor de softwares, Dev, tem papel na Cybersegurança sim!
A atividade principal do Dev é criar e manter sistemas que normalmente manipulam dados que podem ser dados sensíveis ou pessoais, só este fato já cria obrigação para o Dev de zelar pela informação e não deixar vazar por seus sistemas construídos.
Mesmo que o sistema construído já possua todas as camadas de segurança planejadas pelo time ou consultor de segurança, ainda assim o Dev pode ser o elo fraco na segurança, como, por exemplo, por descuido de deixar credenciais expostas no código e deixar o código público.
De acordo com publicação do CSO Online, comparando 2022 com 2021 ocorreu um aumento de 67% de casos de credenciais expostas em código, “hard-coded”, que estavam em repositório públicos no GitHub, ou seja, acessível por qualquer pessoa na Internet.
As credenciais expostas podem cair em banco de dados de hackers ou mesmo de empresas concorrentes que podem usar a informação para explorar vulnerabilidades com consequências de vazamento ou perca de dados.
Além de ter cuidado com os dados que porventura pode ter acesso, o Dev tem que zelar pelas credenciais que lhe foram confiadas.
A Lenda do Dev do Escudo
Para quem ainda não conhece, aqui aproveito a referência do anime “A Lenda do Herói do Escudo”, nome original “Tate no Yuusha no Nariagari”, onde um personagem é convocado para um mundo de fantasia com outras 3 pessoas, formando um quarteto de heróis para proteger um reino, cada um dos quatro recebeu uma arma lendária, sendo que uma delas é um escudo. Na história, a importância do escudo é subestimada por todos, mas na adversidade o herói do escudo consegue proteger o reino mesmo quando os outros três falharam.
De acordo com o colocado na publicação no LinkedIn de Willem Neto, Arquiteto em Segurança (clique aqui para acessar): “Não seria fenomenal se os desenvolvedores pudessem participar da concepção de uma arquitetura de aplicação Segura, e de quebra ainda aumentassem muito sua cultura geral sobre desenvolvimento seguro?”
É importante que o Dev tenha conhecimento de sua responsabilidade com dados e credenciais e o potencial que tem para proteger os dados para que não caiam em mãos erradas.
E como seria a jornada de um Dev do escudo?
- Publicar em repositório remoto público somente o que tem certeza de que pode ser exposto, até mesmo regras de negócios podem ser cruciais para os negócios e atenção aos licenciamentos de todo ou parte de um código;
- Utilizar credenciais somente em arquivos de configurações voltados para este fim ou cofres de segredos confiáveis.
- Aplique criptografia sempre que possível, tome cuidado com excesso que pode atrapalhar desempenho e de não perder ou expor credenciais chaves.
- Fique por dentro das atualizações da Linguagem, Frameworks e dependências que utiliza em seu projeto, verifique o que a atualização proporciona e principalmente quando existe correção de alguma vulnerabilidade, considere fazer o upgrade da versão. Esta situação não é simples, atualizar alguma base do projeto pode causar impacto em todo o software, necessitando de análise e até mesmo manutenção para que tudo funcione. Procure conhecer design patterns e arquiteturas que contribuem para o desacoplamento do código, isso pode ajudar a diminuir o impacto de atualizações e facilitar a análise e manutenção do código.
- Aprenda sobre Autenticação e Autorização, existem frameworks e bibliotecas para incorporar ao sistema ou então utilizar sistemas de identidade centralizados, como logon único, SSO, ou login com identidade federada. Conhecer este assunto vai ajudar a entender melhor a importância para evitar que mesmo em caso de necessidade de soluções com prazos apertados, simplesmente crie-se uma ponte que passe por cima de autenticação ou autorização.
- Evite apenas o CTRL+C e CTRL+V, copia e cola, de código, seja de um repositório, de um fórum de resolução de problemas ou código gerado por IA, sempre procure entender o que o código realmente faz. A solução encontrada pode ter sido através da remoção de configurações de segurança, então copiando sem observar pode fazer com que a aplicação acabe propiciando vulnerabilidades que poderiam ter sido evitadas.
- Fique por dentro de notícias de tecnologia e segurança, conhecer as vulnerabilidades que já ocorreram e que estão sendo conhecidas é importante, quanto antes souber e revisar, mais chances terá de evitar algum problema.
- Tenha contato com equipe ou especialista em segurança do projeto ou empresa, essa comunicação é importante desde a concepção do projeto, isso contribui para que as práticas de segurança definidas possam ser de fato consideradas e aplicadas já no desenvolvimento das aplicações. Do mesmo jeito que a aplicação normalmente possui testes para qualidade e atendimento da regra de negócio, pode ter também testes para encontrar e tratar vulnerabilidades e validar com as políticas de segurança.
O Dev acaba carregando o poder de ser parte do problema ou da solução em Cybersegurança, pode parecer complicado, mas deve-se ter atenção ao tema, todo cuidado com segurança ainda pode ser pouco.
Se você tem mais dicas ou críticas para a jornada do Dev do Escudo, deixe seu comentário.
Segue meu LinkedIn para nos conectarmos: Luis Zancanela | LinkedIn
#DesafioDIO
Mais sobre a Cybersegurança:
- Segurança digital: o perigo ao redor!, por Fernando Araujo
- Como Proteger os Dados do Currículo e Evitar Vazamentos na Dark Web?, por Luiz Café
O link do artigo está no próprio título, é só clicar e aproveitar.
Curso:
Cybersecurity Specialist na DIO: https://web.dio.me/track/formacao-cybersecurity
Mais Referências
- O que é cibersegurança? (kaspersky.com.br)
- Publicação de Willem Neto | LinkedIn
- Hard-coded secrets up 67% as secrets sprawl threatens software supply chain | CSO Online (ampproject.org)
- Qual é a diferença entre Login federado e Logon único? - EngenhariaDeSoftware
- Tate no Yūsha no Nariagari – Wikipédia, a enciclopédia livre (wikipedia.org)