O que é codificação segura?
A codificação segura procura evitar defeitos de codificação facilmente evitáveis que criam riscos à segurança. Pesquisas sobre vulnerabilidade de software mostram que um grande número de explorações está enraizado em um pequeno grupo de erros de programação comuns. Os analistas divulgam informações sobre esses erros para conscientizar os codificadores do problema e incentivá-los a usar melhor segurança no design e na implementação do software. Protocolos específicos foram desenvolvidos para algumas linguagens de programação, como Java ™, para fornecer orientação aos programadores e ajudá-los a evitar armadilhas comuns.
Nesse processo, os codificadores usam padrões e práticas que eliminam problemas de segurança comuns. Problemas com o código podem surgir por vários motivos, incluindo controle inadequado de permissões e protocolos de armazenamento em buffer. Eles podem não ser identificados durante o desenvolvimento ou o teste, mas podem se tornar aparentes após o lançamento. Os hackers que buscam explorações podem buscar especificamente pontos fracos comuns em software e podem encontrá-los testando os limites, o que lhes permite desenvolver ataques direcionados. A codificação segura pode eliminar essas explorações fáceis.
Os protocolos usados na codificação segura criam uma abordagem defensiva para o desenvolvimento de software. À medida que as pessoas implementam recursos para fornecer funcionalidade e atender às necessidades dos clientes, elas também fecham todas as brechas que possam surgir durante o processo de design. A codificação segura pode ser um problema específico do código projetado para uso online, em que os usuários podem ter configurações relaxadas em seus navegadores, assumindo que o código originário de um site conhecido seja confiável. Se o código de um site estiver vulnerável a hackers, ele poderá ser invadido, plantando códigos maliciosos nos computadores e dispositivos móveis dos visitantes.
Os desenvolvedores de software encontram um equilíbrio entre funcionalidade e segurança. Algumas medidas de segurança dificultam o uso de programas e podem representar barreiras ao uso total. Permitir que as pessoas usem programas sem nenhuma segurança, no entanto, pode expô-las ao perigo. Também pode ser uma ameaça para as redes de computadores como um todo; um usuário com um computador infectado em uma rede da faculdade, por exemplo, pode causar problemas para vários outros usuários, incluindo laboratórios confidenciais que podem estar conectados à rede para acesso.
Programadores individuais podem usar uma variedade de táticas na codificação segura, além de seguir os protocolos estabelecidos para linguagens de programação específicas. Isso pode incluir consistência e clareza na codificação para limitar a confusão e possibilitar que outros programadores trabalhem no mesmo código. Em esforços colaborativos, as tentativas de desembaraçar outro código podem criar problemas que apresentam problemas de segurança.