Módulo: ESASIUC: Gestão da Segurança e Auditoria de Sistemas de Informação(MSI/MEGSI)Tecnologias para Segurança em RedesHenrique Santos (hsantos@dsi.uminho.pt)Dpt. Sistemas de InformaçãoExt. 510302DSI/UM © 20084SumárioConsiderações préviasNotas sobre:VPNSSHSSLIPSECIKEFirewallsIDSDSI/UM © 20085Considerações préviasPrincipais ameaças:Execução deprogramas emcomputadores remotosIntercepção dedados emtrânsitoModificação dedados emtrânsitoAcesso a programase dadosremotamenteModificação deprogramas e dadosremotamenteInserção dedados emcomunicaçõesUsurpação deidentidadeBloqueamento decomunicações (totalou selectivamente)Cada vezmais osataques explorammultiplasvulnerabilidades!Considerações préviasDSI/UM © 20086•De-Militarized Zones and Screened SubnetsConsiderações préviasDSI/UM © 20087Software Security Solutions Layered Security Model ™•Defense inDepthDSI/UM © 20088Considerações préviasArquitectura da rede (controlo preventivo)Promover a segmentação (facilita o controlo e a gestão)Promover a redundânciaEvitar os pontos singulares de falhasPromover comunicações cifradas (em função do risco)DMensSTNEMensagemCabeçalho da aplicaçãoCabeçalho do transporteCabeçalho da redeCabeçalho da ligação•Link EncryptionDMensSTNEMensagemCabeçalho da aplicaçãoCabeçalho do transporteCabeçalho da redeCabeçalho da ligação•End-to-End Encryption•Quando o meio de transmissão é o foco das ameaças•Quando os computadores são o foco das ameaçasDSI/UM © 20089Notas sobre VPNAcesso remoto seguroAntes Dados sobre Voz (DoV) –custo dependente da distânciaHoje Dados sobre Dados (DoD) –tarifa única, apenas dependendo da largura de banda e do tráfego. Vantagens:Factores económicosNúmero de utilizadoresPartilha de recursos (WAN)Flexibilidade e escalablidadeLargura de bandaQualquer tecnologia de “últimamilha”DSI/UM © 200810Notas sobre VPNVPN (VirtualPrivateNetwork) sobre DoDcompensa a únicadesvantagem dafilosofia abertado DoD, a segurançaVPN usaa Internetpara estabelecerum circuitovirtual (outúnel), parainterligar doisterminaisDSI/UM © 200811Notas sobre VPNÉ vulgaruma soluçãohíbrida (DoVaté aoponto deacesso –ISP)DSI/UM © 200812Notas sobre VPNProtocolosTipicamente em três fases:Autenticação do cliente num firewallFirewall responde com uma chave de sessãoServidor e Cliente comunicam num canal cifrado com essa chavePPTP (Point-to-PointTunnelProtocol), é uma extensão ao PPP e permite encapsular TCP/IP, IPX/SPX e NetBEUI em pacotes PPP. Os pacotes podem ser encriptados utilizando o MPPE (Microsoft Point-to-PointEncryption–128 bits, a partir do SP2 do W2k). Neste caso, a autenticação pode ser feita usando MS-CHAP, MS-CHAPv2 ou EAP/TLS.L2TP (Layer2 forwardingmais PPTP); utiliza IPSecpara encriptar os dados, aumentando grandemente o nível de segurança => servidor e cliente suportam l2TP e IPSec(não é o caso do Windows NT e o Windows 9x)DSI/UM © 200813Notas sobre VPNPassos para a implementação de uma VPNNúmero de portas (ou número de sessões virtuais simultâneas) –típico 1 para 10 utilizadoresA largura de banda disponível (WAN + Servidor) será repartida por todos as portas => LBmin/portaClassificar os utilizadores:Escritórios remotosRegime de mobilidadeRegime de teletrabalhoRegime de extensão de horárioAutenticação:Username/passwordTokensCertificados digitaisHardware dedicado (Cisco, HP, Intel, vários routers)Suporte nativo em Linux e Windows (2K e XP ☺), e várias outras soluçõesDSI/UM © 200814Notas sobreIPSecPromove: Confidencialidade, Integridadee autenticidadeStandard definidopela IETF paracomunicação segura(“tempo-real”)Pressupõe queos interlocutorespartilham umachave desessão (distribuídamanualmente, oucom IKE –a seguir)IPSectrabalha comIPv4 e comIPv6SA (SecurityAssociation) denota uma ligação unidirecionalcriptograficamente segura(endereço, númerosde sequência, algoritmosde encriptação, garanteou nãointegridade, etc.). Cada SA usauma chavee umaidentificação única, SPI –SecurityParameterIndexUm cabeçalhoIPSecidentifica a respectivaSAEm cadahosté precisoconfigurar osparâmetros pertinentes, queficam armazenadosna SPD –SecurityPolicyDatabaseQualquer sistema que implemente IPSectem que ter uma base de dados de SAs(SAD–SecurityAssociationDatabase)Notas sobreIPSecDSI/UM © 200815DSI/UM © 200816Notas sobre IPSecO cabeçalhodo pacoteIPSecpode terdois camposdistintos:AH (AuthenticationHeader) –garante integridade (também relativa a partes do cabeçalho IP) e autenticidade do emissor/IPESP (EncapsulatingSecurityPayload) –garante confidencialidade e/ou integridade (apenas relativa ao conteúdo do pacote) e autenticidade do emissor/IPModo Túnel: Host-to-Host; Host-to-Gateway; Gateway-to-GatewayIP headerpacoteIP headerpacoteIPSec headerNew IP headerModo TúnelIP headerpacoteIP headerIPSec headerpacoteModo TransporteDSI/UM © 200817Notas sobre IPSecIPSecé parteintegrante doIPv6No modoTúnel criaproblemas nas “caixas” NAT (NatworkAddressTranslation) e nos Firewall, porqueos impedede analisar/alterar oscabeçalhos IP!Os cabeçalhosAH e ESP sãoindicados nocabeçalho IP pelos“números deprotocolo” 51 e 50, respectivamenteDSI/UM © 200818Notas sobre IPSec4 bitsVersão4 bitsTamanho do cabeçalho (unidades de 32 bits)8 bitsTipo de serviço16 bitsTamanho do cabeça + dados16 bitsIdentificação do pacote3 bitsFlags13 bitsDeslocamento do fragmento8 bitsHops (ou Time To Live-TTL)8 bitsPROTOCOLO16 bitsChecksum do cabeçalho32 bitsEndereço da origem32 bitsEndereço do destinoVarOpções4 bytesVersão (4 bits) | Tipo de serviço2 bytesTamanho do pacote1 bytePROXIMO CABEÇALHO1 byteHops (ou Time To Live-TTL)16 bytesEndereço da origem16 bytesEndereço do destino1 bytePróximo cabeçalho1 byteTamanho do cabeçalhoVarDados neste cabeçalhoExtensões ao cabeçalhoCabeçalho IPv4Cabeçalho IPv6DSI/UM © 200819Notas sobre IPSec1 bytePróximo cabeçalho1 byteTamanho pacote2 bytesNão utilizado4 bytesSPI (Security Parameter Index)4 bytesNúmero de sequênciaVarDados de autenticação4 bytesSPI (Security Parameter Index)4 bytesNúmero de sequênciaVarIV (Initialization Vector)VarDadosVarPadding1 byteTamanho de padding(em bytes)1 bytePróximo cabeçalho /tipo de protocoloVarDados de autenticaçãoCabeçalho AHCabeçalho ESPDSI/UM © 200820Notas sobreIKEIKE (InternetKeyExchange) –Autenticaçãomútua, baseadanuma chavepartilhada, deutilização prolongada. Utilizado paradeduzir umachave desessão, paracada SAIPSecpode serconfigurado semIKE, masperde segurançae flexibilidadeDois protocolos:ISAKMP (InternetSecurityAssociationKeyManagementProtocol) –negociação dos parâmetros de segurançaOakleykeyexchange(variação doDiffie-Hellman) e o Skemekeyexchangepara “troca” dechavesNotas sobreIKEIKE –Fase1Autenticação doutilizador remotoChaves partilhadasou certificadospreviamente distribuidos(o maisvulgar) –embebidonas aplicaçõesDois modos: normal; e agressivo(mais rápidomas menosseguro)Troca dachave públicaque seráusada paracifrar a trocade informaçãona fase2IKE –Fase2Troca deinformação (cifrada) deconfiguraçãoApenas ummodo (quickmode), semelhante ao agressivo da Fase 1DSI/UM © 200821Notas sobreIKEDSI/UM © 200822Fase 1Fase 2•Exemplo dotráfego com um servidor VPN CiscoDSI/UM © 200823Notas sobre IKEOakley(baseado no algoritmo deDiffie-Hellman)Ae Bescolhemdois númerosprimos ne g, taisque gé primitivomodn; (n-1)/2tambémdeve serprimo. Estes númerosão trocadosde formanão segura.Aescolheum númeroaleatório x e calculaX = gxmodnEnviaX paraBBescolheum númeroaleatório y e calculaY = gymodnEnviaY paraAAcalculaK= YxmodnBcalculaK’= XymodnEm princípioK ≡ K’= gxymodne seráa chavede sessãoHá pequenasvariantes destealgoritmo aindamais robustas.Notas sobreIPSecPrincipais fragilidadesEventual limitaçãono espaçode endereçamentoIP (IPv4)Falta deum mecanismoautónomo deconfiguraçãoFalta desegurança intrínseca!Fragilidades herdadasdo IP, pensadopara ambientesde aplicaçãomais reduzidosO IPv6 resolvemuitas dasquestõesDSI/UM © 200824DSI/UM © 200825Notas sobre SSHSSH (Secure Shell) –protocolo que permite autenticação e comunicação cifrada ao nível do shelldos Sistemas OperativosOriginalmente para Unix, mas já disponível para WindowsSuporta um subconjunto dos comandos do shellSubstitui, com vantagem, os tradicionais utilitários de loginremoto (telnet, rloginou rsh)Negociação do algoritmo de cifra (DES, IDEA, AES,…)Autenticação (inclui suporte a PKIs e Kerberos)DSI/UM © 200826Notas sobre SSLSSL (Secure Sockets Layer) –protocolo criado pela NetscapePosiciona-se entre a aplicação e o nível do transporte (TCP) e garante:Autenticação do servidorAutenticação opcional do clienteCanal cifrado com chave partilhada (algoritmo negociado –3DES, RC4, etc)Resumo do protocolo:Cliente solicita uma sessão SSLServidor responde com o seu certificado digital (chave pública)Cliente envia parte da chave simétrica, encriptada com a chave pública do servidorAmbos calculam a chave de sessãoDSI/UM © 200827FirewallsOficialmente inventadoem 1990, masbaseado noconceito dereferencemonitor, dosanos 70Basicamente é umdispositivo quefiltra o tráfegode redeprotegendo umarede “interna” deuma rede“externa” nãoconfiávelConjunto decaracterísticas fundamentais:Incontornável –analisatodoo tráfego(desempenho é crítico)Concentra a suafunção aonível 2 darede (cabeçalhoIP); maspode incluircaracterísticas donível 3 –controlodo fluxoatravés dosSN e dasportas TCP → ConnectionTracking)Resistente a ataques–mínimode funcionalidadeBaixa complexidade–facilitaa análisee administraçãoDSI/UM © 200828FirewallsNormalmente nãochegam aonível daaplicação (osproxy estarãonaturalmente maisadequados)Diversas estratégiasde implementação⇒Políticade SegurançaadequadaAtenção aocomportamento pordefeito:O quenão é expressamenteproibido é aceite; ouO quenão é expressamenteaceite é proibidoFirewalls•Mecanismo deprocessamento dasmensagens implementadono Linux•A cadauma dasfases correspondeuma “tabela” e umaou maiscadeias deregras quedefinem o comportamentoglobal damáquina•A firewalldeve actuarnas tabelasfilter, em todas as cadeias•Na entrada, antesdo routing, nãoé aconselhávelfazer filtragem, umavez queo preroutingpode alteraros cabeçalhos•O mesmose aplicana saída, masdepois dorouting•É permitidocriar cadeiasde regrasque podemser invocadasa partirdas básicas, dentroda mesmatabelaDSI/UM © 200829DSI/UM © 200830FirewallsPacket Filtering Gatewayou Screening RoutersA solução mais simples: filtra endereços e portas (nível do transporte)DSI/UM © 200831FirewallsDivisão clara entre rede interna e externaDeve rejeitar pacotes externos com endereços de origem internos!Não esquecer que é possível falsear endereçosGrandes desvantagensImplementação de regras para casos excepcionaisManutenção das regras“Olha” cada pacote individualmenteDSI/UM © 200832FirewallsStateful Inspection FirewallMantém informação do estado de uma comunicação, entre pacotes consecutivosPermite detectar ataques baseados na fragmentação de pacotesRegras mais complexas, permitindo já analisar os dadosApplication Proxy Gatewayou Bastion HostActua como um servidor de determinada aplicação (ou seja, interpreta o protocolo)Decide que comandos/dados serão passados ao servidor real e que dados são enviados para foraPode até reforçar a função de autenticaçãoDSI/UM © 200833FirewallsGuardTipicamente é um Bastion Hostmais “inteligente”, com capacidade para (por exemplo):Decidir que serviços solicitar em função do cliente (localização, utilizações prévias, etc.)Limitar dinamicamente a transferência de dadosExecutar um anti-virus sobre ficheiros embebidosDefinição da Política é uma tarefa muito complexa FirewallsPessoaisComplementa o trabalho das firewallsprotegendo de forma fina cada computador ☺Permite Políticas de Segurança pessoais mas é necessário gerir as regras ☺Ocupa recursos da máquina pessoal DSI/UM © 200834FirewallsPacket FIlteringStateful InspectionApplication ProxyGuardPersonal FirewallO mais simplesComplexoMais complexoO mais complexoSimplesEndereços e portasEndereços, portas e dadosAnalisa todos os dados do pacoteAnalisa todo o texto da comunicaçãoEndereços, portas e dadosAuditoria limitadaAuditoria é possívelAuditoria de actividadesAuditoria de actividadesAuditoria de actividadesUsa regras de ligaçãoUsa informação de sequências de pacotesBaseado no comportamento dos proxiesBaseado na interpretação do conteúdo da mensagemUsa regras de ligação (tipicamente)Configuração complexa (regras)Normalmente é configurado para deter ataques conhecidosRegras mais poderosas e em menor númeroFuncionalidade muito complexa pode limitar a segurança!Tipicamente configuração dinâmica (começa por negar tudo)DSI/UM © 200835FirewallsLimitaçõesApenas seguro se a firewallcontrolar todo o perímetro da redeInformação que sai (legitimamente) do perímetro não está seguraÉ o componente mais visível da rede e, portanto, o mais sujeito a ataques (a sua defesa deve ser bem cuidada)A configuração deve ser cuidadosamente planeada e geridaDados viciados ou manipulados, dissimulados dentro de comunicações legítimas não podem ser evitados –defesas ao nível da aplicaçãoCapacidade limitada com tráfego cifradoDSI/UM © 200836Intrusion Detection Systems (IDS)Firewallse Controlode Acessosprevinema utilizaçãoindevidaE a máutilização “legítima”? Deve serdetectada… ⇒IDSTipicamente algumcomputador queprocura identificaractividade maliciosaou suspeitaArquitectura básica de um IDS•Monitoriza a actividade de utilizadores e máquinas•Auditoria à configuração de sistemas e a vulnerabilidades•Avaliação da integridade de ficheiros críticos•Reconhecimento de ataques conhecidos•Identificação de actividade anormal•Corrige erros de configuração•Gestão de armadilhas para intrusõesDSI/UM © 200837IntrusionDetectionSystems(IDS)Propriedades relevantesEficiênciaProblema da detecção: falsos positivosExtensibilidadeAdaptabilidadeTipicamente um IDS executa de modo furtivo(em rede, dispõe de duas placas)Tipicamente exige um grande esforço de intervenção humana DSI/UM © 200838IntrusionDetectionSystems(IDS)Tipos de IDS (operação)Baseados em Assinaturas (SB)Verificação de padrões associados a ataques conhecidosSNORT; IDIOT; STAT; …Baseados em Anomalias (AB) –HeurísticosConstróemum modelo de comportamento normal ou aceitávele assinalam tudo o que não verificar esse modeloIDESTipos de IDS (função característica)Baseados em RedesComponente isolado que monitoriza o tráfego de uma redeBaseados em ComputadoresCorrem num computador, observando o seu comportamento(loganalyzers; file integritycheckers;…)IntrusionDetectionSystems(IDS)AnomalySelf-learningNontimeseriesRulemodellingWebStalkerDescriptivestatisticsIDEAS; NIDES;EMERALD; JiNao; HaystackTimeseriesANN (Artificial Neural Net.)HyperviewHMM (HiddenMarkovModel)programmedDescriptivestatSimplestatMIDAS; NADIR; HaystackSimplerule-basedNSMThresholdComputerWatchDefaultdenyStateseries modellingDPEM; JANUS; BroDSI/UM © 200839•Classificação dos princípios de detecçãoIntrusionDetectionSystems(IDS)signatureprogrammedState-modellingState-transitionUSTATPetri-netIDIOTExpert-systemNIDES;EMERALD; MIDAS-direct; DIDS; MIDAS(2)String-matchingNSM; SNORTSimplerule-basedNADIR; NADIR(2); ASAX; Bro; JiNao; Haystack(2)DSI/UM © 200840SignatureinspiredSelf-learningAutomaticfeatureselRipper•Classificação dos princípios de detecçãoDSI/UM © 200841IntrusionDetectionSystems(IDS)Classificação segundo as características do sistemaTime-to-detection: tempo-real vs batchGranularidade dos dados: tipicamente, tempo-real ⇒menores quantidades de dados; batch⇒maiores quantidades de dadosLocusofdata-processing: processamento central vs processamento distribuídoLocusofdata-colletion: dados recolhidos localmente vs dados recolhidos remotamenteResposta a alarmesProcura recolher o maior número de dadosProtege o recurso sob ameaça -Activo“Chama” um operador -PassivoNetworkIDSQue papel é atribuído normalmente aos NIDS?Identificador de vulnerabilidadesAuditorias de segurança da redeVerificação da violação de políticas de segurançaDetectar ataques iniciados pelos sistemas internos!Apoiar a resposta a incidentes e análise forenseComplementar outros mecanismos de defesa ☺DSI/UM © 200842NetworkIDSDSI/UM © 200843•Arquitectura típica de um NIDShíbridoTaxonomia–tecnologiasde SegInfoDSI/UM © 200844Recursos dedicadosa cadatecnologiaDSI/UM © 200845