Publicidade
Economize: canal oficial do CT Ofertas no WhatsApp Entrar

Dicas básicas para a proteção de dados durante o desenvolvimento de softwares

Por| Editado por Claudio Yuge | 21 de Junho de 2021 às 19h00

Link copiado!

Montagem Canaltech
Montagem Canaltech

Um ambiente de desenvolvimento de software deve ser seguro. Afinal, com o compartilhamento de informação na internet e entre dispositivos cada vez mais frequente no cotidiano, zelar pela segurança da informação das aplicações é fundamental — basta lembrar que o ataque a computadores, tablets e smartphones é cada vez mais comum.

Isso pode parecer óbvio, mas nem sempre todas as medidas necessárias são adotadas na criação dessas ferramentas. Isso naturalmente pode comprometer o resultado — mesmo nos programas mais simples.

Por isso, a segurança digital deve estar presente desde a elaboração do software até depois de sua implementação: essa é a melhor forma de garantir que o usuário terá um programa protegido. “Essa preocupação é necessária porque a desenvolvedora pode ser uma potencial porta de entrada para criminosos em larga escala”, diz Daniel Barbosa, especialista em segurança da informação e pesquisador da ESET Brasil. “Então, é essencial que elas tenham a consciência da necessidade do desenvolvimento seguro.”

Continua após a publicidade

É preciso lembrar que quanto mais se cuida da segurança da informação durante a criação de aplicações, mais confiável é o produto final. E, em mercados cada vez mais competitivos, a segurança de um programa pode ser responsável por seu sucesso. “Os aspectos relacionados à segurança no desenvolvimento são obrigatórios. Não é uma lista para verificar o que a empresa tem, são pontos que necessariamente precisam fazer parte do ambiente de criação de software.” Quando uma solução é confiável, o ativo mais importante do mundo digital, a informação, fica resguardado.

A qualidade de um sistema pode ser medida de diferentes maneiras. Entre as características de uma boa ferramenta, é possível citar: estabilidade, confiabilidade, baixo nível de falhas e atualizações constantes. A definição de melhores práticas a serem seguidas pela equipe de desenvolvimento vai garantir a elaboração de soluções mais seguras. Confira os pontos a serem considerados.

Transferência e armazenamento de dados

Continua após a publicidade

Esse aspecto é crucial. A troca de informações pode ser mais confiável quando feita com certificado do tipo PCI–DSS (Payment Card IndustryData Security Standard, o padrão de segurança de dados usado na indústria de pagamento por cartão). Com ele, a confidencialidade da operação é feita com métodos sofisticados de criptografia.

Rotinas de verificação de pacotes de dados podem ajudar a aumentar a integridade e a autenticidade das informações. Dessa forma, tanto o remetente quando o destinatário ficam seguros de que a conexão usada no processo é 100% segura e de que a captura e o roubo de dados sensíveis serão evitados.

Além disso, o uso da nuvem precisa ser feito de forma adequada. Quando for necessário usar um drive para a transferência de arquivos, é importante que ele seja da empresa, com autenticação adequada e VPN estabelecida. “Um drive do Google, do Dropbox ou do Mega não é inseguro, mas certamente não é a melhor opção”, lembra Barbosa. “Como são gratuitos, o usuário fica à mercê dos termos de uso. Eles podem dizer, por exemplo, que os dados que trafegam naquele ambiente podem ser usados pelo provedor.”

Continua após a publicidade

Ambiente de desenvolvimento seguro

Além da segurança digital do ambiente, é importante ter um local sem vulnerabilidades físicas. O acesso às áreas destinadas à criação de sistemas deve ser controlado. Além disso, os servidores devem ser mantidos isolados para prevenir que sejam usados por pessoal não autorizado.

Durante a pandemia, com muitos desenvolvedores trabalhando em casa, é essencial proteger o ambiente doméstico. “Pelo menos o computador usado pelo profissional precisa ter antivírus, criptografia e comunicação protegida”, diz Barbosa. “Nos escritórios, a proteção física evita o roubo de equipamentos e informações: podem ser câmeras, cabos para prender o notebook na estação de trabalho, criptografia para impedir o acesso ao conteúdo do disco rígido e outros recursos que ajudem a evitar a perda de material.”

Técnicas seguras de criação

Continua após a publicidade

Independentemente do método de trabalho escolhido pela equipe (como metodologias ágeis ou tradicionais), ele deve ser adaptado para que a segurança seja reforçada. Assim, sempre que verificar um código, o engenheiro de software precisa buscar possíveis falhas que possam comprometer a segurança digital.

A mesma atenção deve ser dada ao tamanho das memórias e das coleções de software para não comprometer a experiência do usuário. Além disso, durante o desenvolvimento, erros devem ser identificados e solucionados rapidamente.

É muito importante, ainda, se atentar às técnicas de validação de entrada e de saída, ao tratamento de variáveis e à criptografia. “Os códigos devem ser concebidos com isso em mente para que as interações, com o usuário ou com a rede, não aconteçam de forma inadequada nem levem à exposição de informações ou deem acesso a algo que não deveriam”, destaca Barbosa. “Quando esses pontos não são contemplados, pode haver vulnerabilidades.”

O especialista explica que um dos erros mais comuns é o não tratamento de entrada ou de saída. “Se a interação do usuário com o software não está configurada adequadamente, pode permitir uma entrada diferente da esperada, que será usada para sobrescrever parte do código. Isso pode, eventualmente, fazer a aplicação executar uma função criada pelo criminoso.”

Continua após a publicidade

Revisão de brechas no código

Como tentativas de roubo de dados são cada vez mais comuns, é preciso investir em prevenção. Isso inclui a revisão do código, que pode ser feita de forma automatizada ou pela equipe de segurança digital da empresa, o uso de modelos de ameaça para guiar os desenvolvedores e a execução de ataques tradicionais para verificar a confiabilidade do sistema.

Uso de indicadores de desempenho

Continua após a publicidade

Indicadores-chave de desempenho (Key Performance Indicators – KPIs) são usados para avaliar a atuação da equipe durante o projeto. Com eles, os profissionais podem compreender seu progresso no aprendizado de novas técnicas. Já para o gerente, os KPIs são uma forma de medir o conhecimento e o desempenho dos colaboradores.

No segmento de segurança digital, os indicadores permitem definir padrões de proteção. Assim, é possível procurar novos métodos para evitar as ameaças mais comuns, como vírus e injeções de SQL. “Os desenvolvedores devem ser capacitados e estar cientes da necessidade do desenvolvimento seguro”, reforça Barbosa.

Definição de ciclo de desenvolvimento seguro

O ciclo de desenvolvimento seguro (Security Development Lifecycle – SDL) envolve o uso de diversos produtos e atividades, como a verificação dos processos da empresa, para criar sistemas seguros. O SDL tem sete etapas:

Continua após a publicidade
  • Treinamento: todos os integrantes da equipe devem ser treinados sobre os princípios e as tendências mais modernos de segurança e privacidade.
  • Requerimentos: é fundamental que os recursos que permitem garantir a segurança e a privacidade do usuário estejam presentes. Além disso, é crucial ter um sistema de rastreamento de falhas para a resolução rápida de problemas.
  • Design: é usado para analisar a superfície de ataque da aplicação e criar um modelo com as principais ameaças.
  • Implementação: o código deve ser criado com técnicas de programação defensiva e padrões que reduzem a chance de haver vulnerabilidades.
  • Verificação: é a etapa de teste, verificação do código e inspeção da documentação. Pode ser feita com o uso de ferramentas automatizadas ou por profissionais externos.
  • Lançamento: é importante preparar a equipe de suporte para resolver problemas. Os responsáveis por incidentes mais sérios devem estar preparados para minimizar os danos da forma mais rápida possível.
  • Resposta: falhas encontradas após a distribuição do sistema devem ser identificadas e resolvidas.

Barbosa destaca, ainda, que é importante acompanhar entidades que definem padrões de segurança, como a Mitre Corporation e o Projeto Aberto de Segurança de Aplicações Web (Open Web Application Security Project – Owasp). Elas servem como guia para a programação segura.