次の方法で共有


Mais sobre segurança de interfaces Firewire

Em um post anterior nós vimos aqui como uma interface Firewire ou PCMCIA pode ser usada para comprometer um sistema. Para recapitular, essas interfaces estão ligadas ao sistema via expansion bus, e podem acessar diretamente qualquer outro dispositivo ligado ao bus do sistema, como a memória do sistema. O resultado é que um dispositivo Firewire, como um iPod por exemplo, pode ler ou mesmo mudar o conteúdo da memória sem o seu processador (e qualquer software rodando nele) sequer tomar conhecimento.

Isso é mesmo tão ruim quanto possa estar parecendo: um atacante pode virar administrador simplesmente plugando um dispositivo, bypassando qualquer segurança que você tenha implementado via software.

Existe no entanto também uma aplicação white hat interessante para este recurso. Através de uma interface Firewire, um investigador pode fazer a cópia completa e analisar o conteúdo da memória de um sistema, sem interferir em nada no seu funcionamento. Isso permite por exemplo que se possa detectar e realizar uma análise forense mesmo de ataques não-persistentes (i.e. que não sobrevivem a um reboot).

Mas não tão rápido! Em uma palestra na Blackhat DC deste ano, Joanna Rutkowska demostrou que em um sistema AMD64 é possível remapear a interface entre o bus e a memória do sistema, impedindo o acesso de dispositivos ligados via bus a determinadas áreas da memória ou mesmo alimentando um outro conteúdo no lugar do quê realmente estiver carregado naquelas áreas. Um rootkit por exemplo poderia usar este método para se esconder ou ao menos impedir uma análise forense do seu conteúdo. Os slides da apresentação estão disponíveis aqui, e o vídeo com a demonstração do ataque aqui.

Para mim isso reforça a convicção que ninguém mais pode considerar o hardware como sendo confiável, e que cada vez mais vamos ver ataques onde não só o software mas também o hardware foi comprometido. E com o crescente uso de virtualização isso vai ser ainda mais verdade, já que o chamamos de "hardware" na verdade vai passar a ser também puro software. Ironicamente no entanto acho que é isso o que vai nos salvar - usando virtualização talvez seja possível criar um "hardware" mais seguro e confiável do que o hardware que nós usamos hoje. Mais sobre isso no próximo post.