Professional Documents
Culture Documents
IDS
Ferramenta capaz de detectar atividade maliciosa
Componentes
Sensores
Engines
Console
Classificaes
Misuse vs Anomaly
Network vs Host
Passive vs Reactive
IDS
Classificao
Detectores de anomalias
(anomaly)
Perfil de atividade normal
Funes estatsticas/Redes
Neurais
Intruso = Variao da
atividade normal
Thresholds
evitar falsos positivos e
falsos negativos
IDS
IDS
IDS
Objetivo
Snort
Snort - Arquitetura
Snort Arquitetura
Packet Decoder
Obter pacotes das interfaces de rede
Preprocessors
Normalizao
Detection Engine
Compila as regras
Testa o pacote contra as regras
Logging and Alerting System
Gerencia logs e alertas
Output Modules
Envia informaes para arquivos, syslog, sgdb, etc.
Snort Instalao
Pr-requisitos
Libpcap (http://www.tcpdump.org)
Libpcre (http://www.pcre.org)
Mtodos de instalao
Fontes
Binrios (.exe, rpm, deb)
Instalao pelos fontes
Obteno dos fontes compactados (http://www.snort.org)
tar zxvf snort-x.y.z.tar.gz
cd snort-x.y.z
./configure -prefix=/diretorio/de/instalacao
make
make install
Outras opes no configure (./configure -help)
Snort Instalao
Regras
SourceFire VRT Certified (http://www.snort.org/rules/
Regras oficiais do snort.org
Testadas rigorosamente
Inscrio (US$ 195/ms)
Registro (5 dias de atraso)
Verso esttica nos fontes do Snort
Bleeding Snort (http://www.bleedingsnort.org/)
Regras up-to-the-minute
Prov assinaturas rapidamente (preferncia em velocidade a qualidade)
Podem gerar maior quantidade de falsos-positivos/falsos-negativos
Community Rules
Regras submetidas pela comunidade
Avaliao bsica pelo VRT (Vulnerability Research Team)
Local Rules
Arquivo local.rules
Regras personalizadas/locais
Snort Instalao
Thank you,
The Snort Team
www.snort.org
Snort Instalao
Regras bleedingsnort
http://www.bleedingsnort.com/bleeding.rules.tar.gz
cd /caminho/do/snort
tar zxvf bleedind.rules.tar.gz
Configurao mnima
Cpia do arquivo de configurao inicial
cp snort.conf unicode.map *.config /caminho/do/snort
Separa configurao de regras
Parmetros a serem verificados/alterados
RULE_PATH # Colocar caminho completo
Regras bleeding
include $RULE_PATH/bleeding*.rules # um arquivo por linha
Recomendados
bleeding.rules
bleeding-exploit.rules
bleeding-web.rules
bleeding-attack_response.rules
bleeding-dos.rules
bleeding-scan.rules
Faculdade Ruy Barbosa
Prtica 1 Instalao e configurao
mnima do Snort
Segurana de Redes II
Modo sniffer
snort v # mostra headers IP/UDP/ICMP
snort vd # mostra dados de aplicao
snort vde # mostra data link layers
Modo de registro de pacotes
snort vde K ascii l <diretrio de log> # armazena no diretrio
indicado
Subdiretrios por IP
-K ascii (verso 2.4)
snort vde K ascii l <log> -h <home net> # especifica a rede
local ex: 192.168.1.1/32
snort l <log> -b # registro em modo binrio (tcpdump)
No necessita de -vbe (registra tudo no modo binrio)
Modo NIDS
snort dev l <log> -c snort.conf
Logar pacotes texto desempenho
-v desnecessrio (verbose/display)
Home net definido no arquivo de configurao
snort D c snort.conf i <interface> -l <log> -b L bpf.log
-D modo deamon
-L nome do arquivo contendo os pacotes
-i <int> interface de captura
Executar no boot (rc.local, bootmisc.sh, init.d)
Modo Inline
Integrao com iptables QUEUE (IPS)
Opes extras
-A <tipo> # Formato dos alertas
full (padro), fast, unsock, none, console, cmg
-s # enviar alertas pro syslog
Nmap
http://www.insecure.org/nmap
Ferramenta de portscan
nmap sT sU O P0 <IP> # Realiza um portscan TCP e UDP na
mquina
Idswakeup
http://www.hsc.fr/ressources/outils/idswakeup/index.html.en
Ferramenta de teste de IDS
idswakeup src dst nb TTL &
IP Origem
IP Destino
Nmero de testes
TTL dos pacotes
Snort Alertas
Snort GID
http://oinkmaster.sourceforge.net/
Script em linguagem perl
Funcionalidades
Atualizao automtica de regras (VRT,Bleeding e Community)
Desabilitar/Habilitar regras e manter aps atualizaes
Modificaes arbitrrias em regras
Prevenir regras de atualizao (regras locais)
Backup das regras antigas
Etc.
Requisitos
Mdulos do perl
Archive::Tar
IO::Zlib
LWP::UserAgent
perl MCPAN e shell
install Archive::Tar
install IO::Zlib
Install LWP::UserAgent
Instalando o Oinkmaster
Oinkmaster Instalao
Testando o funcionamento
Fazer backup das regras (por garantia)
Criar diretrio de backup (ex: rules-backup)
oinkmaster C /caminho/oinkmaster.conf o /caminho/do/snort/rules b
/caminho/do/snort/rules-backup
Loading /usr/local/snort/oinkmaster.conf
Downloading file from http://www.snort.org/pub-bin/oinkmaster.cgi/xxx/snortrules-
snapshot-2.4.tar.gz... done.
Archive successfully downloaded, unpacking... done.
Downloading file from http://www.bleedingsnort.com/bleeding.rules.tar.gz... done.
Archive successfully downloaded, unpacking... done.
Setting up rules structures... done.
Processing downloaded rules... disabled 0, enabled 0, modified 0, total=4828
Setting up rules structures... done.
Comparing new files to the old ones... done.
Creating backup of old rules... saved as rules-backup/rules-backup-20050923-
131044.tar.gz.
Updating rules... done.
Oinkmaster Instalao
Automatizando o processo:
Rodar o oinkmaster
Testar as regras (snort T)
Reiniciar o snort
Shell script no crontab (oinkmaster.sh)
crontab e
0 8 * * * sh /caminho/do/script/oinkmaster.sh
Todo dia 8h da manh
#!/bin/sh
INTERFACE=eth0
SNORT_BIN=/usr/local/snort/bin/snort
SNORT_CONF=/usr/local/snort/snort.conf
SNORT_LOG=/usr/local/snort/log
OINKMASTER_BIN=/usr/local/snort/bin/oinkmaster.pl
OINKMASTER_CONF=/usr/local/snort/oinkmaster.conf
RULES_PATH=/usr/local/snort/rules
BACKUP_PATH=/usr/local/snort/rules-backup
http://online.securityfocus.com/print/infocus/1540
Guardian
Snort_inline (IPS)
SnortSam (http://www.snortsam.net/)
Snort FlexResp
NetSQUID (http://netsquid.tamu.edu/)
Reatividade Guardian
http://www.snort.org/dl/contrib/other_tools/guardian/
Integra snort com alguns firewalls
Ipchains
Iptables (netfilter)
Ipfw (freebsd)
Vantagens
Fcil de instalar e configurar
Extensvel (linguagem perl e shell scripts)
No necessita alterar regras (flexresp)
Permite configurar IPs a serem ignorados
No necessita alterar a sada do snort (arquivo alert)
Desvantagens
Firewall update (DoS)
Pode bloquear hosts legtimos (falsos positivos)
No permite selecionar quais regras causaro bloqueio
No guarda o estado no caso de reincio do processo
Necessita rodar snort na mesma mquina do firewall
Instalando o Guardian
guardian_block.sh
#!/bin/sh
source=$1
interface=$2
admin=root@dominio.org
/sbin/iptables -I INPUT -s $source -i $interface -j DROP
echo "`whois $1`" | /usr/bin/mail -s "$1 blocked" $admin
guardian_unblock.sh
#!/bin/sh
source=$1
interface=$2
admin=root@dominio.org
/sbin/iptables -D INPUT -s $source -i $interface -j DROP
echo "`whois $1`" | /usr/bin/mail -s "$1 unblocked" $admin
Guardian Instalao
Arquivo guardian.ignore
Endereos que sero ignorados nos bloqueios
Um IP por linha
Colocar no mnimo o loopback (127.0.0.1) e o IP local da mquina
Executando o guardian
guardian.pl c guardian.conf
Testando
nmap / idswakeup
iptables L n (list)
iptables F (flush)
Executando na inicializao
bootmisc.sh, rc.local, init.d
Snort Regras
Snort Regras
Configurao Avanada
Snort Variveis
Arquivo snort.conf
Variveis
var HOME_NET any
var EXTERNAL_NET any
var DNS_SERVERS $HOME_NET
var SMTP_SERVERS $HOME_NET
var HTTP_SERVERS $HOME_NET
var SQL_SERVERS $HOME_NET
var TELNET_SERVERS $HOME_NET
var SNMP_SERVERS $HOME_NET
var HTTP_PORTS 80
var SHELLCODE_PORTS !80
var ORACLE_PORTS 1521
var AIM_SERVERS
[64.12.24.0/23,64.12.28.0/23,64.12.161.0/24,64.12.163.0/24,64.12.200.0
/24,205.188.3.0/24,205.188.5.0/24,205.188.7.0/24,205.188.9.0/24,205.1
88.153.0/24,205.188.179.0/24,205.188.248.0/24]
var RULE_PATH /usr/local/snort/rules
Arquivo oinkmaster.conf
modifysid
modifysid SID "replacethis" | "withthis"
modifysid SID1, SID2, SID3, ... "replacethis" | "withthis"
modifysid file "replacethis" | "withthis"
modifysid * "replacethis" | "withthis"
modifysid 302 "\$EXTERNAL_NET" | "\$HOME_NET
localsid
localsid SID1, SID2, SID3, ...
localsid 1325
enablesid
enablesid SID1, SID2, SID3, ...
enablesid 1325
disablesid
disablesid SID1, SID2, SID3, ...
disablesid 1
No comentar as regras diretamente (atualizao automtica)
IDS Posicionamento
ifconfig <int> up
Ex: ifconfig eth0 up
Interface sem endereo IP
Dificulta o acesso ao IDS
Tentativa de evaso/invaso
Impede o acesso remoto dos admins
Interface de gerenciamento
Receive-only ethernet cable
http://www.snort.org/docs/faq/1Q05/node31.html
BASE
http://sourceforge.net/projects/secureideas/
ACID
http://acidlab.sourceforge.net/
http://www.cert.org/kb/acid/
SnortCenter
http://users.pandora.be/larc/
IDS Policy Manager
http://www.activeworx.org/programs/idspm/index.htm
IDScenter
http://www.engagesecurity.com/
Criptografia
O que Criptografia:
Encriptao de dados
Segurana na transmisso
Autenticao
Chave
Segredo utilizado para codificar ou decodificar mensagens
Algoritmo
Funo matemtica usada para criptografar e
decriptografar a informao, baseado numa chave.
Tipos
Criptografia de chave assimtrica (RSA)
Criptografia de chave simtrica (DES)
Funes hash one-way
Criptografia
Criptografia
Cincia de gerar e ler mensagens codificadas
(encriptadas).
Prov mecanismos de:
Autenticao Estabelecer a identidade do remetente
e destinatrio da informao.
Integridade Garantir a no alterao dos dados.
Confidencialidade Garantir que ninguem alm do
remetente e do destinatrio so capazes de entender a
informao.
Criptografia
Chaves
Conjunto de bits usado pelo algoritmo de criptografia.
Seu tamanho determina a segurana.
Possibilidade de brute force attacks
40 240=1.099.511.627.776
56 256=7,205759403793*1016
64 264=1,844674407371*1019
Criptografia
Chaves
Tamanho da chave
Quanto maior, mais seguro
Quanto maior, menor performance
Determinando o tamanho certo
O custo de quebrar a chave tem que ser maior
que o valor da informao protegida
Criptografia
Possibilidades
Assinatura digital
Digital timestamp
Dinheiro eletrnico
Provar o conhecimento de uma informao sem revel-la
Compartilhamento de pedaos de uma chave de forma que
seja necessrio um nmero mnimo de partes para
codificar/decodificar uma mensagem
Criptografia
Criptografia
Criptografia de Csar
Algoritmo de chave simtrica
Bastante simplista, utilizado na Roma antiga
Funcionamento:
Utiliza uma chave numrica n.
Para cada letra da mensagem, deslocar de n para
frente no alfabeto, a partir da letra em questo
Substituir a letra anterior pela deslocada
Para reverter, basta deslocar para trs
Algoritmo fcil de ser quebrado por tentativa e
erro
Criptografia
Algoritmos simtricos
Data Encryption Standard (DES)
3DES (Triple DES)
Rivest Cipher 4 (RC-4)
International Data Encryption Algorithm (IDEA)
Criptografia
Criptografia
Criptografia
IDEA
Desenvolvido para substituir o DES
Opera em blocos de 64 bits
Utiliza chaves de 128 bits
Desenvolvido para ser eficiente tanto em implementaes de
software e de hardware
Algoritmo patenteado
Requer licena para uso comercial
Criptografia
Algoritmos simtricos
Vantagens
Rapidez
Possibilidade de ser implementado via hardware
Otimizado para criptografar grandes quantidades de dados
Problemas
Gerao segura de chaves
Distribuio segura de chaves
Mudana peridica de chaves
Criptografia
Algoritmos assimtricos
Utilizam o conceito de par de chaves
Uma chave pblica, disponvel para outros usurios
Uma chave privada, disponvel apenas para o dono do par de chaves
Prov formas de:
Integridade dos dados
Confidencialidade dos dados
Autenticao do remetente
Criptografia
Algoritmos assimtricos
Ron Rivest, Adi Shamir e Leonard Adleman (RSA)
El Gamal
Criptografia
Funes HASH
Funes que transformam uma mensagem de tamanho
arbitrrio em uma sada de tamanho fixo.
Caractersticas
Consistncia a mesma entrada sempre causa a mesma
sada
Randmico impossibilidade de deduzir a mensagem original
nico duas mensagens diferentes produzem sadas
diferentes
One-way A sada no reversvel
Criptografia
Funes HASH
Message Digest 4 (MD4)
Desenvolvido por Ron Rivest do MIT
Message Digest 5 (MD5)
Desenvolvido por Ron Rivest do MIT
Baseado no MD4
Processa a entrada em blocos de 512 bits e produz uma sada
de 128 bits.
Criptografia
Funes HASH
Secure Hash Algorithm (SHA)
Criado pelo National Institute of Standards and Technology
(NIST)
Processa a entrada em blocos de 512 e produz uma sada de
160 bits
Necessita de maior processamento que o MD5
Criptografia
Assinaturas digitais
Utiliza os princpios da criptografia assimtrica e hash
Garante a origem e a integridade de um documento
No garante confidencialidade de um documento
Criptografia
Assinaturas Digitais
RSA
Algoritmo de criptografia assimtrica estendido para
suportar assinaturas digitais
DSS
Proposto pelo NIST e baseado no algoritmo El Gamal
Mais rpido que o RSA para gerao de chaves, porm
mais lento para verificao de assinaturas
Criptografia
Possibilidades
Assinatura digital
Digital timestamp
Dinheiro eletrnico
Provar o conhecimento de uma informao sem
revel-la
Compartilhamento de pedaos de uma chave de
forma que seja necessrio um nmero mnimo de
partes para codificar/decodificar uma mensagem
Criptografia
Autenticao
A deseja ter certeza de que fala com B
A->B MSG
B->A {MSG} Chave Priv. B
B pode estar criptografando algo que permita a A descobrir
a sua chave privada
Uso de uma funo hash para computar um digest
Ex: MD5
Difcil de reverter
Dificil de achar outra mensagem que resulte no mesmo
digest
Criptografia
Autenticao
Mtodo revisado
A->B MSG
B->A {Digest(MSG)} Chave Priv. B
Ainda assim B est criptografando dados gerados por A
A->B (B voce ?)
B->A (Sim eu sou B){Digest(Sim eu sou B)} Chave Priv. B
Qualquer um pode dizer que B bastando ter um par
de chaves
Criptografia
Autenticao
Certificados
Nome da entidade certificadora
Nome do sujeito certificado
Chave pblica do sujeito
Mtodo com certificado
A->B (B voce ?)
B->A (Sim eu sou B), certificado de B
A->B (Ento prove !!!)
B->A (Sim eu sou B){Digest(Sim eu sou B)} Chave Priv. B
Criptografia
Criptografia
Protocolo Revisado
A->B (B voce ?)
B->A (Sim eu sou B), certificado de B
A->B (Ento prove !!!)
B->A (Sim eu sou B){Digest(Sim eu sou B)} Chave Priv. B
A->B {segredo} Chave Publ. B
B->A {MSG,MAC} Chave Secreta
Ainda assim alguem pode gravar e repetir
Introduo de elementos randomicos
Criptografia
Gerenciamento de chaves
Questo crtica para comunicao segura
Depende de fator humano
Guardar as chaves privadas
Algoritmos robustos para distribuio de
chaves
Podem ser quebrados pelo fator humano
Criptografia
Criptografia
Algoritmo Diffie-Hellman
Mtodo largamente utilizado para
distribuio de chaves simtricas
Prov mtodos para troca de chaves,
mesmo em canais inseguros
Utilizado por algoritmos simtricos para
troca segura de chaves
Criptografia
Criptografia
Criptografia
Certificados digitais
Formato do certificado X.509
Verso
Nmero serial
Algoritmos usados
Identidade do certificador
Validade
Nome do dono da chave
Informao da chave
Assinatura
Criptografia
Certificados Digitais
Entidades certificadoras (CAs)
Entidades confiveis que atestam a validade de um
certificado
responsvel por gerar, distribuir e invalidar
certificados
Assina o certificado com uma chave privada da
entidade, cuja chave pblica largamente difundida
Criptografia
Certificados digitais
Funcionamento
Elemento B pede certificado digital de A para a entidade
certificadora
A entidade envia o certificado de A, assinado com a chave
privada da CA
Elemento B recebe o certificado e verifica a assinatura usando
a chave pblica da CA
Elemento B agora possui uma chave pblica confivel do
elemento A
Criptografia
Certificados digitais
O esquema depende da distribuio confivel da
chave pblica da CA
Utilizao de meios out-of-band
Criao de entidades certificadoras
Empresas de confiana
Criptografia
PKI (Public Key Infrastructure)
Estrutura para armazenamento e gerenciamento de
certificados
Conjunto de Hardware, software, pessoal, polticas e
procedimentos necessrios para criar, gerenciar, guardar,
distribuir e invalidar certificados baseados na criptografia
chave-pblica
Criptografia
Usos prticos
Pretty Good Privacy PGP
Criptografia pessoal
SSL Secure Sockets Layer
Criptografia TCP/IP
Servidores WEB
Ipsec
Criptografia IP
VPNs
Criptografia
Criptografia
SSL e Firewalls
SSL no pode ser utilizado com Application Level
Proxies
Impede a existncia do man-in-the-middle
Utilizar filtros de pacotes
Utilizar Circuit Level Proxies
Criptografia
Criptografia
Stunnel
Tunnel SSL para diversos servios
Suporte a POP3 e IMAP
Clientes com suporte a POP3 e IMAP sobre SSL
Netscape mail
Outlook Express
Resolve um dos grandes problemas de provedores de
acesso
PGP
PGP
PGP
Criptografando textos
PGP
Criptografando textos
O PGP gera uma chave de sesso simtrica e randmica
O texto criptografado com esta chave
A chave simtrica criptografada com a chave pblica do usurio
O conjunto (texto + chaves) enviado ao usurio
PGP
Decriptografando textos
PGP
Decriptografando textos
Usurio recebe o conjunto texto+chaves
Utiliza sua chave privada para decriptografar a chave simtrica
Utiliza a chave simtrica para decriptografar o texto
PGP
Chaves
Utilizam algoritmos de criptografia
Chaves simtricas
Mesma chave para criptografar e decriptografar
Chaves assimtricas (pblicas e privadas)
Conceito de par de chaves
texto criptografado com a chave pblica decriptografado com a
privada e vice-versa
Derivar a chave privada a partir da pblica invivel
computacionalmente
PGP
Chaves
Preocupar-se com o tamanho da chave
Quanto maior, mais difcil de quebrar, porm mais lento para
criptografar/decriptografar
buscar um meio termo
Chave privada criptografada com uma chave simtrica
Necessita saber uma passphrase para usar
Maior segurana no caso de roubo de chaves
Esqueceu a passphrase, s outra chave
PGP
Assinaturas digitais
Permite atestar a autenticidade de um documento ou arquivo
Utiliza o mesmo conceito de chaves pblicas e privadas
Utiliza funes hash, para acelerar o processo
PGP
Assinando documentos
PGP
Assinando documentos
O PGP gera um hash do texto original
O hash criptografado(assinado) com a chave privada do usurio
O texto e a assinatura so enviados para o destinatrio
O destinatrio usa a chave pblica do usurio para decriptar o
hash
O PGP calcula de novo o hash e compara os dois. Se forem
iguais a assinatura confere
PGP
Certificados digitais
Como certificar que a chave pblica realmente de quem diz ser?
Man-in-the-middle
Terceiros criando chaves e afirmando serem outras pessoas
Servidores pblicos de chaves
Qualquer um pode publicar chaves como se fosse outra pessoa
PGP
Certificados digitais
Credencial de uma fonte confivel, que afirma que um
determinado par de chaves de um usurio especfico
Consiste em:
Uma chave pblica
Informaes (Identificao, user ID, etc)
Uma ou mais assinaturas digitais
PGP
Certificados digitais
A eficincia do certificado depende da confiana de quem assina o
certificado
Distribudos em Certificate Servers ou em PKI (Public Key
Infrastructure)
PGP
PKI (Public Key Infrastructure)
Estrutura para armazenamento e gerenciamento de certificados
Introduo das Certification Authoritys (CAs)
Empresas ou grupos que possuem autorizao para emitir certificados
Cria certificados e assina com a chave privada do CA
Pea chave no PKI, pois um elemento confivel (chave pblica
conhecida)
PGP
Formatos de certificados
PGP
Verso do PGP
Chave pblica do usurio
Informao do usurio
Assinatura digital do usurio - auto-assinatura
perodo de validade
Algoritmo simtrico preferido
CAST, IDEA ou 3-DES
PGP
Certificado PGP
PGP
X.509
Padro internacional do ITU (ITU-T X.509)
Teoricamente portvel, porm extenses foram criadas pelas
empresas, o que dificulta a compatibilidade
Os certificados X.509 s podem ser validados por uma entidade
certificadora (CA)
PGP
Formato do X.509:
verso do X.509
chave pblica do usurio
nmero serial do certificado - definido pela CA
identificador nico do usurio (DN)
CN = Common Name, OU = Organizational unit, O = Organization, C =
Country
Perodo de validade
Identificao nica da CA
Assinatura digital da CA
Algoritmo de assinatura usado
Certificado X.509
PGP
PGP
Validade e confiana
Garantia que um certificado pertence ao suposto dono
No PGP possvel um usurio assinar uma chave, como prova que
seu certificado foi checado como vlido
No modelo X.509, a CA uma entidade em que todo mundo
confia. Nenhum certificado vlido se no for assinado por uma
CA de confiana
PGP
Checando a validade
Fingerprints
hash do certificado que pode ser conferido (por telefone, por exemplo)
Confiana na CA
CA garante que validou o certificado
Verificar validade do certificado e se ele no foi revogado
PGP
Estabelecendo confiana
meta-introducers
Delega autoridade de confiana para terceiros (trusted introducers)
Conhecidos como root-CAs no modelo X.509
trusted introducers
So capazes de validar chaves
No so capazes de delegar confiana
Conhecidos como subordinate CAs no X.509
Estabelecendo confiana
PGP
Revogao de certificados
Os certificados no valem para sempre, normalmente eles
possuem tempo de vida restrito
Em casos especiais, necessrio invalidar um certificado por
algum motivo
Nestes casos, a CA pode revogar o certificado
As CAs mantm uma lista de certificados Revogados
Referncias
Livros
Practical Unix & Internet Security
Simson Garfinkel and Gene Spafford
OReilly & Associates
Building Internet Firewalls
D. Brent Chapman and Elizabeth D. Zwicky
OReilly & Associates
Designing Network Security
Merike Kaeo
Cisco Press
Applied Cryptography: Protocols, Algorithms, and Source Code in
C
Bruce Schneier
Referncias
URLs
Snort: http://www.snort.org
Bleeding-snort: http://www.bleedingsnort.com/
Oinkmaster: http://oinkmaster.sourceforge.net/
Tcpdump/Libpcap: http://www.tcpdump.org/
Nmap: http://www.insecure.org/nmap
Idswakeup:
http://www.hsc.fr/ressources/outils/idswakeup/index.html.en
Referncias