quarta-feira, 30 de março de 2016

Badlock - estamos aqui pelo lucro

O mercado de marketing parece estar começando um namoro com o mercado de segurança de informação. Desde a aparição da falha Heartbleed Blug, falhas de segurança agora começam a ter nomes mais atrativos do que apenas códigos CVE.
Algumas falhas de segurança ganharam site, logo e nomes atrativos, como foi o caso do Heartbleed, o DROWN Attack, e mais recentemente o Badlock.
Anunciado como uma falha nos servidores SAMBA e relacionado a estações Microsoft, o site que anuncia o Badlock e  site não apresenta a falha, apenas anuncia que esta será apresentada ao público no dia 12 de abril deste ano, não por coincidência, neste dia a Microsoft irá lançar um patch de segurança para seus sistemas. 
O que gera polêmica, foi a divulgação da existência da falha de segurança, antes da apresentação do respectivo pacote de correção. A empresa ServNet, possui em seu time o desenvolvedor David Litchfield, um grande nome dentro do projeto Samba, além de outros quatro desenvolvedores do projeto Samba, entre eles Stephan Metzmatcher, quem descobriu a vulnerabilidade. Como a vulnerabilidade afeta sistemas SAMBA  e Windows, vem se especulando que a falha seja sobre a implementação do protocolo SMB/CIFS, porém nada foi confirmado oficialmente pela ServNet.
Além da publicação da falha, David Litchfield vem twitando pequenas "pistas" sobre qual seria a falha encontrada. 
Todo este alvoroço sobre a falha de segurança surpresa é uma boa jogada de marketing, já que a ServNet é uma empresa que fornece suporte e consultoria SAMBA.
Na minha opinião, se você tem uma empresa de consultoria, claro que almejaria contratar os grandes nomes por trás dos produtos com que você trabalha. Se encontrasse um ponto sensível, claro que faria alvoroço. Porém, anunciar uma falha de segurança três semanas antes da correção? Lançar vários hackers em uma corrida do ouro, que pode significar um 0-Day com possíveis milhares de pontos sensíveis?
Aqui parece que temos um caso entre os limites da ética e do marketing. O que você faria se uma empresa de segurança veicular criasse um site dizendo que existe uma falha que permite que qualquer um roube o seu carro? Irresponsabilidade ou chantagem? Você decide.

terça-feira, 22 de março de 2016

Martela o martelão - Row Hammering

     O distúrbio apelidado de “Row Hammering”, que consiste na manipulação de setores de memória sem possuir acesso direto à estes,  começou a levantar o interesse de grupos de segurança.
     No dia 9 de março de 2015, a iniciativa de segurança Project Zero Google, publicou um post em seu blog, tendo como base o artigo científico “ Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors” (Alterando bits de memória sem acessá-los: um estudo experimental sobre os erros em distúrbios da DRAM, em tradução livre). 
     O post coloca de forma simplificada o artigo científico, explicando que o distúrbio consiste na ideia de que varias mudanças de dados entre duas células de informação de forma rápida e constante podem influenciar uma terceira, através de interferência eletromagnética, isto é possível, já que as células de memória são cada vez menores e alinhadas de forma mais próxima. Como o ataque depende da posição física da memória, a célula atacada, pode estar em um espaço fora da memória virtual do processo, possibilitando ataques de escalonamento de privilégio, saída de sandbox, etc. O time Project Zero conseguiu desenvolver dois exploits baseados no Row Hammering: o primeiro deles, consistia no escape da sandbox NaCi, utilizada no navegador Chrome e o segundo consistia em um escalonamento de privilégio em sistemas Linux. Como o primeiro exploit consistia em um perigo potencial para os navegadores da empresa, uma forma de contornar o problema foi desabilitar a instrução CLFLUSH da sandbox NaCi, necessária para o funcionamento  do exploit.
     Porém, este ajuste pode não ser suficiente, já que pesquisadores da universidade de Cornell publicaram um paper em que propõem um ataque de row hammering através de puro javascript! A prova de conceito row-hammer.js apresentou resultados positivos em um caso muito específico: um Lenovo x230 Ivy Bridge Laptop, com as configurações padrão com microarquitetura Haswell CPU (presente na linha Intel i). Porém ainda não foi apresentada a implementação de um exploit baseado nesta prova de conceito. 
     Esta vulnerabilidade era primeiramente tida como excepcionalmente de modelos de memória DDR3. Porém, em um paper publicado pela  Third I/O, uma empresa provedora de banda larga de Austin, Texas, parece mostrar que o distúrbio pode ser explorado em memórias DDR4, mesmo que possuam a tecnologia ECC (error-correction code), na nova abordagem da empresa Third I/O, eram aplicados padrões de informação randômicos em setores de memória.
     Parece que o maior obstáculo para a criação de ataques efetivos do row-hammering é a coincidência de um posicionamento físico próximo entre as células de memória e um posicionamento virtual que forneça uma boa vantagem, porém agora com a crescente curiosidade dos pesquisadores e hackers de plantão, talvez nos próximos meses novidades interessantes poderão ser vistas.
     Um distúrbio de hardware de uma ordem desta magnitude, e um possível vetor que pode ser aplicado em qualquer site é um prato tentador para qualquer indivíduo disposto a fazer algum estrago. =)

Links:
http://googleprojectzero.blogspot.com.br/2015/03/exploiting-dram-rowhammer-bug-to-gain.html (Post do Project Zero)
http://arstechnica.com/security/2015/08/dram-bitflipping-exploit-for-attacking-pcs-just-add-javascript/ (Row Hammering através de javascript)
http://arstechnica.com/security/2016/03/once-thought-safe-ddr4-memory-shown-to-be-vulnerable-to-rowhammer/ (row-hammering pode afetar DDR4)