O ano já iniciou com diversas notícias sobre vazamento de dados em grandes corporações e nada menos como o Google sendo multado em U$57 milhões de dólares por violar a GDPR. Evidente que não basta ser grande, ter os melhores recursos computacionais e os melhores especialistas em cibersegurança que sua empresa não está imune a sofrer algum tipo de ataque. Vejamos o pensamento do sábio que diz: “Digo-vos que não sabeis o que acontecerá amanhã! Que é a sua vida? Vocês são como a neblina que aparece por um pouco tempo e depois se dissipa”, ou seja, mesmo fazendo a nossa parte estamos sujeitos a ser o próximo alvo.
A própria mineradora Vale foi hackeada e documentos sensíveis vazados mostraram como a empresa lida com acidentes. Logo pensamos como medir o risco de reputação da sua organização diante de um incidente semelhante, seja de ransomware, phishing ou violação de dados pode ser fatal. Então, devemos fazer algumas perguntas? Ter um framework do NIST Cybersecurity implementado é suficiente? Scrum, Agile ou DevOpsSec com maturidade elevada sincronizado com o processo de gestão de segurança corporativa? Será que você está seguro e tem visibilidade do tamanho do buraco que existe no processo de desenvolvimento ou mesmo na infraestrutura?
Considerando que a necessidade nos tempos atuais é assegurar que o quesito de segurança esteja inserido no processo de desenvolvimento (SDLC), decidi esmiuçar abaixo alguns componentes importantes para esta jornada. Vale ressaltar que as grandes organizações estão abraçando forte as tecnologias de machine learning, inteligência artificial, blockchain e inclusive IoT. Eis o caso da Amazon com a sua solução de IoT Dash Button que está virando uma febre nos Estados Unidos e será que os bad guys estão de olho nas oportunidades!
Fato que o ativo de valor nesta era é a informação e evidentemente nosso papel é estabelecer processos concretos para garantir uma visão macro e eficaz de quanto está a segurança da empresa no contexto de desenvolvimento, tecnologia, processos e pessoas. Além, de uma integração e alinhamento da segurança com as prioridades de negócio e na retaguarda vem a cibersegurança contra as ameaças cada vez mais sofisticadas.
Esmiuçando o contexto de desenvolvimento seguro vejamos os pré-requisitos para uma boa abordagem:
i) DevOpsSec é uma novo caminho em busca da velocidade e automatização dos processos de desenvolvimento interligando com a segurança incluindo o uso de ferramentas de code review, threat modeling, SAST e DAST, scan de vulnerabilidades web e penetration testing (blue and red team) nos ambientes de desenvolvimento e produção, etc.
ii) OWASP, Microsoft SDL, CERT Secure Coding são ótimos exemplos de componentes importantes para a segurança em aplicações, além de ser considerados como melhores práticas e metodologias de desenvolvimento de software seguro para web.
iii) Adaptação para o modelo Agile para aplicações tem contribuindo absurdamente no processo de SDLC Security.
iv) A criptografia continua sendo fundamental para a proteção de dados sensíveis, seja para a proteção em hash da senha em um database ou proteção de dados em um data lake em cloud. Além disso, considerar regulamentações como LGPD para proteção de dados PII e o próprio PCI-DSS para dados de cartão no que tange a transmissão, armazenamento e processamento.
v) Como no futuro próximo todas as empresas estarão em cloud vale examinar o uso de CASB e outros recursos de segurança (tokens, dois fatores de autenticação, etc) para a proteção da identidade em trânsito. Além de soluções adicionais como CloudFare e CrowdStrike, Segurança na Arquitetura, SIEM e monitoramento de tráfego encriptado via TLS. Algumas soluções de WAF podem ajudar combinado com padrões de comportamento e inteligência artificial ajudará a identificar novos padrões de ataques.
vi) Segregação dos ambientes combinado com o processo de gestão de mudança sempre suportado com uma análise de risco é essencial. ITIL, COBIT e BCP/DRP não podem ser ignorados quanto a fábrica de software, seja no ambiente local ou na cloud.
vii) Fator gestão de vulnerabilidades e hardening na minha humilde experiência é talvez um dos mais importantes, pois é aqui onde as empresas falham em seus processos internos, seja por ofuscar e argumentar que o ambiente precisa ficar 24/7/365 sem parada para aplicação de patch de segurança. É bom reconhecermos que a grande causa de infecção por malwares, botnets e ransomware ocorre por meio de ambientes desatualizados.
viii) Gestão de risco vs gestão de fornecedores -> é preciso ter um processo concreto com intuito de registrar os riscos encontrados, seja em uma auditoria, risk assessment ou third party risk assessment. Avaliar seu fornecedor de cloud continua sendo fundamental (crucial), não importa se é AWS, Azure, RackSpace, IBM ou Google Cloud, seu papel é monitorar com diligência.
ix) Capacitação e treinamento continuo para os desenvolvedores é fundamental para despertar estes conceitos na comunidade de desenvolvimento de software. Faça um hackathon, bug bounty program e workshops com estes times e gere evangelistas e parceiros. Sugiro a leitura do guia para desenvolvedores com foco em segurança de aplicações.
x) Considere as certificações em desenvolvimento como CSSLP da (ISC)² e algumas para pen test como CEH ou OSCP para o time de desenvolvimento.
Lembro que este artigo não tem intuito de clarificar e contemplar todos os requerimentos para implantação de um modelo de segurança no processo de desenvolvimento de software, mas em atenuar o risco para ajudar a elevar o nível de maturidade e compreender que um pouco de esforço já pode fazer grande diferença.
Para encerrar sugiro considerar a contratação de uma consultoria especializada em desenvolvimento continuo com uma abordagem de segurança em aplicações, O leque é grande, só basta saber escolher o melhor parceiro que poderá ajudá-lo na revisão de código, pois francamente não é para qualquer profissional esta tarefa. Afinal o quanto a sua empresa está preparada para o DevSecOps e a nova era da informação, talvez a resiliência cibernética seja a pílula chave para momentos de tempestades!
* Rangel Rodrigues é trusted advisor em Segurança da Informação, CISSP e pós-graduado em Redes de Internet e Segurança da Informação pela FIAP e IBTA, e MBA em Gestão de TI pela FIA-USP