O envenenamento de cache DNS é um problema separado de ter um firewall de caixa virtual. Nenhum dos quais irá criptografar sua sessão de internet. Eu acho que você quer usar um túnel SSH para um servidor confiável, como isso irá protegê-lo de ataques de envenenamento de DNS locais (mas 'eles' ainda podem atacar seu servidor confiável: -)
Na minha opinião, e com meus recursos, é muito mais fácil executar um túnel SSH em um dos meus servidores confiáveis e acessar a Internet por meio disso (para me proteger de uma WLAN hostil).
Além disso, acho que no OSX você deve ter mais do que serviços capazes de fazer o firewall: não há um aplicativo pf ou iptables para sua versão do OSX?