Segurança Cibernética
- Recapitulação
- Oportunidades Futuras
- Segurança Cibernética
- Senhas
- Segurança do Telefone
- Gerenciadores de Senha
- Autenticação de Dois Fatores
- Hashing
- Criptografia
- Chaves de Acesso
- Criptografia
- Exclusão
- Resumo
Recapitulação
- Nessas últimas dez semanas, vocês adquiriram muito conhecimento.
- Neste curso, vocês aprenderam a programar em várias linguagens de programação; nossa esperança é que vocês tenham aprendido a programar de fato em todas elas: independentemente da linguagem de programação.
- Além disso, esperamos que vocês tenham aprendido a resolver problemas acima de tudo.
Oportunidades Futuras
- Ao se depararem com o mundo fora do CS50 após o curso, vocês podem adotar várias medidas para se preparar.
- Para executar comandos no terminal, como fizeram no CS50.dev, vocês podem instalar ferramentas de linha de comando em seu Mac ou PC.
- Vocês podem aprender mais sobre Git.
- Vocês podem baixar e aprender sobre o VS Code.
- Vocês podem hospedar um site usando GitHub ou Netlify.
- Vocês podem hospedar um aplicativo da web usando AWS, Azure ou Google Cloud.
- Vocês podem fazer perguntas em comunidades online relevantes.
- Vocês podem fazer perguntas usando ferramentas baseadas em IA como OpenAI e GitHub Copilot.
- Vocês podem fazer qualquer um dos nossos outros cursos do CS50.
- Vocês podem se juntar a uma das nossas muitas comunidades.
Cybersecurity
- Hoje vamos fazer uma visão geral de alto nível de alguns tópicos relacionados à segurança cibernética.
- Segurança cibernética é compreender como nossos dados são seguros ou não seguros.
Senhas
- Uma preocupação de segurança cibernética está relacionada às nossas senhas.
- Senhas são um método usado para proteger dados online.
-
Existem senhas comuns que as pessoas usam:
1. 123456 2. admin 3. 12345678 4. 123456789 5. 1234 6. 12345 7. password 8. 123 9. Aa123456 10. 1234567890
-
Se você tiver uma das senhas acima, provavelmente milhões de pessoas têm a mesma senha que você!
- Adversários no mundo começarão com esta lista.
- Os bandidos também podem adivinhar a maioria das heurísticas que você usa para adicionar símbolos à sua senha.
- Os adversários podem usar ataques de força bruta, usando um dicionário de senhas para simplesmente tentar todas as senhas possíveis.
- Sua senha provavelmente não é tão segura quanto você pensa que é.
Segurança do Celular
- Muitos celulares são protegidos por um código de quatro dígitos.
- A forma mais simples de ataque seria a força bruta, tentando todas as senhas possíveis.
- Há 10.000 senhas possíveis quando se usa um código de quatro dígitos.
- Se demora um palpite por segundo, levará 10.000 segundos para descobrir a senha.
-
No entanto, se um programador criar um programa para gerar todos os códigos possíveis, o tempo necessário seria mínimo. Considere o seguinte código em Python:
from string import digits from itertools import product for passcode in product(digits, repeat=4): print(passcode)
-
Deve ser bastante desconcertante que o código acima pode levar apenas alguns segundos (no máximo!) para descobrir a sua senha.
- Poderíamos melhorar a nossa segurança mudando para uma senha de quatro letras. Isto resultaria em 7.311.616 senhas possíveis.
- Incluir caracteres maiúsculos e minúsculos criaria mais de 78 milhões de possibilidades.
-
Considere como podemos modificar o seu código para descobrir estas senhas:
from string import ascii_letters from itertools import product for passcode in product(ascii_letters, repeat=4): print(passcode)
-
Poderíamos até mesmo adicionar a capacidade de examinar todas as possíveis senhas de oito dígitos com letras, números e pontuações:
from string import ascii_letters, digits, punctuation from itertools import product for passcode in product(ascii_letters + digits + punctuation, repeat=8): print(passcode)
-
Expandir para oito caracteres, incluindo letras maiúsculas e minúsculas, números e símbolos, resultaria em 6.095.689.385.410.816 combinações possíveis.
- No mundo digital, você simplesmente quer que a sua senha seja melhor que as senhas das outras pessoas para que outras pessoas sejam atacadas muito antes de você, uma vez que você é um alvo muito menos conveniente.
- Uma desvantagem do uso de uma senha tão longa é a desvantagem de ter que se lembrar dela.
- Portanto, há outras defesas que podem ser empregadas para retardar um atacante. Por exemplo, alguns fabricantes de telefones bloqueiam aqueles que adivinham uma senha incorretamente.
- A segurança trata-se de encontrar um "ponto ideal" entre as trocas de uma segurança aprimorada e a manutenção da conveniência.
Gerenciadores de senha
- Gerenciadores de senha podem ser usados para criar senhas bem desafiadoras e lembrá-las por você.
- A probabilidade de uma senha protegida por um gerenciador de senha ser quebrada é bem, bem baixa.
- Você espera que esses gerenciadores de senha sejam seguros. Entretanto, se alguém obtiver acesso ao seu gerenciador de senha, poderá ter acesso a todas as suas senhas.
- No fim das contas, é muito menos provável que você corra algum risco com pessoas com quem você mora, e muito mais provável que esteja em risco com bilhões de outras pessoas na internet.
- Como mencionado anteriormente, você pode tomar uma decisão com base em um equilíbrio entre segurança e conveniência.
Autenticação de Dois Fatores
- Acrescentar outro meio pelo qual você deve autenticar acrescenta mais segurança. No entanto, há um custo humano, já que você pode não ter acesso ao seu segundo fator.
- Eles são implementados como uma espécie de senha temporária que é enviada para um e-mail, dispositivo ou número de telefone.
- Sempre, políticas de segurança tentam equilibrar as necessidades de segurança e conveniência humana.
Hashing
- As informações da sua conta e outros dados confidenciais não devem ser armazenados como texto bruto em um banco de dados online.
- Se um banco de dados é comprometido e todas as credenciais são armazenadas em texto sem formatação, é provável que credenciais para outros serviços em outros sites também sejam comprometidas.
- Então, algoritmos de hashing, como discutido antes neste curso, são usados para armazenar apenas valores com hash das senhas.
- O hash unidirecional permite que serviços online, na verdade, nunca armazenem a senha original digitada pelo usuário: Apenas o valor com hash dessas senhas. Assim, se houver uma violação, apenas o valor com hash será conhecido.
- Tabelas arco-íris são enormes dicionários que os adversários usam para tentar pré-hashear possíveis senhas como um meio de tentar quebrar o algoritmo de hash.
-
Como um processo adicional para maior segurança, programadores podem, algumas vezes, introduzir salgamento, onde torna-se improvável que múltiplos usuários possam ter o mesmo valor com hash para representar suas senhas. Você pode imaginar isso da seguinte forma:
Criptografia
- Similar ao hash, um algoritmo de cifra pode usar uma chave pública e um texto para criar um texto cifrado.
- Por sua vez, uma chave privada e o texto cifrado podem ser alimentados ao algoritmo para decifrar o texto.
Chaves de acesso
- As chaves de acesso são uma nova tecnologia que só surgiu nos últimos meses.
- Por meio de chaves privadas e um desafio que é alimentado a um algoritmo, os sites podem autenticá-lo por meio da assinatura exclusiva criada pelo seu dispositivo.
- Portanto, senhas e nomes de usuário podem em breve se tornar obsoletos.
Criptografia
- A criptografia é uma forma pela qual os dados são obscurecidos, de modo que somente o remetente e o destinatário pretendido podem ser lidos.
- No início deste curso, aprendemos um algoritmo muito simples para “deslocar” o texto por um ou mais caracteres como uma forma rudimentar de criptografia.
- Criptografia de ponta a ponta é uma forma pela qual a criptografia e a descriptografia acontecem no mesmo sistema sem um intermediário. Isso impede que o intermediário ou um ator malicioso consiga bisbilhotar seus dados. O Zoom e o Apple Messages podem utilizar criptografia de ponta a ponta.
Exclusão
- Jogar um arquivo no lixo do seu computador ou esvaziar a lixeira não exclui realmente os bits reais do arquivo do seu computador.
- Em vez disso, os vestígios dos arquivos são deixados.
- Exclusão segura é quando os vestígios desses arquivos são transformados em zeros e uns.
- Ainda assim, alguns vestígios podem permanecer por causa do que é tornado inacessível pelo sistema operacional.
- A criptografia de disco completo permite que todo o seu disco rígido seja criptografado. Assim, os seus arquivos excluídos ficam menos acessíveis a adversários.
- Considerando a criptografia, é essa mesma tecnologia que os adversários usam para criar ransomware que pode, literalmente, manter seu disco rígido para resgate.
Resumindo
- Use um gerenciador de senhas.
- Use a autenticação de dois fatores.
- Use criptografia (de ponta a ponta).