Prévia do material em texto
AULA 4 SEGURANÇA DE REDES DE COMPUTADOR Prof. Luis Gonzaga de Paulo 2 TEMA 1 – SEGURANÇA DA COMUNICAÇÃO Após termos conhecido algumas das principais questões ligadas à segurança em geral e à segurança dos dados, incluindo protocolos e algoritmos criptográficos, vamos tratar das questões de segurança relativas ao ambiente de redes, isto é, à comunicação de dados. De uma forma geral, podemos dizer que essa segurança tem por finalidade garantir que os bits da informação digital possam trafegar pelos meios de transmissão e pelos ativos de rede, de forma confidencial, sem alterações indevidas, evitando a interferência externa, de modo a serem aproveitados por ambos os interlocutores. Certamente, não são esses os únicos objetivos da segurança da comunicação, porém são os mais ligados diretamente à segurança da informação. Em redes de computadores, os controles de segurança da camada de rede são usados como forma de proteger as comunicações, notadamente em redes abertas como a internet, pois podem oferecer proteção para diversas aplicações sem a necessidade de alterá-las. Leitura recomendada Tanenbaum (2011) — Capítulo 8, p. 510–514; Stallings (2015) — Capítulo 16, p. 388–394. 1.1 IPSec Diversos protocolos de segurança em tempo real evoluíram para prover a segurança da rede, de modo a garantir as características básicas da segurança, como a privacidade, a autenticação, a integridade e o não repúdio. Conforme mostraremos na Tabela 1, a maioria desses protocolos atua nas camadas mais altas da pilha de protocolos Open System Interconnection (OSI), para compensar a falta de segurança no protocolo Internet Protocol (IP). Essa alternativa é viável, porém não pode ser empregada para uso geral. O protocolo Secure Socket Layer (SSL), por exemplo, foi desenvolvido para atender ao HyperText Transfer Protocol (HTTP) ou ao File Transfer Protocol (FTP). Entretanto, há diversas outras aplicações que necessitam de segurança. 3 Tabela 1 – Segurança na pilha de protocolos ISO/OSI. O protocolo desenvolvido para garantir a segurança na camada de rede é o Internet Protocol Security (IPsec), descrito nas Request for Comments (RFC) n. 2.401, n. 2.402 e n. 2.406. O IPsec funciona com o Transmission Control Protocol (TCP) e com o User Datagram Protocol (UDP), além de com qualquer outro protocolo IP, como o Internet Control Message Protocol (ICMP) e o Open Shortest Path First (OSPF). O IPsec protege o pacote apresentado à camada IP, incluindo os cabeçalhos de camada superior. Como estes estão ocultos — tal como o que transporta o número da porta —, a análise de tráfego fica mais difícil. O IPsec atua entre host, e não entre os processos. Assim, a segurança pode ser adotada sem exigir alterações em computadores/aplicativos de usuários individuais. Amplamente utilizado para fornecer comunicação segura entre entidades de rede, o IPsec também pode fornecer segurança de host para host. Porém, o uso mais comum do IPsec é fornecer uma rede privada virtual — virtual private network (VPN) —, conforme mostraremos na Figura 1, seja entre dois sites (gateway a gateway) ou entre um usuário remoto e uma rede corporativa (host a gateway). Camada Protocolos de Comunicação Protocolos de Segurança Aplicação HTTP, FTP e SMTP HTTPS, PGP, S/MIME Transporte TCP e UDP SSL, TLS e SSH Rede IP IPSec 4 Figura 1 – Uma Rede Privativa Virtual (VPN) As funções de segurança importantes fornecidas pelo IPsec atendem às várias características da segurança da informação: Confidencialidade: permite que os nós da rede criptografem as mensagens e, assim, impeçam a interceptação por terceiros. Autenticação (de origem) e integridade de dados: fornecem garantia de que um pacote recebido foi realmente transmitido pela parte identificada como a origem no cabeçalho do pacote. Confirma se o pacote foi alterado ou não. Gerenciamento de chaves: permite a troca segura de chaves. Além disso, oferece proteção contra os ataques de repetição. O conjunto IPsec pode ter duas operações separadas, quando executado em uníssono, fornecendo um conjunto completo de serviços de segurança. Essas duas operações são Comunicação IPsec e Troca de Chaves da Internet — Internet Key Exchange (IKE). A Comunicação IPsec normalmente está associada à funcionalidade IPsec padrão, o que compreende encapsulamento, criptografia e hashing dos datagramas IP. Ela manipula todos os processos de pacotes e é a responsável por gerenciar a comunicação de acordo com as associações ou com as conexões 5 de segurança — Security Association (SA), disponíveis e estabelecidas entre as partes em um processo de comunicação. Ademais, a Comunicação IPsec utiliza os protocolos de segurança como o cabeçalho de autenticação — Autentication Header (AH) e os dados seguros encapsulados — Encapsulated Security Payload (ESP). Tal comunicação não trata da criação de gerenciamento de chaves. Por fim, a operação de comunicação IPsec em si, geralmente, é denominada IPsec. O Internet Key Exchange (IKE), por sua vez, é o protocolo de gerenciamento de chaves automático usado para o IPsec. Do ponto de vista técnico, tal gerenciamento não é essencial para a comunicação IPsec, e as chaves podem ser gerenciadas manualmente, o que, entretanto, não é aconselhável para as grandes redes. O IKE é responsável pela criação de chaves para o IPsec e por fornecer autenticação durante o processo de estabelecimento da chave. Embora o IPsec possa ser usado para qualquer outro protocolo de gerenciamento de chaves, o IKE é utilizado por padrão. Este define dois protocolos (Oakley e Skeme) para serem usados com a estrutura de gerenciamento de chaves já definida. O Protocolo de Gerenciamento de Chave e Associação Segura na Internet — Internet Security Association Key Management Protocol (ISAKMP) não é específico do IPsec, mas fornece a estrutura para a criação de SAs para qualquer protocolo. O IPSec geralmente é utilizado de duas formas: modo transporte e modo túnel. No modo transporte, no qual um cabeçalho IPSec é anexado ao cabeçalho IP — alterando o campo cabeçalho e contendo informações de segurança —, como o identificador da SA, o próximo número de sequência e a validação da integridade dos dados. Já no modo túnel, o pacote IP é inteiramente encapsulado em um novo pacote, cujo cabeçalho é totalmente novo. Esse modo é típico de conexões que finalizam em um gateway ou em um firewall, que se encarrega de tratar o IPSec. Esse modo impede que um intruso identifique a origem, o destino e a quantidade de informação em uma conexão TCP. O campo Hashed Message Authentication Code (HMAC) contém um resumo da chave simétrica e do pacote. 6 1.2 VPN Uma rede privada virtual — Virtual Private Network (VPN), como o próprio nome revela, é uma rede de uso privado, isto é, que promove privacidade em um ambiente de rede pública — como a internet. Uma rede privada física requer uma infraestrutura de comunicações específica e implica em fixação dos pontos de conexão, o que impacta negativamente quanto à flexibilidade e aos custos. Por meio de uma VPN, podemos enviar e receber dados em uma rede pública ou compartilhada, tal como se eles estivessem conectados diretamente. Além disso, é elogiável a funcionalidade, por meio políticas de segurança e de gerenciamento de qualquer rede privada, por exemplo. As conexões virtuais ponto a ponto de uma VPN são estabelecidas com o uso de conexão e de criptografia dedicadas. O acesso aos recursos da rede ocorre do mesmo modo que em uma rede interna ou privada, sem nenhuma diferença para o usuário. A VPN criptografa o tráfego IP, de modo a transportá-lo com segurança por uma rede TCP/IP. A VPN usa um protocolo de encapsulamento para criptografar o conteúdo do pacote e envolvê-lo em um não criptografado. Osdispositivos no ponto final do túnel da VPN criptografam e descriptografam pacotes. A descriptografia e o acesso ao conteúdo dos pacotes só podem ser feitos pelos pontos finais do túnel. 1.2.1 Benefícios Um dos vários benefícios do uso de uma VPN em uma rede é permitir que o usuário remoto acesse os serviços sem problemas ou dificuldades. Entre os benefícios, podemos enumerar: A segurança: como geralmente se usa uma rede pública para conexão e comunicação, a segurança é a maior preocupação, razão pela qual a VPN utiliza protocolos avançados de criptografia e de autenticação. Assim, a rede está protegida contra acesso não autorizado e captura de tráfego. Redução de custos: a criação de túneis VPN para comunicação remota é muito mais barata do que a utilização de linhas dedicadas, além de mais flexíveis. 7 Escalabilidade: a facilidade de uso remoto e por dispositivos móveis é notória para quem precisa estar conectado durante trabalhos externos, em eventos e em viagens. Além disso, ao operar sob uma VPN, as principais características da segurança da informação são atendidas. Podemos elencar: Confidencialidade: a VPN mantém os dados ocultados, protegendo-os contra o acesso de usuários não autorizados. Autenticação: uma VPN garante que o remetente do pacote de dados seja alternativamente um dispositivo, uma fonte original ou um legítimo, em vez de algum dispositivo usado por um invasor. Integridade: a VPN garante que os dados não sejam alterados durante o trajeto entre a origem e o destino, protegendo-os contra qualquer falha ou alteração durante a transmissão. Rejeito a replicação: o destinatário pode identificar e rejeitar pacotes antigos ou duplicados, protegendo-se contra os ataques de repetição. Não-repúdio: pode-se comprovar que a comunicação ocorreu entre as outras partes. O não-repúdio é necessário para que as comunicações sejam auditáveis, rastreadas e que seja possível provar que elas realmente ocorreram. 1.2.2 Tecnologias A VPN usa diversas tecnologias para garantir a segurança das informações em trânsito pela rede. Entre essas, cabe ressaltar as seguintes: IPSec (também denominado Protocolo de Segurança da Internet): é a tecnologia amplamente empregada na construção de VPNs. É usado com os protocolos IP e pode criptografar todo o tráfego suportado por eles. Assinaturas digitais ou chaves pré-compartilhadas são necessárias nessa implementação. SSL: esse protocolo fornece interações entre cliente e servidor baseadas na internet segura. A autenticação entre o servidor e o cliente é usada por meio de certificados digitais e de criptografia de chave pública. Toda a sessão de comunicação é criptografada, e também protege o tráfego para HTTP, FTP, e-mail, entre outros. 8 Transport Layer Security (TLS) ou Segurança da Camada de Transporte: é baseada no Secure Sockets Layer (SSL). Os certificados digitais são exigidos do cliente e do servidor. O TLS é usado para fornecer segurança ao tráfego que se enquadra nas categorias que estão acima da camada de transporte. Point to Point Tuneling Protocol (PPTP) ou Protocolo de Encapsulamento Ponto a Ponto: é uma tecnologia VPN da Microsoft que usa as tecnologias de autenticação padrão, como o Challenge Handshake Authentication Protocol (CHAP) ou o Password Authentication Protocol (PAP). Somente o TCP/IP é suportado nessa tecnologia, na qual os protocolos da Local Area Network (LAN) são encapsulados para transportar dados pela rede IP com segurança. Os dados não são criptografados usando este protocolo, pois outro mecanismo de criptografia com suporte da Microsoft deve ser usado junto com o PPTP. Level Two Tuneling Protocol (L2TP) ou protocolo de encapsulamento de camada 2: é um protocolo padrão aberto para roteamento multiprotocolo seguro. Nele, o IPSec é usado para criptografia. Suporta vários protocolos, não apenas o IP. Porém, pode não ser suportado pela versão mais antiga de alguns sistemas operacionais. 1.2.3 Tipos de VPN Existem basicamente dois tipos de VPNs no ambiente corporativo, e as diferenças são significativas. Esses tipos são: VPNs site a site: conectam uma rede inteira a outra, como uma rede da filial a uma da matriz. O IPSec é usado para criptografar todo o tráfego entre sites, ao passo que o software cliente VPN não está nos hosts. O tráfego é enviado e recebido por meio de um gateway de VPN, como o Adaptive Security Appliance (ASA) da Cisco, por exemplo. É de responsabilidade desse gateway VPN encapsular e criptografar o tráfego de saída e enviá-lo por meio de um túnel VPN pela internet, para acessar o gateway de VPN de mesmo nível do site remoto. Depois que os pacotes criptografados forem recebidos pelo gateway da VPN remota, o seu par (peer) e os cabeçalhos IPSec dos pacotes recebidos serão removidos e, em seguida, os pacotes serão descriptografados. O tráfego, então, é enviado para o host de destino real na rede privada. Esse tipo de VPN é implementado nas 9 intranets, dentro das mesmas organizações, e nas extranets, em organizações diferentes. VPNs de acesso remoto: são usados para conectar hosts individuais a suas redes privadas, por exemplo: para pessoas ou funcionários que viajam regularmente e precisam acessar suas redes de escritório com segurança. O IPSec e o SSL são usados para criptografar o tráfego entre o host e o site de destino. O host faz o encapsulamento e a criptografia do tráfego de saída, depois o envia por meio de um túnel VPN, pela internet, para o gateway de VPN de mesmo nível de um site remoto. Os hosts precisam de um software cliente VPN, quando for usado o IPSec para a criptografia. Para hosts que usam SSL é necessário um navegador da web que suporte SSL. TEMA 2 – DISPOSITIVOS DE SEGURANÇA DA COMUNICAÇÃO A segurança das redes de computadores necessita de reforços constantes tanto pela utilização de softwares que complementam os processos elementares quanto pelo uso de equipamentos e dispositivos (somente hardware ou hardware com software), com a finalidade específica de preservar as características da segurança da informação em trânsito. Neste tema, apresentamos alguns desses dispositivos. 2.1 Firewall Um firewall é um sistema de segurança que trata o tráfego de rede com base em alguns protocolos, estabelecendo um tipo de barreira entre uma rede interna confiável e a internet (não confiável). Os firewalls existem tanto como softwares que são executados em um hardware quanto como dispositivos de hardware com software especializado — um appliance. Os firewalls baseados em hardware geralmente oferecem outras funcionalidades: atuar como um servidor Dynamic Host Configuration Protocol (DHCP) ou proxy, por exemplo. A maioria dos computadores pessoais usa firewalls baseados em software como proteção contra ameaças. Além disso, muitos roteadores contêm componentes de firewall e, do mesmo modo, muitos firewalls podem executar funções básicas de roteamento. 10 Os firewalls são usados em redes privadas ou intranets para impedir o acesso não autorizado. Cada pacote que entra ou sai da intranet passa pelo firewall, sendo submetido às medidas da política de segurança. Uma configuração de firewall ideal consiste em dispositivos baseados em hardware e software. Um firewall, aliás, também ajuda a fornecer acesso remoto a uma rede privada por meio de certificados de autenticação e de logins seguros. A seguir, abordaremos os principais tipos de firewalls. 2.1.1 Filtro de pacotes O Firewall de Filtragem de Pacotes (Stateless ou Stateful) é um tipo no qual a rede interna é conectada à rede externa/internet por meio de um firewall de roteador. Ele inspeciona e seleciona os dados em pacote por pacote, permitindo- os ou bloqueando-os com base em critérios, como endereços IP de origem e/ou de destino, de protocolo, denúmeros de porta de origem e/ou de destino, bem como de outros parâmetros do cabeçalho IP. A permissão pode ser baseada em outros fatores, além dos campos de cabeçalho IP, como tipo de mensagem ICMP, bits TCP SYN e ACK etc. A regra do filtro de pacotes tem duas partes: Critérios de seleção: usados como condição e correspondência de padrões para a tomada de decisões. Campo de ação: especifica a ação a ser executada se um pacote IP atender aos critérios de seleção. A ação pode ser bloquear (negar) ou permitir a passagem do pacote pelo firewall. A filtragem de pacotes geralmente é realizada pela configuração da lista de controle de acesso — Access Control Lists (ACL), que é uma tabela de regras de filtragem de pacotes. À medida que o tráfego entra ou sai de uma interface, o firewall aplica as ACLs de cima para baixo a cada pacote de entrada. Além disso, encontra critérios correspondentes e permite/nega os pacotes individuais. Um firewall de pacotes sem estado (stateless) é uma ferramenta rígida e ágil. Atua ao verificar se o pacote atende aos critérios estabelecidos, mesmo que não faça parte de nenhuma comunicação permanente estabelecida. 11 Nas redes atuais, esses firewalls têm sido substituídos por aqueles que têm informações de estado (stateful). O firewall stateful oferece um método de inspeção mais aprofundado do que os únicos métodos de inspeção de pacotes baseados em ACL dos de tipo stateless. Um firewall stateful monitora a configuração da conexão e o processo de desempacotamento para fazer a verificação das conexões no nível do TCP/IP, o que permite acompanhar o estado das conexões, bem como determinar quais hosts têm conexões abertas e autorizadas em um determinado ponto no tempo. Ele faz referência à base de regras somente quando uma nova conexão é solicitada. Os pacotes pertencentes às conexões existentes são comparados à tabela de estado das conexões abertas do firewall, e a decisão de permitir ou bloquear é tomada. Tal processo economiza tempo e fornece segurança adicional. Nenhum pacote pode invadir o firewall, exceto se ele pertencer a uma conexão já estabelecida. Conexões inativas são finalizadas pelo firewall. A partir de então, este não aceitará mais pacotes para aquelas. 2.1.2 Gateway de aplicação O gateway de aplicação atua como um nó de retransmissão para o tráfego na camada de aplicação. Ele intercepta pacotes de entrada e de saída e atua como proxy que copia e encaminha as informações pelo gateway, impedindo qualquer conexão direta entre um servidor (ou um cliente confiável) e um host não confiável. Os proxies são específicos da camada de aplicação e podem filtrar pacotes na camada de aplicação do modelo OSI. Um proxy específico de aplicação aceita pacotes gerados somente pelo aplicativo especificado, para o qual eles são projetados para copiar, encaminhar e filtrar. Por exemplo, somente um proxy telnet pode copiar, encaminhar e filtrar o tráfego telnet. Se uma rede depender apenas de um gateway no nível do aplicativo, os pacotes de entrada e de saída não poderão acessar os serviços que não tiverem proxies configurados. Por exemplo, se um gateway executa proxies FTP e telnet, somente os pacotes gerados por esses serviços podem passar pelo firewall. Todos os outros serviços estarão bloqueados. 12 Um gateway proxy no nível do aplicativo examina e filtra pacotes individuais, em vez de simplesmente copiá-los e encaminhá-los cegamente pelo gateway. Proxies específicos de aplicativos verificam cada pacote que passa pelo gateway, verificando o conteúdo do pacote por meio da camada de aplicativo. Esses proxies podem filtrar tipos específicos de comandos ou de informações nos protocolos do aplicativo. Os gateways de aplicação podem impedir que ações específicas sejam executadas. Por exemplo, o gateway pode ser configurado para impedir que os usuários executem o comando put FTP, de modo a modificação das informações armazenadas no servidor por um invasor poderá ser impedida. Embora os gateways no nível do aplicativo possam ser transparentes, muitas implementações exigem autenticação dos usuários, antes mesmo de acessarem uma rede não confiável — processo que reduz a transparência real. A autenticação pode ser diferente se o usuário for da rede interna ou da internet. Para uma rede interna, uma lista simples de endereços IP pode ter permissão para se conectar a aplicativos externos. Porém, quanto à internet, uma autenticação forte deve ser implementada. Um gateway de aplicativo realmente retransmite segmentos TCP entre as duas conexões TCP, nas duas direções (Cliente ↔ Proxy ↔ Servidor). Para os pacotes de saída, o gateway pode substituir o endereço IP de origem por seu próprio endereço IP. Esse processo é conhecido como Conversão de Endereços de Rede — Network Address Translation (NAT). Ele garante que os endereços IP internos não sejam expostos à internet. 2.1.3 Gateway de nível de circuito O gateway de nível de circuito (circuit-level gateway) é uma solução intermediária entre o filtro de pacotes e o gateway de aplicação. Ele atua na camada de transporte e pode operar como proxy para qualquer aplicativo. Semelhante ao gateway de aplicação, o de nível do circuito também não permite uma conexão TCP de ponta a ponta. Ele configura duas conexões TCP e retransmite os segmentos TCP de uma rede para outra. Porém, não examina os dados do aplicativo como o gateway de aplicativo. Por isso, às vezes é denominado Pipe Proxy. 13 O Socks (RFC n. 1.928) é um tipo de gateway no nível do circuito. É um mecanismo de proxy de rede que permite que os hosts em um lado de um servidor Socks obtenham acesso total aos do outro lado, sem precisar da acessibilidade de IP direta. O cliente se conecta ao servidor Socks no firewall e, em seguida, entra em uma negociação para o método de autenticação a ser usado e, então, autentica- se com o escolhido. O usuário envia uma solicitação de retransmissão de conexão ao servidor Socks, contendo o endereço IP de destino desejado e a porta de transporte. O servidor aceita a solicitação depois de verificar se o cliente atende aos critérios básicos de filtragem. Em seguida, em nome do cliente, o gateway abre uma conexão com o host não confiável solicitado e monitora de perto o handshaking TCP que segue. O servidor Socks informa o cliente e, em caso de sucesso, começa a retransmitir os dados entre as duas conexões. Os gateways de nível de circuito são usados quando a organização confia nos usuários internos e não deseja inspecionar o conteúdo ou os dados do aplicativo enviados pela internet. Os produtos de firewalls disponíveis no mercado incluem appliances e softwares, como o Checkpoint, Cisco, Barracuda, pfSense, Fortigate, Juniper, SonicWall, ZScaler, PaloAlto, Sophos e Fortinet, entre tantos outros. 2.2 Proxy Um proxy é um servidor intermediário entre o cliente e a internet. Os servidores proxy oferecem três funcionalidades básicas: Filtragem de dados de firewall e rede; Compartilhamento de conexão de rede; Cachê de dados. Os servidores proxy permitem ocultar e tornar anônimo o usuário de rede, pois ocultam o seu endereço IP. Os principais motivos para o uso de Servidores Proxy são: Monitoramento e filtragem do tráfego de rede: servidores proxy nos permitem fazer vários tipos de filtragem, tais como: filtragem de conteúdo, filtragem de dados criptografados, ignorar filtros, logging e espionagem. 14 Melhorar a performance: agiliza o serviço pelo processo de recuperar o conteúdo do cache que foi salvo quando o pedido anterior foi feito pelo cliente. Tradução: ajuda a personalizar o site de origem para usuários locais, excluindo o conteúdo de origem ou substituindo-o pelo conteúdo local original. Nesse caso, o tráfego dos usuários globais é roteado para o sitede origem por meio do proxy de conversão. Acessar serviços anonimamente: o servidor de destino recebe a solicitação do servidor proxy anônimo e, portanto, não recepta informações sobre o usuário final. Segurança: como o servidor proxy oculta a identidade do usuário, ele protege contra spam e ataques de hackers. Existem diversos tipos de proxies, entre os quais os mais comuns são: Forward: o cliente solicita que seu servidor de rede interno encaminhe o tráfego para a internet. Abertos: ajudam os clientes a ocultar seu endereço IP enquanto navegam pela web. Reversos: as solicitações são encaminhadas para um ou mais servidores proxy e a resposta dele(s) é recuperada como se viesse diretamente do servidor original. O mercado da Tecnologia da Informação e Comunicação (TIC) apresenta inúmeros produtos para a implementação de um proxy, alguns sem custos ao cliente. Entre os mais conhecidos, podemos citar o Squid, o BlueCoat, o Sonicwall, o Polipo e o Speedr. 2.3 IDS e IPS Sistemas de Detecção de Intrusão — também chamados de Sistemas de Detecção e Prevenção de Intrusão — são dispositivos que monitoram atividades atípicas e suspeitas em uma rede, ao registrar informações sobre tais atividades, embasar as medidas para interrompê-las e ativar alarmes e indicadores. Os sistemas de detecção de intrusão ajudam a enviar um alarme de qualquer atividade maliciosa na rede, descartar os pacotes e redefinir a conexão para salvar o endereço IP de qualquer bloqueio. 15 Os sistemas de detecção de invasão também podem executar as seguintes ações: Corrigir erros de verificação de redundância cíclica (CRC); Evitar problemas de sequenciamento de TCP; Eliminar as opções indesejadas de transporte e camada de rede. Os firewalls de filtragem de pacotes operam com base em regras que envolvem apenas cabeçalhos TCP/UDP/IP. Eles não tentam estabelecer verificações de correlação entre diferentes sessões. Por sua vez, os Sistemas de Detecção/Prevenção de Intrusão (IDS/IPS) realizam a Inspeção Profunda de Pacotes — Deep Pascket Inspection (DPI) ao examinar todo o conteúdo do pacote, comparando, por exemplo, cadeias de caracteres com o banco de dados de assinaturas de vírus conhecidos, sequências de caracteres de ataques etc. Os gateways de aplicativos analisam o conteúdo do pacote, mas apenas para aplicativos específicos. Eles não procuram dados suspeitos. O IDS/IPS são quem procura por eles — contidos em pacotes — e tenta examinar a correlação entre vários pacotes, para identificar quaisquer ataques, como varredura de porta, mapeamento de rede, negação de serviço etc. O IDS e o IPS são semelhantes na detecção de anomalias na rede, porém com atuação diferente. O IDS é uma ferramenta de visibilidade, enquanto o IPS é considerado uma de controle. Os sistemas de detecção de invasão ficam ao lado da rede, monitoram o tráfego em muitos pontos diferentes e fornecem visibilidade do estado de segurança. Em caso de denúncia de anomalia pelo IDS, as ações corretivas são iniciadas pelo administrador da rede ou por outro dispositivo, como um firewall, por exemplo. O Sistema de Prevenção de Intrusões é como um firewall. Ambos se alinham entre duas redes e controlam o tráfego que passa por elas. Tal sistema impõe uma política especificada na detecção de anomalia no tráfego de rede. Geralmente, ele descarta todos os pacotes e bloqueia todo o tráfego da rede ao detectar uma anomalia até que uma anomalia seja resolvida pelo administrador. Na atualidade, o SNORT e o OSSEC-HIDS são bons exemplos de softwares abertos e gratuitos para a configuração de IDS/IPS. 16 TEMA 3 – AUTENTICAÇÃO E AUTORIZAÇÃO O controle de acesso à rede é um método para aumentar a segurança dela, restringindo a disponibilidade de recursos de rede a dispositivos finais, em conformidade com a política de segurança da organização. Um esquema típico de controle de acesso à rede é composto por dois componentes principais: o acesso restrito e a proteção de limite de rede. O acesso restrito aos dispositivos de rede é obtido por meio da autenticação do usuário e do controle de autorização, que é responsável por identificar e autenticar diferentes usuários. Autorização é o processo de conceder ou de negar permissões de acesso específicas a um recurso protegido. A proteção de limite, por sua vez, controla a conectividade lógica dentro e fora das redes. Por exemplo, vários firewalls podem ser implantados para impedir o acesso não autorizado aos sistemas de rede. E também as tecnologias de detecção e prevenção de invasão podem ser inseridas como defesas contra os ataques. Restringir o acesso aos dispositivos na rede é uma etapa essencial para proteger uma rede. Como eles são de comunicação e também equipamentos de computação, comprometer um deles pode resultar em comprometer a rede inteira, assim como os seus recursos. As organizações geralmente cuidam da segurança para seus servidores e aplicativos, mas infelizmente deixam a comunicação e os dispositivos de rede com segurança rudimentar. Um aspecto importante da segurança do dispositivo de rede é o controle de acesso e a autorização. Muitos protocolos foram desenvolvidos para atender a esses dois requisitos e elevar a segurança. A autenticação do usuário é necessária para controlar o acesso aos sistemas de rede e aos dispositivos da infraestrutura. A autenticação tem dois aspectos: autenticação de acesso geral e autorização funcional. A autenticação de acesso geral é o método para controlar se um usuário em particular tem qualquer tipo de acesso direto ao sistema ao qual ele está tentando se conectar. Comumente, esse tipo de acesso está associado ao fato de o usuário ter uma conta previamente estabelecida nesse sistema. A autorização lida com direitos de usuários individuais. Por exemplo, definir o que um usuário pode fazer uma vez autenticado: se ele pode ser autorizado a configurar o dispositivo ou apenas visualizar os dados. 17 A autenticação do usuário depende de fatores que incluem algo que ele sabe (senha), algo que ele possui (um smartcard ou um token criptográfico) ou algo que ele é (biometria). O uso de mais de um fator para identificação e autenticação fornece a base para a autenticação multifator. Em um nível mínimo, todos os dispositivos de rede devem ter autenticação com nome de usuário e senha. A senha não deve ser trivial (deverá ter, pelo menos, 10 caracteres, com alfabetos mistos, números e símbolos). No caso de acesso remoto pelo usuário, um método deve ser usado para garantir que os nomes de usuário e senhas não sejam passados pela rede. Além disso, elas também devem ser alteradas com alguma frequência razoável. O sistema de autenticação baseado em dispositivo individual fornece uma medida básica de controle de acesso. No entanto, um método de autenticação centralizado é mais efetivo quando a rede tem um grande número de dispositivos e um grande número de usuários acessando esses dispositivos. Tradicionalmente, a autenticação centralizada é usada para resolver problemas enfrentados no acesso remoto à rede. Em sistemas de acesso remoto — remote access system (RAS), a administração de usuários nos dispositivos de rede não é prática. Colocar todas as informações do usuário em todos os dispositivos e mantê-las atualizadas é um pesadelo administrativo. Sistemas de autenticação centralizada — como o RADIUS e o Kerberos — resolvem esse problema. Tais métodos centralizados permitem que as informações do usuário sejam armazenadas e gerenciadas em um só lugar. Esses sistemas geralmente podem ser perfeitamente integrados a outros esquemas de gerenciamento de contas de usuários, como os diretórios Active Directory ou LDAP, ambos da Microsoft. A maioria dos servidores RADIUS pode se comunicar com outros dispositivos de rede no protocoloRADIUS normal e, em seguida, acessar com segurança as informações da conta armazenadas nos diretórios. O Microsoft Internet Authentication Server (IAS), por exemplo, une o RADIUS e o Active Directory para fornecer autenticação centralizada para os usuários de dispositivos. Ele também garante que as informações da conta do usuário sejam unificadas com as contas de domínio da Microsoft. 18 A seguir, a Figura 2 mostrará um controlador de domínio do Windows operando com um servidor do Active Directory e um servidor RADIUS para elementos de rede para autenticação em um domínio do Active Directory. Figura 2 – Windows Domain Controller com IAS e Radius Muitos dispositivos de rede podem ser configurados com listas de acesso. Essas listas definem nomes de host ou endereços IP autorizados para acessar o dispositivo. É típico, por exemplo, restringir o acesso ao equipamento de rede aos demais IPs, exceto ao do administrador da rede — procedimento que os protege contra qualquer tipo de acesso não autorizado. Esses tipos de listas de acesso servem como uma última e importante defesa; podem ser bastante eficientes em alguns dispositivos com regras diferentes para diferentes protocolos de acesso. TEMA 4 – ASSINATURA E CERTIFICADOS DIGITAIS As assinaturas digitais são as primitivas de chave pública da autenticação de mensagens. No mundo físico é comum usarmos as assinaturas manuscritas em mensagens e documentos manuscritos ou impressos como forma de vincular o signatário à mensagem. Da mesma forma, uma assinatura digital é uma técnica que vincula uma pessoa/entidade aos dados digitais. Essa ligação pode ser verificada tanto pelo destinatário quanto por terceiro. 19 A Assinatura Digital é um valor criptográfico calculado por meio dos dados e de uma chave secreta, isto é, conhecida apenas pelo signatário. No mundo físico, o receptor da mensagem precisa ter certeza de que ela é procedente do remetente e não deve ser capaz de repudiar a origem dessa mensagem. Esse requisito é muito crucial em aplicativos de negócios, já que a probabilidade de uma disputa sobre dados trocados é muito alta, bem como a possibilidade de falsificações dos dados e/ou da origem destes. Figura 3 – O processo de assinatura digital Como já mencionado, o processo de assinatura digital é baseado na criptografia de chave pública. O modelo do esquema de assinatura digital é mostrado na Figura 3. Vejamos todo o processo em detalhes: Cada interlocutor que adota esse processo tem um par de chaves: uma pública e outra privada. Geralmente, os pares usados para criptografia/descriptografia e assinatura/verificação são diferentes. A chave privada usada para assinatura é denominada chave de assinatura; a chave pública, chave de verificação. O assinante fornece os dados para a função hash e, assim, gera hash de dados. O valor de hash e a chave de assinatura são, então, fornecidos para o algoritmo de assinatura, o qual produz a assinatura digital em determinado hash. Assim, a assinatura é anexada aos dados, e ambos são enviados para o destinatário. Na recepção, o destinatário — que também é o verificador — fornece a assinatura digital e a chave de verificação do algoritmo de verificação, que, por sua vez, fornece algum valor como saída. 20 A verificação também executa a mesma função de hash do assinante nos dados recebidos para, em seguida, gerar o valor de hash. Para a verificação, esse valor de hash e a saída do algoritmo de verificação são comparados. Com base no resultado da comparação, o verificador decide se a assinatura digital é válida e se o conteúdo da mensagem é íntegro. Como a assinatura digital é criada pela chave privada do assinante — e ninguém mais pode ter essa chave —, o signatário não pode repudiar a assinatura dos dados. Deve-se notar que — em vez de assinar os dados diretamente, por meio do algoritmo de assinatura —, geralmente é criado um hash de dados. Como este é uma representação única de dados, basta assinar o hash no lugar dos dados. A razão do uso de hash em vez de dados diretamente para assinatura é a eficiência do primeiro. Se o Rivest-Shamir-Adleman (RSA) for usado como o algoritmo de assinatura, o processo envolverá exponenciação modular, o que é computacionalmente caro e demorado para grandes volumes de dados. O hash dos dados é um resumo relativamente pequeno dos dados. Portanto, assinar um hash é mais eficiente do que assinar todo o conjunto dos dados. TEMA 5 – SEGURANÇA EM REDES IP E WIRELESS Além dos mecanismos de segurança de autorização e acesso já vistos, a segurança das redes depende muito dos protocolos, especialmente do TCP/IP. Nesse plano, o IPv4 mostrou-se frágil e incapaz de, por si só, elevar a segurança da rede para um nível adequado. Isso foi bastante considerado no desenvolvimento do IPv6. 5.1 IPv4 e IPv6 Muitos problemas de segurança no IP versão 6 (IPv6) permanecem os mesmos apresentados no IP versão 4 (IPv4). Porém, o IPv6 também tem novos recursos que aprimoram a segurança do sistema e da rede, com impacto potencial nas políticas e nos procedimentos. O IPv6 e o IPv4 geralmente operam de forma completamente independente sobre a mesma infraestrutura na camada 2, razão pela qual mecanismos de segurança IPv6 adicionais e separados devem ser implementados. Será necessário rever diversas configurações, como as de firewalls, monitoramento e 21 contabilidade. O IPv6 ainda é algo novo e pode ter problemas ainda não encontrados ou não imaginados. Embora a evolução do IP traga promissoras soluções para a segurança, ainda é necessário manter a atenção nos seguintes pontos: ICMP e Multicast; Pilhas duplas (IPv4 e IPv6); Túneis automáticos (IPv4 em IPv6 e vice-versa); Autoconfiguração — Stateless Address Autoconfiguration (SLAAC) e DHCPv6); Varreduras de endereços e de portas. 5.2 Wireless A segurança das comunicações em redes sem fio sempre foi um ponto crítico para a tecnologia. O protocolo Wired Equivalent Privacy (WEP) provou-se extremamente frágil, motivo pelo qual foi substituído pelo Wifi Protected Access (WPA2), que pode ser usado devidamente em um ambiente que possua uma estrutura de autenticação e de autorização, que possa ser reforçado pelo padrão 802.IX ou pelo Extensible Authentication Protocol (EAP). Já em ambientes domésticos ou públicos, a segurança reside no uso de uma chave comum a todos os usuários, utilizada para acessar o Access Point (AP). A partir de então, uma sequência de números aleatórios — os nonces (contração de number used once, isto é, número usado uma única vez) — é usada para gerar as chaves de sessão. A verificação da integridade é feita por meio do Message Integrity Check (MIC), semelhante ao HMAC. No caso do bluetooth, o aspecto de segurança é mais preocupante. Embora o alcance seja curto — o que limita as tentativas de ataques de grandes proporções —, a criptografia e a troca de chaves entre dispositivos são relativamente simples e, portanto, bastante vulneráveis. Como argumento, podemos observar que as chaves (tokens de autorização) são geralmente de quatro dígitos, limitando as combinações à quantidade de 104. Outro aspecto crítico do bluetooth é que o protocolo de segurança autentica apenas os dispositivos, requerendo que as camadas superiores tratem as questões ligadas a usuários. 22 REFERÊNCIAS HINTZBERGEN, J.; HINTZBERGEN, K.; SMULDERS, A.; BAARS, H. Fundamentos de segurança da informação com base na ISO 27.001 e na ISO 27.002. Rio de Janeiro: Brasport, 2018. KUROSE, J. F.; ROSS, K. W. Redes de computadores e a internet: uma nova abordagem. São Paulo: Pearson, 2003. NIELES, M.; DEMPSEY, K.; PILLITTERI, V. Y. An introduction to Information Security. Gaithersburg: NIST, 2017. Disponível em: . Acesso em: 22nov. 2018. STALLINGS, W. Criptografia e segurança de redes: princípios e práticas. 6. ed. São Paulo: Pearson Education do Brasil, 2015. TANENBAUM, A. S.; WETHERALL, D. Redes de computadores. 5. ed. São Paulo: Pearson, 2011. VELHO, J. A. Tratado de computação forense. Campinas: Millenium, 2016.