Tratando Falhas Conhecidas em Código – Juliet Test Case

14 11 2012

Apoiando o  desenvolvimento de software seguro e de qualidade, muito se fala da OWASP, porém ela é muito focada em Web Applications e nem só de Web vive a indústria de desenvolvimento de software.

Há algumas  iniciativas interessantes, como o da SEI  (Software Engineering Institute),  SafeCode, mas uma que vem me chamando muito a atenção são as do  NSA’s Center for Assured Software (CAS) via o  NIST que mantém o projeto SAMATE (Software Assurance Metrics And Tool Evaluation) Reference Dataset (SRD).

A fim de resolver a crescente falta de qualidade dos softwares utilizados no governo dos EUA, o CAS  foi criado em 2005 com a missão de melhorar a segurança de software empregado por eles. E o CAS tenta cumprir esta missão, entre outras coisas, ajudando as organizações nos processos de implantação de ferramentas para tratar de garantia de todo o ciclo de vida de desenvolvimento de software.

E uma destas ferramentas são as de análise estática de código. Estas são capazes de encontrar vários tipos de falhas, mas as capacidades destas não são necessariamente uniforme em todo o espectro das falhas detectadas. Mesmo ferramentas que visam um tipo específico de falha são capazes de encontrar variantes de algumas e não todas. E o manual ou o próprio relatório destas ferramentas muitas vezes não explicam o que de fato é o que foi detectado, sendo-se que este nível de detalhamento é de extrema importância para se  maximizar a eficácia tanto das avaliações automatizadas de software  como do trabalho em si de qualificação no desenvolvimento de software de qualidade e seguro.

Neste contexto e fruto de pesquisas do CAS,  um trabalho  resultante muito interessante é o Juliet Test Case.

Este trabalho é fruto de um estudo de ferramentas de análise estática de C/C++ e Java, e no intuito de determinar as capacidades destas para estas linguagens, tanto comerciais como de código aberto, ele fornece  informações objetivas para as organizações que desejam  comprar, implementar, ou fazer o melhor uso destas ferramentas na forma de teste cases de várias falhas categorizadas.

De cara, Juliet lembra-me o alfabeto fonético NATO, mais conhecido como alfabeto aeronáutico e curiosamente este nome tem muito a ver com ele.

Sendo este um abrangente Test Case de falhas conhecidas, sempre empregando como referencial o CWE (Common Weakness Enumeration) que indexa e mantém uma referência unificada de falhas de software, para manter uma discussão mais efetiva sobre estas sendo também uma referência para instrumentações e ferramentais para tratamento destes, como o faz as ferramentas profissionais de análise estática de código.

E além de testar estas ferramentas, é possível aprender com estas falhas e expandir o uso deste Test Case, gerando informações de exemplos para ilustrar aquelas apresentações etéreas que tratam vulnerabilidade de código, sendo subsídio para treinamentos e base para o processo de capacitação de times de desenvolvimento, para atender um  S-SDLC (Secure Software Development Life Cycle) ou Ciclo de Vida de Desenvolvimento de Software Seguro de forma a se realizar um trabalho efetivamente de qualidade.

Mas obviamente, quando se tem  duas adagas afiadas no pescoço te forçando a atender prazos a qualquer custo, e respirar pode te gerar  mais um corte com sangramento com riscos de corte da jugular, não há boa vontade ou cicatrizes de guerra que irão evitar as falhas de qualidade e segurança; mas esta já é outra história!

Enjoy!😉


Ações

Information

2 responses

15 11 2012
alanjumpi

Exatamente!!! O seu último parágrafo ilustra bem o problema da aplicação desse tipo de proposta!!! Excelente post meu amigo, um grande abraço!!!🙂

15 11 2012
techberto

O último parágrafo é uma grande constante nos times de desenvolvimento!

Numa das consultoria que trabalhei, atuei no processo de inserção da mesma no SDL Pro Program, onde representei a mesma junto a Microsoft em entrevistas com o pessoal de SDL, nesta uma das perguntas que nos foi realizada é como fazíamos para inserir a questão de segurança dentro da gestão do tempo de entrega!

Veja ele era responsável por uma metodologia de desenvolvimento seguro e entendia que isto é extremamente importante.

Um grande abraço.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: