Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Métodos Ágeis e Segurança

UFG, INF, Engenharia de Software. Disciplina de Segurança (Set-2012) Por: Bruno César e Danilo Guimarães.
by

Danilo Guimarães J. Lemes

on 3 October 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Métodos Ágeis e Segurança

Um pouco sobre "Segurança Ágil"
XP - MS-SDL - SAFECode Métodos Ágeis
&
Segurança SDL: Security Development Lifecycle;

Conjunto de melhorias do processo de desenvolvimento de software;

Criado internamente pela Microsoft para reduzir a quantidade de vulnerabilidades dos produtos dela;

Foi aplicado em sistemas com grandes ciclos de desenvolvimento, tais como Windows (S.O.), Ms Office e SQL Server e obtidos ótimos resultados;

Pode ser aplicado em qualquer plataforma, linguagem, produto etc (não é restrito a Microsoft); Microsoft SDL Fases Atividades Mas como ser ágil com esse tanto de atribuições:
sete fases e dezessete atividades? Uma nova versão do Microsoft SDL, agora com modificações para enxugá-lo e tornar possível sua adoção mesmo em equipes menores e com ciclos de desenvolvimento menores. Surgiu então o SDL-Agile... Microsoft SDL-Agile Microsoft SDL O ciclo das fases são divididos em 3 categorias: SDL-Agile Atividades que devem ser executadas no início do projeto One-Time
Practices Buckets
Practices Atividades que devem ser executadas ao longo do projeto, em vários sprints... Atividades que devem ser executadas em todos os sprints... Every-Sprint
Practices Tabela com a priorizaçãodos bugs encontrados. Análise dinâmica do sistema em run-time, com ferramentas de monitoramento, verificação das permissões de usuários etc.
Garante que o sistema está se comportando conforme o projetado. Introduzir dados mal-formados no sistema afim de causar instabilidade e falhas de segurança. Attack Surface Review é uma prática que garante que todas as alterações do sistema foram registradas, e que
quaisquer novos ataques de segurança foram revistos e mitigados, incluindo modelos de ameaças. Providenciar treinamento básico sobre segurança para todos colaboradores.
Abordar ameaças, secure design principles, secure code e secure test. Processo pelo qual a equipe pode entender as ameaças de segurança que um sistema pode estar sujeito, determinar os riscos dessas ameaças e estabelecer as mitigações apropriadas. Adotar o uso de ferramentas de segurança aprovadas no mercado e na comunidade de desenvolvimento (no sentido de confiáveis). Determinar a lista de funções depreciadas e trocá-las por alternativas mais seguras. Ex.: API, biblioteca. Rodar análise estática no código em tempo de compilação http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis
(Multi-language, .NET, ActionScript, Ada, C/C++, Java, JavaScript, Objective-C, Perl e Python) Examinar, antes de publicar a release, todas as atividades relacionadas a segurança.
Atividade gerará um artefato, o FSR que deverá validar o modelo de ameças, saída das ferramentas e níveis de performance da bug bar. Garantir que a equipe do projeto atingiu satisfatoriamente a implementação dos requisitos de segurança e privacidade e arquivar estes resultados para consulta a posteriori. Security Engineering and eXtreme Programming: An Impossible Marriage?;
Jaana Wäyrynen, Marine Bodén, Gustav Boström;
Communications Security Lab, Ericsson Research, Torshamnsgatan 23, SE-164 80 Stockholm,Sweden;

Practical Security Stories and Security Tasks for Agile Development Environments;
SAFECode;
http://www.safecode.org/publications/SAFECode_Agile_Dev_Security0712.pdf

Microsoft Security Development Lifecycle, v 1.0, June 30, 2009
http://www.blackhat.com/presentations/bh-dc-10/Sullivan_Bryan/BlackHat-DC-2010-Sullivan-SDL-Agile-wp.pdf Referências Organização sem fins lucrativos voltada
para melhoria da confidenciabilidade
de sistemas computacionais.

http://www.safecode.org/about_us.php

Possui diversos artigos publicados, e um deles
é sobre como tocar projetos utilizando
métodos ágeis aborbando segurança. SAFECode.org Requisitos de negócio são definidos como "estórias de usuário".

Estórias são dividas em atividades para que serem desenvolvidas em
um sprint.

O sprint é um intervalo curto de tempo (2 ~ 4 semanas) que entrega ao final
uma porção de software funcional

Prioridade é satisfazer o cliente através de entrega adiantada e contínua
que agreguem valor ao cliente

Software funcional é medida de progresso

Mudanças são bem vindas e a resposta a elas é rápida (mais que seguinr um plano)

Mais software funcionando que documentação extensiva

Abordagens de engenharia: refactoring, integração contínua, testes unitários, etc Pontos sobre Métodos Ágeis (XP) @brunolocesar

bruno@brunocesar.com danilo.seusaraiva@gmail.com

/danilo.seusaraiva One-time
Bucket
Every-sprint Dúvidas... ?
inclui a atribuição de especialistas em segurança, que definem os critérios mínimos de segurança e de privacidade para a aplicação, implantem um sistema de mapeamento de itens/vulnerabilidades de segurança item de vulnerabilidade / trabalho de rastreamento que permita criar, triar, cessar, monitorar, remediar e gerar relatórios de vulnerabilidades de software. Define os itens de segurança e privacidade que são mais críticos e que precisem de uma revisão mais detalhada. Contém uma série de ações necessárias, incluindo a criação de especificações de projeto de segurança e privacidade,
revisão de especificação, e especificação de requisitos mínimos de projeto de criptografia. Identifica os pontos apropriados de contato em caso de uma emergência de segurança.
Ele também inclui planos de segurança para manutenção para código legado de outros grupos dentro
da organizaçãoe para o código de terceiros. Priorização das tarefas utilizando "security debt", com base:
return of investiment (ROI);
natureza do seu sistema;


Define uma série de atividades de segurança, sendo elas:

36 atividades baseadas em estórias;

17 atividades "dummies" de segurança;

12 atividades avançadas de segurança, com apoio de especialistas na área



Como desenvolvedor/arquiteto eu quero assegurar E como QA eu quero verificar... Practical Security Stories and Security Tasks for Agile Development Environments Restrições de Requisitos de Segurança
Fomentando segurança em Agile Usados como Critérios de Aceite


Obrigatórios e Não Negociáveis


Importância da Restrição


Restrições "todos os sprints" (ex.: XSS)


Lista das restrições e suas prioridades


Projeto simples: NÃO!! Dificuldades em tratar Segurança em Agile Mapear requisitos de segurança para estórias de usuário


Tendência em privilegiar o desenvolvimento de novas funcionalidades


Visibilidade da "segurança" Como as práticas do XP podem ajudar Integração Contínua ajuda na consistência e adesão às restrições


Teste unitários e de validação ajudam no aceite das restrições dos requisitos de segurança


Uso de frameworks que já resolver algum problema de segurança (ex.: Django -> CSRF)
Full transcript