Exemplo de coisas
que dão errado
Seminário de Informática
Teórica
Leonardo Monteiro (lmr)
Rafael Nóbrega (ron)
Agenda
• Motivação
• Tipos de Ataques
• Vulnerabilidades
• Exemplos Reais
– Redes Sem Fio
– Sans
* Top-20 List
* Top 5 Log Reports
* The Ten Security Trends
2
Motivação
• Perigos que corremos atualmente
• Falta de precaução dos programadores
• Inocência do Usuário Comum
• Complexidade de se obter um sistema
completamente seguro
3
Tipos de Ataque
Buffer overflow
• Estouro de pilha ou transbordamento de dados,
acontece quando o tamanho de um buffer
ultrapassa sua capacidade máxima de
armazenamento.
5
Buffer Over Flow
void check_input(char *input) {
char buf[8];
strcpy(buf,input);
if (check(buf)) allow_action();
return;
}
• Pilha de Execução:
Ret. Addr.
char *input
buf[7]
buf[6]
…
buf[1]
buf[0]
• Bug: strlen(input) > 7
6
Java Buffer Overflow
• Parsing de componentes com imagens GIF
– Imagens com Width 0, a jre aloca este tamanho e
depois copia os dados para a memória
– O overflow corrompe diversos ponteiros e pode
resultar na execução de código arbitrário
Affected Products:
JDK and JRE 5.0 Update 9 and earlier (all platforms)
SDK and JRE 1.4.2_12 and earlier (all platforms)
SDK and JRE 1.3.1_18 and earlier (all platforms
http://www.zerodayinitiative.com/advisories/ZDI-07-005.html
7
Denial of Service
• DoS (Denial of Service) é simplesmente
deixar um serviço incapaz de responder a
requisições.
• Tipos:
– Ping of Death
* Pacote ICMP malformado muito grande
– SYN Flood attack
* Protocolo TCP/IP, a three-way
handshake.
– DDoS
* Diversas Máquinas Simultaneamente
Inundam o site
8
Exemplo
SimpleEmail email = new SimpleEmail();
email.setHostName("mail.myserver.com");
email.addTo("[email protected]", "John Doe");
email.setFrom("[email protected]", "Me");
email.setSubject("Test message");
email.setMsg("This is a simple test of commons-email");
while (true){
email.send();
}
9
SQL Injection
10
SQL Injection
11
SQL Injection
12
Key logger
• Boa intenção
– Trabalho, filhos, ...
• Spam
• Instalação
• Teclas digitadas
• Imagens (teclado virtual)
• Informações
– senhas de banco, números de cartão de crédito,...
• Prejuízo
13
Exemplo
• extensão DLL
• extensão EXE
• Programas
– Home Key Logger
– Active Key Logger
– Key Logger RemoteBuddy
14
Key Logger
15
Vulnerabilidades
Race conditions
• Ocorrem em software, especialmente quando
há comunicação entre processos separados ou
execução de threads
17
Time-of-check-to-timeof-use (TOCTTOU)
global integer A = 0;
//incrementa o valor de A e desenha "RX"
// ativado em algum momento, uma
// interrupção é recebida do controlador
// serial
task Received() {
A = A + 1;
print "RX";
}
//é ativado a cada segundo
task Timeout() {
if (A is divisible by 2) {
print A;
}
• Saídas:
0
0
0
RX
RX
2
RX
RX
4
4
}
18
Fraca checagem de
entrada
• Problemas Gerais
– Muitos dos programas tem entrada
* Usar entrada
* Funções chamam outros módulos
* Formulário de entrada Web
– Muitos exemplos de web sites
* Linguagens script com entrada string
– Sistema extensível também tem sérios
problemas
* Módulos designados assumem chamadas
vindas de códigos confiáveis
* Extensões maliciosos no sistemas podem
chamar módulos confiáveis
19
Privilégio Desnecessário
• A maioria dos ataques quer ganhar privilégios:
– Acesso a programas, arquivos, etc.., dentro de um
sistema
• Se um atacante pode ganhar privilégios de um
programa, este deve ser o mínimo possível.
– Isto é chamado do Princípio do Menor Privilégio.
20
Exemplos
• DOS/Windows
– Configuração padrão fornece todos os privilégios de
acesso
• Unix
– Problemas com programas executando como root
* Unix requer que vários programas executem como
root
* Em 1999, 50% dos sendmail servers estavam
vulneráveis
21
Programação
Defensiva
Programação Defensiva
• Um Problema comum é o uso de estruturas de
tamanho constante e funções para dados de
tamanho dinâmico sem checagem
• Nunca faça código mais complexo que o
necessário.
– Complexidade alimenta bugs, incluindo problemas
de segurança.
• Deixe o código disponível para todos na rede
(software livre) ou contrate alguém que faça
uma auditoria de segurança.
• Se possível, reutilize o código ao invés de
reescrever do zero.
23
Programação Defensiva
• Codifique todo dado importante
transmitido por redes.
• Todo dado é importante até provar o
contrário.
• Todo código é inseguro até provar o
contrário.
• Se dados vão ser checado por correção,
cheque se é correto, não se é incorreto.
24
Exemplos Reais
sobre
(In)Segurança
Redes sem fio
Histórico
• Crescimento
– Economicamente viável
– Taxa de transmissão
– Conectividade entre instituições
• Novo cenário
– Falta de segurança
27
Riscos
• Internos
– Rogue WLAN
– Configurações inseguras (VPN)
– Associação acidental
• Externos
– Espionagem
– Roubo de Identidade
– Ataques emergentes
28
Vulnerabilidades do WEP
(Wired Equivalent Privacy)
• Criptografia RC4
–
–
–
–
–
Simétrica
Stream Cipher
24 bits
1/16.777.216
5.000 pacotes trocados
29
AirSornt
• http://airsnort.shmoo.com
• Qualquer chave
• Três a cinco milhões de pacotes trocados
30
SANS Institute
Sans Institute
• SANS Institute
– (SysAdmin, Audit, Network, Security)
– 165,000 security professionals around the world
• Top-20 Internet Security Attack Targets (2006)
• Top 5 Essential Log Reports (2006)
• The Ten Most Important Security Trends of the Coming
Year (2006)
32
Top 20 List 2006
• Operating Systems
–
–
–
–
–
–
–
W1. Internet Explorer
W2. Windows Libraries
W3. Microsoft Office
W4. Windows Services
W5. Windows Configuration
Weaknesses
M1. Mac OS X
U1. UNIX Configuration
Weaknesses
• Cross-Platform Applications
–
–
–
–
–
–
–
–
C1 Web Applications
C2. Database Software
C3. P2P File Sharing Applications
C4 Instant Messaging
C5. Media Players
C6. DNS Servers
C7. Backup Software
C8. Security, Enterprise, and
Directory Management Servers
• Network Devices
–
–
N1. VoIP Servers and Phones
N2. Network and Other Devices
Common Configuration
Weaknesses
• Security Policy and Personnel
–
–
H1. Excessive User Rights and
Unauthorized Devices
H2. Users (Phishing/Spear
Phishing)
• Special Section
–
Z1. Zero Day Attacks and
Prevention Strategies
33
Sistemas Operacionais
• Internet Explorer
– Corrompe a memória, spoofing (assumir
identidade de alguém) e execução arbitrária de
scripts.
– Execução de código remoto sem nenhuma
interação com usuário
* quando o usuário visita um site malicioso ou lê
um e-mail
– Proteção
* Windows XP Service Pack 2
* Internet Explorer v7
* Trocar de Browser
* Microsoft DropMyrights – Menor Privilégio
34
Aplicações CrossPlatform
• Frameworks e aplicações web (PHP, .NET, J2EE, Ruby on Rails, etc)
estão sujeitos a falhas de segurança.
• As vulnerabilidades mais exploradas são:
– PHP Remote File Include
* Execução de código remoto
– SQL Injection
* criar, ler, atualizar ou deletar qualquer dado da aplicação
– Cross-Site Scripting (XSS)
* Desfigura web sites, Inserta código malicioso, faz phishing
attacks e força o usuário a executar comandos externos
(CSRF)
– Cross-site request forgeries (CSRF)
* Força usuários a executar comandos sem o seu
consentimento
– Diretórios Transversais
* Acesso a arquivos via "..“ permite acesso a:
• Arquivos de password, arquivos de configuração, etc..
35
Dispositivos de Rede
• VoIP
– Obtendo o controle do servidor VoIP ou do
telefone um invasor pode fazer
* VoIP phishing scams,
* eavesdropping (violação de
confidencialidade),
* toll fraud (acesso não-autorizado)
* ataques denial-of-service
– Nos servidores VoIP com interface SS7 (sinal de
telefone tradicional) e rede IP, um invasor pode
manipular o sinal SS7 para interromper os
serviços na rede de telefonia convencional
36
Política de Segurança
• Direitos Excessivos do usuário e dispositivos
não-autorizados
– Se o usuário pode instalar seus próprios softwares
e o administrador não pode controlar
• Dispositivos de rede infectados ou nãoautorizados
– Dispositivos Infectados: USB Flash Driver,
Notebook, etc.
– Monitoramento continuo do fluxo de dados pode
imediatamente identificar dispositivos nãoautorizados na rede
37
Seção Especial
• Zero-Day Exploit
– Aumento em 2006
– Produtos Microsoft
* IE, PowerPoint, Word, Excel, etc..
– Proteção
* Princípio do Menor Privilégio
* Educação dos Usuários sobre Segurança
* Firewall configurados com deny-all
* Siga as recomendações do fabricante para
contornar e mitigar o problema até que um
patch esteja disponível
38
Top 5 Log Reports
1. Tentativas de obter acesso a partir de contas
existentes
2. Tentativas fracassadas de acesso a arquivos e
recursos
3. Mudanças sem autorização de usuários,
grupos e serviços
4. Sistemas mais vulneráveis a ataques
5. Padrão de tráfego de rede suspeito ou nãoautorizado
39
Tentativas de obter acesso a
partir de contas existentes
• Usuários ou processo maliciosos
tentando obter acesso a rede por
password guessing.
• Pode também ser uma indicação que
uma conta de usuário local está
tentando obter uma permissão maior do
sistema
Failed Login Attempts:
jsmith from 1.2.3.4 against example-host performed 37 times
jdoe from 1.2.3.4 against example-host performed 16 times
40
Tentativas fracassadas de acesso a
arquivos e recursos
• Tentativas fracassadas de acesso são uma indicação que
alguém está tentando obter acesso ou a um recurso não
existente ou a um recurso o qual ele não tem permissão
Web Server Failed Access Attempts:
Failed file access attempt for 1.2.3.4 performed 13 times
/var/www/html/mambo
/var/www/html/cvs
/var/www/html/articles
/var/www/html/cvs
/var/www/html/xmlrpc.php
/var/www/html/blog
....
File Server Failed Access Attempts:
Failed write access on financial.xls for user jsmith from 1.2.3.4 performed 2 times
41
Mudanças sem autorização de
usuários, grupos e serviços
• Mudanças desses três irão ocorrer legitimamente em
diversos casos
• Porém eles merecem uma atenção especial porque
podem ser uma indicação que todas as outras defesas
foram ultrapassadas e uma invasão ocorreu
Account changes for FS1:
New user: name=c0rt3z uid=1050
Group change: User c0rt3z added to group Administrator
Service changes for FS1:
antivirus.exe has been stopped
evilbackdoor started
sshd restarted
42
Sistemas mais
vulneráveis a ataques
• Esteja atualizado em relação aos
PATCHs
• Todos os sistemas deveriam estar
atualizados.
– Porém, falta de tempo, recursos, etc..
Pode resultar em um cenário não-ideal
• Definindo Prioridade
– Um relatório que identifica o nível de
conformidade de cada recurso de rede
pode ser extremamente útil
43
Padrão de tráfego de rede
suspeito ou não-autorizado
• Padrão não-usual ou inesperado na rede local
– Não só de entrada de dados mas também de saída
– Este relatório exige um pouco de familiaridade
com o comportamento normal da rede
Dropped Traffic From DMZ:
smtp1 outbound to 1.2.3.4 on TCP/80 performed 7 times
Suspicious Outbound Traffic:
accounting1 outbound to 1.2.3.4 on TCP/25 performed 1 time
accounting1 outbound to 1.2.3.5 on TCP/25 performed 1 time
44
Top 10 Security Trends
• Vinte dos mais respeitados líderes sobre
cyber security
– Cada um sugeriu três desenvolvimentos
que acharam mais importante
– A lista foi compilada em 40 tendência que
foram a votação (probabilidade e impacto)
– A lista foi validada por 960 integrantes do
SANSFire em Washington
45
Dispositivos Móveis
1. Encriptação de Laptop será obrigatória
em diversas agências do governo e em
organizações que armazenam dados dos
clientes e serão pré-instaladas nos
equipamentos novos.
2. Roubo de PDA smart phones crescerá
significativamente. O valor de revenda
dos dispositivos e de seu conteúdo vai
gerar um grande número de furtos
46
Ações Governamentais
3.
O congresso irá criar mais legislação sobre
proteção das informações dos clientes.
–
As legislaturas encontrarão maneiras de
decretar penalidades severas para as
organizações que perderem as informações
sensíveis de usuários e clientes
47
Alvos de Ataques
4. Ataques com alvo serão mais predominantes,
principalmente em agências do governo.
– Ataques virtuais contra os sistemas do governo
Americano foram muito bem-sucedidos
– Os ataques a organizações comerciais visarão
contratantes militares e negócios com informações
valiosa
5. Worms para telefones celulares irão afetar pelo menos
100.000 celulares.
– Celulares estão se tornando poderosos e com
ambientes para desenvolvimento de software que o
tornam um território fértil para invasores.
6. Sistemas VoIP serão alvos de invasões.
– A tecnologia VoIP foi implantada sem um
conhecimento completo sobre a sua segurança
48
Técnicas de Ataque
7. Spyware vai continuar a ser um problema enorme e
crescente
–
O desenvolvimento de spyware pode fazer dinheiro de
muitas maneiras monitorando os hábitos dos usuários
8. Vulnerabilidades 0-day irão obter um melhor resultado
de ataques em milhares de PCs pelo mundo
–
Pesquisadores de vulnerabilidades podem explorar os
buracos que encontram antes de vendê-las aos
fornecedores ou compradores de vulnerabilidades como
o TippingPoint.
9. A maioria dos agentes serão empacotados com
rootkits,
–
–
O rootkit vai mudar o sistema operacional para esconder
a presença do invasor e fazer a desinstalação do
malware quase impossível
Apenas uma reinstalação do sistema operacional iria
resolver o problema
49
Estratégias de Defesa
10. Controle de acesso a rede será muito comum
e sofisticada
–
–
Defender laptops se torna cada vez mais difícil, as
grandes organizações irão tentar proteger suas redes
e usuários internos testando os computadores que
desejam se conectar.
Os Testes irão aumentar das atuais checagem de
configuração e validação de assinatura de vírus para
um análise mais profunda a procura de traços de código
malicioso
50
Referências
• http://en.wikipedia.org/wiki/Computer_Security
• http://en.wikipedia.org/wiki/Race_condition
• http://www.nmrc.org/pub/faq/hackfaq/
•
•
•
•
•
•
http://en.wikipedia.org/wiki/Time-of-check-to-time-of-use
http://www.read.cs.ucla.edu/111/2006spring/notes/lec2
http://www.bancobpi.pt/pagina.asp?s=1&a=40&p=95&f=611&opt=f
http://pt.wikipedia.org/wiki/Key_logger
http://www.imasters.com.br/artigo/3127
http://www.imasters.com.br/artigo/5179/php/sql_injection_no_php_
o_que_e_e_como_se_proteger/
• http://www.sans.org
• http://www.nmrc.org/pub/faq/hackfaq/
51
Download

Redes Pervasivas - Centro de Informática da UFPE