Home  >  Plataformas

Segurança da informação e a arquitetura de software na era digital

Como o aprimoramento da modelagem de ameaças afeta o ciclo de vida do desenvolvimento de software

Sérgio Apolinário*

04/12/2018 às 8h10

Foto: Shutterstock

A busca pela transformação digital tem guiado as estratégias de negócios nos dias atuais e, neste contexto, vários pilares da área de TI se destacam, entre eles: o desenvolvimento de software (olhe ao seu redor e pergunte a si mesmo: a que distância você está de um aplicativo de software?), e a segurança da informação, cujo valor reside na redução de riscos (um dos princípios da governança de TI).

Considerando a velocidade com que as práticas estão mudando, o desenvolvimento e o uso de software podem frequentemente parecer mais uma arte do que uma ciência. Conforme as ferramentas e metodologias de software se tornam cada vez mais disponíveis, há uma maior oportunidade de desenvolver softwares, mas também de fraudar os sistemas existentes. Além disso, o software agora é amplamente compartilhado e novas abordagens para reduzir o custo de desenvolvimento, minimizar os riscos da segurança da informação e aumentar a velocidade de entrega estão em constante crescimento e expansão. À medida que as organizações confiam nas tecnologias em evolução, padrões de falha operacional, uso indevido e abuso emergem com mais frequência desde uma variedade de fontes, bem como de práticas internas fracas durante a aquisição ou desenvolvimento de software.

Desenvolvimento (in)seguro?

A diferença entre um software seguro e inseguro é sutil, onde na maioria das vezes escutamos dos fornecedores que seus sistemas são "seguros". Quase todos os sistemas controlados por software enfrentam ameaças, engenheiros de software devem estar cientes dessas ameaças e projetar sistemas com defesas confiáveis enquanto entregam valor aos clientes. Recentemente a Open Web Application Security Project (OWASP) publicou uma lista indispensável dos Principais riscos de segurança de aplicação Top 10 2017/2018.

Integração é a palavra-chave!

Atualmente existe uma alta gama de tipos de arquitetura de software, assim como de práticas de segurança que têm se tornado cada vez mais conhecidas, como por exemplo o DevSecOps. O grande problema é que a maioria das integrações entre o processo de arquitetura de software e a segurança atingem as camadas mais sucintas (quase um padrão). Não podemos apenas seguir padrões por seguir, é necessário gerar valor agregado e com essa oportunidade que a transformação digital nos proporciona começarmos uma nova fase na segurança com o conceito de modelagem de ameaças.

Agora deixe-me explicar um pouco mais sobre esta visibilidade pouco discutida e aplicada no mercado...

Os métodos de “Modelagem de Ameaças” deverão ser usados para criar uma abstração do sistema; perfis de possíveis invasores, incluindo seus objetivos e modus operandi, além de um catálogo de ameaças potenciais que podem surgir. Já existem alguns métodos de modelagem de ameaças desenvolvidos, mas nem todos são abrangentes; alguns se concentram na abstração e incentivam a granularidade, enquanto outros são mais centrados nas pessoas. É possível, ademais, combinar tais métodos e, a partir disso, criar visões robustas e abrangentes por meio de um trabalho direto com a arquitetura de software, ou seja, mitigando o ciclo de um risco (vulnerabilidade > ameaça > risco > impacto nos negócios).

A seguir, apresento alguns métodos de modelagem de ameaças que devem ser incorporados à arquitetura de software como requisito indispensável:

STRIDE é um método mais maduro de modelagem de ameaças, onde se avalia o design no detalhe do sistema;

LINDDUN (Linkability, Identifiability, Non-Repudiation, Detectability, Disclosure of Information, Unawareness, Non-Compliance) é um método de modelagem de ameaças que se concentra em questões de privacidade e pode ser usado para segurança de dados. Semelhante ao STRIDE, o Liddun, consiste na codificação das categorias das ameaças e fornece uma abordagem sistemática para a avaliação da privacidade;

CVSS (The Common Vulnerability Scoring System) é um método que captura e identifica as principais características de uma vulnerabilidade e, a partir disso, gera uma pontuação numérica que reflete a sua gravidade;

OCTAVE (The Operationally Critical Threat, Asset, and Vulnerability Evaluation) é um método de avaliação e planejamento estratégico baseado em riscos para segurança cibernética. A OCTAVE se concentra na avaliação de riscos organizacionais e não aborda riscos tecnológicos. Seus principais aspectos são risco operacional, práticas de segurança e tecnologia.

Concluindo

A modelagem de ameaças não apenas agrega valor ao produto da empresa, mas também fornece uma visão de segurança holística dos componentes do sistema. Neste pequeno artigo apresentamos diferentes métodos de modelagem de ameaças. Alguns deles podem ser usados sozinhos ou em conjunto, mas todos devem estar atrelados à arquitetura de software escolhida.

*Sérgio Apolinário é Gestor da Qualidade & Security Officer na Softtek Brasil