Como desenvolvedores de softwares podem se preocupar com segurança?

Segurança da informação

Já é de conhecimento geral o ritmo irrefreável que cresce o mercado da tecnologia da informação, sendo proporcional a isso o crescimento da demanda por desenvolvedores de softwares especialistas. Tudo isso, maximizado, principalmente, pelo surgimento de novos paradigmas como Big Data, Internet of Things e Cloud Computing.

Com toneladas de dados sendo gerados e trafegando por todos os lados em um mundo onde tudo será incorporado na rede, a necessidade de sistemas específicos é grande, tornando o cenário atual um dos mais férteis para desenvolvedores de software. Estes, porém, precisam estar atentos a um dos principais desafios que a demanda traz consigo: a segurança da informação nas aplicações.

Confira neste artigo porque o desenvolvimento focado em segurança deve ser prioridade em tempos onde o cibercrime assola até os gigantes da tecnologia.

A representatividade dos dados para os negócios

Representatividade dos dados

Não é difícil elencar os motivos pelos quais as informações são o bem mais valoroso de uma empresa. Afinal, estamos em uma época onde os negócios são criados com dados, regidos pelos dados, e novas proposições de valor são garimpadas a partir dos dados.

O Big Data Analytics, por exemplo, agregou um valor imensurável aos dados e elevou a sua importância a um novo patamar. Ele permitiu ao marketing conhecer e entender clientes como jamais visto, possibilitando o desenvolvimento de soluções de forma assertiva. Logo, o Business Intelligence foi empoderado pelas ferramentas analíticas e está mais efetivo do que nunca na gestão empresarial.

Os problemas da vulnerabilidade dos softwares

Vulnerabilidade dos softwares

Os problemas que um backdoor é capaz de acarretar à empresa podem ser mais catastróficos do que os tradicionalmente conhecidos, muitas vezes custando milhões e, pior, a credibilidade e imagem da empresa frente ao mercado.

Uma estrutura de segurança mal projetada em um sistema gera brechas, que podem ser exploradas por crackers e permitirem o controle de funções administrativas, acesso a dados sigilosos sobre o negócio, credenciais e informações pessoais de funcionários e clientes, transações e muito mais.

Além da perda de clientes e de possibilidades de negócio tendo os dados estratégicos extraviados, os vazamentos de tamanha plenitude infringem leis que impõem às empresas obrigatoriedade em manter estruturas de segurança para assegurar a confidencialidade e integridade de informações de terceiros. O resultado disso costuma ser processos bilionários de empresas, colaboradores e terceiros que acabam sendo lesados.

Um exemplo foi o ataque hacker à PSN, plataforma de jogos da Sony, coordenada em 2011. Além de deixar o serviço fora do ar por várias horas, dados pessoais e credenciais bancárias de usuários foram comprometidos e 77 milhões de players ficaram sem acesso à plataforma. Este conjunto de fatos gerou à Sony um prejuízo de 24 bilhões de dólares.

A importância da conscientização dos gestores e de suas equipes

Conscientização dos gestores e de suas equipes

Muitas empresas optam por efetuar verificações de segurança nos softwares somente após o desenvolvimento, no período de testes. Porém, tal prática gera quebras de planejamento e perda de tempo, além de exigir gastos posteriores de recursos financeiros e humanos para a tomada de medidas reativas, como a correção de um bug perante um ataque bem sucedido.

Pesquisas realizadas pela Microsoft com 2700 profissionais de TI sobre métricas de segurança em suas empresas constataram que somente um terço delas desenvolve softwares focando em segurança. Os três principais motivos pela não adoção de uma estrutura de desenvolvimento segura são a falta de aprovação dos gestores, falta de treinamento da equipe e os custos elevados de implantação.

Segundo outra pesquisa realizada pela empresa Aberdeen Group, empresas que adotaram uma estratégia de segurança desde a etapa do planejamento dos softwares no gerenciamento de projetos de TI, constataram um ROI quatro vezes maior que seu investimento em métricas de segurança no desenvolvimento de aplicativos.

O planejamento e o treinamento para os desenvolvedores de softwares

Planejamento e treinamento

São diversas as ferramentas e processos disponíveis no mercado para gerir um projeto de software com foco em segurança, porém, muitas empresas não os adotam e passam trabalho mais tarde com correções. Pesquisas coordenadas pela Microsoft revelaram que 67% de um total de desenvolvedores entrevistados não conseguem aproveitar este tipo de recurso na empresa, o que revela duas graves falhas.

O Grupo Denim realizou um questionário com 600 desenvolvedores a respeito da segurança do software AppSec Survey 2.0, onde 83% responderam corretamente questões básicas sobre conscientização de segurança em aplicações (como, por exemplo, onde scripts maliciosos são executados em um ataque XSS). Porém, somente 11% destes souberam exemplificar como evitar uma exploração de vulnerabilidade via Cross-Site Scripting.

Tal quadro mostra dois graves erros cometidos pelas empresas: falta de planejamento e treinamento. Muitos desenvolvedores de softwares conhecem processos, mas não sabem aplicá-los ao seu próprio trabalho.

É necessário posicionamento por parte dos gestores na definição de processos de desenvolvimento seguro, como a ISO 27034-1, modelo desenvolvida pela ISO de forma a universalizar um padrão de desenvolvimento de software com foco em segurança.

A estruturação correta de um ambiente de desenvolvimento seguro

Ambiente de desenvolvimento seguro

Um dos mais conhecidos e completos processos baseados na segurança é o SDL (Ciclo de Vida do Desenvolvimento da Segurança), da Microsoft, que contém 7 etapas de planejamento e desenvolvimento. O objetivo é estruturar um ambiente de desenvolvimento seguro, avaliando todas as características do projeto necessárias para gerar um produto final (software), que respeite os mais altos padrões de segurança.

Através deste tipo de adoção, todo o time de desenvolvedores será englobado no processo e receberá tarefas específicas, sempre ligadas às boas práticas de desenvolvimento a fim de prover um código limpo e de qualidade. Cada etapa é supervisionada minuciosamente, identificando e corrigindo bugs e vulnerabilidades ao longo no desenvolvimento.

Para monitorar a efetividade da equipe, uma das melhores práticas é utilizar KPIs, uma ferramenta de gestão que permite avaliar se um processo ou conjunto de métricas estão sendo seguidos conforme especificado no projeto, e se os resultados que vem sendo obtidos são satisfatórios.

A importância da gestão de um desenvolvimento seguro

Desenvolvimento seguro

Como visto ao longo do artigo, os custos de ações simplesmente reativas podem superar consideravelmente o que seria gasto com a implementação de um ambiente de desenvolvimento seguro. Não se limitando ao lado financeiro, os prejuízos de um vazamento de dados afetam a credibilidade da empresa e inspiram a falta de confiança dos clientes.

Elaborar uma gestão de desenvolvimento com segurança, bem como fornecer treinamento e instrução aos próprios desenvolvedores de software é a forma mais prudente, profissional e barata de garantir a segurança nos softwares da sua empresa. E você? Como estão os seus conhecimentos na área? Participe e deixe sua opinião nos comentários abaixo.

1

versao-4