exemplo de coisas que dão errado seminário de informática teórica
DESCRIPTION
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. Motivação. - PowerPoint PPT PresentationTRANSCRIPT
Exemplo de Exemplo de coisas que dão coisas que dão erradoerradoSeminário de Seminário de Informática TeóricaInformática Teórica
Leonardo Monteiro (lmr)
Rafael Nóbrega (ron)
2
AgendaAgenda
•Motivação•Tipos de Ataques•Vulnerabilidades•Exemplos Reais
– Redes Sem Fio– Sans
*Top-20 List*Top 5 Log Reports*The Ten Security Trends
3
MotivaçãoMotivaçã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
Tipos de Tipos de AtaqueAtaque
5
Buffer overflowBuffer overflow
• Estouro de pilha ou transbordamento de dados, acontece quando o tamanho de um buffer ultrapassa sua capacidade máxima de armazenamento.
6
Buffer Over FlowBuffer Over Flow
• Pilha de Execução:
• Bug: strlen(input) > 7
Ret. Addr.
char *input
buf[7]
buf[6]
…
buf[1]
buf[0]
void check_input(char *input) {char buf[8];strcpy(buf,input);if (check(buf)) allow_action();return;
}
7
Java Buffer OverflowJava 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
http://www.zerodayinitiative.com/advisories/ZDI-07-005.html
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
8
Denial of ServiceDenial 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
9
ExemploExemplo
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(); }
10
SQL InjectionSQL Injection
11
SQL InjectionSQL Injection
12
SQL InjectionSQL Injection
13
Key loggerKey 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
14
ExemploExemplo
•extensão DLL •extensão EXE•Programas
– Home Key Logger– Active Key Logger– Key Logger RemoteBuddy
15
Key LoggerKey Logger
VulnerabilidaVulnerabilidadesdes
17
Race conditionsRace conditions
• Ocorrem em software, especialmente quando há comunicação entre processos separados ou execução de threads
18
Time-of-check-to-Time-of-check-to-time-of-use time-of-use (TOCTTOU)(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
19
Fraca checagem de Fraca checagem de entradaentrada
• 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
20
Privilégio Privilégio DesnecessárioDesnecessá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.
21
ExemplosExemplos
• 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
Programação Programação DefensivaDefensiva
23
Programação Programação DefensivaDefensiva
• 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.
24
Programação Programação DefensivaDefensiva
•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.
Exemplos Exemplos Reais sobre Reais sobre (In)Segurança(In)Segurança
Redes sem fioRedes sem fio
27
HistóricoHistórico
•Crescimento– Economicamente viável– Taxa de transmissão– Conectividade entre instituições
•Novo cenário– Falta de segurança
28
RiscosRiscos
• Internos– Rogue WLAN– Configurações inseguras (VPN)– Associação acidental
•Externos– Espionagem– Roubo de Identidade– Ataques emergentes
29
Vulnerabilidades do Vulnerabilidades do WEP WEP ((Wired Equivalent Wired Equivalent PrivacyPrivacy))
•Criptografia RC4– Simétrica– Stream Cipher– 24 bits– 1/16.777.216– 5.000 pacotes trocados
30
AirSorntAirSornt
•http://airsnort.shmoo.com•Qualquer chave•Três a cinco milhões de pacotes
trocados
SANS SANS InstituteInstitute
32
Sans InstituteSans 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)
33
Top 20 List 2006Top 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
34
Sistemas Sistemas OperacionaisOperacionais
• 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
35
Aplicações Cross-Aplicações Cross-PlatformPlatform
• 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..
36
Dispositivos de RedeDispositivos 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
37
Política de Política de SegurançaSeguranç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
38
Seção EspecialSeçã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
39
Top 5 Log ReportsTop 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ão-autorizado
40
Tentativas de obter Tentativas de obter acesso a partir de acesso a partir de contas existentescontas 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 timesjdoe from 1.2.3.4 against example-host performed 16 times
41
Tentativas fracassadas de Tentativas fracassadas de acesso a arquivos e acesso a arquivos e recursosrecursos
• 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
42
Mudanças sem Mudanças sem autorização de autorização de usuários, grupos e usuários, grupos e serviçosserviç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=1050Group change: User c0rt3z added to group AdministratorService changes for FS1:antivirus.exe has been stoppedevilbackdoor startedsshd restarted
43
Sistemas mais Sistemas mais vulneráveis a vulneráveis a ataques 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
44
Padrão de tráfego de Padrão de tráfego de rede suspeito ou não-rede suspeito ou não-autorizadoautorizado
• 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 timesSuspicious Outbound Traffic:accounting1 outbound to 1.2.3.4 on TCP/25 performed 1 timeaccounting1 outbound to 1.2.3.5 on TCP/25 performed 1 time
45
Top 10 Security Top 10 Security TrendsTrends
•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
46
Dispositivos MóveisDispositivos 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
47
Ações Ações GovernamentaisGovernamentais
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
48
Alvos de AtaquesAlvos 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
49
Técnicas de AtaqueTé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
50
Estratégias de Estratégias de DefesaDefesa
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
51
ReferênciasReferê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/