Ataque de força bruta: diferenças entre revisões

10 402 bytes removidos ,  7 de janeiro de 2016
m
Desfeita(s) uma ou mais edições de PhilosStardust (Texto malformatado, maltraduzido, sem fontes e removeu info referenciada.), com Reversão e avisos.
(Só é possível "ver também" o que existe)
m (Desfeita(s) uma ou mais edições de PhilosStardust (Texto malformatado, maltraduzido, sem fontes e removeu info referenciada.), com Reversão e avisos.)
Em [[criptografia]], um '''ataque de força bruta''', ou '''busca exaustiva dade chave, ''', é um [[Criptoanálise|ataque criptoanalítico]] que pode, em teoria, pode ser usado contra qualquerquaisquer dadodados encriptado [1]criptografados (exceto porpara dados encriptados atravéscriptografados de umuma esquema demaneira [[informaçãosegurança teoricamenteda informação teórica|segura na teoria da informação]]). EsteTal tipo de ataque pode ser utilizadousado quando não é possibilidadespossível de tirartomar vantagem de nenhumaoutras outrafraquezas fraqueza deem um sistema de encriptaçãocriptografia (se alguma existir) deque modotornariam a tornar o ataquetarefa mais fácil. Ele consiste de uma checagemverificação sistemática de todas as possibilidades depossíveis [[Chave (criptografia)|chaves]] oue [[senhassenha]]s até aque corretaas sercorretas encontradasejam encontradas. No pior casodos casos, isto implicaria emenvolveria percorrer todo o [[Espaço de chave (criptografia)|espaço de busca]].
{{má tradução}}
{{sem notas|data=janeiro de 2016}}
{{Reciclagem|data=janeiro de 2016}}
{{corrigir}}
{{revisar|sobre=informática}}
[[Ficheiro:Board300.jpg|thumb|272x272px|A [[EFF DES cracker]] de US$250.000 continha mais de 1.800 chips customizados que podiam quebrar uma chave DES por meio da força bruta em questão de dias. A fotografia mostra uma placa de circuito do DES Cracker preenchida em ambos os lados com 64 Deep Crack chips. ]]
Em [[criptografia]], um '''ataque de força bruta''', ou '''busca exaustiva da chave, '''é um [[ataque criptoanalítico]] que, em teoria, pode ser usado contra qualquer dado encriptado [1] (exceto por dados encriptados através de um esquema de [[informação teoricamente segura]]). Este ataque pode ser utilizado quando não há possibilidades de tirar vantagem de nenhuma outra fraqueza de um sistema de encriptação (se alguma existir) de modo a tornar o ataque mais fácil. Ele consiste de uma checagem sistemática de todas as possibilidades de [[chaves]] ou [[senhas]] até a correta ser encontrada. No pior caso, isto implicaria em percorrer todo o [[espaço de busca]].
 
A seleção de um [[tamanho de chave]] apropriado depende de possibilidade prática de fazer um ataque de força bruta. Ao ofuscar o dado a ser codificado, ataques de força bruta se tornam menos efetivos, sendo mais difícil determinar o sucesso da busca utilizado por analistas de vulnerabilidade
Quanto a encontrar senhas, este método é muito rápido quando usado para checar todas as senhas curtas, mas para senhas longas, outros métodos são usados, como o [[ataque do dicionário]], por causa do tempo que o ataque de força bruta pode levar.
 
== Referências ==
Quanto a encontrar chaves, o [[tamanho de chave ]] é usado na cifra para determinar a viabilidade prática da aplicação do ataque de força bruta, pois chaves mais longas são exponencialmente mais difíceis de quebrar que as chaves curtas. Uma cifra com a chave de ''n'' bits pode ser quebrada em seu pior caso em um tempo proporcional a <math>2^n</math> e um tempo médio de metade disto.
{{refbegin}}
* Leonard M. Adleman, Paul W. K. Rothemund, Sam Roweis e Erik Winfree, On Applying Molecular Computation To The Data Encryption Standard, in Proceedings of the Second Annual Meeting on DNA Based Computers, Princeton University, June 10–12, 1996.
* ''Cracking DES — Secrets of Encryption Research, Wiretap Politics & Chip Design'' by the Electronic Frontier Foundation (ISBN 1-56592-520-3).
* W. Diffie and M.E. Hellman, Exhaustive cryptanalysis of the NBS Data Encryption Standard, Computer 10 (1977), pp 74–84.
* Michael J. Wiener, "Efficient DES Key Search", presented at the rump session of Crypto 93; reprinted in Practical Cryptography for Data Internetworks, W. Stallings, editor, IEEE Computer Society Press, pp 31–79 (1996).
{{refend}}
 
== {{Ligações externas}} ==
Um ataque de força bruta pode '''ser menos efetivo''' através da [[ofuscação]] do dado a ser codificado, algumas vezes feita para tornar mais difícil para o atacante reconhecer quando o código foi quebrado. Uma das medidas de resistência de um sistema de criptografia é o quão longo seria um ataque de bruta bem sucedido aplicado nele pelo melhor atacante.
* {{Link||2=http://www.cl.cam.ac.uk/users/rnc1/brute.html |3=Ataques de força bruta em chaves criptografadas |4=— uma pesquisa por Richard Clayton}}
 
{{Portal3|Tecnologias de informação}}
Ataques de força bruta são uma aplicação da [[busca por força bruta]], a técnica de resolução de problemas geral que consiste em enumerar todos os candidatos possíveis a solução e verificar cada um deles.
 
{{DEFAULTSORT:Ataque Forca Bruta}}
O termo "força bruta" não é o único termo que nomeia este tipo de ataque. Ele também pode ser chamado de "bruta força", "busca por exaustão", ou apenas "brute" (que é um nome comum de programas que realizam ataques de força bruta).
 
[[Categoria:Ataques criptográficos]]
== Limites teóricos ==
O recurso necessário para realizar um ataque de força bruta cresce [[Crescimento exponencial|exponencialmente]] com o aumento do tamanho da chave, não linearmente. Embora os regulamentos de exportação dos EUA restringiram historicamente o tamanho das chaves para [[Algoritmo de chave simétrica|chaves simétricas]] (por exemplo: [[DES]]), essas restrições não estão mais em vigor, portanto algoritmos simétricos modernos tipicamente usam chaves computacionalmente mais fortes que 128-256 bits.
 
Há um argumento físico para que chaves simétricas com tamanho de 128 bits sejam computacionalmente seguras contra ataques de força bruta. O chamado [[Landauer's principle|princípio de Landauer]] implicado pelas leis da física definem um limitante inferior para a energia necessária para a execução de um cálculo de ''kT ''' ''''' '''·''' ln 2 por bit apagado em uma computação, onde'' T'' é a temperatura do dispositivo em [[kelvins]],'' k'' é a constante de Boltzmann, e o [[logaritmo natural ]] de dois é aproximadamente 0,693. Mesmo em princípio [2], nenhum dispositivo de computação irreversível pode usar menos energia do que isso. Então, para percorrer todos os possíveis valores de uma chave simétrica de 128 bits (ignorando o calculo real para checá-la) seriam teoricamente necessárias <math>2^{128}-1</math> inversões de bit em um processador convencional. Se for assumido que este calculo ocorre&nbsp; próximo da temperatura ambiente (~300k), o limitante de Von Neumann-Landauer pode ser aplicado para estipular que a energia requerida seria em torno de <math>10^{18}</math> [[Joule|joules,]] o que equivale a consumir 30 [[gigawatts]] de energia por ano. Isto é igual a (valor que significará mais que 1/100-ésimo da energia produzida pelo mundo) <math>30*10^9(W)*360*24*3600(s)=9.46*10^{17} J</math> ou 262.7 TWh. O cálculo completo - checando se cada chave é a solução - consumiria muitas vezes mais que este montante. Além disto, esta é simplesmente a energia necessária para atravessar o espaço de busca da chave; a quantidade de tempo que cada bit leva para ser invertido não é considerado, o que certamente seria maior que 0 (esta notação refere-se ao [[Bremermann's limit]]).
 
No entando, esta argumentação assume que os valores de registro são alterados usando o conjunto convencional de e claro de operações que inevitavelmente gera [[entropia]] (para entender o conceito de entropia em computação, veja [[teoria da informação]]). Isto tem mostrado que hardwares podem ser projetados para não confrontar esta obstrução teórica (veja mais em [[Reversible computing|computação reversível]]), embora nenhum destes computadores tenham sido construídos.[carece de fontes]
[[Ficheiro:ATI_Radeon_HD_5770_Graphics_Card-oblique_view.jpg|left|thumb|[[GPU|GPUs]] modernas são bem adaptadas a tarefas repetitivas e podem ser associadas a quebra de senhas baseadas em hardware ]]
Como os sucessores comerciais da solução governamental ASICs se tornaram disponíveis, também se tornou conhecido o [[ataque de hardware customizável]]. Atualmente duas tecnologias emergentes tem provado sua capacidade no ataque de força bruta de certas cifras. Uma é a tecnologia de [[unidade de processamento gráfico]][3] (GPU), a outra é [[Field-programmable gate array|Arranjo de Portas Programável em Campo]] (do inglês, field-programmable gate array, sigla: FPGA). Os benefícios da GPUs são sua larga disponbilidade e bom custo-benefício, já as FPGAs são boas em economizar energia por operação criptográfica. Ambas as tecnologias tentam transportar os benefícios do processamento paralelo para os ataques de força bruta. No caso das GPUs são alguns centenas de processadores, no caso da FPGA são alguns milhares de unidades de processamento tornando-os muito mais adequados a quebra de senhas que os processadores convencionais. Várias publicações no campo da análise criptográfica tem provado que a eficiência energética atual da tecnologia FPGA, como por exemplo, o computador [http://www.sciengines.com/copacobana/ COPACABANA] FPGA Cluster consome a mesma energia que um único PC (600 W), mas tem uma performance de aproximadamente 2.500 PCs para certos algoritmos. Há firmas que provém soluções de análise criptográfica através de placas FPGA PCI Express até computadores FPGA dedicados [carece de fontes]. Encriptações [[WPA]] e [[Wi-Fi Protected Access|WPA2]] também tem tido sucesso na redução do trabalho necessário a ataque de força bruta num fator de 50 em comparação com os CPUs convencionais[4][5] e em algumas centenas no caso das FPGAs.
 
[[Advanced Encryption Standard|AES]] permitem o uso de chaves com 256 bits. Quebrar um sistema simétrico de chaves com 256 bits através da força bruta requer <math>2^{128}</math> vezes mais poder computacional que uma chave de 128 bits. 50 supercomputadores que com um bilhão de bilhão (<math>10^{18}</math>) de chaves AES por segundo (se tal dispositivo poder ser feito um dia) demoraria, em teoria, <math>3*10^{51}</math> anos para exaurir o espaço de busca de uma chave com 256 bits.
 
Um pressuposto intrínseco de um ataque de força bruta é que o espaço de busca é completamente usado pelo gerador de chaves, algo que repousa sobre as propriedades do [[Random number generation|gerador de números aleatórios]], que assume-se que não haver defeitos em seu algoritmo ou implementação. Por exemplo, há sistemas que foram originalmente pensados para serem impossíveis de quebrar por força bruta que, ainda sim, foram quebrados. Isto porque verificou-se que o espaço de busca da chave era muito menor do que o que se pensava inicialmente por causa de falta de entropia em seu gerador de números pseudo-aleatórios. Estes incluem a implementação do Netscape da [[SSL ]](que teve uma quebra famosa em 1995 executada por [[Ian Goldberg]] e [[David Wagner]] [6]) e uma edição [[Debian]]/[[Ubuntu ]] do [[OpenSSL]] foi descoberta falha em 2008[7]. A mesma falta de implementação de entropia levou a quebra do código Enigma[8][9].
 
== Reciclagem de credencial ==
Reciclagem de credencial refere-se a prática de [[hacking]] de reusar uma combinação de nome de usuário e senhas encontrados em ataques de força bruta anteriores. Uma forma especial de reciclagem de credencias é a passagem de hash (do inglês, pass the hash), em que uma credencial de hash sem sal é roubada, de sessões anteriores ou outros meios, e reutilizada sem a necessidade de iniciar-se um novo ataque de força bruta.
 
== Códigos inquebráveis ==
Certos tipos de encriptações, por suas propriedades matemáticas, não podem ser quebradas por força bruta. Um exemplo disto é o [[one-time pad]] criptográfico, onde cada bit [[purotexto]] tem um bit de chave correspondente vinda de uma sequencia de chaves binárias verdadeiramente aleatórias. Uma mensagem de 140 caracteres resultante da encriptação através do one-time pad terá cada uma das possibilidades de mensagens com 140 caracteres reveladas eventualmente, inclusive a resposta correta - mas de todas as respostas dadas, é impossível descobrir qual a correta. Derrotar este tipo de sistema, como foi feito no [[Venona project|projeto Venona]], geralmente se não baseia apenas em pura criptografia, mas também em erros de implementação, como por exemplo, fraqueza no gerador de números pseudo-aleatório[10].
<span data-sourceid="cite_ref-FOOTNOTEReynard199786_10-0" class="mw-ref" id="cxcite_ref-FOOTNOTEReynard199786_10-0" rel="dc:references" contenteditable="false"></span>
 
== Contramedidas ==
No caso de um ataque offline, onde o atacante tem acesso ao material encriptado, ele pode tentar livremente tantas combinações de chaves quanto quiser sem correr o risco de ser descoberto ou ter interferências. No entanto, administradores de bando de dados ou diretórios podem usar contramedidas contra ataques de força bruta online, exemplos: limitar o número de tentativas para acertar uma senha; introduzir tempo de espera entre tentativas seguidas; aumentar a complexidade de resposta através do requerimento de [[CAPTCHA]] ou enviando um código de verificação via telefone; e/ou trancando a conta após uma certa quantidade de tentativas malsucedidas[11]. Administradores de websites podem prevenir um endereço de IP particular de fazer mais que um predeterminado número de tentativas de entrar com senhas malsucedidas independente de qual seja a conta, bloqueando-o.
 
== Ataque de força bruta reverso ==
Em um '''ataque de força bruta reverso''', uma única (normalmente comum) senha é tentada com múltiplos nomes de usuários ou arquivos encriptados[13]. O processo pode ser repetido para uma pequena seleção de senhas. Nesta estratégia, o atacante geralmente não tem um alvo em específico. Este ataque pode ser amenizado estabelecendo-se políticas que não proíbam senhas comuns, como por exemplo, obrigar que a senha tenha pelo menos um número e um caractere especial.
 
== Softwares que executam ataques de força bruta ==
* [[Aircrack-ng]]
* Cain and Abel
* Crack
* DaveGrohl
* Hash Code cracker
* Hashcat
* [[John the Ripper]]
* L0phtCrack
* Ophcrack
* RainbowCrack
* SAMInside
 
== Ver também ==
* [[Tamanho da chave]]
* [[Distributed.net]]
* [[Metasploit]]
 
== Ligações externas ==
* http://www.infosecpro.com/applicationsecurity/a11.htm
* [http://www.worldofhacker.com/2013/09/basic-idea-of-creating-password.html Basic idea on How Password Bruteforce Tool is Created]
* [http://www.distributed.net/DES RSA-sponsored DES-III cracking contest]
* [http://codebook.org/codebook_solution.pdf How We Cracked the Code Book Ciphers] – Essay by the winning team of the challenge in The Code Book
* [http://security.stackexchange.com/questions/25375/why-not-use-larger-cipher-keys Why not use larger cipher keys?]
{{Hashes Criptográficos}}{{Criptografia}}
[[Categoria:Criptografia]]
834 332

edições