quarta-feira, dezembro 13, 2006

Tshark..... quem é esse Anônimo ?

A analise de padrões de rede é um processo lento e
custoso, muitas vezes a automatização do processo é
desejado mas impraticável.

Existem varias ferramentas de mercado que são complexas
e tem um alto grau de analise interativa, mas interfaces
gráficas de um modo geral não permitem a gravação de
macros o que impossibilita um processo de automação.

Para solucionar esse problema já há algum tempo os
desenvolvedores do wireshark disponibilizam uma ferramenta
chamada tshark, uma implementação sem GUI e 100%
compatível com os filtros realizado na versão Gráfica.

Desprovida de uma interface gráfica é portável a uma gama de
sistemas é perfeitamente possível implementar rotinas automatizadas
usando linguagens de auto nivel .. like python and perl.

Alguns exemplos,

Executando Tshark em uma maquina com Windows XP, para
lista as interfaces de rede disponíveis.

C:\Arquivos de programas\Wireshark>tshark -D
1. \Device\NPF_GenericDialupAdapter (Generic dialup adapter)
2.
\Device\NPF_{9EE8CDCF-D2DE-4C64-9BC5-5BFA709BF9B6}
(Realtek RTL8139 Family Fast Ethernet Adapter)
3. \Device\NPF_{10FB6184-97C4-482F-BD61-626270229F30}
(VIA Rhine III Fast Ethernet Adapter (Microsoft's Packet Scheduler) )

Analisando a interface de numero 3, capturando 2 pacotes tcp's
sem resolução de nome e de protocolo.

C:\Arquivos de programas\Wireshark>tshark -nni 3 -c 2 tcp
Capturing on VIA Rhine III Fast Ethernet Adapter (Micro
soft's Packet Scheduler)
0.000000 201.81.175.253 -> 201.83.122.30 TCP 3633 > 1433 [SYN] Seq=0 Len=0 MSS
=1460
2.406969 201.83.122.30 -> 72.14.253.95 HTTP GET /safebrowsing/lookup?sourceid=
firefox-antiphish&features=TrustRank&client=navclient-auto-tbff&encver
=1&nonce=-455598911&wrkey=MTpJcs2CVNdytrZNGYvYRFeD&encparams=
UfEskDW1pmtBIG_wYMnykzTcKcOjjL4icoUgZCsmND5HjrDy_lkrsLSTTw== HTTP/1.1
2 packets captured

Analisando apenas o protocolo http, sem nenhum range de porta definido.

C:\Arquivos de programas\Wireshark>tshark -nni 3 -R http
Capturing on VIA Rhine III Fast Ethernet Adapter (Micro
soft's Packet Scheduler)
2.756920 201.83.122.30 -> 64.233.179.99 HTTP GET /support/bin/answer.py?answer
=465 HTTP/1.1
3.129663 201.83.122.30 -> 72.14.253.95 HTTP GET /safebrowsing/lookup?sourceid=
firefox-antiphish&features=TrustRank&client=navclient-auto-tbff&encver=
1&nonce=-454647994&wrkey=MTpJcs2CVNdytrZNGYvYRFeD&encparams=-XJ85PqzY3
AMzkXVEoLMNYuSZhntjoCMUpQ_2kUpcdByjAyQALWcp4KyOUlZRrwgNmxIA7LN7wtm
GptYOyYbkQne0u4t4HRxjFmU HTTP/1.1

Por ser uma ferramenta texto é provável que muitos possam achar
sua sintax complexa, mas devido as
inúmeras possibilidades é
muito recomendado que se perca algumas horas lendo os manuais,
vide wireshark-filter.

Dica... tshark -nni 3 -R bittorrent !!!

sexta-feira, novembro 17, 2006

FreeBSD um exemplo de organização em Projetos OpenSource.

Quando se fala em Projetos, normalmente
se pensa em uma estrutura privada.

Mas enganasse quem pensa que a
organizaçãoesta diretamente ligada ao fluxo
de dinheiro envolvido, existem modelos de
projetos OpenSource que mesmo movidos
diverças vezes por esforços voluntários são
extremamente competêntes.

Hoje irei comentar sobre o Projeto FreeBSD...

O Projeto FreeBSD possuir a seguinte extrutura:

1. Core Team
2. Commiters
3. Contributors

O Core Team é um grupo formado por 9
desenvolvedoresseniors, que são eleitos a cada
2 anos e ditam o rumo do sistema.

Os Commiters, são em media 250
programadores espalhados pelo mundo que
recebem esse nome porque o Projeto FreeBSD foi
estruturado usando o sistema de controle de versão
chamado CVS e levando em conta que o comando
que submete à arvore do sistema as modificações
chama-se commit.

Já os Contributors são algumas centenas de
programadores ou não, que separam parte do seu
tempo ajudando o Projeto.

Um ponto muito importante em um projeto é a
organizacão e a fidelidade a metas e prazos.

As metas são traçadas a cada nova release maior, como
as recentes features de MAC importadas do projeto
TrustedBSD nativamente testadas no ramo 7.x CURRENT
e agora disponiveis na futura RELEASE 6.2

Em sua maioria os projetos são dividas em pedaços
menores dispersos a cada release menor o que faz
o sistema estar em crescente evolução, e não em uma
mera revolução

Mesmo em constante evolução o sistema é regino
por uma norma interna chamada POLA, "Principle of Less
Alteration" que garante a compatibilidade entre todas as
versões tanto em nivel de API quanto em compatibilidade
binária e de sintax.

Um quesito importante e muito descuidado em
projetos é a documentação de procedimentos e dos
resultados alcançados, e novamente o projeto FreeBSD
demostra como é possivel uma boa gestão de organização
em um Ambiente OpenSource.

O FreeBSD Handbook é um livro escrito por varios
desenvolvedorese terceiros que visa treinar não
somente o usuário sobre asfeatures do sistema, mas
transmitir diversos conhecimento sobre
Unix de uma forma mais uniforme.

Metas e prazo normalmente caminham em lados opostos, observando
a agenda em www.freebsd.org/releases/6.2R/schedule.html podemos
verificar que os projetos OpenSouce podem vir a sofrer dos mesmos
problemas que muitos projetos privados enfrentam.

Os atrasos no lançamento de novas releases, estão em sua
totalidade descritos em um todo.html, como esse
sobre a release 6.2 http://www.freebsd.org/releases/6.2R/todo.html.

Uma outra particularidade muito importante do projeto FreeBSD é
a lista de commmits permitidos, quando um nova release esta
em vias de ser lançada.

http://www.freebsd.org/releases/6.2R/approvals.html.

Existem outras milhares de features do projeto FreeBSD que seriam
interessantes pra serem comentadas, mas o recado foi dado.

Existe projetos Open Source muito sérios e um dele chama FreeBSD.

segunda-feira, novembro 13, 2006

[RETIFICANDO] Uso de PKI em SO, uma realidade distante ....

Eu levantei uma thread sobre o uso de PKI em Kernel na lista CISSP-BR,
e tive um surpresa quando soube que a Microsoft já implementava o uso
de PKI desde o lançamento do Windows 2000.

A Microsoft lidou com os possíveis problemas de performance,
assinando apenas um pequeno arquivo que continha os hash's de todos
binários escolhidos para serem monitorados.

Mesmo a Microsoft adotando nesse arquivo hash's do tipo sha-1, temos
que tomar cuidado com as possíveis fraudes.

Existe muita pesquisa na comunidade de como é possível gerar hash's identicos
usando dados completamente diferentes, exemplo clássico é o caso do md5.

Um outro pronto critico da implementenação da Microsoft é a possibilidade
de desabilitar a função pelo administrador o que demostra que o uso de PKI
não foi considerado mandatário.

Aparentemente segundo membros da lista a implementação foi modificada no
Windows Vista.

Dessa forma essa assunto será novamente comentado por mim, logo que
eu tenha maiores informações.

quarta-feira, novembro 08, 2006

Uso de PKI em SO, uma realidade distante ....

Muito comentado na 2nd Colaris e na Conisli 2006, o uso
de uma infraestrutura de chaves publicas para combater
as fraudes em sistemas bancários parece ter alcançado
unanimidade, e deve estar consolidada em um futuro próximo.

Porem o seu uso em sistemas operacionais ainda não é uma
realidade, existe muitas expectativas que nos próximos anos
essa tecnologia possa ajudar na luta contra os Malwares.

A própria Microsoft no Windows Vista tem se utilizado
dessa tecnologia para somente rodar drivers assinados
digitalmente*, mesmo assim algumas coisas nunca
mudam vide url abaixo.

Em sistema BSD como FreeBSD, NetBSD e OpenBSD existem
vário projeto para fazer disso uma realidade.

O Sistema NetBSD foi o primeiro a desenvolver a ferramenta
VeriExec*, que compara hash's md5 ou sha-256 de cada
binário do sistema.

Durante a EuroBSDCon vai ser apresentado "NetBSD Security
Enhancements", propondo o uso de PKI em kernel.

O mesmo desenvolvedor do VeriExec criou o
"STEPHANIE PROJECT*", que tinha como principal
função reescrever o código do VeriExec para OpenBSD,
infelizmente o projeto foi descontinuado na versão 3.6 do OpenBSD.

Recentemente eu fiz um pergunta na lista security@freebsd.org*
sobre o uso de PKI, me foi dito que esta sendo desenvolvido
pelo projeto TrustedBSD um modulo do kernel chamado mac_chkexec*,
que a principio é muito semelhante ao VeriExec e inicialmente não
tem suporte a PKI.

Durante a minha pesquisa por iniciativas de PKI em kernel, não
encontrei nenhuma referencia sobre algum projeto
usando Linux.

Com todos os exemplos podemos ver o quão atrasadas estão
as implementações de PKI em kernel.

Referências,

http://theinvisiblethings.blogspot.com/2006/10/vista-rc2-vs-pagefile-attack-and-some.html
http://www.netbsd.org/guide/en/chap-veriexec.html
http://www.eurobsdcon.org/talks-efrat.php
http://www.innu.org/~brian/Stephanie/
http://lists.freebsd.org/pipermail/freebsd-security/2006-November/004128.html

segunda-feira, novembro 06, 2006

BSD is Dying ?

Esse é sem duvida um dos melhores e mais engraçados
videos sobre BSD que eu ja vi.

http://talks.dixongroup.net/nycbsdcon2006/BSD_is_Dying_640x480.mov

Usuários de Linux desculpe-me pelo final :-/

Pra quem não acompanha a current@ ....

Dump RFC'S to the Console..

O ports (misc/rfc) é mais um daqueles port's
que ninguém acha que existe, mas quando
descobre que existe fica viciado :-)

Ele faz exatamente o que se propõem a fazer, realiza
busca por RFC'S trazendo o resultado para o seu console.

Para instalar:

( cd /usr/ports/misc/rfc; make install )

ou

pkg_add -vr rfc

Para usar:

1 - Atualize o Index.

[ricardo@ricardo(10:20am)] ~# rfc -i
Modem users one moment, it's about 400k (doesn't need to be updated often)
original lines = 17731 /usr/local/etc/rfc-index
new lines = 17731 /usr/local/etc/rfc-index

2 - Faça busca por string.

[ricardo@ricardo(10:28am)] ~# rfc -s OGG
The Result:
0056 Third Level Protocol: Logger Protocol. E. Belove, D. Black, R.
Flegal, L.G. Farquar. June 1970. (Format: TXT=13066 bytes) (Status:
UNKNOWN)
0079 Logger Protocol error. E. Meyer. November 1970. (Format: TXT=1515
bytes) (Status: UNKNOWN)
0098 Logger Protocol Proposal. E. Meyer, T. Skinner. February 1971.
(Format: TXT=24536 bytes) (Updated by RFC0123) (Status: UNKNOWN)
0466 Telnet logger/server for host LL-67. J.M. Winett. February 1973.
(Format: TXT=17595 bytes) (Status: UNKNOWN)
3533 The Ogg Encapsulation Format Version 0. S. Pfeiffer. May 2003.
(Format: TXT=32045 bytes) (Status: INFORMATIONAL)
3534 The application/ogg Media Type. L. Walleij. May 2003. (Format:
TXT=10013 bytes) (Status: PROPOSED STANDARD)

3 - Leia a RFC.

[ricardo@ricardo(10:29am)] ~# rfc -o 3533 | head -n20
Dumping... rfc3533.txt
as ASCII to STDOUT

Network Working Group S. Pfeiffer
Request for Comments: 3533 CSIRO
Category: Informational May 2003


The Ogg Encapsulation Format Version 0

Status of this Memo

This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.



Simplesmente perfeito!!