Mostrando postagens com marcador Artigos. Mostrar todas as postagens
Mostrando postagens com marcador Artigos. Mostrar todas as postagens

quarta-feira, 23 de março de 2011

Criptografia Quântica

Criptografia Quântica

Introdução

Criptografia, a ciência da comunicação secreta, está se tornando cada vez mais importante com o crescimento das redes de computadores e transações eletrônicas. Quando informações pessoais, financeiras e militares são transferidas, tornam-se vulneráveis a técnicas de monitoramento que potencialmente podem ter conseqüências catastróficas. Estes problemas podem ser evitados através da encriptação da informação de forma que esta se torne ininteligível a todos, menos ao destinatário. Este objetivo pode ser atingido se o remetente e o destinatário possuirem uma seqüência de bits aleatória secreta, conhecida como chave, que pode ser usada para encriptação pelo remetente e decriptação pelo destinatário.

A chave é portanto um material de grande valor apesar de não conter nenhuma informação em si. Todavia, o passo inicial da distribuição de chaves precisa ser completado com alto grau de segurança de forma que nem mesmo informações parciais sejam comprometidas.

É neste ponto que entra a criptografia quântica, cuja segurança está baseada em leis físicas, ao contrário de outras formas de criptografia que são apoiadas pela matemática.

O que está errado com a criptografia clássica?

O objetivo da criptografia é transmitir informações de forma que o acesso seja restrito apenas ao destinatário pretendido. Originalmente a segurança de um criptograma dependia do segredo dos procedimentos de criptografia e decriptografia. Atualmente usamos codificadores para os quais os algoritmos de encriptar e decriptar podem ser revelados a qualquer um sem comprometer a segurança de um criptograma em particular. Nesses codificadores um conjunto de parâmetros, chamados de chave, é fornecido junto com o texto não criptografado como entrada para o algoritmo de encriptação e com o criptograma para o algoritmo de decriptação. Os algoritmos são publicamente anunciados: a segurança do criptograma depende inteiramente da segurança da chave, e esta precisa ser composta de uma seqüência aleatória de bits.

Uma vez que a chave é estabelecida, comunicações subseqüentes envolvem o envio de criptogramas através de um canal público, que é vulnerável à espionagem passiva total (por exemplo, um anúncio numa mídia de massa). Contudo para estabelecer a chave, dois usuários (que não compartilham nenhuma informação secreta inicialmente) precisam, num certo estágio, usar um canal muito seguro e confiável. Como em teoria todo canal clássico de comunicação pode sempre ser monitorado, dois usuários legítimos podem sofrer espionagem passiva sem se darem conta.

Matemáticos tentaram resolver o problema da distribuição de chaves. Nos anos 70 houve a descoberta dos sistemas de chave pública. Nestes sistemas os usuários não precisam combinar uma chave secreta antes de enviar mensagens. Eles funcionam sobre o princípio de um cofre com 2 chaves: uma pública para trancá-lo e outra privada para abrí-lo.Todos tem uma chave para trancar o cofre mas apenas um tem a chave que abre. Estes sistemas exploram o fato de que certas operações matemáticas são mais fáceis de serem computadas em um sentido do que no outro. Eles evitam o problema da distribuição de chaves mas infelizmente sua segurança depende de uma hipótese matemática não provada, como a dificuldade de fatoração de grandes inteiros (RSA, o sistema de criptografia de chave pública mais comum baseia sua segurança nisso). Isto significa que se e quando matemáticos ou cientistas da computação desenvolverem procedimentos de fatoração mais rápidos toda a privacidade de sistemas de criptografia pública pode acabar do dia para a noite.

De fato, trabalhos recentes na área da computação quântica mostram que com o auxílio destes é possivel fatorar muito mais rápido do que com computadores clássicos.


A criptografia quântica é baseada na incerteza natural do mundo quântico. Com ela você pode criar um canal de comunicação impossível de ser monitorado sem interferir na transmissão. As leis da física dão segurança a este canal: mesmo que o observador possa fazer o que quiser, mesmo que ele tenha poder computacional infinito, mesmo que P=NP.


De acordo com a mecânica quântica, partículas não existem em um lugar específico. Elas existem em vários lugares ao mesmo tempo, com probabilidades diferentes associadas a estarem em cada posição caso alguém as observe. Todavia, somente após um cientista medir a partícula é que ela colapsa para sua posição. Acontece que não se pode medir todos os aspectos (por exemplo, posição e velocidade) de uma partícula ao mesmo tempo. Se medirmos uma dessas características o simples ato da medida destrói qualquer possibilidade de medir a outra quantidade. O mundo quântico possui uma incerteza fundamental e não há maneira de evitá-la.


Esta incerteza pode ser usada para gerar uma chave secreta. Enquanto viajam, fótons vibram em alguma direção: para cima e para baixo, para a direita e para a esquerda, ou mais provavelmente em algum ângulo. A luz do sol não é polarizada: seus fótons vibram em todos os possíveis ângulos. Quando um grande número de fótons vibra na mesma direção eles estão polarizados. Filtros polarizadores permitem que apenas fótons polarizados numa mesma direção passem, os outros são bloqueados. Por exemplo, um polarizador horizontal só permite que fótons vibrando na horizontal passem por ele. Gire-o 90 graus e apenas fótons polarizados na vertical passarão.


Digamos que você tenha um pulso de fótons polarizados horizontalmente. Se eles tentarem passar por um filtro polarizado horizontalmente, todos vão passar. Gire devagar o filtro 90 graus: o número de fótons que passam vai diminuindo, até que nenhum passa mais. Isto não é intuitivo: Parece que girar o filtro apenas um pouco deveria bloquear todos os fótons, já que eles estão polarizados horizontalmente. Mas na mecânica quântica, cada partícula tem uma probabilidade de repentinamente trocar sua polarização e ficar com a mesma do filtro. Se os ângulos diferem por pouco, a probabilidade é grande. Se diferem de 90 graus, a probabilidade é zero. Se diferem de 45 graus, a probabilidade é de 50%.
A polarização pode ser medida em qualquer base: duas direções num ângulo de 90 graus. Um exemplo de base é vertical e horizontal. Outra é diagonal direita e diagonal esquerda. Se um fóton está polarizado em uma base, emedirmos nesta base descobrimos qual a sua polarização. Se medirmos na base errada obtemos um resultado aleatório. Vamos utilizar esta propriedade para gerar uma chave secreta:
Na prática, a criptografiz quântica foi demonstrada em laboratório pela IBM e outros, mas em distâncias relativamente curtas. Recentemente distâncias da ordem de 60 Km foram obtidas usando cabos de fibra óptica de alta pureza. Acima disso a taxa de erros de bit causados pelo princípio da incerteza de Heisenberg e por inpurezas microscópicas na fibra tornam o sistema inviável. Uma pesquisa foi bem sucedida na transmissão pelo ar, mas apenas em poucas dezenas de centímetros e em condições climáticas ideais. Resta ainda saber quanto o desenvolvimento tecnológico pode aumentar essas distâncias.
Aplicações práticas nos EUA desta tecnologia incluem um link dedicado ente a Casa Branca e o Pentágono em Washington e outros links entre bases militares importantes e laboratórios de pesquisa próximos.

Perguntas

1 - Em que se baseia a segurança da Criptografia Quântica?

Na incerteza natural do mundo microscópico.

2 - Ela é segura contra qualquer tipo de ataque?

Não, apenas aos ataques de monitoramento passivo. Ela nao é segura a ataques em que o espião possa inserir e remover mensagens do meio de transmissão.

3 - Por que é necessário mandar cada bit por apenas 1 fóton?

Porque caso a informação estivesse repetida em mais de um fóton poderíamos medir a polarização de cada um deles em uma base diferente, contornando a incerteza.

4 - A criptografia quântica pode ser usada em dados armazenados?

Atualmente não, pois os fótons não existem parados, mas talvez isso se torne possível quando outras partículas como elétrons forem usadas parar armazenar informação.

5 - Atualmente, qual a distância máxima que os links usados em criptografia quântica atingem?

Cerca de 60 Km.

Fonte: http://www.gta.ufrj.br/grad/01_2/cripto/index.html


Criptografia Quântica foi hackeada ?

Nem bem a criptografia quântica chegou e cientistas afirmam que já conseguiram quebrar seus segredos. A criptografia quântica se baseia nas leis da mecânica quântica e a maioria dos cientistas considerava que redes quânticas seriam 100% seguras.

"Grampo" quântico

Um grupo de pesquisadores do MIT, Estados Unidos, conseguiu espionar uma transmissão usando uma espécie de "grampo quântico", uma técnica parecida com aquela utilizada para se escutar ligações telefônicas.

O método de espionagem e quebra da segurança não é totalmente eficaz, já que foi possível decodificar apenas metade da mensagem. Mas 50% é muito para uma rede que se considerava 100% à prova de hackers. E mais, acreditava-se ser impossível espionar uma transmissão desse tipo sem ser detectado - mas não é.

Só no laboratório

Os pesquisadores admitem que sua técnica ainda não é capaz de permitir a espionagem de uma rede real. "Não é algo que atualmente possa ser utilizado para atacar um sistema comercial," diz o físico Jeffrey Shapiro.

O sistema de criptografia quântica é tido como à prova de espionagem porque qualquer um que tente interceptar a mensagem vai quebrar a polarização do fóton coletado. Isso afeta a capacidade que o receptor tem de medí-lo corretamente. A espionagem então aparece na forma de um pico na taxa de erros da transmissão.

Entrelaçamento de partículas

Shapiro e seus colegas conseguiram contornar essa dificuldade usando um princípio físico chamado entrelaçamento, que conecta duas partículas. Utilizando um aparato óptico, eles entrelaçaram a polarização do fóton transmitido com seu momento. O espião pode então medir o momento a fim de obter informação sobre a polarização, sem afetar a polarização original.

Essa técnica não é perfeita, o que responde pelo fato de que foi possível ler apenas metade da mensagem. Nas outras vezes, o próprio processo de entrelaçamento afetou a polarização do fóton e o erro apareceu. A teoria afirma que é possível construir um aparato que não destrua nem altere os fótons, mas até hoje ninguém conseguiu construir um desses.

Nota Fiscal Eletrônica (segunda geração)


Olá amigos desenvolvedores! Quem trabalha com NFe já deve ter sofrido ou está sofrendo com a "Segunda Geração" do projeto. A verdade é que as mudanças, apesar de complicar a vida dos programadores, tornaram o projeto mais seguro. Nesse artigo pretendo apontar quais foram estas principais mudanças.
As novas regras visam impedir a emissão de notas fiscais com erro de preenchimento ou em situação não prevista na legislação, apesar de gerar um certo transtorno para nós programadores, na questão de suporte claro.

Mudanças de acordo com o CRT (Código de Regime Tributário):

1 - Simples Nacional
2 - Simples Nacional - excesso de sublimite da receita bruta
3 - Regime Normal

Acredito que a regra que deve ter maior impacto para os usuário é a regra que exige o uso do CSOSN no caso do emissor ser optante pelo Simples Nacional (CRT=1). Os emissores do Simples Nacional (CRT=1) devem informar o CSOSN ao invés do CST:

NOTA EXPLICATIVA:
O Código de Situação da Operação no Simples Nacional - CSOSN será usado na Nota Fiscal Eletrônica exclusivamente quando o Código de Regime Tributário - CRT for igual a "1", e substituirá os códigos da Tabela B - Tributação pelo ICMS do Anexo Código de Situação Tributária - CST do Convênio s/nº de 15 de dezembro de 1970.

Quando o CRT=1, informar o Código de Situação da Operação - Simples Nacional (CSOSN)
101 - Tributada pelo Simples Nacional com permissão de crédito;
102 - Tributada pelo Simples Nacional sem permissão de crédito;
103 - Isenção do ICMS no Simples Nacional para faixa de receita bruta;
201 - Tributada pelo Simples Nacional com permissão de crédito e com cobrança do ICMS por substituição tributária;
202 - Tributada pelo Simples Nacional sem permissão de crédito e com cobrança do ICMS por substituição tributária;
203 - Isenção do ICMS no Simples Nacional para faixa de receita bruta e com cobrança do ICMS por substituição tributária;
300 - Imune;
400 - Não tributada pelo Simples Nacional;
500 - ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação;
900 - Outros.

Exemplo de XML para CRT=1 e CSOSN = 101 (equivalente ao CST=00)


0
101
1.00
10.00

De forma geral, as novas regras podem ser lidas através da NT 2010/009 - divulga as situações de "uso indevido" do Ambiente de Autorização da NF-e e as novas regras de validação para reduzir o "uso indevido":

Alguns usuários poderão ter as suas NF-e rejeitadas quando a SEFAZ implementar as regras de validação em ambiente de produção e devem verificar se devem corrigir as suas aplicações.

Seguem abaixo algumas alterações críticas:

1. Especifica layout padrão de DANFE a ser seguido por todos os contribuintes.
2. Obrigatoriedade de inclusão do Código de Regime Tributário (CRT).
3. O DANFE (Documento Auxiliar de Nota Fiscal Eletrônica) utilizado para acompanhar a mercadoria em trânsito deve ser impresso em uma única via.
4. O emissor e o destinatário deverão armazenar a NF-e em arquivo digital pelo prazo estabelecido na legislação tributária, mesmo que fora da empresa. O arquivo deve ser apresentado quando solicitado em operações de fiscalização.
5. Após a concessão da Autorização de Uso da NF-e o emissor poderá corrigir erros em campos específicos da NF-e, por meio de Carta de Correção Eletrônica (CC-e), transmitida à administração tributária do Estado do emissor. A previsão é de que a CC-e esteja disponível ainda este ano.
6. Não será permitida a reutilização, em contingência, de número de NF-e transmitida com tipo de emissão "Normal".
7. Alterado o endereçamento dos web services, que agora são outros, para a versão 2.0.
8. Alterações no Código Fiscal de Operações e Prestações com relação às entradas de mercadorias a serem utilizadas nas prestações de serviços sujeitas ao ICMS e ao ISSQN.
9. Os contribuintes deverão também, incluir, quando for o caso, o Código de Situação da Operação no Simples Nacional (CSOSN). Este campo (campo CRT (C21) da tag enderEmit) foi adicionado na versão 2.0.
10. Obrigatoriedade de utilização da NF-e pelo critério do CNAE (Classificação Nacional de Atividades Econômicas)

Leia mais sobre o assunto das regras de validação no manual:
http://www.nfe.fazenda.gov.br/PORTAL/docs/NT2010.010_RegrasValidacao.pdf

sábado, 5 de março de 2011

A cooperação é fundamental para a segurança da internet

Para que as táticas de segurança ofensivas sejam bem-sucedidas na luta contra o cibercrime, é necessário que consumidores, pesquisadores de segurança, jornalistas, legisladores e a polícia cooperem. A colaboração de todos é fundamental na batalha contra os criminosos on-line.

A cooperação entre pesquisadores de segurança tem uma longa história. Os vírus de computador foram reconhecidos como um problema global desde o início, quando a indústria consistia, basicamente, em um punhado de pessoas que criavam ferramentas antivírus nos anos 80 e 90, predominantemente para PCs com sistema operacional Microsoft DOS.

Naquela época, o ritmo da propagação de vírus era muito diferente - eles trafegavam quase que exclusivamente via de troca de disquetes -, portanto os pesquisadores se encontravam várias vezes por ano para compartilhar coleções e descrições de vírus, normalmente em eventos de segurança. Nesse período, surgiram duas organizações: a Computer Antivirus Research Organization (CARO) e o European Institute for Computer Antivirus Research (EICAR).

A primeira tentativa de criar padrões na indústria de malware foi o CARO BASE, um banco de dados de texto que descrevia os vírus. Esse padrão, desenvolvido e mantido pela CARO, foi estabelecido de 1993 a 1994. O crescimento da internet e do e-mail em 1996 e 1997 permitiu que o malware se propagasse mais rapidamente, e isso também resultou no crescimento gradual dos números do malware. Então, os fornecedores de segurança precisavam de um intercâmbio mais rápido de informações e amostras.

Primeiro, as empresas de antivírus, que atualizavam seus produtos semanal ou mensalmente, passaram a fazê-lo diariamente e a coletar malware diariamente. Segundo, a indústria criou várias listas de e-mails de emergência. Elas permitiram que os pesquisadores dessas empresas se comunicassem durante epidemias globais. Um exemplo bem-sucedido dessa ação foi a Anti-Virus Emergency Discussion Network durante as epidemias globais criadas por W97M/Melissa (1999), VBS/LoveLetter (2000), W32/Nimda (2001) e, posteriormente, W32/Netsky, W32/Bagle e W32/Mydoom (2004).

Epidemias globais de malware por meio de worms de rede e e-mail eram comuns no período de 1999 a 2004. Quando ocorria uma epidemia, todas as empresas de segurança queriam fornecer proteção o mais rapidamente possível. A sincronização dos nomes de malware não era prioridade. Nesse estágio, testemunhamos o que provavelmente foi a primeira tentativa pública de regulamentar a indústria de antivírus.

O cenário de ameaças começou a mudar rapidamente por volta de 2003, quando o malware começou a se tornar comercial. Epidemias em grande escala de malware replicante tornaram-se raras. Em vez da autorreplicação, a própria internet proporcionou aos criadores de malware o mecanismo de entrega de que eles precisavam. Os vírus começaram a morrer como dinossauros, sendo substituídos por cavalos de Troia, pois o malware e a internet tornaram-se inseparáveis. Devido ao volume crescente de malware, o processamento automático do intercâmbio de amostras tornou-se comum.

Logo os cibercriminosos reconheceram que a internet era uma ferramenta útil para fazer dinheiro. Por isso, eles desenvolveram técnicas para se apropriarem de um número significativo de computadores para explorar as vítimas via de envio de spam, ataques de negação de serviço e outros métodos. Os criadores de malware se transformaram em controladores de redes de robôs (redes de bots ou botnets, compostas por programas maliciosos controlados remotamente, executados nas máquinas de vítimas incautas).

Grandes redes de bots, como storm e conficker, agora compreendem milhões de computadores. A rede de bots Conficker merece uma atenção especial. Essa rede de bots tem mais de cinco milhões de computadores zumbis, e os especialistas em segurança ainda discutem a que ela se propõe. Curiosamente, essa força imensa ainda não foi empregada por seus controladores. Sabemos, porém, que um esforço coordenado de fornecedores de segurança conseguiu limitar o tamanho dessa monstruosa rede maliciosa. As empresas de antivírus organizaram o Conficker Working Group e conseguiram derrubar um dos mais importantes mecanismos de comunicação incorporados no worm conficker. Isso é um ótimo exemplo de como a indústria de antivírus pode e deve cooperar quando está diante de ameaças comuns.

Hoje em dia, a maioria das empresas de segurança utiliza sistemas de robôs automatizados que inserem dados e amostras em tempo real e geram regras de proteção. Por esse motivo, a cooperação entre as empresas de segurança continua tão importante. Para sermos eficazes, precisamos também ter uma cooperação em tempo real, contando com o auxílio de robôs. Entretanto, os robôs têm dificuldades em processar informações que não estejam bem definidas e estruturadas. Por isso, para viabilizar intercâmbios de dados, as empresas de segurança uniram forças e criaram o Industry Connections Security Group (ICSG), um sistema de compartilhamento de dados com base em XML, com o apoio do Institute of Electrical and Electronics Engineers (IEEE).

Atualmente, as soluções antivírus incluem recursos para proteção contra todas as ameaças, como firewall, antispam, antiphishing, filtros de Web, controle dos pais, entre outros. Cada elemento de proteção contribui para o cenário geral capturando e transmitindo informações de segurança. Essas informações contêm dados, por exemplo, sobre quão comuns são as ameaças, sua temporização e distribuição geográfica. Esses elementos são essenciais, especialmente quando rastreamos os malfeitores em cooperação com a polícia.

As ameaças evoluem e as soluções de proteção também. Como resultado dessas evoluções, o teste comparativo tradicional de soluções antimalware com base na varredura de conjuntos de amostras não funciona mais. Esse entendimento levou à criação da Anti-Malware Testing Standards Organization (AMTSO), que publicou diretrizes para aprimoramento dos testes.

As diretrizes da AMTSO são um bom exemplo da cooperação entre vários órgãos: testadores, meio acadêmico, editores e fornecedores de segurança. Como podemos ver, a cooperação sempre foi muito valorizada pelas empresas de segurança. Sem ela, não estaríamos tão bem protegidos quanto estamos. É claro que ainda existem desafios a superar. Afinal, as empresas antimalware são concorrentes no mercado.

No entanto, o pessoal técnico que constrói e atualiza o software de segurança entende que apenas com a cooperação podemos controlar as forças criminosas na internet. A quantidade de malware criado agora é impressionante - o McAfee Labs recebe mais de 60 mil novas amostras todo dia. Cada amostra é analisada, mas a maior parte dessa análise hoje é realizada de maneira automática, e dados compartilhados dessa indústria desempenham um papel muito importante na definição da prioridade das pesquisas.

As empresas de segurança compartilham métodos sobre malware e informações sobre arquivos. Essa última é importante para assegurar baixos níveis de alarmes falsos, frequentemente chamados de falsos positivos. A qualidade de um programa antimalware está em diferenciar o malware dos arquivos legítimos. Esse trabalho é importante para dificultar o crescimento de malware.

No futuro, esses ataques serão mais sofisticados e dirigidos, como no caso do ataque Operação Aurora, no qual uma vulnerabilidade de dia zero no Microsoft Internet Explorer foi explorada para roubar informações valiosas de várias empresas dos Estados Unidos, entre elas a Google. Os atacantes da Operação Aurora utilizaram uma abordagem sofisticada - primeiro visaram a amigos e parentes daqueles que eles queriam comprometer. Em seguida, passaram para as empresas.

Muitos desses ataques provavelmente nem são percebidos - ou não chegam a ser comunicados -, mas ainda assim as empresas de segurança precisam conhecê-los para poder agir. É por isso que o compartilhamento de informações dentro e fora da indústria é tão importante. Somente reunindo os fragmentos desses quebra-cabeças podemos responder aos ataques dirigidos.

A necessidade dessa maior cooperação entre empresas de segurança e provedores de serviços de internet é fundamental. O compartilhamento de informações de segurança deve permitir que os provedores tomem providências quanto a endereços IP e sub-redes infectadas. Um dos problemas que enfrentamos é que alguns cibercriminosos acumularam dinheiro suficiente para assumir o controle de alguns provedores locais. Já vimos vários provedores (como ESTdomains13 e McColo14) serem fechados devido a suas condutas duvidosas. Infelizmente, essa tendência de investimento criminoso em provedores de serviços de Internet continuará, sem dúvida.

O que você pode fazer?

A grande pergunta com que nos deparamos é: Quem é dono da internet? São os malfeitores ou os benfeitores? Cada lado tem a convicção de que deveria estar no comando. Usuários de computador, profissionais de segurança ou administradores devem optar por compartilhar informações de inteligência com o fornecedor de segurança de sua confiança. Provedores de serviços de internet e fornecedor de segurança também precisam cooperar com esse compartilhamento. As autoridades políticas devem levar em consideração essas questões, ao elaborar leis. Mais do que nunca precisamos de uma cooperação internacional no policiamento da internet. Essa é a chave para o sucesso.

Quando a segurança da informação realmente importa?

Terminamos 2010 com uma grande demonstração do que o acesso a informação pode gerar de impacto quando cai nas mãos de alguém que entende o valor delas, principalmente se essa pessoa sabe o que fazer com elas. A grande maioria, para não dizer todos, ficou sabendo do caso que repercutiu mundialmente denominado “WikiLeaks”. O bom mocinho, para alguns, ou ladrão e espião internacional, para outros, conseguiu de maneira não muito clara, ter acesso a 250 mil registros sobre mensagens trocadas entre os membros da diplomacia americana.

Não sei se essas informações são desde 2000, se são somente do ano 2010 ou se elas chegaram até ele através de pen-drive, micro SD, DVD, ZIP ou JPEG, não sei nem se saiu armazenada em um celular com 64gb de dentro do pentágono ou se simplesmente foi encaminhado por email em um anexo dizendo “Segue a consulta que me pediu”. O estrago foi feito. Agora corram atrás do prejuízo!

Dia desses, estava em um seminário e escutei uma pessoa falando a outra - “O bem mais valioso de uma empresa hoje é a informação!” E pensei comigo - “A informação nas mãos de alguém que saiba o que fazer com ela”. A informação em si não pode ser um bem, e se for, terá valor diferente, de acordo com a pessoa e o modo que ela for utilizada.

A intenção aqui não é mostrar o valor da informação, se ela vale mais nas mãos de uns do que de outros, e sim mostrar a importância da segurança da informação. Quanto vale sua carteira de clientes? Quanto vale a composição de seus produtos? Quanto vale sua lista de fornecedores com os descontos oferecidos? E sua composição de preços? Seus e-mails, trocados em uma negociação de compra ou de venda?

Na verdade, não temos uma resposta do valor exato para nossa informação. Podemos até ter uma ideia do prejuízo que ela causaria se fosse parar nas mãos de um concorrente ou até de um ex-funcionário, ficaríamos enfurecidos. Vamos levar o caso à polícia! Isso é um roubo de informação! Nesse momento, surge outro problema: a informação não foi simplesmente roubada, e sim duplicada. Ela continua com você, mas também na mão de outro. De repente, da mesma maneira que você organizou essa informação, ou então, já está transformada com outras informações que você desconhecia, ficará praticamente impossível provar alguma coisa.

É nesse momento que paramos para pensar: minhas informações estão seguras? Posso confiar em meus colaboradores 100%? Alguém entende o valor desta informação?

Eu sei que não podemos ficar imaginando a infinidade de maneiras com que nossa informação pode ser compartilhada indevidamente. Sei também que é praticamente impossível ficar vigiando os passos de cada pessoa dentro e fora de sua empresa, mas nem por isso vamos deixar as nossas portas digitais completamente escancaradas, afinal de contas, a divulgação da informação está ao passo de um clique, ou dois, quem sabe.

Autor: Humberto A. Izabela

segunda-feira, 24 de janeiro de 2011

Entenda como funciona o grampo telefônico

Introdução

Telefones grampeados aparecem o tempo todo em filmes de crime e espionagem. Espiões e bandidos sabem que o inimigo está ouvindo, por isso usam códigos para falar ao telefone e ficam de olho para ver se encontram microfones implantados. No mundo real, não pensamos muito a respeito disso. Na maior parte do tempo, achamos que nossas linhas telefônicas estão seguras. Normalmente elas realmente estão, mas somente porque ninguém está interessado em escutar o que conversamos. Se estivessem, poderiam grampear qualquer linha telefônica facilmente.

Entretanto, no Brasil, muitas pessoas têm seus telefones grampeados, como foi o caso do ministro Luiz Gushiken, da Secretaria de Comunicação e Gestão Estratégica da Presidência da República, que revidou dizendo que foram ilegais os procedimentos de espionagem noticiados. Mesmo sendo ilegal, essa prática ocorre até mesmo por ser muito simples.

Apesar do direito à privacidade assegurado pela Constituição, há uma variedade de produtos utilizados em grampos disponíveis na Internet, com uma facilidade enorme para adquiri-los. No Brasil, a Lei 9.296/1996 estabelece a permissão de grampo telefônico apenas para apurar crime para o qual é prevista pena de prisão e somente com ordem judicial. Mesmo assim com R$ 50,00 ou R$ 100,00 é possível adquirir uma escuta que transmite as conversas em freqüência FM, captada por qualquer rádio. Este aparelho é plugado na linha telefônica e as conversas podem ser ouvidas ou gravadas num raio de 80 metros. Alguns modelos mais sofisticados podem chegar a R$ 700,00.


A tecnologia simples do telefone o faz um sistema propenso a escutas clandestinas

Neste artigo, vamos explorar, na prática, o telefone grampeado para vermos como ele é simples. Também vamos ver alguns diferentes tipos de grampo telefônico, descobrir quem grampeia telefones e examinar as leis que regulamentam esta prática.

Para aprender como funciona o grampo telefônico, antes é preciso entender os fundamentos dos telefones. Se observarmos o interior de um fio telefônico, veremos como a tecnologia é simples. Ao removermos o revestimento externo, encontramos dois fios de cobre, um verde e outro vermelho. Estes dois fios fazem a ligação entre dois telefones.


Os fios, um vermelho e um verde, formam um circuito parecido com o que existe em uma lanterna. Em um cabo telefônico, o fio verde é conectado à extremidade positiva e o vermelho à negativa.

Os fios de cobre transmitem as ondas sonoras flutuantes de sua voz como uma corrente elétrica flutuante. A companhia telefônica envia esta corrente através dos fios, que são conectados ao alto-falante do telefone e ao microfone. Ao falarmos, o som produz flutuações de pressão atmosférica que movimentam o diafragma do telefone para frente e para trás. O microfone é conectado de modo que a resistência aumente ou diminua (na corrente que passa pelo fio) em sintonia com a flutuação na pressão atmosférica captada pelo diafragma do telefone.

A corrente variável passa pelo receptor no telefone na outra extremidade e movimenta o dispositivo no alto-falante daquele telefone. A parte central do dispositivo é um eletroímã, conectado ao diafragma e situado na frente de um ímã natural. O fio que carrega a corrente elétrica variável gira ao redor do eletroímã, criando um campo magnético que o afasta do ímã natural. Quando a voltagem aumenta, o magnetismo do eletroímã também aumenta e o afasta mais do eletroímã natural. Quando a voltagem diminui, ele recua. Desta forma, a corrente elétrica variável movimenta o diafragma para frente e para trás, reproduzindo o som captado pelo microfone na outra extremidade.

Em seu caminho através da rede telefônica global, a corrente elétrica é transformada em informação digital, de modo que possa ser enviada rapidamente e com sucesso para longas distâncias. Ignorando esta etapa no processo, podemos pensar sobre a conexão telefônica entre você e um amigo como sendo um circuito muito longo que consiste de um par de fios de cobre. Como em qualquer circuito, você pode conectar mais cargas (componentes energizados por um circuito) em qualquer lugar ao longo da linha. É isso que fazemos quando colocamos um telefone extra (uma extensão) em uma tomada de nossa casa.

É um sistema muito conveniente, pois é muito fácil de instalar e de fazer a manutenção. Infelizmente, é muito fácil de se explorar também. O circuito, com sua conversa, sai de sua casa passando pela vizinhança e por várias estações comutadoras entre você e o telefone, na outra extremidade. Em qualquer ponto deste trajeto, alguém pode adicionar uma nova carga ao circuito eletrônico, da mesma forma que você pode conectar um novo aparelho a uma extensão. No grampo telefônico, a carga é um dispositivo que transforma, novamente, o circuito elétrico no som de sua conversa.

O grampo telefônico é isso: conectar um dispositivo de escuta a um circuito que carrega informações entre telefones. Nas próximas seções, vamos dar uma olhada em algumas escutas específicas e descobrir onde são conectadas ao circuito.

Técnicas básicas de grampo telefônico


Vimos que grampear uma linha é como conectar um aparelho em um circuito elétrico que passa por sua casa. Ao conectar seu aparelho à parede, ele puxa energia de uma corrente elétrica que passa pelo circuito. A corrente em uma linha telefônica fornece energia e também carrega informações, uma forma de flutuações de corrente que representam as flutuações de pressão atmosférica de ondas sonoras. O grampo telefônico é um dispositivo que pode interpretar estas flutuações como sendo som.


O telefone comum pode ser considerado um tipo simples de grampo telefônico. De certo modo, você está grampeando sua própria linha telefônica toda vez que coloca uma extensão em sua casa. Logicamente isso não é considerado grampo, uma vez que não existe segredo algum.

Pessoas que grampeiam linhas telefônicas fazem a mesma coisa, mas tentam esconder o grampo da pessoa que está sendo espionada. A maneira mais fácil de fazer isso é conectar um telefone em algum trecho da linha que esteja do lado de fora da casa. Para configurar um telefone para grampo, a pessoa deve cortar o cabo que está conectado a um dos plugues modulares (a parte que você insere na tomada) até que os fios vermelhos e verdes fiquem expostos. Em seguida, deve ser ligado ao telefone e os fios expostos devem ser conectados a um ponto de fácil acesso na linha do lado externo.


Com essa ligação, o grampeador consegue usar a linha da pessoa da mesma forma que ela usa. O grampeador pode ouvir e fazer ligações. A maioria dos grampeadores desabilita o microfone para que ele funcione apenas como um aparelho de escuta. Se não fosse assim, a pessoa escutaria a respiração do sujeito que está espionando e ficaria alerta.

Este tipo de grampo é fácil de instalar, mas tem algumas desvantagens caso você seja um espião. Antes de tudo, o espião deve saber quando a pessoa vai usar o telefone para que ele possa estar presente no momento certo. Além disso, um espião tem que ficar na escuta para ouvir o que está acontecendo. Obviamente, é difícil prever quando alguém vai usar o telefone, portanto, ficar esperando perto do quadro de telefone não é uma das melhores estratégias.

Por estes motivos, espiões usam tecnologias mais sofisticadas para escutar as conversas de alguém. Na próxima seção, daremos uma olhada nos principais tipos de equipamentos para descobrirmos como os espiões ficam na escuta sem serem descobertos.

segunda-feira, 10 de janeiro de 2011

Mais segurança no SSH

Introdução

Na grande maioria das vezes, os administradores de servidores Linux necessitam de acesso remoto à maquina que atua como servidor, seja para proceder verificações de rotina, seja para realizar atualizações, implementar alguma nova solução ou algo do gênero.

Há muito tempo o SSH substituiu o velho telnet nesta tarefa. Porém, tenho certeza de que não é um nem dois administradores que perdem o sono pensando na porta aberta que a utilização desse serviço acarreta. Por mais seguras que sejam as senhas, por mais restritos que sejam os usuários que tem acesso ao serviço, sempre permanece certa inquietação.

O presente artigo tem a intenção de fornecer algumas dicas sobre este assunto. Trata-se, na verdade, do agrupamento de uma série de dicas encontradas na internet com o auxílio do grande guru (www.google.com.br) e de um recentemente descoberto mestre na arte do firewall, que como não poderia deixar de ser, pertence à nossa comunidade. Trata-se do amigo e colaborador melphos, que gentilmente me permitiu o uso de suas regras firewall na composição deste pequeno artigo. Pois bem, principiemos.

Configurações básicas

Inicialmente é necessário que comentemos a respeito da porta padrão do serviço SSH, a porta 22. O melhor a fazer é alterar, pois trata-se de uma porta muito “manjada”. Todo lammer metido a hacker gosta de usar scripts bruteforce para ficar “batendo” nas portas 22 abertas internet à fora. Quando você altera a porta, eles simplesmente não sabem o que fazer. Você já se livra de uma enxurrada de logs.

Para isso, basta editar o arquivo sshd_config, geralmente contido em /etc/ssh e alterar o seguinte parâmetro:

Port 22

Para:
Port xxx

Onde xxx é o numero da porta que você deseja que o serviço responda.

Muito bem, outro pequeno detalhe diz respeito à seus usuários. Evite que eles tenham um shell válido, o que lhes dá direito a uso de SSH. Retire todos os shells que puder e redirecione todos os usuários possíveis para shells falsos. Para reforçar, permita que apenas um usuário possa acessar o serviço SSH. Edite o arquivo sshd_config novamente e inclua o parâmetro:
AllowUsers nomedousuario

Com relação à senhas, jamais permita senhas em branco em seu serviço SSH. Mais uma vez, dirija-se ao arquivo sshd_config e verifique se o seguinte item encontra-se ativo:
PermitEmptyPasswords no

Agora outra dica importante: não permita que o root utilize serviço SSH, fazendo isso como o parâmetro:
PermitRootLogin no

Muito bem, nosso SSH encontra-se em uma porta despadronizada, não aceita senhas em branco e não aceita logins de root. Agora, outro ponto que pode ser levado em consideração: não permita que o usuário cadastrado no serviço SSH possa tornar-se root por meio do comando “su” inserindo-o no arquivo /etc/suauth, na seguinte sintaxe:
root:nome_usuário_do_ssh:DENY

Dessa forma, um possível atacante terá que descobrir a porta e quebrar 3 senhas para conseguir o acesso root à maquina.

Até aqui, repasso todos os créditos à Ederson L. Corrêa, que publicou artigo no Dicas-L:
• http://www.dicas-l.com.br/dicas-l/20050113.php

Camada extra: utilizando o firewall iptables

Agora entra a participação do amigo melphos, que eu considero a mais importante implementação de segurança para SSH de todo o artigo. Tomemos por acordo que você tenha seu serviço SSH rodando na porta 221. Veja as seguintes regras de iptables:

1) iptables -A INPUT -p tcp -m tcp –dport 221 -m state –state NEW -m recent –rcheck –name SSH –rsource –seconds 60 –hitcount 3 -j ACCEPT

2) iptables -A INPUT -p tcp -m tcp –dport 222 -m state –state NEW -m recent –name SSH –remove -j DROP

3) iptables -A INPUT -p tcp -m tcp –dport 223 -m state –state NEW -m recent –set –name SSH –rsource -j DROP

4) iptables -A INPUT -p tcp -m tcp –dport 224 -m state –state NEW -m recent –name SSH –remove -j DROP

Breves explicações

A primeira regra basicamente diz o seguinte: restrinja o acesso à porta 221 somente aos IPs que tenham registrado 3 tentativas de acesso na lista SSH, contida em /proc/net/ipt_recent/SSH, no tempo máximo de 60 segundos.

A segunda regra diz o seguinte: remova o número de IP do requisitante da porta 222 da lista SSH (/proc/net/ipt_recent/SSH) caso ele lá esteja.

A terceira regra diz o seguinte: adicione o IP do requisitante à lista SSH (/proc/net/ipt_recent/SSH).

A quarta regra tem o mesmo efeito da segunda: remova o número de IP do requisitante da porta 222 da lista SSH (/proc/net/ipt_recent/SSH) caso ele lá esteja.

Resumo da situação: a porta 221, onde roda seu serviço SSH, permite login apenas dos IPs cadastrados na lista chamada SSH que tenham lá registradas 3 tentativas de acesso nos últimos 60 segundos. Portanto, de acordo com as regras, qualquer um que queira acessar o serviço SSH terá que enviar três requisições syn à porta 223, que é a que registra o número de IP no arquivo SSH (/proc/net/ipt_recent/SSH).

Pequeno exemplo e finalização

Agora imagine o seguinte: alguém “batendo” em suas portas de maneira seqüencial, partindo da porta 221:
• A requisição à porta 221 terá como resposta a negação do serviço.
• A requisição à porta 222 terá como resposta a negação do serviço.
• A requisição à porta 223, adicionará o requisitante ao arquivo SSH, liberando para ele, sem que ele o saiba, o acesso à porta 221.
• A requisição à porta 224 retirará o IP do requisitante do arquivo SSH, fechando, dessa forma a porta 221, anteriormente aberta e agora fechada, nos dois casos sem o conhecimento do requisitante.
Como se pode observar, é uma situação muito conveniente no caso de ataques de scannners, que geralmente “batem” nas portas de maneira seqüencial.

Fonte: vivaolinux

quinta-feira, 16 de dezembro de 2010

Segurança do S.O.

Quando você é um usuário de computador, a segurança é um grande problema. Os desenvolvedores de sistemas operacionais sabem que a segurança do sistema também é importante. É por isso que todos os sistemas operacionais possuem recursos internos de segurança que o tornam seguros para ambas navegar na Internet, bem como manter os usuários não autorizados longe de utilizar o computador.

A segurança do sistema operacional é baseada em dois princípios:

* O sistema operacional permite o acesso a uma série de recursos, direta ou indiretamente, tais como arquivos em um disco local, chamadas de sistema privilegiado, informações pessoais sobre usuários, e os serviços oferecidos pelos programas em execução no sistema.
* O sistema operacional é capaz de distinguir entre alguns solicitantes desses recursos que estão autorizados – ou permitidos – para acessar o recurso, e outros que não sejam autorizados – ou proibidos. Enquanto alguns sistemas podem simplesmente distinguir entre privilegiados e não privilegiados, os sistemas têm geralmente uma forma de identidade solicitante como um nome de usuário.

Além de permitir / negar em seu modelo de segurança, um sistema operacional com um nível elevado de segurança também oferece opções de auditoria. Estas medidas permitirão rastreamento de pedidos de acesso a recursos como “quem tem de ler este arquivo?”

segurança do sistema operacional pode ser dividida em duas sub-seções com relação a solicitantes:

* Segurança Interna – um programa já em execução. Em alguns sistemas, um programa uma vez que está funcionando, não há limitações. No entanto, mais comumente, o programa tem uma identidade que se mantém e é utilizado para verificar todos os seus pedidos de recursos.
* Segurança Externa – um novo pedido de fora do computador, como um log-in em um console conectado ou algum tipo de conexão de rede. Para estabelecer a identidade, pode haver um processo de autenticação.

Muitas vezes um nome de usuário deve ser citado e cada usuário pode ter uma senha. Outros métodos de autenticação, como cartões magnéticos ou de dados biométricos poderão ser utilizados. Em alguns casos, especialmente com as conexões de uma rede, os recursos podem ser acessados sem autenticação.

segurança do sistema operacional tem sido uma preocupação por causa de dados altamente confidenciais, realizada em computadores de natureza pessoal, comerciais e até militares. É por isso que os programadores de sistema operacional dão atenção especial à segurança dos sistemas operacionais que estão desenvolvendo. Eles querem garantir que todos os dados contidos em um sistema dedicado são mantidos privados e só é permitidem serem vistos por aqueles que estão autorizados a fazê-lo.

10 razões pelas quais o código livre é bom para os Negócios

Com tantas empresas e órgãos governamentais aumentando o uso de softwares open source, como o Linux, fica cada vez mais claro que o preço não é a única vantagem. Se fosse, as empresas que adotaram ferramentas abertas durante o pior da recessão já teriam retornado para soluções proprietárias agora que a economia está melhor. E esse não é o caso.

Os negócios que se viram empurrados para ferramentas de código livre após sofrerem com restrições de orçamento logo identificaram outras vantagens, observadas na lista a seguir.

1 – Segurança
É difícil pensar em um argumento melhor do que a superioridade das ferramentas de código aberto em termos de segurança. Recentemente, descobriu-se uma brecha no kernel do Android que poderia trazer riscos. Mas a única razão pela qual a falha foi descoberta é porque o código é aberto ao público.

Essa, aliás, é a filosofia de Linus Torvalds, criador do Linux: quanto mais olhos, mais as chances dos bugs serem identificados antes de causar incômodo. E é um argumento bem oposto à segurança pela obscuridade, usado por algum dos fabricantes de softwares proprietários caros como argumento para a estrutura fechada. Mas a falta de notificações de falhas de segurança no sistema do iPhone e do iPad ou no Windows significam que esses sistemas são mais seguros? A história prova que não.

2 – Qualidade
O que é melhor? Um software empacotado por um grupo pequeno de profissionais ou um software em criação constante por milhares de desenvolvedores? Assim como há milhares zelando pela segurança do código aberto, muitos outros estão pensando o tempo todo em inovar e melhorar os recursos.

O que isso significa? O código aberto também é feito por usuários, o que o torna mais próximo do que os usuários querem. E isso já foi provadio em estudos recentes, que demonstraram que a suposta superioridade é a razão principal pela qual empresas escolhem o código aberto.

3 – Personalização
Ter um software que pode ser alterado e customizado de acordo com o gosto da empresa, sem precisar esperar avanços por parte do fabricante, é também uma das maiores vantagens. Um desenvolvedor competente adiciona funcionalidades como quem altera palavras em um texto do Word.

4 – Liberdade
Quando os negócios se voltam ao código aberto, as empresas ficam livres da ameaça de ser aprisionada dentro de pacotes proprietários engessados. Clientes de fornecedores como esses ficam a mercê da visão, requisitos, preços, prioridades e limites impostos pelo fornecedor. E tudo isso com uma conta no final do mês ou do ano.

5 – Flexibilidade
Quando a empresa usa softwares como Windows ou Office, entra em um ciclo no qual precisa atualizar software e hardware infinitamente. O código livre, por outro lado, usa muito menos recursos da máquina e pode ser rodado até mesmo em hardwares mais lentos. A empresa decide a hora de atualizar, não o fornecedor.

6 – Interoperabilidade
Software livre é muito melhor na aderência a padrões abertos e até mesmo a ferramentas proprietárias. Se a interoperabilidade for necessária com outras empresas, computadores e usuários, a vida fica muito mais fácil com o código aberto.

7 – Auditoria
Com o sistema fechado, você só tem a palavra do vendedor para provar que o software é de fato seguro e aderente a padrões. O código aberto oferece visibilidade para o cliente, que pode ter mais certeza sobre o que está rodando em casa.

8 – Opções de suporte
Software de código aberto possui comunidades com extensas documentações, fóruns de discussões, listas, wikis, grupos de notícias e, dependendo de quem fornece a distribuição, até mesmo suporte ao vivo via chat gratuito.
Para os negócios que querem melhoria, há muitas opções pagas de suporte com preços bem menores do que os fornecedores proprietários cobram. Os fornecedores de suporte para ferramentas abertas costumam dar respostas melhores e mais rápidas, pois têm sua receita focada nesse serviço.

9 – Custo
O custo de comprar uma solução proprietária é muito difícil de ser medido, pois tem a proteção por vírus obrigatória, taxas de suporte, despesas de atualização e ainda o preço a ser pago por ser aprisionado em alguma solução. No final, o custo é muito maior do que a companhia imaginava inicialmente.

10 – É possível experimentar antes de usar
Se você está considerando usar o software de código aberto, não custará nada realizar testes de qualidade antes de usá-lo. Em parte porque é gratuito mesmo. E em parte porque o código aberto oferece muito mais opções para quem quiser testar, como a possibilidade de criar Live CDs para Linux, por exemplo.

Conclusão
Mesmo com todos esses argumentos, só a própria empresa será capaz de realizar uma análise profunda para verificar se o software livre é uma boa opção. Além disso, pode ser que o código aberto não seja a solução para todas as necessidades da empresa. Mas, diante de todos os benefícios, é necessário ao menos considerá-lo entre as opções.

Internet: o crime compensa?

Um dos conceitos da “vida real” que, na internet, têm uma característica muito peculiar é o “crime”. No senso comum, se apropriar de algo de outra pessoa de forma indevida, utilizando meios ilegais para isso, já constitui o tal crime. E, sendo sincero, jamais vi alguém questionando isso.

Ninguém diz: “ele só roubou o carro para estudar suas vulnerabilidades!”, ou, muito menos que “ele só invadiu a casa para demonstrar a falha de segurança do imóvel!”. Não é verdade?
No mundo “real”, diferentemente do tal “virtual”, o sujeito que fosse responsável por uma das ações descritas acima, seria, simplesmente, um criminoso. E ponto final.

Porém, analisando alguns fatos recentes e outros mais antigos (porém igualmente significativos), quase ficamos com a impressão que o crime, se não compensa, pelo menos possui uma abordagem bastate singular. É claro que não estou falando de pedófilos ou qualquer “desvio mental” do tipo. Falo de crimes bastante específicos, originais, ardilosos.

Há uma silenciosa admiração, justificada pelas habilidades e inteligência de quem pratica os crimes virtuais. Quando somamos, nessa equação, a idéia equivocada da invulnerabilidade virtual, temos um perigoso glamour, tão letal quanto a realidade das celas, dos presídios e das cadeias. Achar que o crime na internet não é passível de punição, é ignorar uma série de exemplos que, se não fazem pensar, ao menos convidam os incautos a alguns momentos de reflexão.

O crime não compensa

Recentemente tornou-se notório o caso “Operação Cardume”, que, após ter iniciado suas investigações em 2007, desmontou em 13/05 uma grande rede criminosa da internet, cumprindo mandados de prisão simultâneos em São Paulo, Rio Grande do Sul, Santa Catarina, Rio de Janeiro, Minas Gerais, Bahia e Sergipe.

A quadrilha utilizava-se de “laranjas” para “escoar” o dinheiro roubado das vítimas, utilizando transferências e até mesmo pagando contas, como o IPVA de terceiros. Por mais habilidosos e inteligentes que possam ter sido em suas manobras, acabaram presos e vão amargar algum tempo em total abstinência digital, bem como serão privados do bem mais precioso: a liberdade.

O crime compensa

a) Copyright de pragas virtuais

Uma notícia atual mostrou que crackers querem direitos intelectuais garantidos de seus vírus e pragas virtuais. Seria, portanto, o copyright das técnicas de meter a mão, fuçar a vida digital das pessoas e, quem sabe, quebrar chaves de segurança de softwares proprietários, por que não?

b) Protesto indiscreto

Um cracker chileno, revoltado com a falta dos sistemas de segurança daquele país, encontrou uma forma brilhante de protestar: expor dados pessoais e sigilosos de 6 milhões de pessoas na rede. O que se fez com esses dados, não se sabe. Porém, com o mundo de possibilidades oferecidos pela internet, não é de se duvidar que muitos poderiam utiliza-los para atos pouco ortodoxos. É só isso, mas não é pouco.

Estes são, apenas, alguns exemplos. Somente a ponta do iceberg. Todos os dias surgem novas notícias sobre segurança, crackers, esquemas golpistas via web. Tudo girando em torno de muito conhecimento intelectual, de muitas possibilidades criminosas fornecidas pela ampliação dos conhecimentos. Não podemos nos esquecer que só desata um nó quem saber fazer um, obviamente.

Existem estimativas versando sobre os valores movimentados pelo crime digital. Dizem, até, que está “lucrando” mais que o narcotráfico, tornando-se um dos braços poderosos de grandes grupos criminosos, com redes dinâmicas espalhadas por toda a parte. Sabe-se que o “modelo” do garoto super inteligente, trancado no quarto dia e noite na frente de um computador, se divertindo com os desafios intelectuais envolvidos em se invadir um sistema qualquer e tirar proveito disso, está totalmente ultrapassado. Hoje, na verdade, temos que conviver com grandes redes criminosas, altamente perigosas.

Algumas diferenças

Boa parte desse artigo fala de atos cometidos por crackers, não hackers. Como a maioria das pessoas envolvidas profissionalmente com tecnologia sabem, existe uma diferença primal entre um e outro.
Enquanto o hacker utiliza seus conhecimentos em prol de uma internet mais segura e consciente, defendendo a quebra de patentes e o uso cada vez maior do software livre (dentre outras “bandeiras”), o cracker utiliza os mesmos conhecimentos para o crime, para tirar vantagem própria e “meter a mão” nos bens alheios, tanto quanto possível. Há, ainda, a figura malfadada do lammer (ou Script Kiddie), que é aquele ser que não quer estudar e se aprofundar nos conhecimentos técnicos, mas adora comprar todo tipo de publicação com dicas de como ser um hacker, além de utilizar todo tipo de programinha para (tentar) invadir máquinas, clonar cartões, descobrir senhas e tudo o mais. É aquele tipo que chega em diversos forúns de segurança e cultura hacker na web e importuna a todos com perguntas cretinas, sendo, obviamente, execrado.

Não fazer essa distinção equivale a misturar joio e trigo e trata-se de uma grande demonstração de falta de conhecimento técnico em tecnologia. Durante muito tempo, a mídia tradicional não fez nenhuma questão de informar seus consumidores sobre a diferença. Como resultado, até hoje escuto pessoas perguntando a diferença entre hackers e crackers.

Conclusão

Não podemos glamourizar o crime digital. A lógica torta por trás de algumas visões diferentes do mercado, acaba por dar um status de gênio a quem, no máximo, poderíamos nos referir como “criminoso ardiloso”.
Na medida em que toda a nossa vida está sendo transferida para a internet, é um grande risco, para todos, a expansão do crime digital. Sem dúvidas, muitas cabeças brilhantes, atraídas pelo falso glamour, entram num submundo perigoso, cheio de armadilhas e possibilidades.

Há, portanto, a necessidade inequívoca de dar o nome correto às coisas, afim de mostrar, para os incautos, o quão letal e perniciosa pode ser tal atividade. Assim, ajudamos a evitar que muitos trilhem por um caminho tortuoso, que pode ter, como desfecho, o destaque nas páginas e manchetes policiais.

Conheça as falhas de aplicativos online que ameaçam a sua segurança

São Paulo – Das falhas reveladas no 1º trimestre, 70% estão em aplicativos online. Controles ActiveX são altamente explorados. Saiba mais.

Do total de vulnerabilidades reveladas no primeiro trimestre de 2008, 70% estavam em aplicativos online, revelou um estudo da Cenzic. Além disso, sete em cada dez aplicativos online estão abertos a ataques de Cross-site Scripting (XSS).

O melhor então é parar de usar aplicativos que rodam na web? A resposta é não. “A vulnerabilidade ocorre, antes de tudo, quando eu abro a comunicação de minha máquina com a internet”, exemplifica o gerente de engenharia de sistemas da McAfee, José Antunes.

Leia mais:
> Veja 14 aplicativos online que resolvem sua vida
> Pesquisa mostra estrutura de crimes digitais

Pois é, não é novidade para ninguém que a partir do momento em que o computador está conectado, há ameaças. Antunes lembra que um PC com Windows desatualizado pode ser invadido em 4 minutos após se conectar à web, segundo o SANS Institute.

As falhas mais comuns de aplicativos online, portanto, estão diretamente ligadas aos bugs explorados por crackers em sites com vulnerabilidades.

O relatório da Cenzic aponta que os aplicativos da web são afetados, principalmente, por vulnerabilidades na Injeção SQL e Cross-site-scripting (XSS), responsáveis por 27% e 24%, respectivamente, do total de ataques.

terça-feira, 14 de dezembro de 2010

O que é RPC (Chamada de procedimento remoto)

Como alguns não sabem o que é RPC e muitos sabem eu venho trazer a vocês um tópico muito bom, que fala sobre o RPC(Chamada de procedimento remoto). Tópico para a minoria que não sabe.

Chamada Remota de Procedimento (ou RPC, acrônimo de Remote Procedure Call) é uma tecnologia de comunicação entre processos que permite a um programa de computador chamar um procedimento em outro espaço de endereçamento (geralmente em outro computador, conectado por uma rede). O programador não se preocupa com detalhes de implementação dessa interação remota: do ponto de vista do código, a chamada se assemelha a chamadas de procedimentos locais.

RPC é uma tecnologia popular para a implementação do modelo cliente-servidor de computação distribuída. Uma chamada de procedimento remoto é iniciada pelo cliente enviando uma mensagem para um servidor remoto para executar um procedimento específico. Uma resposta é retornada ao cliente. Uma diferença importante entre chamadas de procedimento remotas e chamadas de procedimento locais é que, no primeiro caso, a chamada pode falhar por problemas da rede. Nesse caso, não há nem mesmo garantia de que o procedimento foi invocado.

História

A idéia de RPC data de 1976, quando foi descrito no RFC 707. Um dos primeiros usos comerciais da tecnologia foi feita pela Xerox no "Courier", de 1981. A primeira implementação popular para Unix foi o Sun RPC (atualmente chamado ONC RPC), usado como base do Network File System e que ainda é usada em diversas plataformas.

Outra implementação pioneira em Unix foi o Network Computing System (NCS) da Apollo Computer, que posteriormente foi usada como fundação do DCE/RPC no Distributed Computing Environment (DCE). Uma década depois a Microsoft adotou o DCE/RPC como base para a sua própria implementação de RPC, MSRPC, a DCOM foi implementada com base nesse sistema. Ainda no mesmo período da década de 1990, o ILU da Xerox PARC e o CORBA ofereciam outro paradigma de RPC baseado em objetos distribuídos, com mecanismos de herança.

De forma análoga, atualmente utiliza-se XML como linguagem de descrição de interface e HTTP como protocolo de rede para formar serviços web, cujas implementações incluem SOAP e XML-RPC.

O Modelo

O modelo de Chamada Remota de Procedimento é similar ao modelo de chamadas locais de procedimentos, no qual a rotina que invoca o procedimento coloca os argumentos em uma área de memória bem conhecida e transfere o controle para o procedimento em execução, que lê os argumentos e os processa. Em algum momento, a rotina retoma o controle, extraindo o resultado da execução de uma área bem conhecida da memória. Após isso, a rotina prossegue com a execução normal.
Sequência de passos de uma chamada remota de procedimento.

No modelo RPC, o processo de invocação ocorre de maneira similar. Uma Thread é responsável pelo controle de dois processos: invocador e servidor. O processo invocador primeiro manda uma mensagem para o processo servidor e aguarda (bloqueia) uma mensagem de resposta. A mensagem de invocação contém os parâmetros do procedimento e a mensagem de resposta contém o resultado da execução do procedimento. Uma vez que a mensagem de resposta é recebida, os resultados da execução do procedimento são coletados e a execução do invocador prossegue.

Do lado do servidor, um processo permanece em espera até a chegada de uma mensagem de invocação. Quando uma mensagem de invocação é recebida, o servidor extrai os parâmetros, processa-os e produz os resultados, que são enviados na mensagem de resposta. O servidor, então, volta a esperar por uma nova mensagem de invocação.

Nesse modelo, apenas um dos dois processos permanece ativo, em um dado instante de tempo. No entanto, esse modelo serve apenas de ilustração. O protocolo ONC RPC não faz restrições à implementações que permitam concorrência entre esses processos. Por exemplo, uma implementação poderia optar por chamadas assíncronas, que permitiriam ao cliente continuar com o trabalho útil, enquanto estivesse aguardando a mensagem de resposta.

Uma chamada remota de procedimento difere das chamadas locais em alguns pontos:

1. Tratamento de erros: falhas do servidor ou da rede devem ser tratadas.
2. Variáveis globais e efeitos colaterais: Uma vez que o servidor não possui acesso ao espaço de endereços do cliente, argumentos protegidos não podem ser passados como variáveis globais ou retornados.
3. Desempenho: chamadas remotas geralmente operam a velocidades inferiores em uma ou mais ordens de grandeza em relação às chamadas locais.
4. Autenticação: uma vez que chamadas remotas de procedimento podem ser transportadas em redes sem segurança, autenticação pode ser necessário.

Dessa forma, mesmo havendo diversas ferramentas que geram automaticamente o cliente e o servidor, os protocolos precisam ser desenvolvidos cuidadosamente.


Sequência de passos de uma chamada remota de procedimento.

Semântica de Transporte

O protocolo RPC pode ser implementado sobre diferentes tipos de protocolos de transporte, uma vez que é indiferente a maneira de como uma mensagem é transmitida entre os processos. É importante salientar que o protocolo RPC não implementa nenhuma forma de confiabilidade e que a aplicação precisa tomar cuidados quanto ao tipo de protocolo sobre o qual RPC opera. Caso se trate de um protocolo confiável, como TCP, as preocupações com confiabilidade já são resolvidas. Por outro lado, caso a camada de transporte seja não-confiável, como UDP, mecanismos de timeout, retransmissão e detecção de duplicatas devem ser implementados, uma vez que esses serviços não são providos por RPC.

Devido à independência da camada de transporte, o protocolo RPC não modifica a semântica das chamadas remotas, nem seus requisitos de execução. A semântica pode ser inferida a partir da camada de transporte em uso. Por exemplo, considere o caso em que RPC opera sobre uma camada de transporte não-confiável, como UDP. Se uma aplicação retransmite mensagens de invocação RPC, após timeouts, e não recebe respostas, não pode inferir o número de vezes em que o procedimento foi executado. Se uma mensagem é recebida, ela pode inferir que o procedimento foi executado, pelo menos, uma vez. O servidor pode efetuar o controle do número de execuções, simplesmente gravando o número do último procedimento executado com êxito, evitando assim reexecuções de uma mesma chamada.

Por outro lado, quando RPC opera sobre uma camada de transporte confiável, como TCP, a aplicação pode inferir, a partir de uma mensagem de resposta, que o procedimento foi executado exatamente uma vez. No entanto, se nenhuma mensagem de reposta é recebida, a aplicação não pode assumir que o procedimento não foi executado. Perceba que, mesmo usando um protocolo orientado a conexões, aplicações ainda requerem timeouts para identificar falhas do servidor.

Há, ainda, muitas outras possibilidades de transporte além de datagramas e protocolos orientados a conexão. Por exemplo, protocolos de consulta-resposta como VMTP pode ser usado por TCP.

Implementando RPC

Para permitir que os servidores sejam acessados por diferentes clientes, diversos sistemas padronizados de RPC foram criados. A maioria deles usa uma linguagem de descrição de interface (IDL) para que diferentes plataformas possam chamar procedimentos. Fazendo uso de uma ferramenta como o RPCGEN, pode-se gerar interfaces entre cliente e servidor a partir de um arquivo IDL, os chamados stubs. Como os stubs são embarcados nas aplicações cliente e servidora, a RPC não é uma camada de middleware.[1]

Na codificação, o procedimento remoto do cliente chama o stub cliente como qualquer outro procedimento local, e a implementação interna do stub cliente é responsável por iniciar o processo de transmissão para stub servidor, empacotando a chamada numa mensagem. Ao chegar, o stub servidor desempacota a mensagem e invoca localmente o procedimento, aguardando o retorno. Quando a chamada local retorna, o stub servidor é responsável por iniciar o processo de transmissão para o stub cliente, empacotando a resposta numa mensagem. Chegando, a resposta é desempacotada pelo stub cliente, sendo retornada localmente para o procedimento que realizou a chamada remota.

Ao invocar o procedimento remoto, deve-se atentar que cliente e servidor podem ser plataformas diferentes, que representam dados de forma diferente. Nesse caso é preciso um protocolo comum de representação dos dados, como o XDR, ou a garantia de que ambas as partes saibam converter os dados para tipos de dado suportados. Por ser uma chamada remota, noutro espaço de endereçamento, deve-se atentar também o desafio de passar um ponteiro. Nesse caso, a implementação interna do RPC deve passar o conteúdo do ponteiro por cópia e restaurar a área de memória no retorno do procedimento.

Limitações


Diferentes implementações de chamada de procedimento remoto costumam ser incompatíveis entre si, ainda que existam exceções. Por isso, o uso de uma determinada implementação, provavelmente, resultará na dependência com o fornecedor da implementação. Essa incompatibilidade entre implementações se mostra também na disponibilidade de funcionalidades, no suporte a diferentes protocolos de rede e diferentes sistemas de arquivo.

A maioria das implementações não suporta P2P e ou interação assíncrona entre cliente e servidor (por definição, a chamada remota corresponde a uma chamada local do ponto de vista da aplicação, bloqueante da mesma forma). A comunicação síncrona implica na disponibilidade constante tanto do cliente quanto do servidor.

sábado, 4 de dezembro de 2010

SSL – Nova Metodologia de Ataque

SSL (Secure ). Atualmente fora apresentada essa nova técnica de ataque hacker junto a BlackHat 2009, utilizando 2 utilitários, o sslstrip e arpspoof, onde o atacante utiliza de algumas metodologias para colocar o ataque em plena atividade, são elas :

- Direcione seu PC para modo forwarding (redirecionamento).
- Configure o iptables para redirecionar o tráfego de HTTP para o “sslstrip”.
- Rode o sslstrip.
- Rode o arpspoof para convencer a rede que ela poderá enviar tráfego para você.

Mas afinal, como isto trabalha?

Primeiramente, o arpspoof convence o host que o MAC address é o MAC do router, e então inicia o envio de todo o tráfego de rede.
O kernel redireciona tudo exceto o tráfego destinado para a porta 80, que reorienta para $listenPort (10000, por exemplo).

SSL

Secure Socket Layer (SSL) é um mecanismo de camada superior, mais precisamente, com atuação na camada de aplicação (DoD model) ou camada de sessão (OSI), comumente usado pelos clientes Web em seus browsers e servidores para prover uma averiguação minuciosa da autenticação e criptografia (encryption) de aplicação de dados. O SSL delega ao servidor a obrigação de se autenticar para o cliente via uma técnica de certificação, como técnicas padrões de criptografia por chave pública para verificar que o certificado do servidor e a chave pública são válidos e foram verificados por uma Autoridade Certificadora (CA).

A autenticação do cliente para o servidor é opcional no SSL versão 3, mas não é comumente usado na prática, pois necessitaria o cliente ter um certificado emitido por uma CA que esteja na sua lista de CAs confiáveis. O SSL envolve uma handshake phase, onde são trocados certificados, geradas chaves de sessão (session keys), e algoritmos de criptografia (encryption) são aceitos pelo cliente e servidor.

O protocolo SSL handshake tem por objetivo controlar o estabelecimento da conexão entre o cliente e o servidor, através da troca de um conjunto de mensagens que permitem: autenticar o servidor para o cliente, selecionar o algoritmo de criptografia, autenticar (opcionalmente) o cliente para o servidor, usar técnicas de criptografia por chave pública para criar segredos compartilhados e estabelecer a conexão SSL criptografada (encryption).

Realizada a handshake phase, dados do usuário serão trocados com segurança sem a necessidade da aplicação (aplicativo ou programa) sofrer modificações, a não ser para solicitar serviços de SSL antes de iniciar a transferência de dados.

Como o SSL é um protocolo end-to-end, portanto, é implementado nas máquinas endpoints de um determinado caminho (tipicamente o cliente e o servidor), mas não é implementado nas máquinas intermediárias como routers ou firewalls. O cliente usa qualquer porta não privilegiada e o servidor usa a porta 443.

A segurança dos protocolos de camada de aplicação (TCP/IP suite), como SSL, S-HTTP, SSH entre outros, podem proteger a informação que tenham sido geradas nas camadas superiores, mas não oferecem proteção contra os ataques na camada de rede (network layer) dos datagramas que estão em trânsito sobre redes IP públicas ou redes inseguras. Por exemplo, um datagrama em trânsito sobre uma rede seria vulnerável contra um ataque spoofing (atua contra o endereço IP origem e destino). Apesar da questão de segurança, os protocolos de camada superior são mais inteligentes pois conhecem a aplicação, mas têm seu preço, são mais complexos e lentos que os protocolos de camadas mais baixas, porém, estas possuem a vantagem de disponibilidade gratuita (freeware).

Em soluções VPN, dependendo da necessidade a ser examinada no seu próprio mérito, seria desagradável um usuário utilizar técnicas de segurança para ambas camadas de rede e aplicação. O SSL poderia ser utilizado para criptografar (encryption) as aplicações de camadas superiores e então complementar com outro protocolo, como o AH do IPSec, que na camada de rede forneceria para cada pacote de dados que chegasse a autenticação e a devida proteção contra ataques spoofing.

Os softwares de VPN mais utilizados não fazem uso do SSL em seus recursos de segurança, desenvolvendo soluções proprietárias ou utilizando as já disponíveis como Shiva Encrypted Authentication (SPAP), Microsoft Challenge Handshake Authentication Protocol (MS-CHAP), Challenge Handshake Authentication Protocol (CHAP), Extensible Authentication Protocol (EAP) ou Password Authentication Protocol (PAP).

Matéria Ataques de Pacotes

Bom pessoal navegando por ai encontrei esse Materia espero que sirva para vocês nem que seja para fins de conhecimentos .

Ataques de pacotes – Versão 1.1

Deixe-me começar por dizer a internet está cheia de ferramentas e papéis maravilhosos como este. Muitas dessas coisas podem ajudá-lo
aumentar o seu conhecimento , talvez seu trabalho ou mais. Mas, tão facilmente como você pode aprender a partir deles, as pessoas lêem para eles
muito e decidir mal de outras pessoas para trabalhar sem nenhuma razão aparente . Que seja sabido que não é de forma o objetivo deste
de papel. Um verdadeiro hacker é aquele que se esforça para atingir as respostas por si mesmas através da curiosidade . Seu caminho que tomamos para
aquelas respostas que nos faz hackers não , a destruição de outros povos de trabalho. Então, com isso , disse , por favor, gosto do meu trabalho , como eu
gozaram escrevê-lo.

O fluxo de dados sempre capturou meu interesse. Apenas como isso funciona , como podemos dissecá-lo e usá-lo para nossa vantagem.
Bem, eu passei muito tempo estudando tudo isso, e é por isso que eu escrevi este artigo . É uma coleção de correr em s
entences sobre os ataques de pacotes diferentes e como eles funcionam. Ora, todos sabemos que você pode aprender tudo o que você sempre quis saber sobre o
especificações de um protocolo com a leitura de seus 30 documento RFC página. Mas esse é o protocolo de acordo com o projeto , no estado selvagem
é uma história diferente todos juntos. Ataques ‘ pacote ‘ cobre tudo, desde ataques básicos de TCP hijacking DOS / IP. Daí o
Ataques nome de ” pacotes “. Este documento também não se concentra apenas sobre os ataques , mas soluções práticas para prevenir tais ataques e idéias sobre
novos métodos para nos ajudar a detê-los e proteger nossas redes.

Introdução: Pacotes TCP / IP Switching Networks Modelo OSI

Capítulo 1 .—
Seção A.
Introdução ao DDOS / DOS e ataques Packet
Seção B.
Como os ataques são criados

Capítulo 2 .—
Seção A. ( ataques)
ICMP
Smurf
SYN / ACK
UDP
DNS
ARP
DrDOS
Bot Especial / Trojans
Worm DOS
Unicode ping flood (novo!)
Seção B.
Faseamento
Seção c. ( hacks )
TCP hijacking
Sniffing
Scans
Coleta de informações / Footprinting
Secção d.
Defesa contra esses ataques
Attack Detection
Detecção de Intrusão
Secção e.
IPSEC
NAT como um meio de segurança

Capítulo 3 .—
Seção A.
O futuro do TCP / IP como um meio de usar IPv6

Capítulo 4. —
Seção A.
Novo aplicativo de segurança de protocolo /

—–


Ataques de pacotes

Introdução.

Bem, eu presumo que a maioria dos que estão lendo este artigo já tem um bom entendimento do TCP / IP e como ele funciona por isso vai começar a
muito em detalhes sobre isso, mas vai raspar a superfície das peças que precisamos discutir . A internet é uma teia de MASSIVE
todas as máquinas conectadas umas às outras através de uma série de dispositivos de hardware conhecidos como roteadores , switches, hubs, pontes e
muito mais. Todos estes dispositivos (embora alguns são mais inteligentes que outros ) ao longo de empurrar pacotes. Nossos sistemas operacionais e
aplicações artesanais esses pacotes , a fim de enviar dados para um outro sobre o fio. Cada pacote , embora variando em tamanho ,
carrega um pequeno pedaço de dados a partir de um hospedeiro para outro . Cada pacote também deve levar as suas próprias informações pessoais, tais
como onde nasceu e onde sua cabeça . É claro que há muito mais para um pacote , em seguida, apenas esta informação. Mas , na medida
como ataques de ir esta é a informação crucial que precisamos olhar. Agora há muitos muitos tipos diferentes de protocolos que
embarcações de vários tipos diferentes de pacotes. E todos eles são lidos de forma diferente quando eles são recebidos na outra extremidade . Quando, como
um pacote ARP pode dizer a um host que tem este endereço MAC nesta sub-rede, um pacote TCP pode transferir os últimos detalhes que poucos
MP3 do seu download . Não obstante os dados, todos estes pacotes use o mesmo fio para passar a partir de locais . Eu não poderia
possivelmente, discutir todos os protocolos e estrutura de pacotes neste trabalho um. O usuário final médio toma para concedido tudo isso
execução em segundo plano enquanto eles navegam na net. A maioria das pessoas não entendem a complexidade da internet que estamos todos,
familiarizado com o bate-papo etc quartos, mas há pessoas que fazem e há pessoas que se aproveitam disso. Reverso
engenharia levou à criação de ataques com os fundamentos básicos desses protocolos confiar. E uma vez que o TCP / IP é tão
incorporado em nossa infra-estrutura que deve se adaptar e aprender a defender cada novo ataque.

Modelo OSI

Modelo de Open Systems Interconnection , é um design sete camadas de rede. Seu padrão de uma indústria que define exatamente como
dados transffered protocolo entre o protocolo. Nem todo protocolo segue o modelo OSI e alguns fazem exatamente . o TCP
internets principal modo de transporte de dados não seguem exatamente. Deixe-me levá-lo através de uma breve visão sobre o modelo OSI.

Sete camadas : Camada de Aplicação
Esta camada é obviamente aplicação específica , que fornece tudo, desde a autenticação de e-mail para ftp e telnet , o
lista continua. Sua especificamente para os processos de usuário final , aquilo que a entrada em nossas aplicações , podemos ver em nossas telas .

Seis Layer : Camada de Apresentação
Esta camada muda e, possivelmente, criptografa os dados de modo que a camada de aplicação pode compreendê-lo. (Você vai entender o que
isto significa que em poucos minutos )

Cinco Layer : Camada de Sessão
Pense em como essa camada Criação , Controle e Encerramento das sessões formado pela
cliente (aplicação) para um host remoto (servidor).

Quatro Layer : Camada de Transporte
Esta camada é responsável pela transferência de dados entre invisível hospedeiro para outro. Ele está lá para garantir a transferência de dados
vai nesse sentido. Os protocolos utilizados são , UDP e TCP.

Três camadas : Camada de Rede
Esta camada é a correção de erros , o seqüenciamento de pacotes e de transmissão de dados de nó em nó . Dirigindo- se também
outra função desta camada em redes inter- .

Dois Layer : Camada de enlace de dados
Esta camada decodifica e codifica os pacotes em pedaços para que eles estão prontos para a camada física. Ele também lida com a correção de erros
na camada física. Essa camada também é dividida em dois sub- níveis. O LLC ( nexo lógico de controle ) e MAC
(Media access control ) camadas sub . A camada de sub LLC fornece controle de sincronização de quadro e verificação de erros. O MAC
camada de sub controla como um computador na rede tem acesso aos dados.

Uma camada : Camada Física
Esta camada é o movimento real dos dados. Utilizando impulsos elétricos ou alguma outra forma de movimentação de dados é empurra o
fluxo de bits para o outro host. Esta camada é a nível de hardware , a placa ethernet , o fio etc Há muitas
protocolos nesta camada.

Você pode perguntar-se porque eu já mencionadas, estes 7-1 . Bem eu fiz para mostrar como o modelo OSI realmente funciona. Seven Layer
realmente vem em primeiro lugar , o utilizador final digita algo em seu mensageiro instantâneo (por exemplo) e os fluxos de dados ao longo
do modelo OSI ser encapsulados e trocado a cada nível tem que ser mudado ou corrigido no . Os dados viaja pelo fio
e na outra extremidade que se move para trás o modelo OSI todo o caminho de volta até sete camadas , onde o outro host pode lê-lo em
a forma original que foi enviada. Então há um MUITO compreensão básica do modelo OSI e como ele funciona para transmitir dados de
hospedeiro para outro. Existe um protocolo muito mais e as peças para o modelo OSI , mas essa representação deve fornecer uma base firme
compreensão.

Para entender tudo isso mais por favor profundidade começar suas mãos em um RFC poucos ( pedido de comentário ) documentos e começar a ler.
Porque ele vai te levar muito tempo para entender exatamente como TCP / IP funciona. Se o seu grande conhecedor da forma
TCP / IP funciona, então este papel deve fazer muito sentido para você , talvez até mesmo furá-lo ! Triste Por outro lado, se você não
compreender TCP / IP , assim como você gostaria, você ainda pode tirar algum proveito disso. Eu tentar explicar todas as
redação técnica tão facilmente como eu posso. Sinta-se livre para me e-mail se tiver alguma pergunta ou comentário. Graças Smile
Data_Clast

—————————————————————————————————————-

Capítulo 1.

  • Seção A.

O ataque mais comuns na internet hoje é um ataque de negação de serviço. Existem muitos programas na internet hoje
que vai ajudar na elaboração de qualquer um destes ataques . A parte triste é que tão fácil como eles estão a fazer o seu poder pode ser
destrutivo quando usado corretamente. Não importa que tipo de pacote de ataque pode ser mais se baseiam no mesmo princípio , volume.
Milhares e milhares de pacotes falsos comerão os recursos de rede em poucos minutos , engasgo e praticamente ” matando ”
qualquer rede. Existem muitos tipos de ataques de pacotes. Alguns são mais sofisticados que outros. Também vou falar sobre TCP / IP
seqüestro e seu porto típico e scans de vulnerabilidade , entre outras coisas .

Por que as pessoas lançar esses ataques? Como eles são lançados ? Como eles mesmo ( tecnicamente falando ) ” engasgar uma rede ? !
Segure firme im chegar a isso. A extremidade inferior da estes ataques são geralmente lançada pelo que a hacker comunidade chama de
script kiddie. Você vê uma hacker isnt um web mindless desfigurar juvenil ( consulte o manifesto mentores ). A hacker é uma
pessoa do verdadeiro intelecto e nunca tal ofício um ataque sem motivo. Mas estes ataques são normalmente inferior
lançado em povos máquinas individuais. Seu endereço de IP pode provir de uma sala de chat IRC , Yahoo Messenger , AOL , ICQ, ou
qualquer outro messenger que você pode usar . ataques Embora não tão sofisticado, acabar com esses ” menores “pode ainda bater um
offline máquina individual em minutos. Os ataques um pouco mais avançada pode ser destinada a uma empresa concorrente , a fim de
lento das vendas ou perturbar a sua ligação à Internet de saída. Seja qual for o motivo pode ser que eles são lançados para um
razão. Atacar uma caixa sem motivo é geralmente inútil e só vai ter a sua própria largura de banda .

Os ataques mais sofisticados são contra o governo e os pontos de raiz da internet. DNS como os atentados na raiz
servidores em outubro de 2002. Estes ataques foram sofisticados na forma como eles foram criados. Os ataques duraram mais de um
horas e com êxito tirou alguns dos servidores. Se o ataque durou apenas alguns minutos a mais que sabe o dano
poderia ter causado. A possibilidade de as autoridades resolver estes ataques e apreender os infratores é a slim
nenhum porque eles são criados e lançados pela qualificados indivíduos mal-intencionados . Foram ainda distribuídos de negação de serviço
ataques. O que significa o ‘ zumbi ‘ máquinas que atacou os servidores estavam espalhados por todo o mundo. Vamos tocar mais
em que, mais tarde ainda .

  • Seção B

.

Você vai aprender mais sobre como esses ataques individuais são criados e como eles funcionam , mais adiante neste artigo , mas este é
pequena introdução para que você possa ter uma vaga idéia . Criando pacotes spoofed exige uma tomada aberta. Esta tomada liga-se a uma
IP e uma porta e lhe permite injectar um pacote para o fio ou aceitar qualquer pacote de entrada para o IP e porta. * NIX
apoia abertamente soquete programação aberta ( muitos tutoriais sobre este tipo de programação ). O que significa que programas de código que pode
criar pacotes e depois injetá-las na rede com facilidade. Um exemplo disto seria um programa chamado ” SENDIP “, que
permite criar pacotes personalizados, e suporta vários protocolos ( outro programa bom é inimigo ). Tenho escrito alguns
tutoriais usando SENDIP , eu acho que é um ótimo programa para os avançados e os engenheiros de rede nova para usar . Ela vai ajudar você
aprender sobre a estrutura de pacotes e os diferentes protocolos que ele suporta. A Microsoft não é uma empresa de open source , o que praticamente
tanto torna ainda mais difícil de encontrar ajuda na criação destes tipos de programas para Windows. Mas é possível construir estes
ataques de dentro de um ambiente Windows. Sua referência a ” programação Winsock . De facto a maioria destes ataques DDOS são
porque de caixas do Windows vulneráveis para fora na net. Eles são alvos fáceis para os cavalos de tróia e outros programas que a embarcação
estes ataques a servidores , quando comandou a partir de um programa cliente para fazê-lo. A maioria dos usuários finais que não entendem de segurança e como
é fácil de quebrar em alguém computador em casa , assim que a falta de firewalls e antivírus . Isso leva a muitos zumbis
máquinas disponíveis para os hackers disposição na rede. Tudo o que se tem a fazer é digitalizar uma sub-rede classe C para as portas abertas e trojan
hack seu caminho para os trojans e usá-los como uma porta , um outro zombie é criado para atacar alvos à distância. Quase
cada programa que interage com o TCP / IP gera pacotes de e para os lugares, este é o tráfego válido. Enquanto você lê você
distinguir a diferença entre válido e não válido , porque fácil fácil de entender o que estou explicando , quando eu digo
“Ataque” . Ao criar um socket aberto e crafting pacotes falsos esses programas dizer ao kernel que estão indo
construir seus próprios cabeçalhos IP. Normalmente esta informação é colocada em pelo kernel antes de sair da máquina. Mas, neste
exemplo, estamos dizendo que o kernel que queremos especificar nossa própria informação. Nem todos os sistemas operacionais permitem isso. E
não, eu não tenho uma lista detalhada dos que fazem e que não. A maioria das experiências que tenho realizado na minha rede utilizada
diferentes versões de Linux RedHat , Mandrake Linux, e Windows XP.

Capítulo 2.

  • Seção A

.

Existem vários tipos diferentes de ataques de pacotes. Theres a simples inundação de pacotes ICMP bruta que inunda uma rede
e come toda a banda disponível . E depois há os ataques mais sofisticados, como o Smurf / ou ataque SYN ACK.
Todos estes ataques destino coisas diferentes. Embora o ataque Smurf pode ter como alvo a rede geral, seu ataque, o
SYN / ACK ataque tem como alvo um determinado host ou serviço executado em um host. Devemos também ter em consideração quando a meta é
atacado , não pode ser a única máquina afetada. Existem muitos roteadores e outras caixas transferência de dados entre o ponto
A e B. Outro ponto povos dados legítimos está fluindo entre eles, e pode ser interrompido pelo dilúvio de pacotes. Até mesmo uma top
o roteador de linha só pode lidar com tantos dados . E, infelizmente, é muito fácil de alcançar código Soure por esses ataques
toda a web . Vamos dar uma olhada mais detalhada em cada ataque.

ICMP ataque de inundação brutal.

ICMP funciona em cima de TCP. O protocolo ICMP é simples, mas muito eficaz. Sua rede utilizada para correção de erros e testes
conectividade. Seu programa PING média usa pacotes ICMP para testar a conectividade da rede. Ao enviar uma pequena quantidade de
dados arbitrários em um pacote ECHO_REQUEST ele aguarda uma resposta do host de destino simples, certo? Um pacote ICMP típico é
chamado ECHO_REQUEST . Você envia 4 ou 5 desses em uma máquina de destino e quando chega lá, pede um ECHO_REPLY .
Isso é quando tudo é feito de acordo com o projeto. Se você quiser mais informações sobre um pacote ICMP e como ele funciona , em seguida, ler o meu
tutorial sobre isso!

Neste ataque o endereço IP de origem é falsificado. Então agora centenas, milhares de pacotes de rush ECHO_REQUEST para a sua
destino. Eles alcançam o ponto B , um pedido para cada ECHO_REPLY ECHO_REQUEST enviada. Ponto B diz OK, lê o IP de origem .
O IP de origem acaba sendo inacessível. Mas o ponto B está esperando uma pequena quantidade de tempo ( milisegundos ) para determinar que, para
cada pacote thats batê-lo . Será um pouco mais antes que o processo perde este pequeno pedaço de memória de volta
para o sistema. Isso se soma a uma grande quantidade de pacotes e de alocação de memória edificação . Agora, se esses pacotes estão chegando
a partir de múltiplas fontes zombies (DDOS ), então isto significa que cada provenientes de diferentes rotas. Portanto, mesmo se a pessoa pára de ISP
ataque, há ainda muitas mais máquinas zumbis atacando a vítima. Tudo isso está comendo o tempo e largura de banda , porque
com cada milésimo de segundo que passa mais e mais largura de banda está sendo retomada . Finalmente, o ponto B não pode mais manter-se com
o ECHO_REQUESTS e sua conexão está completamente alagado e sem uso. Em um sistema desprotegido ou roteador este ataque
pode ser muito demorado. Este ataque também é às vezes chamado de um ataque de largura de banda. Mesmo que o destino está em execução um
avançada de firewall não pode proteger os fios conectados a ele de ser inundado com pacotes. Houve mudanças na
este ataque também. Na rede há o que chamamos de amplificadores. Em cada rede existem na rede e sub-
endereços. Em muitas configurações padrão quando você ping qualquer um desses endereços se multiplicam as solicitações de eco de 4
ou mais. Assim, um zumbi atacaria uma rede vulneráveis ( 0,0 ) ou sub- endereço ( 0,255 ) com uma fonte spoofed IP , sendo o
vítimas IP real. Assim, mesmo tho o tráfego torna-se válida na medida em que os endereços IP ir. A vítima fica bombardeados com massiva
ECHO_REPLY pacotes . Você verá mais esta descrição em outros ataques , como ele funciona para algumas pessoas para .

zombie [ máquina ] -> ECHO_REQUEST ICMP (fonte IP = 1.1.1.1) –>–>–> [alvo]
[??????????????] ECHO_REPLY ICMP (destino ] 1.1.1.1 ?)<– [ alvo

Esperemos que o desenho simples e mostra -lhe exatamente como esse ataque funciona. É muito simples, com enormes pacotes ICMP
endereço falsificado está levando os recursos da rede. O mais simples dos ataques.

ataque Smurf .

( primeira parte é repetir a partir do ataque ICMP ) Houve mudanças no ataque ICMP. Na rede há o que chamamos
amplificadores. Em toda rede existem os endereços de rede e de sub-rede . Em muitas configurações padrão quando você quer ping
um desses endereços se multiplicam as solicitações de eco de 4 ou mais. Assim, um zumbi atacaria uma rede vulneráveis ( 0,0 ) ou
endereço de sub-rede ( 0,255 ) com uma fonte spoofed IP , sendo as vítimas IP real. Assim, mesmo tho o tráfego torna-se válida na medida em que
endereços IP ir. A vítima fica bombardeados com pacotes ECHO_REPLY maciça. Você verá mais esta descrição de outros
ataques , como ele funciona para aqueles que .

Você pode tentar o ataque em sua rede doméstica , basta abrir um packet sniffer em cada máquina que está ligada. Escolha uma máquina,
qualquer máquina e ping o seu endereço de broadcast. O meu é 192.168.0.255 Imediatamente você vê cada máquina recebe uma transmissão
pacote. Agora imagine o seu várias centenas , e cada um tem um endereço IP de origem falsificado . É um ataque ICMP bruta em um grande
escala , esta possibilidade de este ataque são infinitas. Você pode facilmente implementar este ataque de qualquer maneira que você escolheu. Você pode
falsificar as vítimas IP real como seu IP de origem e criar grandes volumes de pacotes ECHO_REPLY legit. Mesmo que a sua validade
tráfego , a 4x ou mais vezes a carga normal de tráfego válido. Isso consome a conexão e não consigo passar válido tráfego,
ou passa tão lentamente que não faz diferença para o usuário final.

zombie [ máquina ] -> ip 10.2.2.2 ICMP fonte ECHO_REQUEST = -> para: router broadcast 4.1.0.255 (router multiplica o
pacotes ECHO_REPLY por 4x ! -> -> -> -> vítima [ 10.2.2.2 ]

SYN / ACK ataque .

A SYN / ACK ataque é um ataque muito poderoso. pacotes SYN / ACK também são usadas no TCP hijacking, e TCP / IP três vias
aperto de mão. Quando uma aplicação quer conectar com um servidor em algum lugar ao longo da rede através de uma conexão TCP ( vs conexão
transferência de dados sem conexão (UDP) ) -o primeiro envia um pacote SYN. O pacote SYN diz a máquina de destino que quer fazer
uma conexão em uma determinada porta especificada, e em seguida, enviar os dados . Quando a máquina de destino ler o pacote SYN, ele responde
o host original com um pacote SYN própria e um ACK (reconhecimento ) de pacotes com números de seqüência e ACK. Estes SEQ
e os números de ACK são usados para sincronizar a transferência de dados, meter um ou dois pacotes fica perdido ou retardado ao longo de sua
rota, que pode ser montada novamente na ordem correta . A máquina orignal responde novamente com um outro pacote SYN ACK
combinação de reconhecer os números de seqüência e , em seguida, ele começa a enviar dados. Quando se cria essa ligação de uma pequena
pedaço de memória é alocada para manter a conexão , enquanto os pacotes estão em rota. Agora, um SYN / ACK ataque consistiria
spoofing do endereço IP de origem no pacote SYN inicial. O destino recebe a solicitação de uma conexão , lê o
fonte spoofed IP e tenta enviar o seu próprio SYN e ACK para um destino que não existe. A maioria dos sistemas operacionais
continuará a enviar pacotes SYN / ACK , se não receber uma resposta como método de correção de erros e garantiu dados
entrega. Assim como no ataque ICMP da máquina tem que esperar alguns milisegundos antes de abandonar toda a esperança de chegar
a máquina. Portanto, estes pequenos espaços de memória alocado a construir -se com todos os pacotes falsificados que chegam ao destino.
Este ataque é muito poderoso e pode desativar um serviço em execução na máquina de destino em questão de minutos. Já para não falar
toda a banda disponível é consumida com milhares e milhares de pacotes falsos . Portanto, não há o SYN / ACK em um ataque
breve descrição.

zombie [ máquina ] -> pacotes SYN ( IP de origem 1.1.1.1 , porta telnet = 23 ) (seq = 100) -> [ meta ]
[??????????????] <- SYN / ACK pacotes enviados (seq = 300) (ACK = 101) <- ] [ alvo

Como você pode ver a partir do simples desenho acima na máquina de destino não tem idéia de quem está enviando os pacotes SYN e telnet
servidor que está executando na porta 23 iria falhar mais provável. Na melhor das hipóteses o daemon telnet não permitiria que qualquer outro legítimo
tráfego através , como não poderia reunir recursos suficientes (memória, largura de banda) para fazer a conexão devido a todos os falsificados
pacotes.

Outro uso deste ataque é para desconectar um usuário da sua sessão atual TCP . Por falsificação de pacotes SYN / ACK para um servidor
um cliente está usando atualmente. Um invasor poderia colocar um " flag FIN " nos pacotes , diz ao servidor o cliente é feito
envio dos dados. Cliente usa a sua conexão e atacante vai embora sem serem detectados, porque só tomou um pacote para realizar
isso.

ataque UDP

UDP é um protocolo que é usado para transferência de dados. Curto para o User Datagram Protocol . UDP oferece correção de erro muito pequena
e é usado como um meio alternativo para transferência de dados . Ele não exige que o handshake de 3 vias , como o método SYN / ACK ,
assim o seu ataque inicial não pode derrubar um servidor remoto , o mais rapidamente . UDP é geralmente usado para transmitir mensagens através de uma
rede. Um ataque UDP seria composto por falsificação de endereços IP de origem e especificar um número de porta como no ataque SYN
supra. Os pacotes UDP são geralmente grandes , porque eles são geralmente usados em closed 100mb sub-redes ( LANs). Então, seria um ataque conjunto
bandeiras nos pacotes e fragmentar-los (quebra -los e pavilhão onde no pacote que quebrou, assim que podem ser remontados
no fim de recepção ). Por exemplo, no Windows 2000, houve um DOS remoto UDP explorar que utilizaram o serviço IKE em execução
porta 500 . Todos um atacante tinha a fazer era ligar a porta 500 na máquina ao acaso, com que abrir a porta . Iniciar o envio maciço
pacotes UDP ( acima de 500 bytes) para que o serviço eo uso da CPU teria atingido 99% ea máquina trava . O típico
portas que aceitar pacotes UDP são 7, 13, 19 e 37 em uma caixa de Windows.

ataque de DNS

O DNS é um ataque especial. Não é tão facilmente trabalhada como os outros, lá arent que muitas ferramentas disponíveis para o
script kiddie médio para a construção de um tal ataque. O protocolo DNS é utilizado para a resolução de nomes, 216.239.35.100 google.com =
simples como isso ? Bem, não realmente. Um ataque de DNS é baseado no fato de que uma consulta DNS tem poucos dados e largura de banda
criar, mas uma resposta de DNS é muito maior. Assim isto é como um ataque de DNS pareceria.

10.10.10.10 = vítimas IP

[ dns pacote de consulta (que é google.com )] – > Fonte IP é 10.10.10.10 -] > servidor dns [
dns server [ ] -> -> – > [ dns resposta ] [ dns resposta ] [ dns ] Resposta – ]> [ vítima

Como você pode ver o tipo de ataque é transmitida de um servidor DNS legítimos. Embora os pacotes de resposta DNS são « legítimas »
há uma inundação maciça deles porque o servidor DNS que está enviando é uma máquina muito boa muito boa
conexão. O usuário final , provavelmente um PC em casa, fica alagada com esses enormes pacotes de resposta DNS que nunca pediu.

ataque ARP

O ataque de arp é especial , ele pode ser usado para ‘ seqüestrar ‘a conexão TCP actualmente em sessão ou ele pode ser usado para
sniff o tráfego legítimo em um outro fio , então o seu próprio. Que é uma coisa muito perigosa no mundo da informação que
vivemos hoje. Existem alguns métodos de ataque. Vamos dizer que pessoa1 , atacante, e do servidor estão todos na mesma sub-rede .
Person1 servidor e , actualmente, uma sessão de FTP aberto. Atacante envia o servidor e pessoa1 um pacote ARP contendo um
endereço MAC inválido. Agora, tanto de suas tabelas ARP estão bagunçados pelo menos durante 30 segundos. Server e não consigo achar que pessoa1
endereço MAC inválido para que envie seus dados para o seu IP associado com o atacante. Portanto, neste caso o invasor tem um
sniffer instalação e hes coletar uma tonelada de dados. Agora, o atacante ( um avançado em que ) pode emitir comandos como a pessoa1
o servidor. Este ataque leva tempo e habilidade para tirar na internet, mas em uma LAN é muito fácil . Ele apenas permite a
talvez 30 ou mais segundos de sniffing, até à sua tabela ARP é construído corretamente novamente.

ataque DRDOS

Um ataque DRDOS usa um pouco de outros ataques para infligir danos. Este ataque spoofs o endereço IP de origem dos pacotes SYN
para o IP da vítima. Ela exige um terceiro. Esta é a parte do ataque que o torna tão fácil. Tudo que precisa é
alguns ftp, servidor web , telnet .. Qualquer serviço que irá responder com um pacote ACK, em qualquer lugar na internet. Poderia ser angelfires
servidores de FTP gratuito, pode ser o seu servidor web vizinhos correndo seu compaq 233mhz com IIS 4.0. Não importa ! O SYN
pacotes são enviados para que os serviços de endereço IP e , claro, responder com um fluxo contínuo de pacotes SYN / ACK para a vítima.
O mais provável é dirigida para uma porta aberta na máquina das vítimas , deixando de funcionar esse serviço e do sistema. Estes ataques são
quase impossível de rastrear . Este ataque é muito possivelmente o mais forte ataque DOS , na minha opinião . Para todos os pacotes SYN
enviar o homem médio , ele envia até 4 combinações SYN / ACK para a vítima. E cada vez que a vítima não responde
o homem médio emite mais ( correção de erros ). Isso permite que o invasor contruct um ataque maciço a partir de apenas um máquina com uma conexão de banda larga . Há mais perigos para o ataque , bem , existem centenas de milhares de FTP, webservers e muitos mais serviços em execução na rede hoje que irá desviar estes pacotes SYN / ACK na vítima. Assim, em teoria, este ataque pode usar qualquer número de “homem médio ” servidores de bombardear a rede com pacotes.

 
Design by Eddy Oliveira