Exemplo de coisas que do errado Seminrio de
- Slides: 51
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 • Do. S (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. – DDo. S * Diversas Máquinas Simultaneamente Inundam o site 8
Exemplo Simple. Email email = new Simple. Email(); email. set. Host. Name("mail. myserver. com"); email. add. To("jdoe@somewhere. org", "John Doe"); email. set. From("me@apache. org", "Me"); email. set. Subject("Test message"); email. set. Msg("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 Remote. Buddy 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-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 } 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 RC 4 – – – Simétrica Stream Cipher 24 bits 1/16. 777. 216 5. 000 pacotes trocados 29
Air. Sornt • http: //airsnort. shmoo. com • Qualquer chave • Três a cinco milhões de pacotes trocados 30
SANS Institute
Sans Institute • SANS Institute – (Sys. Admin, 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 – – – – W 1. Internet Explorer W 2. Windows Libraries W 3. Microsoft Office W 4. Windows Services W 5. Windows Configuration Weaknesses M 1. Mac OS X U 1. UNIX Configuration Weaknesses • Cross-Platform Applications – – – – C 1 Web Applications C 2. Database Software C 3. P 2 P File Sharing Applications C 4 Instant Messaging C 5. Media Players C 6. DNS Servers C 7. Backup Software C 8. Security, Enterprise, and Directory Management Servers • Network Devices – N 1. Vo. IP Servers and Phones – N 2. Network and Other Devices Common Configuration Weaknesses • Security Policy and Personnel – H 1. Excessive User Rights and Unauthorized Devices – H 2. Users (Phishing/Spear Phishing) • Special Section – Z 1. 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 v 7 * Trocar de Browser * Microsoft Drop. Myrights – Menor Privilégio 34
Aplicações Cross. Platform • Frameworks e aplicações web (PHP, . NET, J 2 EE, 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 • Vo. IP – Obtendo o controle do servidor Vo. IP ou do telefone um invasor pode fazer * Vo. IP phishing scams, * eavesdropping (violação de confidencialidade), * toll fraud (acesso não-autorizado) * ataques denial-of-service – Nos servidores Vo. IP com interface SS 7 (sinal de telefone tradicional) e rede IP, um invasor pode manipular o sinal SS 7 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, Power. Point, 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 FS 1: New user: name=c 0 rt 3 z uid=1050 Group change: User c 0 rt 3 z added to group Administrator Service changes for FS 1: 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: smtp 1 outbound to 1. 2. 3. 4 on TCP/80 performed 7 times Suspicious Outbound Traffic: accounting 1 outbound to 1. 2. 3. 4 on TCP/25 performed 1 time accounting 1 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 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 Vo. IP serão alvos de invasões. – A tecnologia Vo. IP 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 Tipping. Point. 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/2006 spring/notes/lec 2 • 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
- Batatinha quando nasce espalha a rama pelo chão
- Fernando pessoa se estiver tudo errado
- Se estiver tudo errado comece novamente fernando pessoa
- Valores errados
- Pente rima com quê
- Fale sempre a verdade
- Deixo livre as coisas que amo
- Coisas que aprendi com voce
- Coisas que a vida ensina depois dos 40
- Ter amigos é como arvorear
- Isaias 43 18
- A gente vive esperando que as coisas mudem
- Coisas que a vida ensina
- Seja nosso senhor jesus cristo
- Quando você pensava que eu não estava olhando
- Coisas que aprendi na vida
- As coisas que aprendi na vida
- Tem coisas que deus vai te mostrar
- Todas as coisas passarão
- Coisas bonitas para dizer
- Todas as coisas na terra passam
- Posso todas as coisas em cristo
- Julgai todas as coisas
- Existem coisas na vida
- A mais bela de todas as coisas
- Aprender a separar as coisas
- Mimeógrafo de gelatina
- Colocar as coisas em perspectiva
- Como colocar deus em primeiro lugar na prática
- Amarás a deus sobre todas as coisas
- Amai a deus acima de todas as coisas
- Mario quintana no poema as coisas traduziu o sentimento
- Internet das coisas
- Questão 01
- Sujeito composto
- Associe a propriedade com a palavra correspondente
- Coleta web do cadastro sincronizado
- Imagens de texto narrativo
- Canvas
- Passiva sintética
- Diagnóstico nutricional exemplo
- Holliday segar
- Como fazer um registro de enfermagem
- Diagrama de componentes exemplo
- Letra de câmbio exemplo
- Texto dialogal exemplos
- Texto narrativo características
- Resumo
- Personagens texto narrativo
- Exemplos de textos temáticos
- Texto temático
- Decantação exemplos