As emocionantes aventuras de um sysadmin linux na procura pelo uptime perfeito!

Desenvolvimento seguro e software livre – Dica 0: Arquitetura e requisitos seguros.

Posted: dezembro 17th, 2008 | Author: coredump | Filed under: Linux e Open Source, segurança | Tags: ,

CadeadoComo eu disse semana passada, vou continuar sugerindo algumas dicas/melhores práticas para desenvolvimento seguro em software livre.

Arquitetura e requisitos seguros.

Tá, eu sei que falar isso parece esquisito. Quase ninguém em projetos FLOSS faz processos textbook de desenvolvimento formal, quanto mais pensar em requisitos e tal…

Mas não é bem assim. Quando eu falo de arquitetura e requisitos de segurança eu estou falando de trabalhar com a idéia de segurança desde o princípio, seja o princípio de um novo projeto ou versão ou mesmo de uma nova funcionalidade.

Quando algo novo vai ser desenhado, esta coisa tem de ser pensada levando em conta várias idéias colocadas pelos membros do projeto, mas também tem de se levar em conta a segurança final do produto. Estes são os requisitos de segurança.

Considere que o projeto é fazer uma aplicação web. Desde o início tem de se pensar em SSL para a autenticação, em como as senhas vão ser guardadas no banco de dados (criptografadas ou texto?), como vai ser feito o controle de acesso de usuários (por grupo, por usuário?), e os dados que vão ser guardados ali, são dados sensíveis que precisam de um tratamento a mais na hora de ser gravados em disco ou no banco de dados?

Ou considere que a aplicação vai ser um novo script ou um programa para se rodar em desktops/servidores. Ele vai precisar rodar como super-usuário? Se sim, ele precisa rodar SEMPRE como super-usuário ou apenas algumas partes podem ser escritas assim? O programa/script precisa usar arquivos temporários, qual a maneira mais segura de se fazer

Para os que gostam dos processos mais formais (ou trabalham com os processos em seu dia a dia), além dos casos de uso e requisitos funcionais você precisa trabalhar com os casos de abuso e requisitos de segurança. Enquanto os casos de uso mostram como os usuários vão usar os sistemas, os casos de abuso tratam de formas pelas quais atacantes poderiam explorar ou tentar explorar as falhas de segurança do sistema, sejam elas quais forem.

Isso tudo ainda está na fase de arquitetura do programa, quanto mais for pensado e pesquisado antes de se partir para a codificação, mais fácil e rápido vai ser programar seguramente. Baseado no que se pensa sobre a segurança do projeto (e, claro, nas outras necessidades como requisitos e funcionamento) pode-se tomar decisões sobre linguagens, frameworks, banco de dados e mesmo do tipo de serviço vai ser feito.

Radicalizando, pode até mesmo se chegar a conclusão de que um projeto simplesmente não tem como ser feito de forma segura. Daí é melhor manter ele na pilha de idéias até uma forma melhor aparecer :)

Tanto o SDL da Microsoft quanto os Touchpoints do McGraw tratam de Secure Design e Requirements. O OWASP CLASP trata disso na Best Practice 3: Capture security Requirements.

Depois vou escrever sobre Análise de Risco.

intel

Compartilhe:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Slashdot
  • StumbleUpon
  • Technorati
  • TwitThis
  • Identi.ca
  • Twitter

Posts relacionados:

  1. Desenvolvimento seguro e software livre – Dica 2: Revisão de Código Continuando com o assunto, estamos na metade do caminho agora....
  2. Desenvolvimento seguro e software livre – Dica 4: Operação Segura Cheque esta tag para ver os demais posts desta série....
  3. Desenvolvimento seguro e software livre – Dica 1: Análise de Risco Mais um post nesta série, se você quer ver o...
  4. Desenvolvimento seguro e software livre – Dica 3: Testes de Segurança Cheque esta tag para ver os demais posts desta série....
  5. Desenvolvimento seguro e software livre Acabei a poucos dias atrás de escrever o trabalho final...

1 Comment »

One Comment on “Desenvolvimento seguro e software livre – Dica 0: Arquitetura e requisitos seguros.”

  1. 1 Renato Diogo said at 13:55 on dezembro 20th, 2008:

    Muito bom…

    estou acompanhando, pois é bem interessante.

    Sucesso, e []s


Leave a Reply