terça-feira, 30 de setembro de 2014

ShellShocker - Vulnerabilidade no Bash

Você provavelmete ouviu falar sobre a #ShellShocker, vulnerabilidade no bash que afeta sistemas Unix-like (Ubuntu, Debian, OSX, etc). Basicamente o problema é a injeção de código malicioso em uma variável de ambiente fazendo que o bash execute esse código. Se a aplicação estiver rodando como root o problema é ainda maior.

Para um serviço a ser vulnerável a Shell Shock, três condições devem ser atendidas:

     * É necessário definir uma variável de ambiente, cujo valor (não necessariamente o nome) é controlado pelo invasor e, particularmente, devem começar com "() {";
     * Deve chamar o bash;
     * O sistema deve estar executando uma versão vulnerável do bash;

Para testar se você está vulnerável:


CVE-2014-6271
    env X='() { :; }; echo "CVE-2014-6271 vulnerable"' bash -c id

CVE-2014-7169
    env X='() { (a)=>\' bash -c "echo date"; cat echo

CVE-2014-7186
    bash -c 'true <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF' || echo "CVE-2014-7186 vulnerable, redir_stack"

CVE-2014-7187
    (for x in {1..200} ; do echo "for x$x in ; do :"; done; for x in {1..200} ; do echo done ; done) | bash || echo "CVE-2014-7187 vulnerable, word_lineno"
  

Como corrigir:


RedHat, CentOS, Fedora:
sudo update bash

Ubuntu, Debian:
sudo apt-get update && sudo apt-get install --only-upgrade yum bash

OSX:
Correção da Apple para o OSx
   

Possíveis vetores de ataque:

* CGI
* SSH
* DHCP
* Inetd
* Serviços de Email: Postfix, Exim, qmail, Procmail
* OpenVPN
* Stunnel


POC:

https://github.com/mubix/shellshocker-pocs/blob/master/README.md


Verificar automaticamente se um site está vulnerável:

http://check.shellshock.info/


Fonte: http://blog.sucuri.net/2014/09/bash-shellshocker-attacks-increase-in-the-wild-day-1.html

May The Source be with You!

segunda-feira, 22 de setembro de 2014

Coursera e Universidade de Maryland lançam programa de especialização em cybersegurança

A plataforma de MOOC em parceria com a Universidade de Maryland (EUA) está lançando uma série de cursos como parte de um programa de especialização em cybersegurança.

São ofertados 4 cursos que têm relação com a área de Segurança da Informação:
* Usable Security
* Software Security
* Cryptography
* Hardware Security

O curso "Usable Security" começou na última semana (15/09/2014) e é focado no projeto e construção de sistemas seguros com foco em HCI /* interação humano-computador */ e trata da problemática segurança vs. usabilidade.
Ele é ministrado pela Dra. Jennifer Golbeck, diretora do Laboratório de IHC e professora da Univ. de Maryland. Em 2006 ela foi selecionada como uma das "IEEE Intelligent Systems Top Ten to Watch", uma lista dos principais jovens pesquisadores de IA da IEEE.
O curso "Software Security" (20 de outubro) trata do ciclo de vida seguro do desenvolvimento de software; codificação segura: incluindo falhas de buffer overflow, erros aritméticos, cross-site scripting, SQL injection, condições de corrida, aleatoriedade ruim, vazamento de informações e como remediar tudo isso; Além de testes e auditoria: diferença de testes funcionais vs. testes de segurança, técnicas de pentest, incluindo Fuzz Testing e ferramentas de análise estática e dinâmica.
As aulas são dadas pelo professor do Dpto. de Ciência de Computação da Univ.d e Maryland, o premiado Michael Hicks.
Já o curso de criptografia (10 de novembro), ministrado pelo Prof. Jonathan Katz, trata, dentre outros assuntos dos princípios da criptografia moderna, criptografia de chave privada/pública, autenticação de mensagens, funções hash e assinaturas digitais.
O último curso, "Hardware Security" (5 de janeiro/2015), é focado nos fundamentos do design de lógica digital. Mostra os ataques físicos aos sistemas digitais populares como smartcards e sistemas baseados em FPGA; Ataques como análise de energia, de tempo, e eletromagnéticos e suas contramedidas; Além de tópicos emergentes como: Trust Platform Modules (TPM), Physical Unclonable Functions (PUF), True Random Number Generators (TRNG), tags RFID e proteção da propriedade intelectual.

Recomendado para estudantes de matemática, ciência da computação, engenharia da computação ou engenharia elétrica, com alguma familiaridade com programação /* de preferência em C/C ++ ou Java e C# */ e exposição prévia a algoritmos e lógica digital.