segunda-feira, 29 de julho de 2013

UbiCrypt Summer School - Bochum 2013

A Conviso marcou presença esse ano na escola de verão em engenharia reversa na Universidade de Ruhr, Bochum [1]. Quem atua em pesquisa com foco na área de análise de Malware e código sabe que Ruhr representa um centro de excelência e concentração de bons pesquisadores na Europa (e me arriscaria a dizer no mundo).

Como de costume, a organização germânica não deixou nada a dever. Desde a infra-estrutura para acolher alunos das mais diferentes nacionalidades até a forma como o processo foi executado. Para se inscrever no curso foi necessário resolver um desafio descrito na página do evento [2] e escrever um parágrafo explicando o que lhe motiva a participar do curso. Isso, de certa forma, já tornava o processo de participação minimamente meritocrático e filtrou quem não possui uma base técnica mínima necessária para acompanhar o curso.

O evento em si, foi composto por duas vertentes: (i) a primeira formal e voltada para pesquisa e (ii) a segunda aplicação do conhecimento. Ao decorrer de cinco dias de curso com uma turma composta por 70 alunos trabalhando em tópicos como: Deobfuscation, Unpacking, Windows Internals, Binary Instrumentation, Dynamic Taint Analysis, Engenharia Reversa em código C++ e uma aula mais específica sobre Malwares para dispositivos móveis com foco em Android. Na Quarta-feira ocorreu uma pausa nas aulas e foi realizado um mini seminário com apresentações dos top-artigos de 2012 em Malware Analysis na Europa.  

Foram 3 horas de aulas por dia (das 9 às 12) e um laboratório com desafios práticos na parte da tarde (auxiliado por monitores). Recomendo fortemente à quem decidir participar desse evento nos próximos anos já possuir uma fluência em Python e ser usuário de médio/avançado do IDApro [3] (além de dominar a API do IDAPython [4]).  Todas as aulas são ministradas em Inglês, isso significa que é necessário se comunicar nesse idioma. Por ser uma cidade estudantil (por volta de 40 mil estudantes no Campus de Bochum), os custos com acomodação são relativamente baixos (dois hostels na cidade e o hotel Ibis fica por volta de 30 euros a diária).

Resumo da obra: o evento é para aqueles de coração forte. Para aqueles que gostam de algo mais técnico e específico e uma ótima oportunidade para "o além do networking", que infelizmente representa o objetivo maior de boa parte dos eventos em segurança da informação hoje em dia. Aprender algo de forma estruturada realmente palpável na área. Recomendo fortemente.

terça-feira, 16 de julho de 2013

ROADSEC em Curitiba



O ROADSEC é um evento que irá passar pelas principais capitais do país levando conteúdo de qualidade e dando oportunidade a palestrantes locais.

O evento acontece no dia 21/09/2013 na Universidade Positivo. Realize sua inscrição e obtenha mais informações sobre o evento.

Palestrantes Confirmados

  • Anderson Ramos: Carreira em Segurança da Informação 
  • Thiago Musa: Pagamento Móvel e Segurança - O que Você Deveria Conhecer Sobre Isso 
  • Ulisses Albuquerque: Em Breve 
  • Wagner Elias: Um pouco sobre segurança em desenvolvimento de software

A Conviso é a apoiadora do evento em Curitiba e conta com a sua presença.

quinta-feira, 11 de julho de 2013

Publicado o OWASP Top 10 2013

A nova versão dos Top 10 riscos para aplicações web da OWASP

Saiu a publicação da nova versão oficial do OWASP Top 10 2013 [1]. Ela já estava disponível para visualização e comentários, porém agora foi lançada na versão oficial [2]. Para quem ainda não conhece a OWASP (Open Web Application Security Project) é uma organização internacional, criada em 2003, sem fins lucrativos que visa fornecer recursos, documentos e ferramentas para a melhoria da segurança das aplicações no mundo todo. Mais informações sobre o OWASP e suas atividades poderão sem encontradas em www.owasp.org.

O OWASP Top 10 é um documento que demostra um consenso geral entre os profissionais de segurança, listando os 10 riscos mais comuns entre as aplicações web e definido por ordem de importância. A listagem dessas vulnerabilidades começou em 2004 e normalmente a cada 3 anos é realizado uma revisão da lista de acordo com estatísticas de várias organizações e empresas.

Então, nesses últimos 3 anos tivemos grandes mudanças? Inicialmente veja na tabela abaixo as diferenças entre o Top 10 2010 e o 2013:


Analisando a tabela observaremos que houve algumas mudanças, o A2 não é mais Cross-Site Scripting (XSS) e sim Broken Authentication and Session Management. A razão principal desta mudança é que as falhas de XSS estão sendo mais facilmente encontradas e mitigadas e os frameworks de desenvolvimento já possuem em sua maioria mecanismos de proteção inclusos contra este tipo de falha, embora ainda seja comum encontrar as mesmas em sites e produtos que testamos. Quanto às falhas de autenticação, estas são mais difíceis de serem verificadas e encontradas por scanners automatizados e por isso diversas aplicações web possuem algum problema relacionado, por menor que seja.

O A7 - Insecure Cryptographic Storage  unificou-se com o A9 - Insufficient Transport Layer Protection para formar o A6 - Sensitive Data Exposure, visto que ambos tratavam da proteção de dados sensíveis, o primeiro no armazenamento e o segundo no transporte.

O novo A7 - Missing Function Level Access Control se tornou uma ampliação do antigo A8 - Failure to Restrict URL Access, abordando todos os problemas relativos a controle de acesso da aplicação. Ele visa proteger o acesso não autorizado a funcionalidades do sistema.

E o novo A9 - Using Known Vulnerable Components está relacionado a grande utilização de códigos e bibliotecas de terceiros sem a devida atualização e verificação de segurança dos mesmos. A utilização de frameworks ou bibliotecas vulneráveis pode facilmente tornar seu sistema vulnerável caso alguma falha seja identificada para aquele componente utilizado. Muitas empresas e organizações não dão o devido cuidado a este tipo de problema por achar que um código de terceiro é seguro por natureza. Se todo mundo usa, então não deve ter problema não é mesmo? Ledo engano. É muito importante que durante análises de vulnerabilidades e auditorias de código esses componentes sejam devidamente avaliados e testados em buscas de falhas que possam comprometer toda a aplicação que os utiliza. Alguns exemplos desse tipo de falha e o impacto que elas podem causar podem ser identificadas no Spring Remote Code Execution [3] e o Apache CXF Authentication Bypass (CVE-2012-3451) [4].

Apesar destas mudanças os outros itens permaneceram intactos, mudando apenas de posição no ranking da lista. É importante que sua aplicação esteja protegida destes riscos, mas que não se limite apenas ao Top 10, pois existem outras vulnerabilidades que não são abordadas nesta lista mas que também podem causar grande impacto caso sua aplicação esteja vulnerável.