O Que é e Como Funciona o AVC (Application Visibility & Control)
Não, senhoras e senhores, não estamos falando de Acidente Vascular Cerebral, mas sim de Visibilidade e Controle de Aplicações.
Essa 'feature' já é bastante tradicional nos dias de hoje, presente não apenas nos 'Proxy' mas também em NGFW (Firewall de Nova Geração), UTMs e até complementando IPSs.
Para traduzir a importância dessa feature, conto-lhes uma história real vivida por mim:
Há muitos anos, enquanto trabalhando como cliente final, me deram a tarefa de bloquear o Orkut na rede (sim, faz um tempo mesmo). Naquele tempo, tudo que eu tinha era um Firewall Tradicional. Como fazê-lo? Simples: um Firewall Tradicional consegue operar baseado em regras de Camada 3 (IP) e Camada 4 (Porta), portanto, IP/Porta é tudo que eu tinha. Orkut operava com SSL/TLS, portanto, porta 443. No entanto, essa mesma porta era utilizada por diversas outras páginas Web (Bancos, Compras Online...), logo, não era uma opção bloqueio na porta 443.
Resta portanto IP: consegui alcançar o objetivo buscando no Google por uma lista de todos os endereços de IP utilizados pelo Orkut (uma lista com mais de 100 endereços). Logo, pude me autenticar no Firewall para criar mais de 100 regras de ACL bloqueando individualmente cada um dos IPs.
Por uma certa quantidade de dias isso funcionou bem: o Orkut estava sendo bloqueado com sucesso! No entanto, aos poucos mais e mais usuários da rede foram conseguindo acessar o Orkut, enquanto outros não. O que aconteceu? O Orkut alterava (adicionava, mudava) os IPs dos servidores, logo, para alguns ocorria bloqueio, para outros não.
Isso transformou-se em uma atividade corriqueira semanal de buscar pelos atuais endereços de IP do Orkut e criar regras no Firewall... em menos de 2 meses já não havia mais como controlar as regras no Firewall e o caos estava instalado.
Qual é a solução para todos os problemas acima?
AVC - Application Visibility and Control!
O AVC permite que dispositivos possam sair do mundinho de Camadas 3 e 4 e subir até a Camada 7 (a Camada de Aplicação) para aplicar suas regras. Dessa forma, é possível deixar de criar uma regra baseada nos IPs do Orkut mas sim no próprio Orkut, baseando-se em características de assinaturas dessa aplicação.
Podemos ver na imagem acima como é fácil criar uma regra de Bloqueio para a aplicação Orkut. Não importa qual é (são) o(s) IP(s) associados, estamos olhando para a Aplicação!
Nota: o Orkut já é falecido há muito tempo!
Hoje em dia, essa funcionalidade de visão e controle evoluiu assustadoramente, ao ponto que é possível não apenas fazer bloqueios baseado em aplicação mas também nas MICRO-aplicações.
Micro-aplicação? O que é isso?
São os micro-serviços que pertencem às aplicações. Por exemplo: A aplicação Facebook tem diversas micro-aplicações: O Like, o Post, o Messenger, os Games (Candy Crush por exemplo).
Veja na imagem como é fácill criar uma regra de bloqueio que leve em conta a aplicação Facebook ou as suas micro-aplicações, como o Facebook Like, Event, Apps, Games, etc.
Como funciona o AVC?
Eis que vem a pergunta-chave: como é possível? Que tipo de informação caracteriza uma aplicação?
Existem diversas maneiras de AVC funcionar. A mais tradicional de todas é fazer a associação da aplicação desejada com um PCAP da mesma. O "Packet Capture" (PCAP) é um retrato do funcionamento de uma aplicação e que serve para mostrar todas as características de cabeçalhos e payload da mesma. Dessa forma, através da captura de alguns pacotes em produção, a solução AVC (seja ela um Proxy, NGFW...) pode comparar esses pacotes com as assinaturas (PCAPs) que conhece para chegar a uma conclusão.
E se a aplicação for criptografada?
Sim, bela pergunta. Afinal de conta a quantidade de aplicações com SSL/TLS não pára de crescer.
Neste caso, além de informações de cabeçalho, é utilizado também o Certificado Digital apresentado pelo servidor para ajudar na conclusão de que aquela página é quem ela diz ser.
Veja, por exemplo, o certificado digital apresentado pelo Facebook no momento da negociação TLS. Existe muita informação aí que pode ser utilizada para detectar que a aplicação é mesmo Facebook e, somado a cabeçalhos de pacotes, afirmar e tomar ações baseado nisso.
Então AVC é sempre 100% assertivo?
Não, de forma alguma. O maior problema não é "falso-positivo", ou seja, uma aplicação sendo bloqueada porque deu match com outra. O maior problema é que muitas vezes não há informação suficiente para definir qual é a aplicação ou que alguma mudança do lado da aplicação foi feita e agora os PCAPs deixam de ser representativos daquela aplicação, logo, não detectando-as.
De qualquer forma, AVC mudou a maneira como adicionamos VISÃO e CONTROLE nas redes de hoje. Graças à AVC podemos tirar relatórios extremamente granulares do uso das aplicações e dizer que, por exemplo, o João consumiu 1Gb de dados com o Youtube ou ter promoções de empresas de telefonia que não cobram por dados trafegados em WhatsApp, Facebook e Instagram.
Portanto, obrigado AVC.
Marcos Cavinato é Engenheiro Consultor de Segurança da Informação em uma das maiores multinacionais do ramo. É certificado CISSP #604399, Instrutor do Curso de Segurança em Redes de Computadores aqui na SegInfoBrasil e criador do Canal Segurança Cavinato no Youtube.