Controle de Saída em Firewalls Pessoais
Um firewall pessoal é uma das mais poderosas e eficientes medidas de proteção que você pode utilizar para proteger o seu PC. Ele permite que o usuário possa controlar exatamente que tipo de acesso o seu computador vai aceitar, protegendo-o contra worms como o Blaster e o Sasser. O Windows XP SP2 e o Windows Vista vem com o Firewall do Windows ligado por default, e isto é na minha opinião o principal motivo pelo qual nós não temos nenhuma infecção massiva na Internet desde 2004.
É indiscutível portanto o valor de ter um firewall bloqueando as comunicações recebidas por um computador. Agora, qual é o valor de se ter um firewall controlando a comunicação que sai de um computador?
O controle da comunicação de saída não impede que o seu computador seja infectado, e não oferece nenhuma proteção contra worms nem contra uma pessoa tentando acessar indevidamente o seu computador. Isto é um ponto pacífico. No entanto muitos fornecedores de firewall pessoal argumentam que o controle de saída pode impedir que informação pessoal do seu computador seja enviada para um fora, e que o seu computador seja utilizado como "trampolim" para infectar outros PCs.
Este argumento tem valor na teoria, mas acho que não se confirma na prática. Para entender isso, é preciso saber que quando um malware toma conta do seu computador, ele pode fazer qualquer coisa . Se você foi infectado, game over. É relativamente trivial para este malware ultrapassar qualquer defesa que você tenha colocado, inclusive o firewall pessoal. Por exemplo, eu mencionei aqui no blog o Trojan.Srizbi, que um trojan que roda totalmente em modo kernel, e que por isso envia dados do usuário para um sistema remoto ultrapassando qualquer defesa que esteja configurada no sistema - inclusive firewalls pessoais. Não existe como bloquear um componente malicioso do kernel de enviar dados pela rede.
Achar que um firewall pessoal vai impedir uma máquina infectada de se comunicar já é um conceito falso. Mas existe ainda um outro aspecto pior - estes firewalls ainda assumem que o usuário vai poder diferenciar o tráfego de saída legítimo de um tráfego malicioso, o que também não é verdade. Por exemplo, um trojan pode muito bem utilizar a API WinInet (leia-se: Internet Explorer) para enviar informações do usuário para fora. O firewall vai enxergar o IE fazendo uma conexão externa, e das duas uma: ou vai permitir já sem qualquer questionamento, ou vai perguntar para o usuário se o IE pode falar com a Internet. E alguém aposta que o usuário não vai autorizar essa conexão?
Por estes motivos a Microsoft tomou a decisão de não colocar nenhum filtro de saída no firewall do Windows XP. Sem dúvida vários jornalistas iriam gostar disso, mas para o usuário final não haveria nenhum ganho de segurança. Pelo contrário, ele somente daria uma falsa sensação de segurança.
Existe no entanto um cenário onde o controle das conexões de saída é valioso, não como um recurso de segurança mas como um recurso de política corporativa. Por exemplo, uma empresa decide que nenhum do seus PCs vai iniciar conexões para fora da sua rede sem passar pelo proxy, ou um banco configura os seus ATMs somente para falar com um conjunto específico de servidores. Se o usuário do computador não tem privilégios administrativos, um administrador de rede pode forçar uma política obrigando os seus PCs a adotarem a política da organização e seguirem estas regras.
Para este cenário o firewall do Windows Vista implementa o controle de saída. Esta configuração somente pode ser feita através de regras de política configuradas pelo administrador, e o usuário nunca é consultado sobre se a regra deve ser seguida ou não. Com isto organizações ganham uma forma poderosa de definir dentro da sua rede quem pode falar com quem. No Windows Vista o controle de saída ainda é usado para definir quais serviços podem utilizar a rede. Se um determinado serviço não precisa iniciar conexões para outros computadores, isto pode ser expresso na definição do serviço e o firewall irá bloquear qualquer tentativa de comunicação. Este é mais uma medida de defesa em profundidade e mais uma garantia para a segurança dos PCs.
Para um usuário caseiro, ter um firewall filtrando o tráfego de saída continua sendo inútil do ponto de vista de proteção e nada mais do que "teatro de segurança". Quando você ver um fornecedor de firewall usando este argumento, pense nisso.
Comments
Anonymous
January 01, 2003
PingBack from http://geeklectures.info/2008/01/03/controle-de-saida-em-firewalls-pessoais/Anonymous
January 01, 2003
Oi Rodrigo e Luciano, Acho que existe uma diferença fundamental entre o UAC e o controle de saída no firewall pessoal. O UAC, ou na verdade o fato de você rodar em baixo privilégio, ajuda a impedir que o seu computador seja comprometido. Mesmo não sendo perfeito, é mais uma camada de defesa em profundidade. Já o controle de saída no firewall não oferece nenhuma proteção contra o sistema ser comprometido. E uma vez o sistema comprometido, o controle de saída pode ser burlado facilmente como você indicou. Neste cenário onde existe um malware já instalado a sua defesa não vai ser bloquear portas de saída, e sim procurar detectá-lo e se possível removê-lo. Por isso eu vejo valor em sistemas HIDS ou em antivirus, mas nenhum em firewalls de saída. Abraços,Anonymous
January 01, 2003
Oi Rodrigo, É exatamente a isso ao que eu me referi quando falei que um HIDS (trabalhando com assinaturas) poderia ser interessante. Já um firewall de saída (trabalhando com regras) não teria essa capacidade. Abraços,Anonymous
January 01, 2003
Oi Rodrigo, É exatamente a isso ao que eu me referi quando falei que HIDS (trabalhando com assinaturas) poderia ser interessante. Já um firewall de saída (trabalhando com regras) não teria essa capacidade. Abraços,Anonymous
January 03, 2008
Instalei ontem o Comodo Firewall para testar aqui em substituição ao nativo do XP, e realmente é muito ruim ficar autorizando conexões, ainda mais quem não tem conhecimento técnico como a minha esposa. Agora, tenho a mesma sensação ao usar o UAC no Vista.Anonymous
January 04, 2008
Cima, tudo bem? Voce nao acha no entanto que a defesa em camadas neste caso tambem se aplica? Acho que é muito similar ao conceito do UAC do Vista, que é um sistema de segurança 'poroso' como mencionou o próprio pessoal da Microsoft, visando adicionar mais segurança e não garantir a total segurança. Apresentei sobre backdoors contra firewalls de camada de aplicação no hackers to hackers há uns 3 anos atrás, e sem duvidas quando o atacante tem acesso ao kernel do sistema operacional, ou mesmo a determinados softwares utilizados, as defesas deste tipo sao inuteis, mas isso nao quer dizer que nao devam ser utilizadas, apenas nao podem ser superestimadas. Abraços, Rodrigo (BSDaemon).Anonymous
January 04, 2008
O firewall de saida pode ser uma boa forma de se saber que foi invadido (parte da deteccao do comprometimento). Obviamente ele pode ser bypassado, dependendo do nivel do comprometimento obtido, mas nao deixa de ser uma matrica razoavel. A intel tem um projeto interessante, usando SMM e um co-processador que inclusive verifica as caracteristicas do trafego de saida (em termos por exemplo de intensidade) para identificacao de worms potenciais na maquina... Abraços, Rodrigo (BSDaemon).