Nesse conteúdo exclusivo do Daitan Group, entenda um pouco sobre segurança da informação no processo de desenvolvimento de software através de alguns itens importantes:
- Breve introdução do conteúdo
- 10 dicas extremamente úteis e necessárias que todos quem trabalham ou estudam na área de tecnologia devem saber
- Exemplos e um pouco sobre criptografia
- Conclusão do assunto
Para mais conteúdo sobre tecnologia siga nossa página: fb.com/daitangroupbr
(Faça o download do arquivo para melhor visualização.)
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Segurança no Desenvolv. de Software | 10 Dicas ® Daitan Group
1.
2.
3. 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
4. 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.
5.
6. 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).
7. Dica 2: Sempre revise o código
em 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.
8. 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.
9. 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.
10. 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.
11. 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.
12. Dica 7: Troque informações sobre o
projeto 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.
13. Dica 8: Mantenha-se
sempre 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.
14. Dica 9: Deixe as bibliotecas e frameworks
sempre 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.
15. Dica 10: Tenha sempre um plano de
respostas à 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.
16.
17. Chaves Simétricas
Definiçã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 utilizando
essa chave.
Exemplos de uso: Encriptação de arquivos, cifra de mensagens em
comunicação, encriptação de sistemas.
19. 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
20. Chaves Assimétricas
Definiçã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údio
Exemplos de uso: Certificado digital, troca de chave de sessão,
assinatura digital.
22. 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.
23. Hash
Definiçã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.
24. 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.
25.
26. 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.
27. 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.