Julgue o item a seguir, considerando que o capítulo sobre c...
A prescrição para banimento do uso da função MD5, em favor da adoção de SHA-1, pode ser recomendada, especialmente porque a facilidade de produção de ataques de colisão em sistemas que usam MD5 tornaria mais simples a implementação de ataques de dicionário em sistemas de armazenamento de senhas criptografadas nos bancos de dados de autenticação de usuários do ministério.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é E (Errado).
A questão aborda conceitos importantes sobre funções hash e a segurança criptográfica em sistemas de computação. Vamos destrinchar os pontos principais para entender por que a alternativa está errada.
Primeiramente, é essencial compreender o que são funções hash. Elas são algoritmos que transformam uma entrada de dados (de qualquer tamanho) em uma sequência fixa de caracteres, geralmente um valor hexadecimal. Funções hash são amplamente usadas para verificar a integridade dos dados e em sistemas de armazenamento de senhas.
O MD5 (Message Digest Algorithm 5) é uma dessas funções hash, mas está desatualizado e vulnerável a ataques de colisão. Um ataque de colisão ocorre quando dois dados diferentes produzem o mesmo valor hash, o que compromete a integridade e segurança dos dados.
O enunciado sugere a substituição do MD5 pelo SHA-1 (Secure Hash Algorithm 1). No entanto, essa recomendação é equivocada. Embora o SHA-1 tenha sido mais seguro que o MD5, ele também é atualmente considerado inseguro e suscetível a ataques de colisão. Portanto, a sugestão de trocar o MD5 pelo SHA-1 não é adequada para sistemas que requerem alta segurança.
Vamos agora analisar cada ponto da questão:
1. Vulnerabilidade do MD5: Está correto afirmar que o MD5 é vulnerável a ataques de colisão. Isso compromete a segurança dos sistemas que o utilizam, especialmente para armazenar senhas.
2. Sugestão de usar SHA-1: Essa é a parte problemática. A recomendação de usar o SHA-1 em vez do MD5 está errada porque o SHA-1 também é vulnerável a ataques de colisão. Hoje, a utilização de SHA-1 não é recomendada para sistemas que precisam de alta segurança.
Portanto, a alternativa correta é "E" (Errado), pois a prescrição para banir o MD5 em favor do SHA-1 não é adequada. Alternativas mais seguras como SHA-256 ou SHA-3 são recomendadas para substituir tanto o MD5 quanto o SHA-1.
Espero que esta explicação tenha sido útil para entender os pontos centrais da questão. Caso tenha alguma dúvida adicional, não hesite em perguntar!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
O erro da questão reside em tratar o "ataque de dicionário" como uma espécie do gênero "ataques de colisão".
O ataque usado contra hashes fraco é o rainbow table. Como os hashes são unidirecionais, o rainbow table consiste em uma tabela com textos e seus respectivos hashes já calculados, aproveitando também da possibilidade de colisões existentes em algoritmos cujo universo seja pequeno, como o MD5.
Essa questão é bem interessante. Existem dois erros ao meu ver.
Acho que o erro principal está em sugerir "adoção de SHA-1", já que tanto o MD5 como o SHA-1 são comprovadamente vulneráveis à ataques de colisão.
Mas acredito que o que colega falou também procede. Um ataque de colisão é diferente de um ataque de dicionário, este último no qual é usado para atacar bases de senhas.
Na realidade o grande problema de usar o MD5 ou SHA-1 para um sistema de armazenamento de senhas é o fato de que essas funções de hash são muito rápidas de calcular, permitindo que um atacante com um hardware razoável possa realizar centenas de milhares de comparações por segundo, até achar o que deseja.
Por partes, sempre!!!
Julgue o item a seguir, considerando que o capítulo sobre criptografia contenha problemas e sugestões para o uso de criptografia simétrica, criptografia assimétrica e funções hash, na plataforma de sistemas de computação do ministério.
A prescrição para banimento do uso da função MD5, em favor da adoção de SHA-1, pode ser recomendada,
-- Aqui está a parte errada, veja:
[1]
"No momento em que este livro era escrito, o Secure Hash Algorithm (SHA-1) ainda não tinha sido “quebrado”. Ou seja, ninguém demonstrou uma técnica para produzir colisões em um período de tempo prático. Porém, como o SHA-1 é muito semelhante ao MD5 e ao SHA-0 em estrutura e nas operações matemáticas básicas utilizadas, e ambos foram quebrados, o SHA-1 é considerado inseguro e foi substituído pelo SHA-2".
especialmente porque a facilidade de produção de ataques de colisão em sistemas que usam MD5 tornaria mais simples a implementação de ataques de dicionário em sistemas de armazenamento de senhas criptografadas nos bancos de dados de autenticação de usuários do ministério.
-- Essa parte, a meu ver, está certa. Esta fonte diz o seguinte:
[2]
"Os ataques de força bruta podem ser otimizados para ataques de dicionário. Podemos, por exemplo, deixar calculado o Hash de todas as palavras em inglês e português, nomes de pessoas, animais de estimação, cidades e datas com 6 e 8 dígitos, em formato americano e internacional."
Fonte:
[1] Stallings
[2] https://www.profissionaisti.com.br/como-funciona-um-algoritimo-de-hash-e-como-evitar-ataques-em-sistemas/
MD5 e SHA-1==> INSEGURO
SHA-2 ==> SEGURO
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo