Title: Exemplo de coisas que d
1Exemplo de coisas que dão erradoSeminário de
Informática Teórica
- Leonardo Monteiro (lmr)
- Rafael Nóbrega (ron)
2Agenda
- Motivação
- Tipos de Ataques
- Vulnerabilidades
- Exemplos Reais
- Redes Sem Fio
- Sans
- Top-20 List
- Top 5 Log Reports
- The Ten Security Trends
3Motivaçã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
4Tipos de Ataque
5Buffer overflow
- Estouro de pilha ou transbordamento de dados,
acontece quando o tamanho de um buffer ultrapassa
sua capacidade máxima de armazenamento.
6Buffer Over Flow
- Pilha de Execução
- Bug strlen(input) gt 7
void check_input(char input) char
buf8 strcpy(buf,input) if (check(buf))
allow_action() return
Ret. Addr.
char input
buf7
buf6
buf1
buf0
7Java 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 ProductsJDK 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
8Denial 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
9Exemplo
SimpleEmail email new SimpleEmail()
email.setHostName("mail.myserver.com")
email.addTo("jdoe_at_somewhere.org", "John Doe")
email.setFrom("me_at_apache.org", "Me")
email.setSubject("Test message")
email.setMsg("This is a simple test of
commons-email") while (true)
email.send()
10SQL Injection
11SQL Injection
12SQL Injection
13Key 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
14Exemplo
- extensão DLL
- extensão EXE
- Programas
- Home Key Logger
- Active Key Logger
- Key Logger RemoteBuddy
15Key Logger
16Vulnerabilidades
17Race conditions
- Ocorrem em software, especialmente quando há
comunicação entre processos separados ou execução
de threads
18Time-of-check-to-time-of-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
19Fraca 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
20Privilé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.
21Exemplos
- 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
22Programação Defensiva
23Programaçã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.
24Programaçã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.
25Exemplos Reais sobre (In)Segurança
26Redes sem fio
27Histórico
- Crescimento
- Economicamente viável
- Taxa de transmissão
- Conectividade entre instituições
- Novo cenário
- Falta de segurança
28Riscos
- Internos
- Rogue WLAN
- Configurações inseguras (VPN)
- Associação acidental
- Externos
- Espionagem
- Roubo de Identidade
- Ataques emergentes
29Vulnerabilidades do WEP (Wired Equivalent Privacy)
- Criptografia RC4
- Simétrica
- Stream Cipher
- 24 bits
- 1/16.777.216
- 5.000 pacotes trocados
30AirSornt
- http//airsnort.shmoo.com
- Qualquer chave
- Três a cinco milhões de pacotes trocados
31SANS Institute
32Sans 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)
33Top 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
34Sistemas 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
35Aplicações Cross-Platform
- 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..
36Dispositivos 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
37Polí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ão-autorizados - Dispositivos Infectados USB Flash Driver,
Notebook, etc. - Monitoramento continuo do fluxo de dados pode
imediatamente identificar dispositivos
não-autorizados na rede
38Seçã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
39Top 5 Log Reports
- Tentativas de obter acesso a partir de contas
existentes - Tentativas fracassadas de acesso a arquivos e
recursos - Mudanças sem autorização de usuários, grupos e
serviços - Sistemas mais vulneráveis a ataques
- Padrão de tráfego de rede suspeito ou
não-autorizado
40Tentativas 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
41Tentativas 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/w
ww/html/articles /var/www/html/cvs /var/www/html/x
mlrpc.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
42Mudanç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 namec0rt3z
uid1050 Group change User c0rt3z added to group
Administrator Service changes for
FS1 antivirus.exe has been stopped evilbackdoor
started sshd restarted
43Sistemas 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
44Padrã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
45Top 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
46Dispositivos Móveis
- 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. - 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
47Ações Governamentais
- 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
48Alvos de Ataques
- 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 - 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. - Sistemas VoIP serão alvos de invasões.
- A tecnologia VoIP foi implantada sem um
conhecimento completo sobre a sua segurança
49Técnicas de Ataque
- 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 - 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. - 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
50Estratégias de Defesa
- 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
51Referê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/l
ec2 - http//www.bancobpi.pt/pagina.asp?s1a40p95f
611optf - http//pt.wikipedia.org/wiki/Key_logger
- http//www.imasters.com.br/artigo/3127
- http//www.imasters.com.br/artigo/5179/php/sql_inj
ection_no_php_o_que_e_e_como_se_proteger/ - http//www.sans.org
- http//www.nmrc.org/pub/faq/hackfaq/