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

Post on 15-Feb-2017

683 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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.

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).

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Chaves Simétricas

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

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.

Chaves Assimétricas

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.

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.

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.

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.

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.

top related