24 de agosto de 2010

OSSTMM e ISO/IEC 15.408 dois problemas que nós mesmos criamos

Como assim problemas? OSSTMM é a metodologia referência para Penetration Test e a ISO/IEC 15.408 é a referência para segurança em desenvolvimento de software.

MENTIRA!


Mas como, se muitos profissionais da área afirmam que este é o caminho? Exatamente por isto que eu credito este problema a nós mesmos profissionais que atuamos na área.

Hoje a maioria dos clientes coloca como critério para projetos de segurança em desenvolvimento a aderência a ISO/IEC 15408 e para Penetration Test a utilização de alguma metodologia como OSSTMM. Colocam porque durante anos os profissionais pregaram e divulgaram tais informações. O pior, na grande maioria das vezes quem divulga nunca aplicou e muitas vezes se quer conhece o padrão. Muitos profissionais amparam todo o seu discurso, argumentos em chavões, mentiras ditas tantas vezes que acabam virando verdade.

Por que OSSTMM não é referência para Penetration Test?

O primeiro grande desafio é ter o documento completo, a OSSTMM está em desenvolvimento há anos e nunca se teve conhecimento de toda metodologia, abordagem proposta. Todo o desenvolvimento é baseado em puro marketing, mesmo pagando a taxa pelo suposto método completo, ele sempre está incompleto e em desenvolvimento. E vou falar, eles sofrem de um problema sério de falta de produtividade, este cenário permanece por anos.

Bom, vamos falar da parte que existe. A documentação não apresenta fases que sejam viáveis para um Penetration Test, ele apresenta um número grande de coisas que devem ser analisadas e não passa disto. Um outro ponto que é difícil de se implementar na prática é uma abordagem quantitativa chamada rav. Esta abordagem prevê que seja analisado os controles e pontuado de acordo com um critério que, após o cálculo usando a fórmula apresentada, irá determinar uma pontuação ao ambiente. De acordo com a pontuação o ambiente é considerado mais ou menos seguro.

Abordagem quantitativas são a eterna busca de gestores na área de tecnologia, busca louvável, mas em Penetration Test isto é ineficaz e inútil. Sim, o propósito de um Penetration Test é identificar fragilidades que possam levar ao comprometimento do ambiente e não ser uma análise de riscos. A análise do Penetration Test irá apresentar uma análise qualitativa e servirá como uma das n variáveis de uma análise de riscos quantitativa. Está análise irá determinar qual o controle deve ou não ser implementado de acordo com o risco associado ao ambiente e o custo envolvido na solução versus o impacto que pode causar no ambiente.

Resumindo, OSSTMM não pode servir de referência para realização de um Penetration Test. O profissional que executa estes projetos com freqüência desenvolve seu próprio método levando em consideração as características do mercado que atua e a necessidade de organizar e apresentar os resultados esperados pelo cliente. Já escrevi algumas idéias sobre metodologia em Penetration Test e também recomendo a leitura do documento SP 800-115 (Thecnical Guide to Security Testing) do NIST.

Por que a ISO/IEC 15.408 não é referência para segurança em desenvolvimento?

Existem vários motivos que levam ao entendimento claro de que a ISO/IEC 15.408 ou Commom Criteria não é para segurança em desenvolvimento, mas o Geraldo Fonseca no Twitter deu uma descrição breve e que para mim é perfeita:

"@gfonseca_  @welias  cc/15408 é framework de avaliação, não de desenvolvimento. É para avaliar o "fato consumado", e não para ajudar a criar algo seguro."

É exatamente isto, ela não propõe ou valida nenhum método para se conseguir chegar ao desenvolvimento de um código seguro. Ela apresenta apenas alguns critérios que um produto de software deve ter para que possa ser acreditado por laboratórios credenciados. Define características que um software deve ter. Mas como eu chego lá? Procuro lá na ISO/IEC 15.408 e me diz.

Bom, se você leu pode responder que ela não apresenta nada disto. Para se conseguir um software seguro é preciso ter um processo maduro e implementar práticas de segurança em código, testes e principalmente um trabalho de conscientização e treinamento dos profissionais envolvidos. 

Um post do Fernando Cima comenta sobre o relatório "State of the Art of Software Security Assurance" do Departamento de Defesa americano e o papel da ISO/IEC 15.408. Eu também escrevi um artigo para revista da ISSA.

Não que eu queira jogar uma bomba de fumaça, mas é necessário orientar as pessoas, pesquise neste cara aqui e verifique se você encontra alguma referência internacional que associe o uso da ISO/IEC 15.408 como base para desenvolvimento seguro.

Pesquisou? Pois é, não encontrou nada.

Agora procura em português. Bingo! Existem várias citações a ISO/IEC 15.408 para desenvolvimento seguro. Este "fenômeno" eu credito a este livro: SEGURANÇA NO DESENVOLVIMENTO DE SOFTWARE

Mas o propósito do livro é claro: Como desenvolver sistemas seguros e AVALIAR A SEGURANÇA DE APLICAÇÕES DESENVOLVIDAS COM BASE NA ISO 15.408

Ah! Ai é outra história! A maioria das pessoas virá especialista apenas lendo a capa de um livro, ou no melhor dos casos, fazendo como o Pateta do Walt Disney que lê o início e o fim do livro.

4 comentários:

Pete Herzog disse...

I think you're confusing what people say and what ISECOM says. The OSSTMM is a methodology for security testing, of which, penetration testing is a subset. Penetration testing is about exploiting vulnerabilities and mistakes to prove that a certain depth and breadth can be reached. If you limit the OSSTMM in many ways and provide a black box test then yes, it can be used for penetration testing but that's not what it's made for. Actually, it was made to replace the limited and fairly useless penetration test which puts customers on a patch/test loop and scales very poorly to large infrastructures.

OSSTMM 2.2 was the completed version of the 2 series and has been released for a couple now. OSSTMM 3 is still incomplete but to say it's always improving shouldn't be a negative thing. When the next version is completed then its released publicly for free like all the others. Right now, contributors on any ISECOM project get free access to the OSSTMM 3 draft as well as supporters who pay because they don't have the time to work on it. We've even give the draft to government researchers and student thesis writers who ask for free. So if you want to help us, and we do need help, you'd have access too. I don't see that as marketing- I see that as fair.

You, and a few others, do a lot of complaining about when the OSSTMM 3 will come out and what it is no good for but none of the complainers ever decided to contribute to improve it. So I'm really sorry you feel this way but it's really only up to you to do something about it.

Elias Wagner disse...

My post deals as some Brazilian professionals refer to methodology and not to the OSSTMM represents.

You told: "If you limit the OSSTMM in many ways and provide a black box test then yes, it can be used for penetration testing but that’s not what it’s made for".

Respect your work, but I do not feel comfortable in contributing to a project that a strong commercial appeal and is much more FREE (http://books.google.com/books?id=lLZbXN2odVYC&printsec=frontcover&source=gbs_navlinks_s) and not much Open.

Pete Herzog disse...

Okay, I thought you meant we said it.

I'm sorry you don't want to contribute to anything that needs to advertise itself. But pretty much every organization needs to do that. As far as the openness is concerned I think you have your facts wrong again. It was open for years via a Moodle and only became contributors-only in the last 2 years because of many misunderstandings. You forget that it is a standard, referenced by ISO and NIST, and we had problems with drafts being used as final versions and critics who said that OSSTMM can't be used because it's only a draft. So to fix that, we made a small hurdle to get a copy and make clear that it is indeed a draft.

But just saying no you don't want to contribute because of the OSSTMM is also not fair. We run many other projects as well that are more open and free as you want which you could contribute to and then get access to the OSSTMM. hackerhighschool.org, badpeopleproject.org, SCARE, SOMA, etc.

Elias Wagner disse...

Hi Pete,

really, I did not know that the project had been opened and closed for the reasons you mentioned.

I used, I studied the OSSTMM for a long time, but I have not seen the evolution. Maybe in the wrong place, I subscribe to the mailing list.

I can participate and help, but i need more information, access to the development process and publication. What I question about the Open Source model is a value that is charged for access, which in my understanding is not open.

But as I said, I respect his work and you must have his reasons for following this model.

Cheers.