segurança no desenvolv. de software | 10 dicas ® daitan group

28

Upload: daitan-group

Post on 15-Feb-2017

683 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group
Page 2: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group
Page 3: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Qual a importância do tema?A Segurança da Informação, de uma maneira geral, faz parte do dia a dia de todos nós. Manter nossos dados e informações em sigilo é muito importante, independente de qualquer coisa.

O assunto se torna essencial quando falamos sobre estudantes, profissionais e interessados na área de tecnologia. Possuir algum conhecimento neste importante segmento é um diferencial e pode fazer a diferença para você e sua carreira.

A Daitan conta com os melhores profissionais da área de tecnologia, garantindo a total segurança de seus projetos e serviços, se tornando referência e gerando oportunidades de carreira.

Cadastre seu currículo | Saiba mais sobre nós

Page 4: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Por que é importante?

Possuir conhecimento prévio em segurança diminui o número de possíveis falhas no sistema.

Sistemas com brechas não são considerados confiáveis, fazendo com que usuários deixem de usá-los.

A exposição de dados sensíveis (conversas sigilosas, segredos industriais, contas bancárias) diminui o respeito pelas empresas.

Sistemas indisponíveis em momentos críticos podem gerar danos irreparáveis, como perdas financeiras e de clientes.

Page 5: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group
Page 6: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Dica 1: Tenha um ambiente de desenvolvimento seguro

Além de se preocupar com o seu código, o ambiente também deve ser protegido. Vazamentos de código e de informações indevidas devem ser evitados a todo custo.O ambiente virtual deve conter defesas (como antivírus e firewall) e o ambiente físico também (como controle de acesso à áreas restritas).

Page 7: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Dica 2: Sempre revise o códigoem busca de falhas

Esse processo pode ser realizado automaticamente através de softwares, como também por equipes especializadas.A medida em que o sistema é desenvolvido, ele deve ser constantemente revisado e verificado, de modo a minimizar a quantidade de possíveis falhas.

Page 8: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Dica 3: Invista no seu time

Um time mais capacitado conseguirá obter resultados com uma maior qualidade, criando e mantendo o sistema com maior segurança e robustez.

Page 9: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Dica 4: Procure seguir um ciclo de desenvolvimento seguro

Também conhecido como SDL (Secure Development Lifecycle), esse processo visa gerar o sistema considerando sua segurança em todas as etapas do desenvolvimento.

Page 10: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Dica 5: Faça Backups regularmente

Possua backups do seu sistema de modo a ter a informação necessária sempre que for necessário.

Page 11: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Dica 6: Realize versionamento de código

Tenha sempre um processo de versionamento bem definido. Desta maneira, você poderá mais facilmente entender como o código está evoluindo e encontrar em que ponto uma dada falha se encontra, desde quando ela foi inserida e quais versões precisam ser atualizadas.

Page 12: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Dica 7: Troque informações sobre oprojeto de maneira segura

Evite conversas em locais públicos contendo informações sigilosas do projeto, assim como usar “canais pessoais” (como e-mail e celular pessoal) para trocar dados e informações. Isso abre um novo canal que pode ser explorado por uma pessoal mal intencionada com maior facilidade.

Page 13: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Dica 8: Mantenha-sesempre informado

É muito importante estar sempre de olho nas últimas notícias, entender como foram feitos os ataques e se prontificar a deixar o sistema sempre seguro para se defender contra eles.

Page 14: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Dica 9: Deixe as bibliotecas e frameworkssempre atualizados

Toda atualização visa não só adicionar novas funcionalidades, como melhorar as já existentes. É importante deixar as bibliotecas e frameworks que estão sendo utilizados pelo seu sistema sempre seguros, para que nenhuma falha possa ser explorada a partir deles.

Page 15: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Dica 10: Tenha sempre um plano derespostas à incidentes

Mesmo seguindo essas dicas, sempre há chances de falhas ocorrerem. Por isso, é sempre bom ter um plano de respostas caso algum problema ocorra com o sistema, de modo a contê-lo e solucioná-lo o mais rápido possível.

Page 16: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group
Page 17: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Chaves SimétricasDefinição: Uma chave secreta (que pode ser um número, palavra ou conjunto de bytes) é aplicada ao conteúdo de uma mensagem para assim modifica-lo a ponto dele se tornar o mais diferente possível do conteúdo original. Enquanto tanto o remetente quanto o destinatário souberem a chave, eles podem cifrar e decifrar mensagens trocadas utilizandoessa chave.Exemplos de uso: Encriptação de arquivos, cifra de mensagens em comunicação, encriptação de sistemas.

Page 18: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Chaves Simétricas

Page 19: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

No exemplo: Para evitar que os planos da Estrela da Morte fossem novamente descobertos pelos rebeldes, Darth Vader cifrou os novos planos com uma chave criptográfica. Deste modo, apenas os Stormtrooper eram capazes de decifrar e ler o conteúdo.

Chaves Simétricas

Page 20: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Chaves AssimétricasDefinição: Nesse caso há um par de chaves relacionadas entre si:

Chave pública: disponível a todos;Chave privada: mantida em sigilo por seu dono.

Qualquer mensagem que for cifrada por uma chave pode ser decifrada pela outra.

Pode ser usada para confidencialidade e para não-repúdioExemplos de uso: Certificado digital, troca de chave de sessão, assinatura digital.

Page 21: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Chaves Assimétricas

Page 22: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Chaves Assimétricas

No exemplo: Spock descobre um segredo: “Os Klingons vão atacar os Vulcanos”. Ele precisa avisar o Capitão Kirk o mais rápido possível mas tem medo que a chave criptográfica possa ser comprometida e os Klingons a usem para ler e modificar o aviso.Sabendo disso, Spock teve uma ideia: utilizar a chave pública do Capitão Kirk, pois dessa forma ele tem certeza que apenas Kirk poderá ler o texto, já que somente ele possui a chave privada.

Page 23: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

HashDefinição: Uma função de hash recebe uma mensagem de tamanho variável e a transforma em outra, de tamanho fixo, de modo que não seja possível retornar o resultado para a mensagem original.

Exemplos de uso: Checagem de integridade, armazenamento de senhas.

Page 24: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Hash

No exemplo: A maçã pode ser transformada em suco e, se prová-lo, você sabe que ele foi feito de maçã. Entretando o suco não pode voltar a ser uma maçã. Essa é a ideia do algoritmo hash, onde uma mensagem (de qualquer tamanho) se torna outra, de tamanho fixo, mas o inverso não é possível.

Page 25: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group
Page 26: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Conclusão

Quanto melhor o conhecimento na área, antes os erros serão encontrados e mitigados, o que gerará um resultado com mais qualidade e menos esforço. Um estudo do NIST (National Institute of Standards Technology, EUA) demonstrado no gráfico abaixo mostra que o esforço para se corrigir um problema em uma fase posterior do projeto pode ser até 30x maior.

Page 27: Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group

Conclusão

Sistemas robustos e seguros possuem maiores chances de serem aceitos pelo público, tornando-se bem sucedidos.Aqui na Daitan há um comprometimento para se obter o máximo de qualidade em nossas entregas, por isso investimos na difusão do conhecimento, em um ambiente colaborativo e no bem estar de todos os nossos colaboradores.