29 de dezembro de 2005

Alternate Data Stream

Por motivos de compatibilidade o NTFS possui um recurso que pode se tornar uma ameaça facilmente, basta o usuário ser um pouco mais desligado ou inexperiente.

O Recurso é o Alternate Data Stream, com esse recurso um usuário mal intencionado pode “esconder” um trojam, ferramenta ou qualquer outro arquivo em um arquivo de sua confiança. Isso só irá funcionar na maquina onde foi executado, não é possivel um invasor esconder o trojam em um arquivo e enviar para você, mais existe várias maneiras de um invasor executar isso na sua maquina e deixar alguma coisa escondida sem que você perceba.

Eu fiz um teste aqui escondendo o nmap na minha inofensiva calculadora.


Escondendo o nmap usando o comando type


Executando o nmap escondido em minha calculadora

Ok, mais certamente meu antívírus irá detectar isso. Não foi o que meus testes apresentaram, eu fiz um scan na minha maquina com o nmap em seu local original o antivírus acusou como uma ferramenta potencialmente perigosa, em seguida eu apaguei o nmap original e passei o antívirus novamente para verificar se ele iria encontrar o nmap que havia escondido na calculadora, não encontrou nada. E o nmap continua escondido e posso utilizar normalmente. Perigoso não?

O Alternate Data Stream tambem é criado quando adicionamos informações a propriedades do arquivo, as ferramentas de detecção ainda tem dificuldades com essa “técnica”, mais a kasperky já usa um stream para guardar informação sobre os scans realizados e já existe ferramentas que possibilitam a identificação de stream em seus arquivos.

Chkdsk - http://www.microsoft.com/resources/documentation/
windows/xp/all/proddocs/en-us/chkdsk.mspx

Lads - http://www.heysoft.de/Frames/f_sw_la_de.htm

Streams - http://www.sysinternals.com/utilities/streams.html

Algumas pessoas indicam um tripwire para identificar qualquer iniciativa de stream, eu particularmente não acho viável, porque geralmente usamos o tripwire em arquivos críticos e não em todos os arquivos.

Mais informações:
http://www.microsoft.com/technet/prodtechnol/windowsserver2003
/library/TechRef/8cc5891d-bf8e-4164-862d-dac5418c5948.mspx

Alternate Data Stream

Por motivos de compatibilidade o NTFS possui um recurso que pode se tornar uma ameaça facilmente, basta o usuário ser um pouco mais desligado ou inexperiente.

O Recurso é o Alternate Data Stream, com esse recurso um usuário mal intencionado pode “esconder” um trojam, ferramenta ou qualquer outro arquivo em um arquivo de sua confiança. Isso só irá funcionar na maquina onde foi executado, não é possivel um invasor esconder o trojam em um arquivo e enviar para você, mas existe várias maneiras de um invasor executar isso na sua maquina e deixar alguma coisa escondida sem que você perceba.



Eu fiz um teste aqui escondendo o nmap na minha inofensiva calculadora.






Escondendo o nmap usando o comando type





Executando o nmap escondido em minha calculadora



Ok, mais certamente meu antívírus irá detectar isso. Não foi o que meus testes apresentaram, eu fiz um scan na minha maquina com o nmap em seu local original o antivírus acusou como uma ferramenta potencialmente perigosa, em seguida eu apaguei o nmap original e passei o antívirus novamente para verificar se ele iria encontrar o nmap que havia escondido na calculadora, não encontrou nada. E o nmap continua escondido e posso utilizar normalmente. Perigoso não?




O Alternate Data Stream tambem é criado quando adicionamos informações a propriedades do arquivo, as ferramentas de detecção ainda tem dificuldades com essa “técnica”, mais a kasperky já usa um stream para guardar informação sobre os scans realizados e já existe ferramentas que possibilitam a identificação de stream em seus arquivos.Chkdsk - http://www.microsoft.com/resources/documentation/
windows/xp/all/proddocs/en-us/chkdsk.mspx




Lads - http://www.heysoft.de/Frames/f_sw_la_de.htm


Streams - http://www.sysinternals.com/utilities/streams.html




Algumas pessoas indicam um tripwire para identificar qualquer iniciativa de stream, eu particularmente não acho viável, porque geralmente usamos o tripwire em arquivos críticos e não em todos os arquivos.Mais informações:
http://www.microsoft.com/technet/prodtechnol/windowsserver2003
/library/TechRef/8cc5891d-bf8e-4164-862d-dac5418c5948.mspx




28 de dezembro de 2005

Covert Channel

Gray World.net Team é um projeto que se propõe a estudos sobre Cover Channel e Tunneling, no site deles você pode, não só encontrar técnicas para detecção, como também exemplos de ambos.



Gray World.net Team - http://gray-world.net/pr_cctde.shtml

Covert Channel

Gray World.net Team é um projeto que se propõe a estudos sobre Cover Channel e Tunneling, no site deles você pode, não só encontrar técnicas para detecção, como também exemplos de ambos.



Gray World.net Team - http://gray-world.net/pr_cctde.shtml

27 de dezembro de 2005

Hash...

Alocado em um projeto de software, acompanhando os estudos sobre hash e a possibilidade de colisões em Sha-1 e Md5 como o Anchises retratou em "O Hash subiu no telhado" fui dar uma "googlada" e encontrei bastante coisa sobre implementação de hash usando Sha-256. A performance é um caso a ser pensado, mais como diria Augusto Celebridade Paes de Barros, "Não é interessante ter um hash muito performatico, você fica mais suscetível a força bruta".

Exemplos de implementação em diversas linguagens.

Sha-256 para implementar em java
http://elvin.dstc.com/projects/je4/api/org/elvin/util/SHA256.html

Sha-256 para implementar em .net
http://msdn.microsoft.com/library/default.asp?url=/library/
en-us/cpref/html/frlrfsystemsecuritycryptographysha256classtopic.asp


Sha-256 para implementar em delphi
http://www.cityinthesky.co.uk/cryptography.html

Sha-256 para implementar em perl
http://rpmfind.net/linux/RPM/sourceforge/p/pe/perl-strip/
perl-Digest-SHA256-0.01b-1.i386.html

Uma biblioteca que implementa vários tipos de hash em diversas linguagens
http://www.slavasoft.com/quickhash/

Várias informações sobre implementação de Diffie-Hellman, RSA, hash em diversas linguagens
http://www.di-mgt.com.au/crypto.html

As vezes é interessante implementar criptografia, hash no banco, eu encontrei o XP_CRYPT_GUI para Sql Server, me pareceu muito interessante.

XP_CRYPT_GUI
http://www.xpcrypt.com/xpho/xpcrypt_help1.htm

Hash...

Alocado em um projeto de software, acompanhando os estudos sobre hash e a possibilidade de colisões em Sha-1 e Md5 como o Anchises retratou em "O Hash subiu no telhado" fui dar uma "googlada" e encontrei bastante coisa sobre implementação de hash usando Sha-256. A performance é um caso a ser pensado, mas como diria Augusto Celebridade Paes de Barros, "Não é interessante ter um hash muito performatico, você fica mais suscetível a força bruta".

Exemplos de implementação em diversas linguagens.

Sha-256 para implementar em java
http://elvin.dstc.com/projects/je4/api/org/elvin/util/SHA256.html

Sha-256 para implementar em .net
http://msdn.microsoft.com/library/default.asp?url=/library/
en-us/cpref/html/frlrfsystemsecuritycryptographysha256classtopic.asp


Sha-256 para implementar em delphi
http://www.cityinthesky.co.uk/cryptography.html

Sha-256 para implementar em perl
http://rpmfind.net/linux/RPM/sourceforge/p/pe/perl-strip/
perl-Digest-SHA256-0.01b-1.i386.html

Uma biblioteca que implementa vários tipos de hash em diversas linguagens
http://www.slavasoft.com/quickhash/

Várias informações sobre implementação de Diffie-Hellman, RSA, hash em diversas linguagens
http://www.di-mgt.com.au/crypto.html

As vezes é interessante implementar criptografia, hash no banco, eu encontrei o XP_CRYPT_GUI para Sql Server, me pareceu muito interessante.

XP_CRYPT_GUI
http://www.xpcrypt.com/xpho/xpcrypt_help1.htm

21 de dezembro de 2005

Security Analysis RFID

O Bruce Schneier vêm há um bom tempo falando sobre RFID, encontrei um post onde ele fala sobre os testes de segurança feito em equipamentos RFID. Muito interessante, muitas imagens e vídeos!

Post do Schneier: http://www.schneier.com/blog/archives/2005/03/rfid_security_a.html

Testes: http://rfidanalysis.org/

Security Analysis RFID

O Bruce Schneier vem há um bom tempo falando sobre RFID, encontrei um post onde ele fala sobre os testes de segurança feito em equipamentos RFID. Muito interessante, muitas imagens e vídeos!

Post do Schneier: http://www.schneier.com/blog/archives/2005/03/rfid_security_a.html

Testes: http://rfidanalysis.org/

20 de dezembro de 2005

Segurança Física...

Em meu último projeto na venezuela pesquisei muito sobre segurança física, por se tratar de uma refinadora de petróleo, as ameaças eram inúmeras. Separei um link que achei fantastico, onde encontrei muita coisa interessante sobre segurança física e CPTED.

CPTED (Crime Prevention Through Environmental Design) é basicamente um estudo sobre construções que oferecem segurança e ao mesmo tempo são agradáveis. Os conceitos de CPTED foram desenvolvidos na década de 60, o conceito se estende não só para edificações, mais para toda área de condomínios e vizinhança.

Nesse link você vai encontrar artigos sobre como planejar a segurança de escolas, prisões, cidades, etc...

http://www.cpted-security.com/publications.htm

Segurança Física...

Em meu último projeto na Venezuela pesquisei muito sobre segurança física, por se tratar de uma refinadora de petróleo, as ameaças eram inúmeras. Separei um link que achei fantástico, onde encontrei muita coisa interessante sobre segurança física e CPTED.

CPTED (Crime Prevention Through Environmental Design) é basicamente um estudo sobre construções que oferecem segurança e ao mesmo tempo são agradáveis. Os conceitos de CPTED foram desenvolvidos na década de 60, o conceito se estende não só para edificações, mas para toda área de condomínios e vizinhança.

Nesse link você vai encontrar artigos sobre como planejar a segurança de escolas, prisões, cidades e outros tipos de edificações.

http://www.cpted-security.com/

19 de dezembro de 2005

Classificação da Informação...

Tem uma coisa que ainda me intriga em segurança. Hoje as consultorias vendem projetos de segurança pra tudo, análise de vulnerabilidades, análise de impactos, análise de riscos, análise de quase tudo, e ainda temos dificuldade para classificar informação, alguma coisa está errado.

Quando entrevistamos um usuário para levantar quais os processos ele está envolvido e qual os ativos que suportam esses processos, é desastroso, só chegamos a essa informação após entrevistar a empresa inteira 3 vezes e aos 47 do segundo tempo. Agora quando mudamos a pergunta para, "quando tempo você pode ficar sem o seu computador?" A resposta é sempre a mesma, não posso ficar sem ele, se eu ficar sem ele a empresa para.

A eu me questiono, se o usuário não sabe exatamente qual processo ele está envolvido, qual a importância da informação que ele trata, como ele pode chegar a brilhante conclusão de que não pode ficar sem o seu computador?

Eu particularmente não gosto de culpar os usuários nesses casos, eu acho que quem peca é a empresa, que não trás uma política de alinhamento de processos com as espectativas do negócio, quase nunca o usuário sabe qual é o impacto no processo todo se a parte que lhe compete falha, ou pior nem sabe de qual processo ele faz parte, só sabe que tem que inserir os dados no ERP e naquelas dezenas de planilhas que toda empresa tem.

Enquanto as empresas não se derem conta desse problema, vai continuar as consultorias montando o grande quebra-cabeça naquele projeto de 90 dias e entregando aquele belo relatório, cheio de gráficos e que 90 dias após a entrega dos relatórios já se esqueceu tudo, e a empresa volta ao mesmo ponto, sem saber nada dos seus processos e executando o que sempre executaram.

Isso me lembra a estória do maquinista que bateu pneu de trem durante 30 anos e quando alguém resolveu endagar o porque, ele simplemente disse, "Porque quando entrei me mandaram fazer assim".

Classificação da Informação...

Tem uma coisa que ainda me intriga em segurança. Hoje as consultorias vendem projetos de segurança pra tudo, análise de vulnerabilidades, análise de impactos, análise de riscos, análise de quase tudo, e ainda temos dificuldade para classificar informação, alguma coisa está errado.

Quando entrevistamos um usuário para levantar quais os processos ele está envolvido e qual os ativos que suportam esses processos, é desastroso, só chegamos a essa informação após entrevistar a empresa inteira 3 vezes e aos 47 do segundo tempo. Agora quando mudamos a pergunta para, "quando tempo você pode ficar sem o seu computador?" A resposta é sempre a mesma, não posso ficar sem ele, se eu ficar sem ele a empresa para.

A eu me questiono, se o usuário não sabe exatamente qual processo ele está envolvido, qual a importância da informação que ele trata, como ele pode chegar a brilhante conclusão de que não pode ficar sem o seu computador?

Eu particularmente não gosto de culpar os usuários nesses casos, eu acho que quem peca é a empresa, que não trás uma política de alinhamento de processos com as espectativas do negócio, quase nunca o usuário sabe qual é o impacto no processo todo se a parte que lhe compete falha, ou pior nem sabe de qual processo ele faz parte, só sabe que tem que inserir os dados no ERP e naquelas dezenas de planilhas que toda empresa tem.

Enquanto as empresas não se derem conta desse problema, vai continuar as consultorias montando o grande quebra-cabeça naquele projeto de 90 dias e entregando aquele belo relatório, cheio de gráficos e que 90 dias após a entrega dos relatórios já se esqueceu tudo, e a empresa volta ao mesmo ponto, sem saber nada dos seus processos e executando o que sempre executaram.

Isso me lembra a estória do maquinista que bateu pneu de trem durante 30 anos e quando alguém resolveu endagar o porque, ele simplemente disse, "Porque quando entrei me mandaram fazer assim".