Escrito por ilegra,

18 minutos de leitura

Práticas recomendadas de desenvolvimento seguro para serviços financeiros

Saiba como proteger sua empresa de possíveis malwares!

Compartilhe este post:

Introdução

A maneira como as pessoas criam softwares está evoluindo rapidamente: de aplicativos móveis à infraestrutura das nossas maiores instituições financeiras. Os primeiros dias do Facebook e dos telefones flip (modelo “abre e fecha”) chegaram ao fim e isso significa que, para a maioria dos desenvolvedores, a segurança não é mais uma reflexão tardiamente aceitável. 

Mas o desenvolvimento de software acelerado traz um risco maior de violações de segurança. Não é incomum que as principais empresas deixem, acidentalmente, senhas em código-fonte com acesso público, vazando dados confidenciais de clientes e implantando aplicativos com vulnerabilidades claramente expostas. À medida que as organizações se esforçam para enviar novos softwares mais rapidamente, elas lutam para garantir que seus programas permaneçam seguros.

E, para essas instituições financeiras, a tensão entre trabalhar rápido e construir com segurança está mais do que clara. Novas metodologias de desenvolvimento levam o código ao mercado mais rapidamente, mas ferramentas e processos inadequados podem provocar falhas na segurança. Felizmente, existem algumas práticas recomendadas que as equipes podem seguir para tornar seu código mais seguro contra erros, violações e outras vulnerabilidades exploráveis.

 

Gerencie e armazene seus segredos com segurança

Sempre use um sistema de gerenciamento secreto para administrar as chaves do seu software e não deixar informações da conta em locais com acesso público. Nunca armazene senhas, tokens OAuth ou qualquer outra credencial de produção confidencial em um repositório.

Dados confidenciais, como informações de identificação pessoal (PII), devem ser armazenados em um banco de dados seguro e criptografado. Esse tipo de dado requer diretrizes de manuseio mais rigorosas, devido ao risco que representa aos indivíduos se for invadido algum dia. 

As violações de dados que envolvem PII podem ter consequências de longo alcance, como roubo de identidade. Para instituições financeiras, é crucial separar o armazenamento de PII dos ambientes de não produção para limitar o acesso desnecessário.

 

Automatize seus fluxos de trabalho de desenvolvimento seguro

Com ferramentas contínuas de integração, varredura de código e implantação, está mais fácil automatizar os testes e a segurança do seu código. As ferramentas de CI e CD ajudam a criar fluxos de trabalho automatizados que testam o código de bugs, vulnerabilidades de segurança e garantem que eles atendam aos padrões de desenvolvimento antes da implantação.

Essas ferramentas ajudam a impor processos de desenvolvimento seguros e permitem um ambiente de compilação consistente, repetível e transparente. Elas também facilitaram a automatização dos ambientes de desenvolvimento bem-sucedidos sem laboratórios de segurança.

Um exemplo são as empresas de serviços financeiros, que podem adicionar portões que garantem que as pessoas certas estejam revisando o código em conformidade com a Lei Sarbanes-Oxley (SOX).

 

Gerencie riscos com logs e auditorias detalhadas

Os processos nunca podem eliminar completamente os riscos, mas podem fornecer uma maneira eficaz de gerenciá-los. Manter registros detalhados de fluxos de trabalho, alterações e trilhas de auditoria ajuda sua equipe a rastrear a origem dos problemas,  conforme forem surgindo. Quando você é capaz de identificar um erro, uma vulnerabilidade ou uma violação, o tempo necessário para corrigir problemas e remover barreiras para proteger o código pode ser bem menor.

Essa abordagem de auditoria é uma alternativa às permissões e configurações complexas do usuário que atrapalham a colaboração eficiente. Embora você não possa garantir que alguém não use mal ou acesse seu sistema sem permissão, verifique se há uma trilha de auditoria completa para monitorar e identificar essas ações. Se ocorrerem erros ou alterações indesejadas, as empresas poderão recorrer à auditoria interna para fazer correções sem processos volumosos que impedem o trabalho conjunto entre os desenvolvedores.

 

Aproveite as ferramentas e integrações externas

Embora possa ser uma opção eficaz para criar todas as suas ferramentas internamente, enquanto uma organização é pequena, à medida que as equipes crescem, ela se torna um grande ônus e risco à segurança. Em vez de espalhar recursos organizacionais muito finos, considere o uso de ferramentas e integrações externas criadas por parceiros de primeira linha. Identifique as opções que melhor atendem às principais necessidades da sua empresa, em vez de tentar construí-las internamente.

Do CI ao bate-papo, ferramentas e integrações externas podem fornecer à sua equipe as melhores ferramentas possíveis para cada trabalho. E com suporte técnico completo e atualizações consistentes, sua equipe poderá se concentrar em práticas de desenvolvimento seguras, sem se preocupar em manter as ferramentas.

 

Automatize seu relatório de erros

Manualmente, o rastreamento e o relatório de bugs podem consumir tempo e, geralmente, são imprecisos. Simplifique o relatório de erros com ferramentas que detectam falhas de forma automática, como o Rollbar ou o Sentry, por meio de arquivos de log. Uma vez detectados, eles são registrados no seu sistema de rastreamento de bugs.

Melhore seus processos de segurança continuamente

Quando se trata de segurança, as melhores práticas, tecnologias e metodologias evoluem constantemente. Sua abordagem deve ser igualmente flexível, adaptando-se com rapidez para manter seu software seguro.

 

Evite a deterioração do software

A deterioração do software acontece quando a qualidade do seu código – e o código do qual depende – se perde com o tempo. Se uma parte do seu código estiver desatualizada ou não mantida, os problemas poderão se espalhar para outras áreas. E, se um dos seus componentes contiver uma segurança vulnerável, todo o seu sistema estará aberto a violações.

Para evitar isso, as empresas devem atualizar código, testes de unidade, ferramentas de análise de código estático e outras verificações para encontrar novos problemas, mesmo no código antigo.

 

Limpe e valide seus dados

A coleta e a interação com os dados são essenciais para a maneira como as empresas usam o software que constroem. Garantir que os dados sejam limpos e validados mantém os aplicativos seguros, protegendo organização e usuários finais contra uso indevido e/ou malicioso. As ferramentas ou validação de formulário verificam se as informações atendem aos parâmetros de aprovação, antes de serem enviadas ao seu sistema. Os processos de segurança preventivos – como análise dinâmica de código – podem impedir ataques maliciosos, como a injeção de SQL.

 

Segurança “shift left”

A segurança já foi uma reflexão tardia para muitos desenvolvedores. Trazida no final do ciclo de vida do desenvolvimento, esperava-se que ela corrigisse bugs e resolvesse problemas sem o contexto apropriado. Com mais ameaças à segurança do que nunca, os tempos mudaram.

Segurança “shift left” significa mover a segurança para o início do processo. O envolvimento das equipes nesse momento pode ajudar a facilitar as discussões e influenciar as decisões de design, antes que elas se tornem muito difíceis e caras para mudar.

Embora o conceito seja bastante simples, todas as equipes envolvidas no desenvolvimento precisam assumir a responsabilidade da segurança. Algumas empresas até convidam especialistas para equipes de scrum, a fim de garantir que a segurança seja o principal durante todo o processo.

 

Criptografar, criptografar, criptografar

Vários ataques cibernéticos diferentes podem ocorrer quando as empresas não criptografam seus dados adequadamente. Uma das melhores maneiras de evitar acesso não autorizado é usar uma conexão criptografada TLS segura por HTTPS. O HTTPS ajuda a proteger a comunicação, usando o protocolo criptográfico que valida uma conexão segura, fornecendo criptografia, de ponta a ponta, em camadas das informações enviadas dos servidores aos usuários. A criptografia ajuda a impedir ataques do tipo intermediário e outras violações que tiram proveito de conexões não seguras.

Com a chegada de serviços como o Let’s Encrypt, as barreiras para a obtenção de certificados SSL para o seu site estão menores do que nunca. Qualquer esforço baseado na Web deve ser HTTPS desde o início. Sem desculpas!

Por fim, a criação de softwares seguros leva tempo e ao compromisso de garantir que cada aspecto do seu ciclo de vida de desenvolvimento aproveite as melhores práticas de segurança. Enquanto as violações, hacks e explorações  estão cada vez mais sofisticadas, os desenvolvedores precisam melhorar constantemente suas defesas. As práticas recomendadas citadas acima são uma base sólida de criação segura, mas são apenas o começo.

 

Fonte: GitHub

Compartilhe este post: