terça-feira, 31 de março de 2015

E ai galera, hoje vamos entrar na parte atual da criptografia e por isso vamos nos aprofundar mais do que nas técnicas antigas, então vou fazer posts menores para facilitar o entendimento.

Princípio de Kerckoff


O princípio de Kerckoff diz que a segurança de um sistema criptográfico não deve se manter no sigilo do algoritmo. A segurança se da realmente por manter a chave em segredo.

O algoritmo pode e deve ser publico. Se você for pesquisar vai ver que os grandes algoritmos como DES e AES são públicos e pode ser encontrado uma implementação para praticamente qualquer linguagem de programação.

Um dos benefícios de ter o algoritmo público é o fato de que ele vai ser intensamente testado, resolvendo possivelmente todos ou a maioria dos problemas e bugs do algoritmo. O oposto, manter tudo secreto e torcer para que ninguém encontre, conhecido como segurança por obscuridade, não funciona muito bem, porque a partir do momento que o algoritmo é descoberto tudo é perdido.

Este conjunto de regras foi publicado por Auguste Kerckhoffs em 1883 no La Cryptographie Militaire.

Outro motivo para ser público é o fato de o algoritmo cair em mãos inimigas. Se ele já for público não tem problema se o inimigo pegar, a chave ainda vai manter sua segurança.

Além disso, o princípio de Kerckoff também contém outras métricas, por exemplo, o sistema tem que ser praticamente, se não matematicamente, indecifrável sem a chave, classificados como já vimos em textos anteriores em computacionalmente seguro ou incondicionalmente seguro.

Cifra de Feistel


Desenvolvida por Horst Feistel, a estrutura é uma referência nos algoritmos atuais. Esta estrutura ficou conhecida como Rede de Feistel. Alguns elementos da rede de Feistel:


  • Tamanho do bloco: Os blocos tem que ter um tamanho mínimo e tamanho fixo
  • Tamanho da chave: Do mesmo modo que os blocos, a chave tem de ter um tamanho mínimo.
  • Operações: Alterna entre operações de substituição e permutação
  • Número de rodadas: É exigido um número mínimo de rodadas
  • Subchaves: Sistema de geração de subchaves
  • Software Rápido
  • Fácil Análise

Veja abaixo um exemplo da estrutura desenvolvida por Feistel.


Neste exemplo é possível ver que um bloco de texto claro é quebrado em duas partes e metade é enviada para cada lado da entrada da operação, após a primeira rodada as entradas são invertidas e aplicadas a operação e assim por diante até completar todas as rodadas. Após isso ser feito, é adicionado outro bloco até o fim do texto claro. Assim que todos os blocos passam pelo algoritmo, todas as partes são concatenadas e daí temos nosso texto cifrado.

segunda-feira, 30 de março de 2015

O que é o DNS SPOOFING?

Dns Spoofing (ou envenenamento de cache DNS) é um ataque, no qual os dados são introduzidos em um Sistema de Nomes de Dominio (DNS) do banco de dados cache dos nomes do servidor, fazendo com que o nome do servidor redirecione para o endereço IP incorreto, desviando o tráfego para outro computador ou site (muitas vezes o do atacante).


Visão Geral do Sistema de Nomes de Domínio


Um servidor sistema de nome de domínio traduz um nome de domínio legível (como exemplo.com) em um endereço de IP que é usado para encaminhar comunicações entre os sistemas. Normalmente, se o servidor não sabe a tradução solicitada, ele vai pedir outro servidor, e o processo continua de forma continua.

Quando um servidor DNS receber uma tradução não-autêntica e armazenar em cache para otimização de desempenho, considera-se envenenado, e fornece os dados não autênticos para os clientes. Se um servidor DNS é envenenado, ele pode retornar um endereço IP incorreto, desviando o tráfego paraoutro computador (muitas vezes um atacante).


Ataques de Envenenamento de Cache

Normalmente, um computador em rede utiliza um servidor DNS fornecido pela organização dousuário de computador ou um provedor de serviços de Internet (ISP). Os servidores DNS são geralmente implantados na rede de uma organização para melhorar o desempenho de resposta docache dos resultados da consulta anteriormente obtidos. Ataques de envenenamento em um único servidor DNS pode afetar os usuários atendidos diretamente pelo servidor comprometido ou indiretamente pelo seu servidor downstream (s), se aplicável.

Para executar um ataque de envenenamento de cache, o invasor explora uma falha no software DNS.Se o servidor não está validando corretamente respostas DNS para garantir que eles são de uma fonte autorizada (por exemplo, utilizando DNSSEC), o servidor vai acabar em cache, e liberando asentradas incorretas no servidor local e servi-los a outros usuários que fazem o mesmo pedido.

Fonte: Wikipédia em Inglês
Tradução por mim.


Realizando Ataque DNS Spoofing Com Ettercap

No ataque de dns spoofing o atacante pode determinar para qual lugar o usuário vai ser redirecionado quando acessa um determinado domínio. Nesse exemplo estamos utilizando o Backtrack 5(Ou qualquer outro sistema, desde que tenha o Ettercap instalado) como atacante. Bem vamos por a mão na massa.

Primeiramente edite o arquivo etter.dns de acordo com sua necessidade, no nosso caso iremos usar o domínio do facebook como alvo, e iremos colocar o ip de um site pornô como exemplo.

# pico /usr/local/share/ettercape/etter.dns
facebook.com A 69.55.53.97
www.facebook.com A 69.55.53.97

Didática:


facebook.com : Domínio alvo, quando o cliente acessar esse domínio ele será redirecionado para outro lugar.
A : Tipo de redirecionamento de DNS.
69.55.53.97 : IP do site para onde o cliente será redirecionado.


Execução:



# ettercap -T -q -M arp -i eth0 -P dns_spoof //



Didática:


ettercap: Comando da ferramenta utilizada.
-T: Utiliza modo texto.
-q: Seta o modo silencioso.
-M arp: Tipo de redirecionamento.
-i eth0: Interface de rede.
-P dns_spoof: Plugin utilizado para o ataque.
// : Seleciona toda rede.

Agora em algum host da rede acesse o site facebook.com para fazer o teste, veja que você será redirecionado para o ip do site pornográfico que informamos no arquivo etter.dns, é importante lembrar que se tiver alguma proteção contra spoof na rede esse ataque não ira funcionar, quando um cliente acessa o domínio alvo ira aparecer na tela do atacante.
Também é importante lembrar que esse conhecimento é para fins didáticos e não devem ser aplicados sem autorização, qualquer tipo de ataque não autorizado é crime, lembre-se disso, não nos responsabilizamos por qualquer tipo de dano a terceiros

Créditos Originais: Guia de TI
Créditos pelo post: Gabriel - Brutal Security

sexta-feira, 27 de março de 2015

Esteganografia na prática

Fala pessoal!

Como prometido segue uma demonstração básica do funcionamento do uso de esteganografia.

Bom, como é uma demonstração simples, não fui atrás de nenhuma ferramenta para isso. Existem por ai diversas ferramentas que prometem esconder de diversas formas  textos e outras informações dentro de vários tipos de arquivos.

Para esse caso estou me mantendo no mais simples possível para passar a idéia, depois vai de você pesquisar e testar algo mais complexo e trabalhado.

Para este exemplo vou usar um arquivo texto chamado mensagem.txt e uma foto qualquer que achei na internet chamada foto.jpg.

 mensagem.txt


 foto.jpg


Para fazer o processo de esteganografia vou usar os comandos padrões do Unix que tem o mesmo efeito de uma ferramenta mais robusta para essa explicação.

Primeiramente, é preciso saber como uma imagem funciona. Um arquivo de imagem é basicamente um arquivo com diversas informações, para "programar" os diversos pixels e fazer eles reproduzirem o que precisamos. Mas nem tudo que está numa imagem é útil para a montagem da figura, algumas informações estão lá apenas para identificar coisas como equipamento que tirou a foto, data e hora da criação e etc. Como comentei no post de ontem,  existem também os bits menos significativos, que podem ter tanto informações de criação, informações de "programação" dos pixels, lixo ou até mesmo espaços em branco.

Neste caso, o que a esteganografia vai fazer é preencher estes espaços menos significativos com sua mensagem, sem causar qualquer modificação visível na imagem.

O comando que vou usar é o seguinte:

cat mensagem.txt >> imagem.jpg
O que esse comando vai fazer é pegar o conteúdo do arquivo mensagem.txt e adicioná-lo ao final do arquivo imagem.jpg. Isso não vai causar nenhuma modificação na imagem, como pode ser visto ela ao fundo do terminal abaixo, vai apenas colocar ao final do arquivo. O interpretador que monta a imagem na tela vai ignorar aquela parte achando que aquilo é alguma informação extra ou lixo.


Agora precisamos ver essa nossa mensagem dentro da imagem, se não nosso trabalho de colocar ela ali foi em vão. Podemos usar o mesmo comando para listar o conteudo da imagem em forma de texto e ao fim veremos nossa mensagem.

cat foto.jpg


Como pode-se ver pela imagem acima esta técnica não é a melhor de esteganografia, já que é relativamente fácil encontrar a mensagem secreta. Para isso existem diversas ferramentas que conseguem espalhar e esconder de uma forma melhor o conteúdo de sua mensagem ou até mesmo arquivo dentro de outro arquivo, mas acredito que a idéia foi passada.

Agora é com você procurar e testar uma ferramenta e técnica melhor de esteganografia.

Eu fico por aqui e volto com mais conteúdo de criptografia Terça-Feira!

Até a próxima!

quinta-feira, 26 de março de 2015

Esteganografia

A esteganografia é a técnica de comunicação secreta obtida através da ocultação da mensagem dentro de um outro arquivo.

Esta técnica não altera de forma nenhuma a mensagem original, apenas a "disfarça" no conteúdo de outra mensagem ou arquivo.

Para usar a esteganografia precisamos de 2 itens, a mensagem a ser escondida e o objeto que carregará a mensagem. Este objeto pode ser uma outra mensagem, uma imagem, um arquivo de audio, vídeo, etc.

Veja abaixo alguns exemplos:


Mensagem dentro de outra mensagem (conhecido como Null ciphers), exemplificado aqui neste texto de forma magestosa e inteligente. Se você não pegou a piada clique aqui. :D







Tinta invisível.



Estes exemplos são apenas 2 dos mais famosos modelos de esteganografia que vemos por ai em filmes, mas esses modelos também foram usados em grandes conflitos militares e ainda são bastante empregados hoje em dia em certos casos.


Quando usar esteganografia?

Esteganografia pode ser usada em casos onde a troca de mensagens necessita ser sigilosa e por algum motivo o uso de criptografia convencional pode ser percebido e impedido.

Por exemplo, se sua conexão está sendo interceptada por algum motivo, em busca de conteúdo suspeito, e sua mensagem passa em um bloco de texto sem sentido o que pode levantar alguma suspeita se o objetivo é encontrar algo anômalo na rede. Já no caso da esteganografia a mensagem sairia dentro de uma imagem, por exemplo, sem alterar a imagem. A pessoa que está analisando em busca de algo estranho não vai ver nada de diferente em uma imagem normal.

Outro exemplo abordado por muitos livros é o caso do prisioneiro que precisa enviar informações confidenciais a seu advogado mas a mensagem passa por diversas pessoas até chegar a seu objetivo. Neste caso uma mensagem sem sentido pode não ser entregue, mas uma mensagem escondida dentro de outra mensagem, com a técnica de null ciphers pode funcionar.


Amanhã, Sexta-Feira, vou fazer um post bônus, isso mesmo, um post extra sobre criptografia. Neste post vou demonstrar na prática como funciona a esteganografia com base nos bits menos significativos de arquivos de imagens para escondermos nossa mensagem lá!

Fique ligado no post de sexta-feira também! :)

Até lá!

quarta-feira, 25 de março de 2015

E ai pessoal!

Como alguns devem saber, nossa idéia de criar um fórum para o pessoal compartilhar conhecimento e trocar uma idéia não funcionou muito bem. Então vamos acabar com o fórum.

Todos os posts interessantes serão postados aqui no blog com os devidos créditos originais (se disponíveis) e créditos de quem postou no fórum.

Você tem algum conteúdo que gostaria de publicar aqui? Envie seu texto por email para nós ou através do grupo do Facebook.

Vamos começar hoje com o post Apagando Rastros do usuário brayanpoloni:

## Apagando Rastros ##



Objetivos


- Entender a importância de cobrir rastros;
- Conhecer as técnicas para encobrir suas ações;
- Conhecer as ferramentas empregadas;


Por que encobrir rastros?


Um dos objetivos, em um teste de invasão, de utilizar técnicas para encobrir seus rastros e ações, é para testar a eficácia e competência do time de resposta a incidentes e perícia forense caso existam.

As técnicas para apagar rastros também são conhecidas como "anti-forensic".

Não há necessidade desse tipo de ação por parte de um pentester, caso queira deixar as evidências de exploração para posterior análise por parte da equipe de TI da empresa CONTRATANTE. No entanto, caso tenha como objetivo testar, também, a capacidade da equipe de perícia forense em investigar um caso de invasão, é interessante implementar os passos aqui descritos.


O que encobrir?


- Logs de IDS
Onde são armazenadas todas as evidências de tráfego anormal que tenha sido detectado na rede. Isso inclui desde o envio de arquivos maliciosos à varreduras no sistema, em busca de informações.

- Logs de firewall
Logs que guardam as informações filtradas por regras de firewall. Normalmente os administradores, quando criam as regras de firewall, tem por hábito mandar armazenar em log tentativas de varreduras, ataques de brute force e acesso sem autorização a serviços específicos.

- Arquivos copiados no sistema
Qualquer arquivo que tenha sido copiado para o sistema, mesmo que posteriormente seja apagado, deixa rastros que podem ser recuperados com ferramentas específicas.

- Arquivos sendo executados, como backdoors, por exemplo
Todo programa em execução, é reconhecido pelo sistema como um processo, e como um pode ser recuperado da memória. Existem várias formas de mascarar a execução de binários, como por exemplo um rootkit, que substitui binários do sistema por seus próprios, com implementações de códigos maliciosos.

- Logs de comandos
Tudo o que é digitado no terminal é armazenado no .bash_history do usuário, por exemplo. Mesmo que seja apagado, esse arquivo também pode ser recuperado pela equipe de perícia forense.

- Logs de sessão
Quando efetuamos o login e autenticamos uma sessão válida, tudo o que ocorre na mesma é armazenado em logs. Algumas organizações possuem, inclusive, servidores exclusivos para armazenamento e gerenciamento de logs. No linux, a maioria dos logs ficam armazenados em /var/log.


Técnicas


- Sobreescrita de dados
Quando apagamos algo em um disco, os dados são apenas marcados para a deleção e não realmente apagados. Os dados marcados para a deleção, são apagados apenas quando o sistema operacional utiliza os mesmos blocos do disco para gravar novos dados, realizando a sobreescrita. Quanto mais vezes aquele mesmo setor for sobreescrito, masi difícil se tornará a recuperação das informações originalmente existentes. Esse método também é conhecido como "wipe".

- Prevenção de criação de dados
É possível através da alteração de permissão em determinados arquivos, que novos dados sejam inseridos no mesmo, por exemplo. Podemos citar o caso de arquivos de log, que se tiver sua permissão alterada para negar a possibilidade de escrita nos mesmos, nenhuma nova operação será armazenada, e o administrador do sistema não poderá fazer a verificação posterior para entender o que comprometeu o sistema ou a rede.

- Encriptação de dados
A melhor maneira de ocultar um arquivo, para que ninguém veja seu conteúdo, ou consiga alterá-lo, é encriptando-o, seja através de uma ferramenta específica de encriptação, seja ocultando o arquivo dentro de outro, cuja extensão e conteúdo sejam diversos do original. Essa última técnica também pode ser chamada de esteganografia.

- Deleção segura de dados
Essa técnica está diretamente vinculada com a primeira, de sobreescrita de dados. Todo e qualquer processo de deleção de arquivos, deve ser cuidadoso, para que não seja possível a posterior recuperação das informações.


Ferramentas


- Tor (The Onion Router)
O Tor mantém o usuário livre de bisbilhoteiros, inclusive os do FBI e os da CIA, e impede (ou melhor, dificulta bastante) qualquer tipo de rastreamento. E é exatamente isso que o tor oferece. Ao invés de seguir uma rota direta entre a origem e o destino, toda a informação transmitida por ele segue um caminho randômico, que se altera permanentemente, através de diversos servidores voluntários que cobrem a rota. Fica difícil para qualquer sistema saber quem você é, onde você está ou de onde veio, embora seja possível saber o que você está levando consigo.

- Wipe
Wipe é um aplicativo que permite a deleção segura dos dados, permitindo que o usuário defina quais arquivos serão apagados e quantas vezes aqueles blocos do disco, onde os arquivos apagados estavam alocados, serão sobreescritos. Quanto mais vezes se sobreescreve, mais díficil a posterior recuperação dados. Cada operação de sobreescrita deve ser realizada até o final, para que o programa seja completamente eficaz.

- Scrub
Outra possibilidade para realizar o "data wiping", sobreescrevendo os dados deletados com um padrão determinado de informações, que podem ou não ser removidas no final da informação. Se não forem removidas, o perito forense encontrará apenas "lixo digital" nos blocos do disco, sem qualquer ocorrência.

- Steghide
Steghide é um programa de esteganografia que é capaz de esconder dados em vários tipos de arquivos de áudio e imagem. As frequências de som e de cor, respectivamente, não são alteradas tornando o arquivo resistente contra testes estatísticos de primeira ordem. Formatos de arquivos JPEG, BMP, WAV e AU são suportados para uso como arquivo de "cobertura". Não há restrições sobre o formato dos dados secretos. O algoritmo de criptografia padrão é o Rijndael com uma chave de 128 bits de comprimento (que é AES - Advanced Encryption Standard). Se você não confia nesta combinação por qualquer razão, ele lhe permite alterar a combinação modo/algoritmo.


Contramedidas


- Instalar Host IDS nas máquinas;
- Manter as regras de firewall e NIDS bem configuradas;
- Gerencias logs em servidores próprios e bem protegidos;
- Gerenciar permissões em servidores, utilizando ferramentas como o SELinux, por exemplo.

Créditos: brayanpoloni

terça-feira, 24 de março de 2015

Cifra de Vigenére

A Cifra de Vigenére é uma cifra polialfabética. Na Cifra de César falamos sobre cifras monoalfabéticas, ou seja, constituídas da substituição de apenas um alfabeto na criação do texto cifrado, agora nesta cifra temos o exemplo de uma polialfabética, que logicamente é o oposto da monoalfabética. Nesta cifra, diversos alfabetos são usados na cifragem do texto claro, sendo assim, cada letra do texto é substituída por um alfabeto independente.

Como você pode imaginar, o uso de diversos alfabetos aumenta a segurança do algoritmo e consequentemente dificulta para o criptoanalista.

Basicamente se você ainda não pegou o espírito da coisa a Cifra de Vigenére consiste em 26 Cifras de César, veremos um exemplo daqui a pouco.


Para facilitar a cifragem e decifragem temos uma tabela, que nada mais é que as 26 possibilidades da Cifra de César, uma abaixo da outra.
 
 


Para que isso funcione é preciso que tenhamos previamente definido e avisado as partes que devem ler a mensagem uma palavra-chave, que vai fazer a cifragem e decifragem.

A cifragem ocorre quando fazemos a intersecção de uma letra da palavra-chave com o texto claro, e para que isso funcione perfeitamente nos dois sentidos a palavra-chave deve ter o mesmo tamanho do texto claro. Caso sua palavra-chave seja menor que o texto claro pode-se repetir a palavra-chave quantas vezes for necessário para preencher todo o espaço.

Agora sabendo tudo isso vamos ao exemplo:

Primeiramente vamos precisar de um texto claro, para esse exemplo vou usar “Vamos atacar amanha a tarde.”

Segundamente vamos precisar de uma palavra-chave, neste caso vou usar “segredo”.

Agora de posse das duas informações necessárias para a cifragem vamos a tabela comparar e substituir como a Cifra de César.
 
 



Podemos ver que fazendo essa substituição nosso texto claro se transforma em “NESFWDHSGGIEPOFLGRXDFVI”.


No próximo post da série veremos mais 2 exemplos de cifras clássicas e depois já vamos ver algo mais atual e utilizado hoje em dia. :)

A Palo Alto Networks descobriu uma vulnerabilidade do sistema operacional Google Android que permite a invasores “sequestrar” a instalação de um aplicativo aparentemente seguro – Android Package File (APK) – em dispositivos móveis, substituindo por um aplicativo de escolha do hacker, sem o conhecimento do usuário.
Estima-se que explorações com o malware batizado Highjacking afete 49,5% dos usuários atuais de Android, permitindo a invasores distribuir a ameaça, comprometendo os dispositivos e roubando informações pessoais.
A vulnerabilidade explora uma falha no serviço do sistema de pacote de instalação do Android, possibilitando que os hackers façam invasões silenciosas e adquiram permissões ilimitadas, comprometendo os aparelhos.
O malware possibilita que invasores enganem os usuários a partir de um conjunto de permissões, enquanto potencialmente ganham acesso completo aos serviços e dados dos usuários, inclusive informações pessoais e senhas. Enquanto os usuários acreditam estar instalando um app de lanterna, ou um jogo, com um conjunto de permissões bem-definido, eles estão na verdade rodando uma ameaça.
“Esta descoberta significa que os usuários que pensam que estão acessando aplicativos legítimos com permissões aprovadas podem estar expostos a ladrões de dados e a malwares. A Palo Alto Networks alerta para que os usuários fiquem atentos quanto ao aplicativo de diagnóstico fornecido pela empresa e chequem seus dispositivos.
Para sanar a ameaça, a fornecedora disponibilizou um aplicativo para ajudar a diagnosticar dispositivos afetados. “Implante dispositivos móveis com Android 4.3_r0.9 e posteriores, mas mantenha em mente que mesmo os aparelhos de Android 4.3 são vulneráveis”, avisa a Palo Alto.
Além disso, a companhia aconselha que se instale aplicativos apenas da loja virtual Google Play nos aparelhos vulneráveis; estes arquivos são baixados no espaço protegido, que não podem ser substituídos por um invasor.
Outra recomendação é para não fornecer aplicativos permissão para acessar o “logcat”. O “logcat” é um log do sistema, que pode ser usado para simplificar e automatizar uma exploração. O Android 4.1 e outras versões de proibições padrões de aplicativos de acesso ao logcat do sistema ou de outros apps instalados. Porém, um aplicativo instalado pode conseguir acesso a outros aplicativos logcat rodados nos aparelhos.
Fonte: IDG Now!

segunda-feira, 23 de março de 2015

Cada vez mais utilizamos equipamentos e conexões através da rede sem fio, e como já sabemos, raramente se preocupam com segurança.

Já postei aqui uma vez, mas na Blackhat do ano passado tivemos mais uma palestra sobre o assunto.

Veja esta palestra sobre o uso do Software Defined Radio para atacar redes WiFi:



sexta-feira, 20 de março de 2015

Programas como o Google Now, a Siri e a Cortana se tornaram bem populares por trazer uma experiência de uso de um gadget de maneira quase que natural, afinal, dar comandos de voz é uma coisa muito simples, além de ser muito útil.

Eu não sei você, mas eu aos poucos fui adaptando-me aos recursos e requintes que um assistente pessoal, especialmente baseado em voz, traz para o usuários de Smartphone, como atual usuário de Android é bem comum eu usar o Google Now para fazer anotações, consultar a previsão  do tempo e até mesmo fazer ligações para algumas pessoas.
Se você procurar um pouco vai encontrar vários artigos que defendem o uso de um assistente ou outro, comparativos entre Siri, Cortana e Google Now são até comuns hoje em dia, porém, todos eles tem uma característica em comum que os faz "farinha do mesmo saco", todos são de propriedade intelectual das empresas que os desenvolvem.
Pensando nisso foi que Jason Mars, um doutorando Universidade de Michigan nos EUA, juntamente com alguns colegas desenvolveu o projeto que eles estão chamando de Sirius, este que seria uma espécie de "paródia" open source da Siri para iDevices.

Veja o vídeo comentando sobre o assunto:


Se você estiver interessado em acessar o projeto para forkear ou ajudar o código está todo no GitHub e você pode acessar clicando aqui.

Fonte: Dio Linux

quinta-feira, 19 de março de 2015

Criptoanálise em cifradores monoalfabéticos

Aqui vamos aprender uma forma simples de quebrar uma cifra monoalfabética. Como as letras são apenas substituídas, temos 4x10^26 possibilidades possíveis. Ou seja, coisa para caramba para quebrar com força bruta, o que não vamos fazer. Para isso temos outra técnica, a análise de frequência.

Como esse algoritmo apenas substitui as letras por outras, a frequência de aparição de cada letra não muda, ou seja, analisando a frequência que a letra aparece no texto, é possível deduzir qual é o texto claro. Para auxiliar nesse processo temos uma tabela que informa a frequência que cada letra do alfabeto aparece em média em um texto.

Veja abaixo as tabelas de frequências de letras em português e em inglês:


Frequência de letras em inglês


 Frequência de letras em português


Ainda não entendeu? Vamos ao exemplo:

Se no texto cifrado a letra que mais aparece é a letra P e você acredita que o texto esteja em português, olhando para a tabela, podemos assumir que o P do texto equivale a letra A, que é a que mais aparece no idioma português. Agora é só substituir todos os P’s por A’s e fazer a mesma coisa para outras letras. Assim que você já tiver algumas letras substituídas você pode começar a identificar pequenas palavras como da, do, por, para, se, sim, não, com, etc.

Uma observação importante. Quanto maior o texto mais fácil de fazer a análise de frequência. Se o texto for muito pequeno a frequência pode se alterar.

Logo do Google

Google: comentários do chefe-executivo do Google respondem às preocupações do FBI e da Agência de Segurança Nacional

As empresas de tecnologia prevalecerão em seus esforços de ter aparelhos fortemente criptografados que sejam imunes à curiosidade do governo, disse nesta quarta-feira o chefe-executivo do Google, Eric Schmidt.
Em discurso em um centro de estudos em Washington, Schmidt disse que "simpatiza" com o objetivo das agências de segurança e de inteligência, que temem que a criptografia de aparatos de grande consumo como os telefones beneficiem também criminosos e extremistas.
"Não sabemos como construir uma passagem secreta nesses sistemas que dê acesso apenas aos bons moços", disse o chefe-executivo do Google em um fórum no American Enterprise Institute.
Essa "passagem secreta" seria um acesso dissimulado, como uma porta dos fundos, que permitiria aos agentes da lei entrar em um dispositivo sem o conhecimento do usuário.
"Se botamos uma passagem secreta em nosso sistema, primeiro teríamos que revelar sua existência porque as pessoas a descobririam de qualquer modo. Em segundo lugar, as pessoas mal intencionadas descobrirão a maneira de entrar".
Os comentários de Schmidt respondem às preocupações do FBI e da Agência de Segurança Nacional, que afirmaram no final do mês passado que desejam impedir que os gigantes da internet coloquem no mercado telefones criptografados invioláveis, porque isso seria uma ameaça para a segurança nacional.
Ele ressaltou, contudo, que permitir um acesso especial seria equivalente a ter um sistema que permita o governo "que vigie o que todo mundo faz para descobrir quem são os vilões".
"Temos sido rígidos nesse sentido na indústria e acho que ganharemos essa batalha, pelo menos nos Estados Unidos", disse Schmidt.
Fonte: Exame

quarta-feira, 18 de março de 2015

Olá leitores!

Muitos se sentiram órfãos quando receberam a notícia de que a ferramenta de criptografia mais famosa e usada, TrueCrypt tinha sido descontinuada e era considerada insegura pelos próprios desenvolvedores.

Eis que a algum tempo atrás, em quanto o código do TrueCrypt ainda era auditado, um grupo de desenvolvedores de uma tal de CodePlex criou um fork do TrueCrypt.

O grupo garante que resolveu alguns problemas encontrados na primeira parte da auditoria do TrueCrypt em seu fork e também comentaram que vai se manter de graça e open source. O software também mantém seu suporte original a todas as plataformas, Windows, Linux, Mac, Android e iOS.

O fork também suporta todos os algoritmos criptográficos que o TrueCrypt suportava, são eles AES (o mais conhecido e usado), TwoFish, e Serpent.

O VeraCrypt até o momento não suporta os volumes antigos do TrueCrypt, mas tem uma opção para converter seus volumes antigos para o novo formato.

Se olharmos algumas telas do VeraCrypt podemos ver que a aparência e funcionalidade são exatamentes originais ao TrueCrypt.

Veja algumas:




Eu pelo menos não conheço a empresa CodePlex, mas não custa testar o software mesmo assim. O pessoal do podcast Segurança Legal no último episódio comentou que o TrueCrypt ainda pode ser considerado seguro, mas a idéia do VeraCrypt é boa.

Ainda estou testando a ferramenta, logo logo mais novidades.

Se você se interessou segue o link do site oficial.
E se a chave da sua casa fosse partilhada com 28 mil outros lares?
Isto é essencialmente o que os investigadores da Royal Holloway da Universidade de Londres descobriram na semana passada, durante um “scanning” na Internet para ver quantos servidores e dispositivos ainda são vulneráveis à falha de segurança conhecida como FREAK.
Revelada a 3 de Março, a falha permite que um atacante tenha acesso às informações que trafegam por uma conexão protegida pelo protocolo SSL/TLS (Secure Sockets Layer/Transport Layer Security). Esta foi a última de uma série de falhas encontradas ao longo do último ano no amplamente utilizado software open source.
Mais de um quarto dos hosts estavam vulneráveis à FREAK. Na semana passada, investigadores da Royal Holloway decidiram ver que percentagem ainda não tinha resolvido o problema.
Kenneth G. Paterson, professor do Information Security Group da Royal Holloway e co-autor do trabalho de pesquisa, caracteriza-o como um pequeno projeto que produziu resultados surpreendentes.
Os pesquisadores analisaram todo o espaço de endereços IPv4 usando o ZMap, olhando para os “hosts” que permitiriam um ataque FREAK, o que envolve forçar um “host” a aceitar uma chave criptográfica RSA de 512 bits para garantir uma conexão.
As chaves criptográficas com esse tamanho foram consideradas inseguras há mais de 15 anos. Na década de 1990, o governo dos EUA restringiu a exportação de produtos com chaves maiores e mais fortes. Mesmo após essa exigência ter sido abandonada, muitos produtos ainda suportam a versão mais fraca.
O resultado da pesquis? 9,7% dos cerca de 23 milhões de “hosts”, ou cerca de 2,2 milhões, ainda estão aceitando chaves de 512 bits – um número surpreendente, considerando a gravidade da falha FREAK e mais de duas semanas após o problema ter sido divulgado.
Mas os investigadores também fizeram uma outra descoberta surpreendente: muitos “hosts” – que podem ser servidores ou outros dispositivos ligados à Internet – compartilham a mesma chave pública de 512 bits, disse Paterson.
Num exemplo notório, 28.394 routers com um módulo SSL VPN usam todos a mesma chave pública RSA de 512 bits.
Isto nunca deveria ter acontecido.
Muito provavelmente, um fabricante gerou uma chave e depois instalou-a em muitos e diversos dispositivos. “É preguiça por parte do fabricante”, diz Paterson em entrevista ao IDG News Service. “É um pecado cardinal. Um bom exemplo de como não se deve usar a criptografia”.
Fonte: CIO
Microsoft apresentou ontem os dois novos principais sistemas pelos quais o usuário vai ser reconhecido e se logar em seu aparelho rodando Windows 10. O Windows Hello, que usa sistemas de biometria, como reconhecimento das digitais, da íris ou do rosto do usuário, para iniciar o computador, e o Microsoft Passport, focado no acesso a sistemas empresarias e conteúdo online.
O Windows Hello é um programa de autenticação que utiliza uma série de fatores biométricos, combinando hardware e software para permitir login e reconhecimento do usuário através de maneiras únicas. Segundo a Microsoft, um cenário ideal para a segurança seria que o login no dispositivo com o Windows 10 ocorresse com um simples toque ou olhar.
Apesar da identificação física, o Windows Hello vai utilizar hardwares já desenvolvidos para a tarefa – dispositivos de escaneamento de impressões digitais, câmeras com sensores infravermelhos e outros similares. O software vai analisar os dados adquiridos de tais aparelhos para confirmar sua identidade e então fazer o login, sem exigir uma senha com caracteres.


Em uma postagem no blog oficial do Windows, o sentido do Windows Hello não é apenas a conveniência, mas também a segurança. Com os problemas de fragilidade de senhas, a Microsoft está tentando substituí-las sem deixar de oferecer proteção aos dados de seus usuários. O público-alvo primário deste recurso está nas companhias que mais tem sofrido ataques, tais como as empresas de saúde, companhias de segurança e instituições financeiras, embora a tecnologia poderá ser aplicada em computadores pessoais.
Além do Windows Hello, a Microsoft também apresenta o Passport, um sistema projetado para substituir as senhas através de aparelhos pessoais tais como smartphones ou vestíveis. Estes dispositivos farão a identificação em conteúdo online e sistemas empresariais. Tanto este método de identificação quanto o Hello serão abertos aos desenvolvedores e empresas para implementá-los à sua maneira nos dispositivos e serviços.   
Fonte: Adrenaline

terça-feira, 17 de março de 2015

Técnicas clássicas

Agora sim vamos entrar de vez nas técnicas de criptografia. Para uma assimilação melhor vamos iniciar pelas técnicas clássicas e mais simples.

Cifra de César


De acordo com a história, esta cifra foi usada pelo Imperador Romano Júlio Cesar. Este algoritmo é o mais antigo que se tem conhecimento que usa operações de substituição. Seu uso naquela época era para fins militares. Enviar mensagens para as tropas com comandos sem que o oponente soubesse. Caso o oponente capturasse um mensageiro não conseguiria ler o conteúdo das cartas.

A cifra de César consiste em substituir cada letra do texto pela letra seguinte. Normalmente é usada a terceira letra subsequente.

Vamos a um exemplo prático. Cada letra vai andar 3 posições, então A vira D, B vira E, e assim por diante.




Se meu objetivo é cifrar a palavra “CRIPTOGRAFIA”, substituo cada letra pela terceira letra na sequencia. Com isso meu resultado vai ser “FULSWRJUDILD”.

Agora para decifrar isso precisamos saber a chave usada, neste caso 3. Isso quer dizer que para mim obter o texto claro eu preciso fazer a mesma operação na ordem oposta ou completar as substituições para dar a volta no alfabeto e voltar para a letra original. Isso pode ser feito das duas formas, posso tanto voltar 3 posições em cada letra ou avançar 23. Nos dois casos vou chegar novamente em “CRIPTOGRAFIA”.

Tente você agora e decifre o texto abaixo:

Xlmx x nf mxqmh vbyktwh vhf t vbykt wx vxltk. Lx ohvx xlmt exgwh xllt fxgltzxf x ihkjnx vhglxznbn wxvbyktk xet. Itktuxgl! Lbzt xf ykxgmx vhf lxnl xlmnwhl!


Conseguiu? Certeza que você não procurou na internet um programinha para isso?

Se sua resposta foi positiva então você está pronto para seguir em frente. :)

Cifradores monoalfabéticos

Naquela época a cifra de César pode ter sido uma idéia genial, mas hoje em dia é algo bem simples. A cifra de César é um cifrado monoalfabético. Estes cifradores consistem em qualquer permutação de letras com o objetivo de esconder um texto. No caso da cifra de César era usado uma permutação de 3 letras, como mostrado no exemplo acima, mas como você já deve ter percebido isso funciona com qualquer valor até 26, que são os possíveis valores correspondentes as letras do alfabeto.

Se por algum acaso você se deparar com esse nome, cifrados monoalfabéticos, você já vai saber do que se trata.


Qual a importância desse termo para a criptografia? Descubra no próximo texto! :)

segunda-feira, 16 de março de 2015

A empresa espanhola Indra lançou seu novo sistema COMSec-VIP, desenvolvido para proteger informações de grandes companhias, diretores e altos cargos da gestão corporativa por meio de telefones celulares e recurso de criptografia. O produto foi mostrado no Mobile World Congress 2015 
O sistema permite transmitir voz e dados de forma segura utilizando as redes de qualquer operadora comercial. É implementado sobre uma grande variedade de celulares convencionais, tais como iPhone, iPad, celulares e tablets Samsung ou Nokia e opera sobre os sistemas operacionais iOS, Android, Windows Phone 8 e Windows OS.
A solução consegue calcular a comunicação feita ponto a ponto e utiliza uma chave aleatória diferente para cada chamada. A solução tem também funcionalidades avançadas de mensagem instantânea e vídeo. Os celulares, segundo a Indra, podem ser utilizados sobre redes com banda limitada e, inclusive, com baixa cobertura.
As chamadas também são enviadas sob pacotes IP (Internet Protocol) calculados, o que impede o rastreamento da chamada. O sistema está baseado em uma aplicação no celular do usuário e em uma operadora virtual (IMS), que gerencia as chamadas. Pode ser instalada nos sistemas da empresa ou instituição que a utiliza, oferecendo total autonomia.
Além de serviços de voz (VoIP), o usuário pode manter comunicação em grupo, utilizar mensagem instantânea, realizar videoconferências, transmitir vídeos e enviar imagens e arquivos. Ele pode criar, por exemplo, salas de conferência seguras ou formar grupos de trabalho para responder a uma situação de crise, sobre qualquer tipo de rede (2G/3G/4G/LTE/WiFi/satélites).
A Indra é uma das principais multinacionais de consultoria e tecnologia, atuante na Europa e América Latina e em expansão em outras regiões de economia emergente. Com vendas de aproximadamente 3 bilhões de euros, conta com 43.000 profissionais e com clientes em 148 países.
Fonte: IDG Now!

quinta-feira, 12 de março de 2015

Recapitulando o que ja vimos antes, para usarmos criptografia precisamos de um algoritmo criptográfico. Este algoritmo tem de ser “forte”, ou seja, difícil de prever seus resultados ou reverter uma operação através de uma técnica de criptoanálise.

Também vimos que o algoritmo normalmente é público, e o que garante a segurança é a senha. Aqui você pode se perguntar, como pode ser seguro se é público? Eu explico. O algoritmo nada mais é do que uma sequencia de diversas operações como as de substituição e transposição que vimos no texto anterior. O que o torna seguro é quando acrescentamos a chave, que é única e a cada chave usada um resultado completamente diferente é encontrado. Como existem milhões ou até bilhões de possibilidades se torna impossível prever o resultado tentando todas as possibilidades, isso é o que o torna seguro.

Sobre a chave, também chegamos a conclusão de que para a criptografia funcionar, ela deve ser conhecida apenas pela origem e pelo destino, e ser encaminhada entre as partes por um canal seguro.

Para complementar os conceitos que vimos nos textos anteriores vamos ver mais alguns.

Criptoanálise

Nos textos anteriores foi comentado superficialmente sobre criptoanálise, agora chegou a hora de entrar um pouco mais nesse assunto.

Como já conhecemos o algoritmo, o objetivo da criptoanálise é verificar se através de alguma falha do algoritmo pode-se recuperar a chave usada para cifrar um determinado texto. Podemos também obter a chave se o algoritmo for “fraco”. Isso quer dizer, se o algoritmo for previsível na sua saída padrão é possível reverter a operação sem usar a chave.

Os dois métodos mais comuns de obter esses dados é a análise do algoritmo e amostras de textos, e a força bruta.

No lado da análise, o atacante vai estudar o algoritmo, amostras de entrada e saída e com isso tentar forçar uma entrada específica que cause um bug ou tentar prever a entrada com amostras de saída.

No outro lado temos a força bruta. Como o nome sugere, esse tipo de ataque consiste em tentar todas as possibilidades até obter um texto legível. Em muitos casos essa é considerada uma opção desesperada, porque se o algoritmo for forte e a chave usada tiver um tamanho razoável, esse processo pode demorar centenas, milhares ou até milhões de anos.

Não acredita? Vamos a um exemplo!

Imagine que você tem um supercomputador e deseja testar todas as possibilidades de um algoritmo moderno e forte, como por exemplo o AES-256. O seu supercomputador pode testar 2 quintilhões de senhas por segundo. Isso é coisa para caceta! Um computador normal com uma boa GPU pode chegar até 2 bilhões de combinações por segundo para você ter uma comparação, é muito processamento.

Agora, quanto tempo esse supercomputador levaria para testar todas as possibilidades? De acordo com pesquisas e testes feitos por alguns matemáticos, seria necessário cerca de 9.17x10^50 anos para testar tudo. Para usar como comparação saiba que a idade do universo é 1.4x10^10 anos. Outra coisa que você iria precisar era cerca de 150 reatores nucleares para manter os 150.000.000.000 watts de energia.

Acho que este exemplo é suficiente para demonstrar a complexidade de quebrar ou prever as possibilidades de um algoritmo atual. :)

Obviamente se você rodar um ataque de força bruta você vai conseguir quebrar uma chave específica em menos da metade desse tempo, talvez até muito menos se levarmos em conta senhas simples como “1234”, “password”, “teste”, como os usuários gostam de colocar.

Então, com base nesses exemplos e conceitos, vamos seguir em frente. Podemos classificar a força dos criptossistemas de dois modos, computacionalmente seguro e incondicionalmente seguro.

Os algoritmos computacionalmente seguros são aqueles onde o custo para quebrar é superior ao valor das informações que podem ser obtidas. De nada adianta você ganhar 100 mil por uma informação que você gastou 1 milhão para obter. Também entra na categoria computacionalmente seguro quando o tempo é superior ao tempo de vida da informação cifrada. De quê adiantaria levar 100 anos para quebrar uma informação que automaticamente se tornará publica em 50 anos?

Outra categoria que temos é os algoritmos incondicionalmente seguros, neste caso, independente da quantidade de texto, tempo e recurso é impossível reverter a operação e determinar o texto claro.

terça-feira, 10 de março de 2015

Características dos sistemas criptográficos

- Tipos de operações
     - Substituição
     - Transposição

- Números de chaves
     - Simétrica
     - Assimétrica

- Modo de processamento

     - Bloco
     - Stream

Tipos de operações

Os algoritmos criptográficos podem funcionar com duas formas de operações para cifrar o texto claro, substituição e transposição. Existem algoritmos, normalmente os clássicos, que utilizam apenas uma das duas operações. Algoritmos atuais utilizam das duas técnicas para maior complexidade do texto cifrado. De uma forma mais simples, para entendermos como os algoritmos criptográficos funcionam vamos supor que nosso algoritmo criptografa palavras, letra por letra.

Operações de substituição apenas substituem os blocos de lugar, sem alterar nada. Então, se nosso algoritmo quiser utilizar a operação de substituição para criptografar a palavra “SEGURANCA”, o texto cifrado será algo como “AGARESCUN”. Pode-se ver que nada foi alterado, apenas as letras foram embaralhadas.

Já no caso das operações de transposição o que acontece é o oposto. As letras não mudam de lugar, mas são substituídas por outras de acordo com alguma regra específica. Para exemplificar vamos utilizar a regra “substituir pela próxima letra”, isso quer dizer, A vira B, B vira C e assim por diante. Neste caso, nossa palavra em texto claro “SEGURANCA" seria transformada em “TFHVSBODB”.

Números de chaves

Veremos mais a fundo como isso funciona, mas basicamente a chave pode ser única ou ser um par.

Chaves únicas são chamadas de chaves simétricas, ou seja, uma mensagem é criptografada com uma chave e apenas essa chave pode decifrar a mensagem.

Os pares de chaves são chamados de chaves assimétricas. As duas chaves são diferentes mas matematicamente relacionadas. Diferente das chaves simétricas, as chaves assimétricas funcionam com as duas chaves, o que uma chave criptografa a outra decriptografa.

Existem muitas outras diferenças entre algoritmos simétricos e assimétricos, mas vamos ver estas de forma detalhada quando abordarmos os algoritmos específicos.

Modo de processamento

Aqui vemos dois modos de processamento do algoritmo. No modo de bloco o algoritmo vai “quebrar” o texto claro em pequenos pedaços ou blocos de tamanho específico. Após todo o processo das operações de substituição e transposição os blocos resultantes são concatenados para formar o texto cifrado.

O modo de stream ou fluxo não separa o texto em partes. Neste modo, todo o texto cifrado passa pelo algoritmo como um fluxo único de dados, bit a bit, ou byte a byte, de acordo com o algoritmo.

Hoje em dia os dois modos são utilizados, mas na grande maioria dos casos é utilizado o modo de bloco.

segunda-feira, 9 de março de 2015

Dois homens vietnamitas foram indiciados, com um deles se declarando culpado, por hackear oito provedores de serviço de e-mail nos EUA e roubar 1 bilhão de endereços de e-mail e outras informações confidenciais, resultando no que se acredita ser o maior vazamento de dados da história dos EUA, anunciou o Departamento de Justiça dos EUA.
Os ataques, que foram realizados entre fevereiro de 2009 e junho de 2012, resultaram no maior vazamento de nomes e endereços de e-mail “na história da Internet”, afirmou a assistente do promotor geral, Leslie Caldwell, em um comunicado. Após roubar os endereços de e-mail, os réus enviaram e-mails de spam para dezenas de milhões de usuários, gerando cerca de 2 milhões de dólares em vendas, segundo o DOJ.
Viet Quoc Nguyen, 28 anos, do Vietnã, teria invadido as empresas provedoras de e-mail, roubando dados proprietários de marketing que traziam mais de 1 bilhão de endereços de e-mail, de acordo com o Departamento. Nguyen, juntamente com o também vietnamita Giang Hoang Vu, 25 anos, então teriam usado os dados para enviar mensagens de spam.
Os indiciamentos dos dois homens foram revelados na última quinta-feira, 5/3. No mesmo dia, Vu se declarou culpado por conspiração para cometer fraude no computador.
Vu foi preso pela polícia holandesa em 2012 e extraditado para os EUA há um ano. Ele deve receber sua sentença no próximo dia 21 de abril. Nguyen continua à solta.
Fonte: IDG Now!

quinta-feira, 5 de março de 2015

Requisitos de segurança

A criptografia pode garantir alguns fatores:

Autenticação: Garantia que a pessoa é quem diz ser.

Integridade: Garantia de que não houve mudanças nas informações.

Confidencialidade: Garante que a informação estará disponível apenas para pessoas autorizadas.

Não-repúdio: Garante que um indivíduo não pode negar uma ação feita por ele.

Antes de mais nada, cuidado para não confundir isto com os três pilares da segurança da informação.





Para cada um dos pilares acima, um modelo de criptografia deve ser usado, com algoritmos e métodos próprios. Também podemos usar ao mesmo tempo mais de uma garantia. Veremos futuramente como esses pilares são aplicados nos métodos e algoritmos.

Antes de seguirmos em frente, precisamos conhecer alguns conceitos comuns para facilitar o entendimento do conteúdo:

- Criptografia: a arte e a ciência de esconder e manter segura uma mensagem.
- Criptoanálise: a arte e a ciência de quebrar e desvendar mensagens codificadas.
- Criptologia: grande área que abrange a criptografia e a criptoanálise.
- Texto claro: vamos nos referenciar a partir de agora as mensagens e dados originais como texto claro.
- Algoritmo de criptografia: conjunto de operações para transformar o texto claro em uma mensagem cifrada.
- Chave secreta: uma entrada adicional ao algoritmo, o resultado de um algoritmo de criptografia aplicado em um texto claro vai variar de acordo com a chave utilizada.
- Texto cifrado: O resultado produzido pelo algoritmo de criptografia, resultante de operações realizadas na combinação de texto claro e chave secreta.
- Algoritmo de decriptografia: o inverso do algoritmo de criptografia, recebe como entradas um texto cifrado e uma chave secreta e decifra o texto cifrado de volta a texto claro. Normalmente o mesmo algoritmo que criptografa também decriptografa, apenas realizando as operações na ordem contrária.

Funcionamento da criptografia

Vamos ver aqui de um modo simplificado como funciona na prática a criptografia nos dias de hoje. A imagem abaixo demonstra uma comunicação usando criptografia:




1- Usuário A tem um texto plano que deseja enviar para o Usuário B.
2- Usuário A tem uma chave secreta. O Usuário A informa a chave secreta para o Usuário B através de um canal seguro, por outro canal de comunicação qualquer.
3- Usuário A aplica um algoritmo criptográfico usando como entrada o texto claro e a chave secreta.
4- O algoritmo criptográfico gera um texto cifrado que pode ser encaminhado para o Usuário B.
5- O texto cifrado é encaminhado por um canal inseguro sem problemas.
6- O texto cifrado chega até o Usuário B.
7- O Usuário B tem a mesma chave secreta utilizada pelo Usuário A na criptografia.
8- Usuário B aplica o mesmo algoritmo criptográfico que o Usuário A usou, para decifrar a mensagem.
9- Como resultado do algoritmo criptográfico o Usuário B recebe o texto claro.

Neste modelo podemos ver que não basta apenas usar um algoritmo criptográfico, é necessário uma chave secreta compartilhada apenas pelo remetente e destinatário. Esta chave secreta é um parâmetro do algoritmo utilizado tanto na cifragem quanto na decifragem, e deve ser a mesma chave para produzir o mesmo resultado. O mesmo texto claro com chaves diferentes produzirão resultados diferentes. Os algoritmos criptográficos normalmente são publicamente conhecidos, o que garante o segredo do texto cifrado é a chave secreta.


No caso acima, para maior segurança, a chave secreta foi encaminhada por um canal seguro. O canal seguro é um meio de comunicação que seja diferente do meio que o texto cifrado será encaminhado e que seja seguro, ou pelo menos apresente alguma dificuldade na interceptação. Assim, um atacante terá poucas chances de interceptar as mensagens em dois canais diferentes, ao mesmo tempo, para obter as informações necessárias para decifrar o texto cifrado. Um exemplo atual deste tipo de uso de criptografia seria um email seguro, tendo o texto cifrado encaminhado por email e a chave secreta encaminhada por uma mensagem SMS.
Especialistas em segurança estão alertando os usuários uma falha séria que aparentemente passou anos sem ser detectada e pode enfraquecer as conexões criptografadas entre computadores e sites, potencialmente debilitar a segurança na web.
A vulnerabilidade, que foi apelidada de FREAK (de “Factoring attack on RSA-EXPORT Keys”), afeta o protocolo amplamente usado SSL (Secure Sockets Layer) e seu sucessor TLS (Transport Layer Security), e pode permitir que um invasor intercepte tráfego supostamente criptografado à medida que ele se move entre clientes e servidores.
A falha foi descoberta por Karthikeyan Bhargavan, do INRIA, um instituto francês de pesquisas em ciência e tecnologia, e pela Microsoft Research. Um documento técnico descrevendo o FREAK deve ser apresentado na conferência de Segurança e Privacidade, da IEEE, em San Jose, na Califórnia.
A falha afeta muitos sites conhecidos, assim como programas, incluindo o navegador Safari, da Apple, e o sistema Android, Google, segundo os especialistas em segurança. Os aplicativos que usam uma versão do OpenSSL anterior a 1.0.1k também estão vulneráveis ao bug.
Um porta-voz da Apple anunciou nesta terça-feira, 3/3, que atualizações de sistema para o iOS e o OS X serão lançadas na próxima semana. O Google afirmou que distribuiu um patch para seus parceiros que protegerá a conexão do Android com sites vulneráveis.
O problema tem origem nas restrições de exportação impostas pelo governo dos EUA no começo dos anos 1990, que proibiam os fabricantes de software de enviar produtos com uma forte criptografia para fora do país, afirmou o professor de ciência da computação da Universidade de Princeton, Ed Felten.
Isso significa que algumas empresas enviavam uma versão dos seus produtos com chaves de criptografia mais fracas para uso em outros países. Quando a lei foi alterada e tornou-se legal exportar a criptografia mais forte, “o recurso do modo de exportação não foi removido do protocolo porque alguns softwares ainda dependiam disso”, disse Felten.
A vulnerabilidade que ficou conhecida agora essencialmente permite aos invasores fazer downgrade da segurança das conexões da criptografia forte para aquela mais fraca, “para exportação”.
Servidores e aparelhos que usam o OpenSSL, um programa de criptografia open-source, estão vulneráveis, incluindo muitos aparelhos do Google e Apple, sistemas embutidos e outros produtos, segundo um aviso. Servidores ou clientes que aceitam os pacotes RSA_EXPORT também estão em risco.
É possível fazer o downgrade das chaves ao realizar um ataque man-in-the-middle que interfere com o processo de configuração de uma conexão criptografada. Apesar de existirem defesas no protocolo SSL/TLS para evitar isso, elas podem ser burladas. A chave mais fraca de 512-bit pode ser revelada usando os computadores poderosos de hoje em dia, e o tráfego de dados pode então ser “descriptografado”.
Os protocolos atuais usam chaves de criptografia maiores, e o padrão é RSA 2048-bit. As chaves de 512-bit eram consideradas seguras há 20 anos, mas um invasor poderia recuperar a chave que precisava muito facilmente hoje em dia usando um serviço de nuvem público.
“Nos anos 1990, isso teria exigido uma computação pesada, mas hoje leva cerca de sete horas no Amazon EC2 e custa cerca de 100 dólares”, afirmou Felten.

Por tudo isso, as empresas estão se mexendo para resolver o problema o mais rápido possível.
Fonte: IDG Now!

quarta-feira, 4 de março de 2015


Sinopse

A crescente necessidade de maior mobilidade e as melhorias da tecnologia Wi-Fi, que permitem conexões mais rápidas e estáveis, combinadas com preços mais acessíveis, estão fazendo com que cada vez mais pessoas utilizem redes sem fio, aumentando a demanda por pontos de conexão, quer em locais de trânsito, quer em ambiente empresarial ou doméstico.

Apesar dessa demanda, as redes sem fio, mesmo não sendo novidade, exigem dos profissionais constantes atualizações, pois, diferentemente das redes que utilizam cabos, as quais necessitam de conhecimentos técnicos mais específicos e que não têm evoluído tão rapidamente, a montagem e a instalação de redes Wi-Fi podem ser efetuadas sem grandes problemas por um usuário iniciante. Essa facilidade, contudo, apresenta um risco associado, pois muitas instalações (caseiras ou não) são realizadas ainda com padrões dos fabricantes, ou seja, completamente expostas a qualquer tipo de ataque.

Muitas tecnologias associam-se ao termo redes sem fio – as diferenças vão desde frequências utilizadas, distâncias alcançadas até protocolos envolvidos –, porém a de maior popularidade é, inegavelmente, a rede Wi-Fi (Wireless Fidelity). Mas será que as redes Wi-Fi dispõem de mecanismos que garantem a segurança do usuário? E, mesmo que existam esses mecanismos, eles serão adotados? Quais seriam as dificuldades em sua adoção? É com o objetivo de responder a essas questões que iremos discorrer sobre as características, os riscos e as possibilidades de uso mais seguro de redes Wi-Fi.

O objetivo principal deste livro é proporcionar ao leitor tanto uma visão abrangente das características e peculiaridades de redes sem fio (notadamente a tecnologia Wi-Fi e também similares, como a Bluetooth) quanto o entendimento das vulnerabilidades comuns associadas à tecnologia e aos seus riscos e das possibilidades de uso com maior segurança.


Review


Bom vamos por partes. Primeiramente quero falar do autor. O Nelson Murilo é sem dúvida um dos maiores nomes da área no Brasil. Reforçando isso, ele já trabalha como consultor de segurança desde 1992, antes mesmo de segurança digital ser algo de destaque, como está se tornando hoje em dia. Já tive a oportunidade de assistir algumas palestras do autor e também um curso a distância pela Academia Clavis , curso que recomendo por ter uma qualidade diferenciada. Nota-se a validade deste curso por ter o Nelson como professor e seu livro como material de apoio do curso. Caso você tenha interesse em ver o curso ou conhecer o modelo de ensino EAD deixo aqui o vídeo demo deste curso.


Agora falando do livro, como o nome já indica, é focado em segurança em redes sem fio, tanto Wi-Fi convencional quanto Bluetooth. O livro é bem didático e simples, não precisar ser nenhum expert em redes, segurança ou tecnologias sem fio para entender e tirar proveito do conteúdo. O conteúdo parte desde o básico, explicando como as redes Wi-Fi funcionam, frequências e outros quesitos teóricos para um bom entendimento do livro e nivelamento, também passa por conceitos e mecanismos de segurança presentes nesses dispositivos, e finaliza com técnicas e ferramentas para ataque, correções e defesas para estes ataques e alguns estudos de caso.

Numa visão geral, o conteúdo é bem abrangente, não se prende no ataque básico como por exemplo o Man in The Middle, mesmo sendo um livro pequeno com pouco mais de 200 páginas. Sem dúvida o livro me ajudou muito, principalmente mostrando que Wi-Fi não é só aquilo que eu tinha em mente, expandindo minha visão e entendimento do tema. Outro ponto positivo do livro é contar com muitas imagens explicativas, onde apenas um texto não seria suficiente para a compreensão do que está sendo explicado. O livro é voltado para a prática, a cada assunto ou técnica é demonstrado ferramentas e o ataque em si, com imagens de telas e um passo a passo, o que incentiva a prática por parte do leitor.

Não tenho muito mais o que falar do livro sem entregar o conteúdo de uma forma superficial aqui. Super recomendo a compra para aqueles que estão estudando segurança, pentest, redes, ou algum outro tema relacionado. Também recomendo que junto com a compra do livro compre também uma placa de rede Wireless para poder realizar as técnicas descritas.

E para finalizar um último ponto que quero comentar, o preço. O livro é relativamente barato, no meu ponto de vista, custando apenas R$ 63. Ficou interessado em comprar? Tá aqui o link!

E lembrando, ou se você não estava sabendo, temos uma parceria com a Editora Novatec. Através da Brutal Security você tem desconto em todo o site da Novatec. E com o nosso cupom de desconto o livro acaba saindo por apenas R$ 50 e alguns centavinhos.


Para receber o desconto, quando for finalizar a compra utilize o código BRUTALSEC para receber 20% de desconto em todo o site. Este cupom é válido até o fim do ano de 2015, então se estiver lendo isso num futuro distante sinto muito, você perdeu. :)

terça-feira, 3 de março de 2015

Introdução

Criptografia é um estudo das formas de transformar uma informação legível e com significado para ilegível e sem significado. A mensagem legível será apenas conhecida pelo destinatário, remetente e outras partes autorizadas. O objetivo da criptografia de uma forma geral é prevenir que pessoas não autorizadas não tenham acesso a esta informação, ou seja, sigilo.


Não conseguiu entender? Vamos a alguns exemplos práticos:

- Usuário A envia informações para o usuário B. Usuário C intercepta a comunicação e visualiza sem ter sido autorizado.

Bom, aqui podemos ver claramente o problema. Você envia algo para alguma pessoa e no meio do caminho outra pessoa, sem autorização visualiza esta informação. Se esta informação é sigilosa você não quer sair mostrando por ai, então para garantir que ninguém veja você aplica uma medida de segurança. Não estamos falando aqui exclusivamente de comunicação através de computadores, e sim qualquer tipo de comunicação. Um exemplo prático disso é em uma empresa. Um funcionário do setor de RH encaminha a folha de pagamento dos funcionários para o setor Financeiro, um funcionário intercepta e vê o salário de todos os funcionários.

- Usuário A envia informações para o usuário B. Usuário C intercepta, altera as informações e entrega a B.

Aqui temos um outro problema, similar em alguns aspectos com o anterior. Neste caso além de uma pessoa não autorizada ver informações que não deveria ela ainda altera essa informação com o objetivo de causar algum dano, obter alguma vantagem, etc. O exemplo prático que podemos usar aqui é o de uma escola. O professor preenche as notas e encaminha a secretaria, um aluno intercepta, troca sua nota e entrega o livro na secretaria.

- Usuário C se passando pelo usuário A, envia uma mensagem para o Usuário B solicitando alguma informação. O Usuário B acreditando ser mesmo o Usuário A, entrega a informação para o Usuário C.

Um exemplo simples desse tipo de problema é aqueles golpes por email e telefone. Pode parecer bobo, mas muitas pessoas caem nesse tipo de golpe. Se você não sabia, a maioria dos grandes hacks de redes sociais foi através de um ataque de engenharia social desses. Eu postei um exemplo desses a algum tempo atras.

Breve história

Você deve achar que por usarmos criptografia em nossos sistemas, servidores e computadores, a criptografia é algo novo e moderno, não é?

Pelo contrário! A criptografia é usada já a centenas ou até mesmo milhares de anos. Como o objetivo da criptografia é criar “comunicações secretas”, já foram encontradas diversas provas do uso da criptografia para esconder informações na antiguidade, como por exemplo hieróglifos incomuns encontrados em tumbas no Egito, em placas de barro da Mesopotamia, mensagens entre militares espartanos, exército romano (a famosa cifra de César) e por ai vai.


Obviamente os métodos usados foram evoluindo com o tempo junto com a matemática, saindo das formas básicas da antiguidade, passando por cifras clássicas com a cifra de César e a máquina Enigma usada na Segunda Guerra Mundial, até chegar nos algoritmos criptográficos modernos. Futuramente em outros posts vamos ver mais a respeito de algumas das técnicas clássicas, mas se quiser dar uma olhada rápida sobre o tema recomendo os dois filmes sobre o Alan Turing e a máquina Enigma, O Enigma (2001) e o Jogo da Imitação (2014).

Documentos digitais X documentos físicos

Agora já tendo uma noção de que tipo de problemas podemos encontrar, vamos começar a introduzir o mundo digital na história. Primeiramente vamos comparar o mundo digital com o mundo físico. Existem alguns detalhes que fazem toda a diferença em segurança digital e segurança física, o que muda completamente a abordagem que temos que usar, veja alguns:

- Documentos físicos são mais bem protegidos que documentos digitais: Olhe para a empresa em que trabalha ou empresas que conhece. Na maioria dos casos essa afirmação é verdadeira. Documentos físicos são armazenados em arquivos de ferro (você sabe o que é um arquivo né?), dentro de uma sala possivelmente fechada com chave. Para obter um documento você teria de conseguir a chave e entrar fisicamente nesse local. Já no digital, os documentos são armazenados em servidores e estações de trabalho com versões desatualizadas e piratas de sistemas operacionais e outros serviços, na maioria dos casos sem nenhum conhecimento de segurança aplicado a eles. Não preciso nem comentar quão fácil é de acessar e obter esses dados né? :)

- Possibilidade de identificar o original de uma cópia: De um modo geral, é possível identificar um documento original e uma cópia fisicamente. Por exemplo se você comparar uma assinatura a caneta em um documento e o xerox dessa assinatura vai notar pequenas diferenças. Já no digital, tudo é uma sequencia de bits e não pode se notar diferença entre dois documentos. Se você duplicar um documento, a princípio não se tem como identificar o original. Claro que não estamos levando em consideração a perícia forense, que pode identificar o menor sinal de modificação, estamos falando aqui de pessoas normais, que não notariam esse tipo de modificação.

- Alterações físicas deixam evidências, alterações digitais não: Outro caso similar ao de cima, ao olho de uma pessoa comum, uma rasura em um documento pode indicar uma modificação por exemplo, em um documento digital não temos como identificar facilmente essas evidências.

Principais ataques contra informações


Interceptação Ativa: Quando uma parte não autorizada intercepta uma mensagem entre duas partes e lê o conteúdo das mensagens.


Análise de tráfego: Também conhecida como interceptação passiva, onde o atacante apenas observa e analisa a comunicação em busca de padrões.



Fabricação: Também conhecido como personificação, quando o atacante se passa por uma das partes para obter informações.


Replay: Quando o atacante intercepta uma mensagem válida de uma parte e mais tarde reenvia com a esperança de que o destinatário reenvie a resposta da mensagem.




Modificação: Neste caso, o atacante intercepta a mensagem, altera seu conteúdo e depois encaminha para o destino.


Subscribe to RSS Feed Follow me on Twitter!