AUTOMATIZAÇÃO DO PROCESSO DE CONTENÇÃO DE AMEAÇAS BASEADA EM FERRAMENTA DE IDS/IPS (SISTEMA DE DETECÇÃO E PREVENÇÃO DE INTRUSÃO) - PDF\nAUTOMATIZAÇÃO DO PROCESSO DE CONTENÇÃO DE AMEAÇAS BASEADA EM FERRAMENTA DE IDS/IPS (SISTEMA DE DETECÇÃO E PREVENÇÃO DE INTRUSÃO)\nDownload "AUTOMATIZAÇÃO DO PROCESSO DE CONTENÇÃO DE AMEAÇAS BASEADA EM FERRAMENTA DE IDS/IPS (SISTEMA DE DETECÇÃO E PREVENÇÃO DE INTRUSÃO)"\nFlávio Melgaço Weber\n1 CENTRO UNIVERSITÁRIO UNIVATES CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO EZEQUIEL COSER AUTOMATIZAÇÃO DO PROCESSO DE CONTENÇÃO DE AMEAÇAS BASEADA EM FERRAMENTA DE IDS/IPS (SISTEMA DE DETECÇÃO E PREVENÇÃO DE INTRUSÃO) Lajeado 2011\n2 EZEQUIEL COSER AUTOMATIZAÇÃO DO PROCESSO DE CONTENÇÃO DE AMEAÇAS BASEADA EM FERRAMENTA DE IDS/IPS (SISTEMA DE DETECÇÃO E PREVENÇÃO DE INTRUSÃO) Trabalho de Conclusão de Curso apresentado ao Centro de Ciências Exatas e Tecnológicas do Centro Universitário UNIVATES como parte dos requisitos para a obtenção do título de bacharel em Engenharia de Controle e Automação. Área de concentração: Segurança de Redes ORIENTADOR: Luís Antônio Schneiders Lajeado 2011\n3 EZEQUIEL COSER AUTOMATIZAÇÃO DO PROCESSO DE CONTENÇÃO DE AMEAÇAS BASEADA EM FERRAMENTA DE IDS/IPS (SISTEMA DE DETECÇÃO E PREVENÇÃO DE INTRUSÃO) Este trabalho foi julgado adequado para a obtenção do título de bacharel em Engenharia de Controle e Automação do CETEC e aprovado em sua forma final pelo Orientador e pela Banca Examinadora. Orientador: Prof. Luís Antônio Schneiders, Univates Mestre pela UFRGS Porto Alegre, Brasil Banca Examinadora: Prof. Alexandre Stürmer Wolf, Univates Mestre pela PUC-Rio Rio de Janeiro, Brasil Prof. Fabrício Pretto, Univates Mestre pela PUCRS Porto Alegre, Brasil Coordenador do curso de Engenharia de Controle e Automação: Prof. Rodrigo Wolf Porto Lajeado, novembro de 2011\n4 Dedico este trabalho à minha namorada, Carine Paula Walter, aos meus pais, Agemir Coser e Neisi Bonfanti Coser e ao meu irmão, Ederson Coser, pelo grande incentivo e apoio.\n5 AGRADECIMENTOS A minha família, por todo apoio e ajuda prestada durante o período que estive cursando a faculdade, pois sem eles a concretização deste sonho não seria possível. A minha namorada Carine Paula Walter, pelo seu apoio e compreensão nos momentos de minha ausência, e por ser paciente comigo quando encontrava-me estressado com minha monografia. Ao meu coordenador Tiago Giovanaz da Silva, que sempre foi prestativo e solidário nos momentos de minha ausência no trabalho e a todos meus colegas. Ao meu orientador, que viu futuro no meu trabalho e aceitou guiar-me para sua implementação e a UNIVATES pela confiança por disponibilizar a sua estrutura de rede para que fosse possível a aplicação do mesmo. Por fim, agradeço a Deus que tornou tudo isso possível.\n6 RESUMO A área de segurança de redes não era tão importante na década de 90 como tem sido nos dias atuais, pois encontrava-se disponível somente em universidades e grandes empresas, e apenas pessoas que possuíam vínculos com essas instituições podiam usufruir desse benefício. Com o passar do tempo, essa realidade tem se alterado, pois com o avanço da tecnologia e a queda nos custos de implantação, a rede de dados está cada vez mais interconectada. Essa evolução tem facilitado a rotina de pessoas que fazem uso de uma rede de computadores, mas, em contrapartida, isso trouxe diversos problemas quanto à segurança da rede de dados. Sendo assim, automatizar um processo que detecte uma intrusão é extremamente importante, pois pode-se evitar um ataque antes que este afete a integridade da rede. Diante desse contexto este estudo apresenta e implementa ferramentas que podem elevar a segurança de uma rede de dados, e tornar possível o processo automático de bloqueio de intrusos e tráfegos não desejados por meio de um sistema de detecção e prevenção de intrusão. Palavras-chaves: Segurança à rede. Sistema de detecção e prevenção de intrusão, Ataques. Ameaças.\n7 ABSTRACT The area of network security was not as important in the 90's as it has been today, it was available only in universities and big companies, and only people who had links with these institutions could take advantage of this benefit. Over time, this reality has changed, because with the advancement of technology and falling costs of implementation, the data network is increasingly interconnected. This development has facilitated people who make routine use of a computer network, but this in turn brought several issues regarding the security of network. Therefore, automating a process that detects an intrusion is extremely important as it can prevent an attack before it affects network integrity. Against this background this paper presents and implements tools that can increase the security of a data network, and make possible the automatic process of blocking unwanted traffic and intruders through a detection system and intrusion prevention. Keywords: Network security. Detection system and intrusion prevention. Attack. Threat.\n8 LISTA DE FIGURAS Figura 1 - Princípios da segurança...16 Figura 2 - Rede de computadores local...20 Figura 3 - Modelo OSI...21 Figura 4 - Modelo TCP/IP...24 Figura 5 - Ligação ponto a ponto bidirecional...26 Figura 6 - Fragmento TCP...26 Figura 7 - O cabeçalho UDP...28 Figura 8 - Cabeçalho Ipv Figura 9 - Formato de um pacote ARP segundo...30 Figura 10 - Formação e composição de uma mensagem ICMP...31 Figura 11 - Diferença entre o envio de pacotes unicast e multicast...32 Figura 12 - Encapsulamento de dados...33 Figura 13 - Os modelos OSI e TCP/IP...33 Figura 14 - Fatores de riscos: natureza versus malícia e sistemas versus indivíduos...36 Figura 15 - Formato de um ataque DDoS...40 Figura 16 - Exemplo de um ataque do tipo spoofing...41 Figura 17 - Exemplo de um ataque do tipo Buffer Overflow...43 Figura 18 - Crescente sofisticação nas ferramentas de ataques...45 Figura 19 - Etapas de um ataque...49 Figura 20 - O planejamento da política de segurança...55 Figura 21 - Firewall atuando como primeira linha de defesa...57 Figura 22 - Posicionamento de NIDS em rede...61 Figura 23 - HIDS em hosts específicos...63 Figura 24 - Padrão do sistema IPS...64 Figura 25 - Localização do NIPS em uma rede de computadores...65 Figura 26 - Modelo do ambiente encontrado...68 Figura 27 - Pontos de falha de segurança encontrada modelo do ambiente...69 Figura 28 - IDS/IPS proposto como solução de segurança da rede de dados...71 Figura 29 - funcionamento interno Snort...73 Figura 30 - Componentes internos Snort...74 Figura 31 - Modelo físico...77 Figura 32 - Alertas sobre o ataque ocorrido...80 Figura 33 - Alertas gerados durante o escaneamento de portas...81 Figura 34 - Funcionamento do worm Conficker...83 Figura 35 - Alertas do worm Conficker...84 Figura 36 - Mensagem recebida pelo cliente assim que o endereço de IP é bloqueado...85 Figura 37 - Captura de pacotes...87 Figura 38 - Alerta de detecção de túnel SSH...88 Figura 39 - Lista de eventos ocorridos durante o período de prova...89\n9 LISTA DE CÓDIGOS Listagem 1- Momento que é executado o Slowloris...79 Listagem 2 - Bloqueio do host que originou o ataque...80 Listagem 3 - Nmap em execução...81 Listagem 4 - Momento em que o bloqueio é enviado para o firewall...82 Listagem 5 - Cliente da rede interna sendo bloqueado pelo IPS...84 Listagem 6 - Execução do túnel SSH...86 Listagem 7 - Momento em que o host é bloqueado...89\n10 LISTA DE TABELAS Tabela 1 - Protocolos da camada de aplicação...25 Tabela 2 - Algumas portas atribuídas...27 Tabela 3 - Métodos de criptografia...39 Tabela 4 - Dados semanais obtidos durante a validação do trabalho...90 Tabela 5 - Somatório dos dados obtidos no período de homologação do trabalho...90 Tabela 6 - Quantidade de bloqueios por assinaturas...91\n11 LISTA DE ABREVIATURAS API: Application Programming Interface ATM: Asynchronous Transfer Mode CIA: Confidentiality, Integrity, Availability DAC: Discretionary access control DdoS: Distributed Denial of Service Attack DNS: Domain Name System DoS: Denial of Service FDDI: Fiber Distributed Data Interface FTP: File Transfer Protocol HIDS: Host Intrusion Detection System HIPS: Host Intrusion Prevention System HTML Hyper Text Markup Language HTTP: Hypertext Transfer Protocol IANA: Internet Assigned Numbers Authority ICMP: Internet Control Message Protocol IDS: Sistema de Detecção de Intrusão IGMP: Internet Group Management Protocol IP: Internet Protocol IPS: Internet Protocol Suite IPS: Sistema de Prevenção de Intrusão IPSec: Internet Protocol Security LAN: Local Area Network MAC: Mandatory Access Control MTU: Maximum Transmit Unit NFS: Network File System NIDS: Network Intrusion Detection System NIPS: Network Intrusion Prevention System NTFS: New Technology File System OSI: Open Systems Interconnection OSPF: Open Shortest Path First\n12 RBAC: Role Based Access Control RPC: Remote Procedure Calls SMTP: Simple Mail Transfer Protocol SO: Sistema Operacional SQL: Structured Query Language SSH: Secure Shell Client TCP: Transmission Control Protocol TI: Tecnologia da Informação UDP: User Datagram Protocol WAN: Wide Area Network WEP: Wired Equivalent Privacy\n13 SUMÁRIO 1 INTRODUÇÃO Objetivos Organização do trabalho REVISÃO DE LITERATURA Redes de computadores Modelo de referência OSI (Open Systems Interconnection) Aplicação camada Apresentação camada Sessão camada Transporte camada Rede camada Link de dados camada Física camada Modelo TCP/IP Aplicação camada Transporte camada Internet camada Interface com a rede camada Comparativo entre os modelos (OSI e TCP/IP) SEGURANÇA DE REDES Riscos e ameaças Vulnerabilidades e ataques Tipos de ataques Malware Força bruta Ataques Denial of Service (DoS) Spoofing Engenharia social Buffer Overflow Repetição Dificuldades na defesa contra ataques Quem são os atacantes Hackers e Crackers White Hat Hackers Espiões Empregados Ciberterroristas Black Hat Hackers Etapas de um ataque Defesas contra ataques Camadas Limitação Diversidade Obscuridade Simplicidade...52\n14 3.8 Políticas de segurança Objetivos A importância O planejamento MECANISMOS DE DEFESA NA SEGURANÇA DE REDES Firewall Controle de acesso Mandatory Access Control (MAC) Discretionary Access Control (DAC) Role Based Access Control (RBAC) Antivírus Criptografia SISTEMA DE DETECÇÃO E PREVENÇÃO DE INTRUSÃO Sistema de detecção de intrusão Network Intrusion Detection System (NIDS) Host Intrusion Detection System (HIDS) Sistema de prevenção de intrusão Network Intrusion Prevention System (NIPS) Host Intrusion Prevention System (HIPS) IMPLEMENTAÇÃO DO SISTEMA DE DETECÇÃO E PREVENÇÃO DE INTRUSÃO Modelo de ambiente base encontrado Determinação do problema Pontos ideais para aplicação da ferramenta Arquitetura de software O IDS Snort Componentes do Snort O IPS SnortSam Barnyard Snorby Validação Cenário Descrição das experimentações Ameaças oriundas da rede externa Ameaças oriundas da rede interna Análise qualitativa dos bloqueios executados CONSIDERAÇÕES FINAIS...93 REFERÊNCIAS...94 APÊNDICES...97 APÊNDICE A - ARQUIVO DE CONFIGURAÇÃO DO SOFTWARE SNORT...97 APÊNDICE B - ARQUIVO DE CONFIGURAÇÃO DO SOFTWARE SNORTSAM. 111 APÊNDICE C - ARQUIVO DE CONFIGURAÇÃO DO SOFTWARE SNORBY APÊNDICE D - ARQUIVO DE CONFIGURAÇÃO DO SOFTWARE BARNYARD.127 APÊNDICE E CÓDIGO DESENVOLVIDO PARA APRESENTAR O BLOQUEIO EM INTERFACE WEB APÊNDICE F SCRIPT DESENVOLVIDO PARA COLETAR E ENVIAR INFORMAÇÕES AO FILTRO WEB...139\n15 15 1 INTRODUÇÃO As redes de computadores surgiram da necessidade da troca de informação, caracterizando uma nova realidade para uso dos computadores e nos sistemas computacionais. Com ela foi possível ter acesso a um determinado dado que está fisicamente localizado a centenas ou milhares de quilômetros de distância (TORRES, 2009). No princípio as redes eram restritas às universidades, centros de pesquisas e departamentos governamentais, que possuíam mais recursos e possibilidades de implementação, sendo, dessa maneira, o acesso era restrito a um pequeno grupo de pessoas que possuíam vínculo com as instituições. Além disso, os dados raramente circulavam ou eram acessíveis de outras redes (TANENBAUM, 1997). Atualmente, com a queda de custos de implementação de rede, é impossível pensar em um ambiente de trabalho onde os computadores não estejam interligados, efetuando troca de dados, compartilhando recursos ou acessando à internet (TORRES, 2009). Com toda essa disponibilidade, garantir a segurança dos dados passou a ser uma grande preocupação, pois possuindo acesso à internet possibilita-se que a rede privada seja atingida pelo mundo exterior. Então, se métodos de segurança não forem implementados, todo sistema de informação corre o risco de ser explorado, oriundo de várias fontes e de várias formas, podendo causar perda de conectividade ou divulgação de dados valiosos (BHARDWAJ, 2007). Segundo Harrington (2005), segurança da informação pode ser definida como proteção contra ataques ou divulgação não intencional dos dados que estão armazenados ou os que trafegam através de uma rede de computadores. Ainda, conforme este, uma forma de facilitar a compreensão do que é segurança da informação, é diferenciar segurança de privacidade: privacidade é a necessidade de restringir o acesso aos dados e informações, e segurança é garantir esta privacidade. Brenton e Hunt (2001) observam que diariamente surgem notícias de ataques contra sistemas de organizações governamentais, sistemas privados, políticos e sociais, não sendo nem todos os ataques divulgados, pois empresas podem ter prejuízos ao divulgarem que foram atacadas, seja por ter sua imagem denegrida por mostrar a fragilidade de seus sistemas computacionais ou por prejuízos financeiros diretos, como, por exemplo, para instituições financeiras e sites de compras on-line. As redes de computadores estão cada vez mais interconectadas. Com isso a estabilidade e a segurança tornam-se imprescindíveis, já que o mundo dos negócios está\n16 16 fortemente apoiado na Tecnologia da Informação (TI), podendo, em caso de falha, todo um negócio ser prejudicado (LOCKHART, 2006). Bhaiji (2008) apresenta os três princípios de segurança, conforme visto na Figura 1. Figura 1 - Princípios da segurança Fonte: Do autor com base em Bhaiji (2008). confidencialidade: impede a divulgação de informações confidenciais a pessoas não autorizadas; integridade: impede a modificação não autorizada de dados, sistemas e informações, proporcionando assim garantia de dados íntegros; disponibilidade: é a prevenção contra perda de acesso a recursos e informações, garante que a informação está disponível para uso quando necessário. Para Brenton e Hunt (2001), um administrador de rede tem que pensar como um atacante, pois assim pode determinar a melhor forma de proteger seus recursos, efetuando uma análise da rede para avaliar o nível de proteção de que realmente necessita. Com a crescente sofisticação nas ferramentas de ataques, sem contar com novas pragas que são liberadas diariamente, e a inclusão digital possibilitando o fácil acesso à internet, estão surgindo novos consumidores alavancando de forma exponencial fontes vulneráveis de ataques, tornando cada vez mais complexa a atividade de manter uma rede segura. Então, o fator segurança está cada vez mais presente no nosso cotidiano, e mantê-lo\n17 17 tem se tornado uma tarefa árdua e desafiadora. Para tal, são incentivadas a conscientização aos usuários das redes de computadores, a utilização de software antivírus, de ferramentas de detecção e de prevenção de intrusão (IDS/IPS), a implantação de firewalls, entre outras ferramentas para auxiliar na proteção da rede (BHARDWAJ, 2007). 1.1 Objetivos Considerando-se as questões levantadas, o presente trabalho tem por objetivo identificar e automatizar o processo de contenção de ameaças na rede wireless do Centro Universitário UNIVATES com o auxílio de ferramenta de IDS/IPS (Sistema de Detecção e Prevenção de Invasão), com isso efetuar uma análise qualitativa dos bloqueios gerados a fim de viabilizar a implementação da ferramenta. Como objetivos secundários, visa a atribuir assinaturas existentes aos processos de contenção e identificar novos padrões de assinaturas. A manutenção da segurança de uma rede de dados é dificultada quando esse ambiente é híbrido e heterogêneo. O ambiente da grande maioria das instituições de ensino é assim, no caso da rede de dados do Centro Universitário UNIVATES ambiente utilizado para realização deste trabalho não poderia ser diferente. Sendo assim, para auxiliar no árduo processo de manter a segurança da rede de dados, implementar-se-á um sistema automatizado de monitoramento, detecção e prevenção de tentativas de intrusão utilizando um conjunto de aplicações de códigos abertos (open source) desenvolvidas para monitoramento do tráfego de pacotes da rede IP (Internet Protocol), realizando análises em tempo real sobre os protocolos e conteúdos, e fazendo uso de metodologias de detecção multidimensional por meio da análise de assinaturas de ataques, anomalias no protocolo e no comportamento do tráfego. 1.2 Organização do trabalho O presente trabalho está dividido em seis capítulos. Os dois primeiros fazem uma introdução a redes de computadores, enquanto os outros três são voltados para áreas de segurança e sua aplicação. O Capítulo 2 descreve o modelo OSI e TCP/IP, em que é conceituada cada camada por este composta. E sua finalização é feita com uma correlação entre os dois modelos, exibindo a não compatibilidade de suas camadas. O Capítulo 3 aborda os principais problemas quanto à segurança da rede de dados, tipos de ataques, dificuldade para contê-los e principais atacantes. Além disso, aborda as principais dificuldades para conter uma ameaça e boas práticas para minimizar os problemas relativos à segurança. No Capítulo 4 são apresentados os principais mecanismos de defesa, contemplando firewall, controle de\n18 18 acesso, entre outros, os quais têm por função garantir e aumentar o nível de segurança lógica da rede. O Capítulo 5 aborda o sistema de detecção e prevenção de intrusão, compondo o tema principal do trabalho proposto. Descreve seus conceitos, tipos de implantação e formas de funcionamento. A contextualização deste capítulo serve como base para a estruturação de implementação a ser realizada no capítulo seguinte. O Capítulo 6 parte de uma análise de um ambiente base, determinação do problema, apresentação física e lógica de um ambiente ideal e descrição das ferramentas utilizadas no caso do IDS/IPS. Finalizando o capítulo, são apresentadas as considerações finais do autor quanto aos propósitos e resultados obtidos com o estudo de forma a automatizar o processo de identificação de ameaças na rede de dados analisada.\n19 19 2 REVISÃO DE LITERATURA Neste capítulo, são apresentados tópicos sobre rede de computadores, modelo OSI, modelo TCP/IP e um comparativo entre os dois modelos. Os assuntos mencionados são descritos resumidamente, pois entende-se que eles são pré-requisitos para o entendimento do tema segurança de redes de computadores, pois as ferramentas de segurança do tipo IDS/IPS vão interagir diretamente nas camadas desses modelos. 2.1 Redes de computadores Segundo McQuerry (2008) e Sportack (2004), uma rede são diversos dispositivos conectados em um sistema final, como computadores e servidores, os quais se comunicam entre si, compartilhando recursos físicos e lógicos. Mais especificamente, uma rede de computador é uma infraestrutura que fornece a conectividade com múltiplos sistemas de computação autônoma, a fim de comunicar (por exemplo, ) e compartilhar recursos. Esses recursos incluem hardware, como mídia de armazenamento e periféricos (por exemplo, discos rígidos, impressoras), software (ou seja, programas de computador), e as informações/dados (ou seja, arquivos de computador - por exemplo, um banco de dados). As redes de computadores, salientam Soares, Lemos e Colcher (1995), surgiram para viabilizar a troca e o compartilhamento de informações e dispositivos periféricos, preservando a independência das várias estações de processamento e permitindo a integração em ambientes de trabalho cooperativos. Uma rede local refere Castelli (2004), envia e recebe pacotes a uma velocidade muito maior do que conexões telefônicas, porém, existe limitação quanto à distância da estação até o concentrador. Tendo em vista essas características de velocidade e distância, a utilização das redes locais disseminou-se rapidamente em ambientes geograficamente agrupados, como em universidades e empresas, que se enquadram neste agrupamento e necessitam de velocidade maior na comunicação de dados. A Figura 2 ilustra o comportamento de uma rede local com compartilhamento de recursos.\n20 20 Figura 2 - Rede de computadores local Fonte: Do autor com base em Sportack (2004). Segundo Castelli (2004), três características diferenciam uma rede de outra: redes podem ser configuradas em diferentes topologias, que é a forma de interligação dos dispositivos. As duas topologias mais conhecidas são anel, em que um dispositivo conecta-se a outro até fechar o anel, e estrela, em que cada dispositivo é conectado ao concentrador; as redes seguem diferentes protocolos, que são as normas de envio e recebimento de pacotes; as redes são conectadas por algum meio físico: fios de cobre, fibra óptica ou wireless, com características específicas para cada meio. 2.2 Modelo de referência OSI (Open Systems Interconnection) O modelo OSI trata da interconexão de sistemas que estão abertos à comunicação com outros sistemas (TANENBAUM, 1997). Compreende um modelo de sete camadas, como é possível observar na Figura 3.\n21 21 Figura 3 - Modelo OSI Fonte: Do autor com base em Torres (2009) Aplicação camada 7 A camada de aplicação faz a interface entre o protocolo de comunicação e o aplicativo que irá trafegar por meio da rede, como, por exemplo, navegadores de internet, softwares de mensagens instantâneas, leitores de , entre outros. Esta é a camada que faz a interface com os usuários por meio dos programas utilizados pelo usuário e que fazem uso da rede. Importante salientar que a maioria dos aplicativos pode estar em uso ao mesmo tempo acessando dados diferentes, como é o caso dos navegadores, em que é possível, ao mesmo tempo, o acesso a mais de um site (TORRES, 2009) Apresentação camada 6 Esta camada é responsável por apresentar os dados de e para a aplicação e a sessão, convertendo-os para que cada uma das camadas os entenda, ou seja, estabelece um formato comum a ser usado na transmissão desse dado. Esta camada é comumente chamada de tradutora. Exemplos de arquivos são formatos gráficos: jpg, png, bmp; formatos de som e vídeo: mp3, divx, mp4. Nesta camada é possível utilizar algum esquema de criptografia em que os dados serão decriptografados na camada 6 do destino (NOONAN; DUBRAWSKY, 2006).\n22 Sessão camada 5 Permite que duas aplicações em computadores diferentes estabeleçam e mantenham uma sessão de comunicação. Possibilita que em uma rede de computadores diversos dispositivos possam conectar-se a diversos outros dispositivos e, ao mesmo tempo, em diversos aplicativos, assegurando que os dados serão entregues à aplicação correta. Alguns exemplos de protocolos são o Remote Procedure Calls (RPC), no qual o servidor executa procedimentos que são requisitados pelo cliente; o NetBios, que é uma Application Programming Interface (API) utilizada basicamente por sistemas Windows; e a Structured Query Language (SQL), que são conexões a servidores de banco de dados (DOHERTY; ANDERSON; MAGGIORA, 2007) Transporte camada 4 Responsável por adquirir os dados enviados pela camada de sessão e dividi-los em pacotes que serão transmitidos através da rede, por meio de um método que independe de aplicação, executando os procedimentos de segmentação e remontagem. Os dois principais exemplos de protocolos desta camada são Transmission Control Protocol (TCP) e User Datagram Protocol (UDP) (HELD, 2003) Rede camada 3 Responsável pelo endereçamento dos pacotes, convertendo endereços lógicos em físicos, fazendo com que o pacote chegue ao destino. É nela a maioria dos protocolos de comunicação funcionam, confiando nas camadas 1 e 2 para enviar e receber mensagens de e para outros dispositivos de rede. Nesta camada, é acrescentado cabeçalho que identifica os endereços Internet Protocol (IP) de origem e de destino do pacote. É neste nível que ocorre o roteamento IP (TANENBAUM, 2003) Link de dados camada 2 Também chamada de camada de enlace, pega os pacotes de dados recebidos da camada de rede e os transforma em quadros que serão trafegados pela rede. É responsável por estabelecer a mais elementar forma de comunicação entre dois dispositivos de rede, para que possam trocar dados em protocolos da camada 3. Nesta camada os dispositivos são\n23 23 identificados pelo endereço conhecido como Media Access Control (MAC) (TANENBAUM, 2003) Física camada 1 Faz a transformação dos quadros enviados pela camada de enlace em sinais compatíveis com o meio de transmissão, que pode ser cobre, fibra óptica, wireless, entre outros. Esta camada também fornece um método para que o dispositivo receptor faça a validação considerando se os dados estão ou não corrompidos (TANENBAUM, 2003). 2.3 Modelo TCP/IP TCP/IP é um padrão aberto de protocolos de comunicação que é o padrão utilizado na internet, escolhido para esta finalidade pois contém todos os mecanismos fundamentais para suportar todo e qualquer tipo de comunicação de rede (CASTELLI, 2004). Segundo Sportack, (2004), foi o protocolo de rede que mudou o mundo, revolucionou a forma como as pessoas se comunicam, e trocam informações e fazem negócios. O nome TCP/IP se refere a um conjunto de protocolos de comunicação, recebendo o modelo o nome de dois dos protocolos que pertencem a ele, o Transmission Control Protocol (TCP) e o Internet Protocol (IP). Também encontra-se na literatura o nome Internet Protocol Suite (IPS), que, apesar de aceito, não é comumente utilizado (HUNT, 2002). A grande popularidade do protocolo TCP/IP, conforme Hunt (2002), pode ser explicada por quatro características principais: toda a implementação e todas as normas são abertas, ou seja, independente de hardware ou software, é possível implementar o protocolo TCP/IP, podendo a comunicação ser estabelecida entre quaisquer dispositivos que implementem o protocolo; independente de hardware de rede, ou seja, o TCP/IP pode integrar diferentes tipos de rede, sejam sem fio, redes de cobre, ópticas, linhas dial-up, redes ethernet, enfim, qualquer meio físico ou tipo de transmissão; um sistema de endereçamento comum, que permite a comunicação entre dispositivos independente do tamanho da rede, seja uma rede com apenas dois computadores ou a internet, na qual existem incontáveis dispositivos conectados e trocando informações ao mesmo tempo;\n24 24 protocolos padronizados, consistentes e amplamente disponíveis para serviços aos usuários. Atualmente, implementações do TCP/IP estão presentes em computadores de todos os portes, aparelhos celulares, storages1, impressoras, eletrodomésticos, enfim o TCP/IP é cada vez mais encontrado em dispositivos que passam a comunicar-se, o que permite novos benefícios à população em geral. Segundo Hunt (2002), não existe consenso em descrever o TCP/IP em camadas, porém, normalmente, divide-se o TCP/IP, assim como o modelo OSI, em camadas. Enquanto o modelo OSI é dividido em sete camadas, o TCP/IP é dividido em apenas quatro, como é possível observar na Figura 4. Figura 4 - Modelo TCP/IP Fonte: Do autor com base em Torres (2009) Aplicação camada 4 É a camada que interage com o usuário, ou seja, nela encontram-se aplicativos como clientes de , navegadores de internet, enfim, diversos softwares que utilizam a rede e interagem com o usuário final (HUNT, 2002). Para fácil entendimento do funcionamento, é importante destacar a existência de duas entidades na comunicação: o emissor e o receptor. Para o envio, os dados do usuário emissor são combinados com os dados do aplicativo, sendo encapsulados com a adição de algumas informações, como a porta de origem. Os dados são passados para a camada de transporte. 1 Storage é um dispositivo exclusivamente dedicado ao armazenamento de informação. Disponível em: <http://www.kerkeberos.net/2009/01/07/solucoes-para-a-criacao-do-seu-servidor-nas-network-attachedstoragedomestico/>. Acesso em: 10 jun\n25 25 Quando do recebimento, o receptor, na camada de aplicação, remove o cabeçalho da aplicação, provê o tratamento necessário para finalizar a transação e confirma que o processo foi concluído (TORRES, 2009). A Tabela 1 exemplifica alguns protocolos da camada de aplicação: Tabela 1 - Protocolos da camada de aplicação Protocolo Função Telnet Login remoto File Transfer Protocol (FTP) Transferência de arquivos Simple Mail Transfer Protocol (SMTP) Entrega de correio eletrônico Hypertext Transfer Protocol (HTTP) Acesso a web sites Domain Name System (DNS) Resolução de nomes de domínios Open Shortest Path First (OSPF) Protocolo de roteamento Network File System (NFS) Compartilhamento de diretórios Fonte: Do autor com base em Hunt (2002) Transporte camada 3 A camada Host-to-Host Transport Layer é geralmente abreviada e traduzida como camada de transporte. Os dois protocolos mais importantes desta camada são o Transmission Control Protocol (TCP) e o User Datagram Protocol (UDP). A diferença entre o TCP e o UDP é que o primeiro tem conexão orientada a serviço, ou seja, o destinatário confirma o recebimento do dado. Quando da implementação de aplicações, o desenvolvedor escolhe qual protocolo melhor se enquadra aos softwares, tendo em vista que o TCP é confiável e possui mecanismos de detecção e correção de erros, enquanto o UDP tem menor overhead pois dá acesso direto a um serviço de entrega de datagramas (HUNT, 2002) TCP Segundo Tanenbaum (2003), o protocolo TCP foi concebido para ser um protocolo de transporte confiável, fim a fim, em redes interconectadas, que apresentam diferentes topologias, banda, tipos e tamanho de pacotes, entre outros. O TCP é orientado à conexão, ou seja, cria um circuito virtual, full duplex (tem a capacidade de enviar e receber dados simultaneamente) entre duas aplicações, sendo todos os bytes numerados para que seja possível a retransmissão em caso de falhas.\n26 26 Na Figura 5 é possível observar, de maneira ilustrativa, o túnel virtual criado pelo protocolo TCP, com sua característica ponto a ponto e full duplex. Figura 5 - Ligação ponto a ponto bidirecional Fonte: Dostálek e Kabelová (2006, p. 239). O detalhamento da estrutura de um segmento TCP pode ser visto na Figura 6, na qual se identificam alguns campos: porta de origem e de destino, usada para identificar as portas no emissor e no receptor; o número de sequência, utilizado para o controle do TCP, visto que os pacotes devem ser enviados e recebidos em ordem; checksum, que é utilizado para verificar a integridade dos dados, entre outros campos. Figura 6 - Fragmento TCP Fonte: Dostálek e Kabelová (2006, p. 241). O estudo dos protocolos de rede pode confundir as funções dos dois protocolos que formam o nome do modelo TCP/IP. Segundo Dostálek e Kabelová (2006), o IP transmite dados entre dispositivos, enquanto o TCP transfere dados entre as aplicações nestes dispositivos, utilizando para tanto a porta na qual o serviço está sendo executado.\n27 27 Carne (2004) explica que o protocolo TCP somente é utilizado com endereços unicast (entre dois hosts), não podendo ser usado para endereços multicast (grupo de computadores) ou broadcast (todos os dispositivos no mesmo domínio de broadcast). Todas as aplicações que utilizam o protocolo TCP têm a garantia de que os dados serão entregues. Porém, destacam Dostálek e Kabelová (2006), que essa proteção garantida pelo TCP não oferece proteção contra ataques a rede de dados. A garantia do protocolo se limita à entrega dos dados a outra ponta. Os pontos de origem e destino na conexão são identificados por um número de porta que, no caso do protocolo TCP, pode variar de 0 a No caso da internet, a aplicação de destino é endereçada por meio de um endereço IP, um número de porta e o protocolo, transferindo o IP e os pacotes para um determinado dispositivo, que pode executar vários aplicativos simultaneamente, visando entender o sistema operacional para tanto, é utilizado porta de destino, que entende para qual aplicação deve ser entregue o pacote TCP (DOSTÁLEK; KABELOVÁ, 2006). Conforme Tanenbaum (2003), as portas de 0 até são conhecidas e reservadas, com regulação feita pela Internet Assigned Numbers Authority (IANA). A Tabela 2 relaciona alguns serviços e portas. Tabela 2 - Algumas portas atribuídas Porta Protocolo Uso 21 FTP Transferência de arquivos 23 TELNET Login remoto 25 SMTP Entrega de correio eletrônico 69 TFTP Transferência de arquivos 79 FINGER Verificação de informações de usuários 80 HTTP Acesso a web sites 110 POP3 Acesso remoto a s 119 NNTP Notícias Fonte: Do autor com base em Tanenbaum (2003) User Datagram Protocol (UDP) O UDP é um protocolo simples, destinado a aplicações que não exigem confirmação de entrega dos pacotes, ou seja, serviços não confiáveis. Ao enviar, o protocolo recebe os\n28 28 dados da camada superior, adiciona o número da porta de destino e calcula o checksum2 (opcional), para que o receptor valide os dados e faça o processo contrário no recebimento. O cabeçalho é bastante pequeno (8 bytes), como pode ser visto na Figura 7, e o restante são dados. Sem as informações de porta, seria impossível o tráfego de pacotes a camada de transporte não teria o que fazer com eles explicam Carne (2004) e Tanenbaum (2003). Figura 7 - O cabeçalho UDP Fonte: Tanenbaum (2003, p. 434). Segundo Tanenbaum (2003) é importante deixar claro algumas funcionalidades que o UDP não implementa, como controle de fluxo, controle de erros ou retransmissão de pacotes Internet camada 2 Também chamada de camada de rede, consiste em todos os protocolos utilizados para que os dispositivos de origem e destino se encontrem, independente de sua localização física, já que os datagramas da camada de transporte são analisados para definir a rota que será utilizada. No presente trabalho o objetivo restringe-se a dar uma visão sucinta de quatro protocolos pertencentes a esta camada Internet Protocol (IP) É o protocolo mais importante nesta camada, considerado o protocolo responsável pelo funcionamento da internet. Internet Protocol, ou simplesmente IP corresponde à camada de rede, que é responsável pelo envio de datagramas entre dispositivos, contendo cada datagrama as informações necessárias para que o mesmo seja entregue ao destino (DOSTÁLEK; KABELOVÁ, 2006; CARNE, 2004). Carne (2004) explica um datagrama IP como sendo formado pela combinação da camada de transporte e o cabeçalho adicionado pelo protocolo IP, contendo os endereços de origem e de destino. Cada tipo de rede define sua unidade máxima de transmissão, Maximum Transmit Unit (MTU), que, em redes ethernet, tem por padrão o tamanho bytes, sendo o protocolo IP que fragmenta os pacotes no emissor para adequar-se ao tipo da rede e monta os 2 Checksum é um dado de tamanho fixo calculado a partir de um bloco arbitrário de dados digitais com a finalidade de detectar erros acidentais que possam ter sido introduzidas durante a sua transmissão ou armazenamento. Disponível em: <http://thefreedictionary.com/checksum>. Acesso em: 14 jun\n29 29 datagramas quando estes são recebidos pelo destinatário. Esse endereço é único na rede, seja internet ou redes internas, que permite aos dispositivos conseguir estabelecer a comunicação, ou seja, que os hosts comuniquem-se entre si. Na Figura 8 os campos do cabeçalho IP são citados, dentre os quais se tem: Versão, que indica o uso da versão 4 ou 6 do IP; tipo de serviço, um campo que pode ser utilizado para priorizar o tráfego conforme o tipo de serviço; time to live, que define o tempo de vida de um pacote, para que não fique trafegando eternamente na rede; checksum, utilizado para a verificação apenas do cabeçalho IP; endereço IP de origem e destino, que identifica os hosts envolvidos na troca de informações, entre outros. Figura 8 - Cabeçalho Ipv4 Fonte: Carne (2004, p. 16). No presente trabalho o termo IP refere-se à versão 4 do protocolo Address Resolution Protocol (ARP) Segundo Held (2003) e Carne (2004), o ARP resolve o endereço IP de um nó, que é configurado em alto nível, em seu endereço MAC, que fica gravado geralmente em um chip na placa de rede, em uma rede local, criando assim uma tabela que é gerada a partir de duas mensagens: ARP request, que envia frames via broadcast de nível MAC, e ARP reply, em que o endereço que responde ao IP solicitado responde com seu endereço MAC. Por meio dessa tabela e do endereço MAC, os pacotes podem ser transportados na LAN. A Figura 9 ilustra um pacote ARP. O valor do campo hardware, definido para 1, significa Ethernet. O campo Protocol identifica o endereço do protocolo, em hexadecimal,\n30 30 identificando o valor 0800 o uso de endereços IP. Os campos hardware length (HLEN) e protocol length (PLEN) definem o tamanho, em bytes, dos endereços a serem utilizados (hardware e protocolo). Operation indica ARP request (1) ou ARP reply (2). Os demais campos referem-se ao protocolo e ao hardware do emissor e ao hardware do destinatário. Figura 9 - Formato de um pacote ARP segundo Fonte: Held (2003, p. 254) Internet Control Message Protocol (ICMP) O protocolo ICMP fornece um método para dispositivos IP trocarem informações sobre problemas com a rede que estejam impedindo a troca de pacotes. Mesmo que o protocolo IP não seja confiável e não garanta a entrega, é importante por ser uma maneira de informar ao remetente quando a entrega não é possível (HALL, 2000). De acordo com Held (2003), uma mensagem ICMP é formada prefixando um cabeçalho IP à mensagem ICMP, sendo cada mensagem formada por quatro campos, como pode ser observado na Figura 10.\n31 31 Figura 10 - Formação e composição de uma mensagem ICMP Fonte: Held (2003, p. 250). Segundo Tanenbaum (2003), a internet é acompanhada de perto por roteadores e, quando ocorre algo inesperado, o protocolo ICMP é utilizado para reportar os problemas. Este protocolo define cerca de uma dúzia de tipos de mensagens, como destino não encontrado, tempo excedido, entre outras. Hall (2000) divide essas mensagens em três famílias: Query (Reply) e Query (Request), com quatro mensagens em cada família, e Error com cinco Internet Group Management Protocol (IGMP) A necessidade de transferência de dados de forma simultânea para diversos nós em uma rede local evidenciou a necessidade de tráfego IP multicast3, como é o caso de videoconferência, em que existe o envio de pacotes de um para muitos. Para que isso seja possível, o protocolo IGMP envia um único datagrama para os nodos locais e o faz por meio de roteadores aos nodos distantes interessados em receber o tráfego. Para que isso seja possível, o protocolo IGMP oferece um mecanismo para que os hosts informem seu interesse em receber o tráfego ou interromper o recebimento deste (CARNE, 2004). A Figura 11 diferencia o envio de pacotes unicast e multicast. Enquanto o primeiro envia uma cópia para cada destinatário, o segundo encaminha apenas uma cópia para todos os membros do grupo. 3 Multicast é a entrega de uma mensagem ou informações a um grupo de computadores de destino simultaneamente em uma única transmissão. Disponível em: <http://thefreedictionary.com/multicast>. Acesso em: 14 jun\n32 32 Figura 11 - Diferença entre o envio de pacotes unicast e multicast Fonte: Doherty, Anderson e Maggiora (2008, p. 307). O protocolo IGMP utiliza somente dois tipos de pacotes: consulta e resposta, cada um contendo algumas informações simples para controle. Sendo assim, é vagamente análogo ao protocolo ICMP (TANENBAUM, 2003) Interface com a rede camada 1 É a camada de mais baixo nível no modelo TCP/IP, estando intimamente ligada ao hardware através do driver4 do dispositivo. Os datagramas recebidos por esta camada são convertidos para serem transmitidos utilizando o meio físico disponível, seja wireless, óptico, cobre, entre outros. Segundo Palma e Prates (2000), esta camada baseia-se em três conjuntos de protocolos: redes Wide Area Network (WAN), redes Local Area Network (LAN) e utilizados em redes discadas. 2.4 Comparativo entre os modelos (OSI e TCP/IP) Uma questão que normalmente surge é a correlação entre as normas ISO OSI e o protocolo TCP/IP. Segundo Dostálek e Kabelová (2006), ambos são divididos em camadas e em cada camada são definidos os protocolos utilizados. De maneira geral, os modelos são incompatíveis. 4 Driver (de dispositivo): é um conjunto de rotinas que permitem ao sistema operacional acessar o periférico. Disponível em: <http://wiki.softwarelivre.org/bin/view/pclivre/glossario>. Acesso em 17 jul\n33 33 Semelhante ao modelo OSI da ISO, no modelo TCP/IP os dados são passados para baixo na pilha no momento do envio e são levados até o topo quando do recebimento. (SPORTAK, 2004). Em cada camada são adicionadas informações do protocolo e de controle a fim de garantir a entrega dos dados no destino (HUNT, 2002). Esta adição de informações que ocorre em cada camada é chamada de encapsulamento, como retrata Figura 12: Figura 12 - Encapsulamento de dados Fonte: Hunt (2002, p. 22). A Figura 13 traça comparativo entre os dois modelos, conforme a maioria dos autores os trata, porém, é importante ficar claro que esses modelos não são compatíveis. Figura 13 - Os modelos OSI e TCP/IP Fonte: Noonan e Dubrawsky (2006, p. 46).\n34 34 No próximo capítulo é dada enfase à segurança de redes. Nele são apresentados as principais ameças, riscos e vulnerabilidades encontradas em uma rede de computadores, assim como os tipos de ameaças e seus atacantes.\n35 35 3 SEGURANÇA DE REDES Segundo Harrington (2005), segurança de redes é um termo muito amplo, isso significa proteção dos dados que são armazenados ou dos que trafegam em uma rede de computadores contra a divulgação não autorizada, modificação acidental ou intencional. Sendo assim, neste capítulo são apresentadas definição e composição sobre riscos e ameças, assim como vulnerabilidades e ataques sofridos em uma rede de computadores. 3.1 Riscos e ameaças Nakamura e Geus (2009) definem risco em segurança da informação como a probabilidade de um agente de ameaça explorar uma vulnerabilidade, comprometendo dados da confidencialidade, integridade e disponibilidade (CIA, confidentiality, integrity, availability). Teixeira et al. (1999) consideram que uma ameaça consiste em uma pessoa ou uma organização querer atentar contra a segurança da rede. Observam Nakamura e Geus (2007) que, no momento que uma rede de dados passa a ser parte importante em uma organização, existem algumas considerações que devem ser feitas quanto aos riscos existentes. as informações que trafegam pela rede estão sujeitas a serem capturadas; os s podem ser capturados, lidos, modificados e/ou falsificados; a internet deve ser considerada um ambiente hostil e portanto, não confidenciável; novas tecnologias significam novas vulnerabilidades; a interação entre diferentes ambientes resulta na multiplicação dos pontos vulneráveis; a segurança é complexa. De acordo com Alcapan e Basar (2010), é essencial que se execute uma análise de riscos durante a fase inicial de um projeto de rede, pois é quando se identificam os bens que se pretende proteger contra as mais diversas ameaças, estas envolvendo desastres naturais, ataques hackers, erros acidentais de configuração, brechas na política de segurança, spam, negligência, entre outros. A Figura 14 ilustra alguns exemplos que caracterizam fatores de riscos.\n36 36 Figura 14 - Fatores de riscos: natureza versus malícia e sistemas versus indivíduos Fonte: Do autor com base em Alpcan e Basar (2010). A identificação das ameaças em uma rede de computadores é extremamente importante, pois elas fazem uso das vulnerabilidades para atingir um sistema de segurança. As ameaças e os riscos de segurança estão fortemente interligados, pois identificando-se os riscos podem-se identificar as ameaças (BHARDWAJ, 2007). Usuários de sistemas computacionais geralmente não possuem conhecimento dos impactos e consequências de suas ações sobre a segurança da rede de dados. Muitas vezes as falhas de segurança não partem de uma ação mal intencionada, mas sim, são causadas pela ignorância ou por erro humano. Consequentemente inúmeros administradores de sistemas não mantêm uma base de treinamento contínuo, com orientações e conscientização da forma de uso adequado dos recursos de tecnologia da informação (VACCA, 2010). As ameaças geralmente incluem incidentes envolvendo vandalismo, roubo de equipamento ou dados, intrusão, entre outras situações, variando de uma organização para outra (BHARDWAJ, 2007). Inúmeras vezes a principal ameaça à segurança da rede de computadores parte de dentro da própria empresa, origina-se dos próprios usuários, promovendo possíveis vulnerabilidades que podem ser exploradas pelos atacantes (BRENTON; HUNT, 2001). 3.2 Vulnerabilidades e ataques Segundo Harrington (2005), a internet tem sido uma maravilha e um problema para as empresas que possuem redes de computadores. Com ela, empregados e clientes passaram a ter\n37 37 acesso a uma organização por meio de seu site. Em contrapartida, com esse novo acesso surgiram enormes problemas causados por indivíduos que tentam burlar a segurança da rede ilegalmente, por meio das vulnerabilidades, sendo uma vulnerabilidade, em termos de segurança, é um ponto fraco de projeto de rede, que pode ser explorado com más intenções (TEXEIRA et al., 1999). Segundo Alpcan e Basar (2010), ataque pode ser definido como uma ou mais tentativas de comprometer a confidencialidade, integridade e disponibilidade da rede de dados para obter um controle parcial ou total de dispositivos que se comunicam em rede. Ataques à rede fazem uso de vários métodos para explorar as vulnerabilidades dos sistemas de rede e de seus usuários. Essas vulnerabilidades envolvem a presença de falhas ou bugs encontrados nos mais diferentes sistemas, sistemas operacionais, aplicativos sem receber atualizações, correções contra vírus e spywares, utilização de senhas que podem ser quebradas facilmente, entre outros (ALPCAN; BASAR, 2010). Segundo Smith e Marchesini (2008), as principais falhas de segurança são causadas pela complexidade nas aplicações desenvolvidas, isso devido ao avanço computacional, que proporcionou que os códigos fossem cada vez mais amplos e complexos, alguns desses, executados em dispositivos de rede, podem conter de centenas a milhões de linhas. Com a alta complexidade dos códigos somadas às pressões econômicas sofridas durante o desenvolvimento do projeto, alavancou-se o número de vulnerabilidades a serem exploradas por crackers. Para um observador casual manter uma rede segura parece ser simples, podendo imaginar que, para tal, seria necessário simplesmente criar senhas mais longas, e usufruir de antivírus. Mas não existe uma solução simples para proteger uma rede de computadores. Tal fato percebe-se devido a diferentes tipos de ataques sofridos pelos usuários em seu cotidiano. Em contrapartida, são gastos milhões de dólares anualmente em segurança de informação, não diminuindo a taxa de sucesso de ataques. A maioria dos ataques não é considerada aleatória. O invasor acredita que há algo a ganhar em atacar a segurança de um sistema. Esses ataques podem ser oriundos de fontes internas ou externas, ou seja, pode ser originado dentro da própria instituição, por algum usuário desavisado, desatento, ou mesmo mal intencionado, ou vinda de fora, por um exfuncionário insatisfeito com a demissão ou por algum atacante desconhecido (BRENTON; HUNT, 2001). Algumas invasões são efetuadas simplesmente para que seja percebido que um determinado site ou host foi atacado, desconfigurando o site com textos ou imagens\n38 38 grosseiras. Outros são mais maliciosos, buscando extrair informações importantes, implantando parasitas que desviam todos os dados possíveis que estão trafegando na rede. Em outros casos a implantação do código acontece cuidadosamente, quebrando senhas, ou até mesmo clonando um site inteiro, fazendo com que os usuários sejam direcionados para um local desconhecido (CIAMPA, 2009). Conforme Doherty, Anderson e Maggiora (2008), os ataques à rede podem ser classificados como ativos ou passivos: ataques ativos incluem injeção de arquivos maliciosos, alterações de dados, ou congestionamento da rede, tendo a intenção de causar danos ou prejuízos a vítima. Esse tipo de ataque somente é possível ser identificado através dos rastros deixados pelo invasor; ataques passivos na maioria das vezes não tem intenção de prejudicar o funcionamento da rede, mas sim obter informações ou dados sigilosos, deste modo, torna-se difícil detectá-lo. 3.3 Tipos de ataques A seguir, são apresentados os principais tipos de ataques sofridos em uma rede de computadores, suas definições, as dificuldades para conseguir contê-los e a caraterização de cada atacante. Por final, são apresentadas algumas implementações de defesas que uma rede de computadores deve apresentar para se tornar mais segura Malware Harrington (2005) resume o termo malware como softwares maliciosos: vírus, worms e cavalos de tróia. Códigos maliciosos, ou malwares, são projetados, segundo Bhardwaj (2007), com a finalidade de infiltrar-se no computador do usuário, sem que este conheça ou permita. As três principais categorias de malware são: programas que não visam a ganhos comerciais; programas que têm por objetivo ocultar a identidade dos invasores; e softwares que visam ao roubo de dados e consequente ganho comercial. A palavra malware vem do termo mal, de maldade. Na definição de Smith e Marchesini (2007), muitos desenvolvem este tipo de aplicativo com o intuito de brincadeira, outros como forma de vandalismo, de protesto ou mesmo de roubo. Observam os autores ainda que malware deve ser visto como um software que faz com que, intencionalmente, o sistema passe a não se comportar de maneira aceita como correta.\n39 Força bruta Este tipo de ataque caracteriza-se por simples tentativa de tentar acertar a senha testando todas as possibilidades, de forma exaustiva, ou seja, o atacante não tenta invadir o sistema ou parar o serviço, apenas confia que tentando todas as possibilidades terá sucesso (BRENTON; HUNT, 2001). Levando-se em consideração que serão testadas todas as possibilidades, nenhum algoritmo de criptografia é imune a este ataque, porém, o atacante considera o que pode ganhar com o tempo necessário para quebrar a criptografia, já que, dependendo da senha utilizada, o tempo para que um ataque de força bruta tenha sucesso pode ser de dias, semanas, anos ou até mesmo ser considerado computacionalmente incalculável com o recurso computacional existente. Tendo em vista a relação entre tamanho da senha e tempo necessário para obter êxito, Brenton e Hunt (2001), apresentam a Tabela 3, na qual é possível observar que, com o aumento no tamanho da chave, o número de combinações possíveis aumenta de maneira exponencial; e, consequentemente, o tempo e os recursos computacionais exigidos para decifrar a senha são cada vez maiores. Tabela 3 - Métodos de criptografia Criptografia Bits na chave Número de possibilidades Netscape x106 Data Encryption Standard (DES) x106 Triple DES (2 keys) x1033 International Data Encryption Algorithm (IDEA) x1038 Rivest Cipher (RC4) x1038 Triple DES (3 keys) x1050 Blowfish Up to 448 Advanced Encryption Standard (AES) 128, 192, x1038 Fonte: Brenton e Hunt (2001, p. 196). Segundo Harrington (2005), geralmente os ataques são feitos utilizando um nome de usuário conhecido. Esses ataques são mais facilmente percebidos pelos administradores, já que as tentativas de login são registradas Ataques Denial of Service (DoS) Segundo Vyncke e Paggen (2008) e Bhardwaj (2007), um ataque DoS é caracterizado como uma tentativa explícita de impedir que os usuários que devem ter acesso a determinado serviço não o consigam acessar. As técnicas mais utilizadas para alcançar os objetivos são: tentativas de inundar a rede e impedir o tráfego legítimo, tentativas de derrubar um servidor\n40 40 pelo envio de inúmeras requisições até que ele trave por não conseguir responder a todos, envio de pacotes mal formados para servidores ou serviços; e tentativas de interromper um serviço como um todo ou para determinado usuário. Geralmente os ataques de DoS, salienta Bhardwaj (2007), não são capazes de causar falhas em todos os serviços da rede, já que são ataques direcionados a serviços, como o Domain Name System (DNS), em que os usuários não conseguiriam utilizar o serviço atacado. Nesse sentido, os ataques de DoS podem resultar em consumo exagerado de recursos da rede ou de um servidor, em modificação ou alteração de configuração em dispositivos ou falhas em serviços como bases de dados ou servidores web. Harrington (2005) explica que ataques de DoS não podem ser evitados, sendo apenas possível detectar este tipo de ataque quando ele estiver em curso e tomar as medidas, para que os ataques não surtam efeito. Uma variação dos ataques DoS são os Distributed Denial of Service Attack (DDoS), em que, conforme Vyncke e Paggen (2008), vários atacantes disparam tentativas contra um mesmo alvo, geralmente um serviço válido, com a tentativa de executar mais requisições que possam ser atendidas. Os atacantes são máquinas zombies, em que os usuários geralmente não têm conhecimento de que seu host esteja participando do ataque. A Figura 15 ilustra os agentes de um ataque DDoS. Figura 15 - Formato de um ataque DDoS Fonte: Do autor com base em Ciampa (2009).\n41 Spoofing Segundo Ciampa (2009), o termo spoofing é a representação, ou seja, o atacante está fingindo ser alguém ou outra coisa, apresentando informações falsas. Para Harrington (2005), um ataque spoofing envolve a falsificação do endereço de origem. É o ato de usar uma máquina para representar o papel de outra. A maioria das aplicações e ferramentas no Unix5 baseiam-se na autenticação do IP de origem. Há uma variedade de ataques diferentes que usam spoofing, assinala Ciampa (2009), como: como a maioria dos sistemas de rede mantêm registros de atividade do usuário, um invasor pode falsificar seu endereço para que suas ações maliciosas seriam atribuídas a um usuário válido; um invasor pode falsificar o seu endereço de rede utilizando um endereço confiável e conhecido, a fim de enganar o computador de destino; pode-se exibir uma tela de login fictícia pedindo o nome de usuário e senha, permitindo que o invasor capture as credenciais válidas de um usuário. A Figura 16 ilustra um ataque do tipo spoofing. Figura 16 - Exemplo de um ataque do tipo spoofing Fonte: Do autor com base em Doherty, Anderson e Maggiora (2008). 5 Unix é um sistema operacional, portátil, multitarefa e multiusuário. Disponível em <http://unix.org>. Acesso em 20 jul\n42 Engenharia social A engenharia social é o processo de obtenção de informações sobre algo ou alguém baseado na confiança, ou seja, o atacante busca por meio de diversos meios obter informações sigilosas de pessoas que as conhecem, fazendo a vítima confiar no engenheiro social. Este ataque também envolve uma interação entre o atacante e o atacado, seja por meio de telefone, um anexo de solicitando informações ou sites de bate papo nos quais a vítima, confiando no atacante, lhe concede informações (BHARDWAJ, 2007). O ataque de engenharia social, segundo Bhardwaj (2007) e Smith e Marchesini (2007), é o mais difícil de ser bloqueado, sendo o único meio de mitigá-lo o treinamento e o convencimento dos usuários sobre a importância de manter os dados e as informações em sigilo. Esta técnica, de acordo com Smith e Marchesini (2007), é umas das mais antigas, existindo casos de atacantes acionarem serviços de suporte fazendo-se passar por usuários legítimos. Tentativas utilizando mulheres teriam capacidade maior de coagir os técnicos, que geralmente são do sexo masculino e atacantes que vasculham o lixo de empresas ou de colaboradores buscando informações jogadas no lixo que podem ser úteis Buffer Overflow Um ataque do tipo Buffer Overflow tira proveito de um erro de programação de um programa, aplicativo ou sistema. O hacker pode inserir seus próprios códigos em um programa e, a partir daí, assumir o controle de um sistema de destino. Por ser resultado de um erro de programação, é quase impossível para um engenheiro de rede detectar condições de Buffer Overflow. Eles geralmente são detectados por hackers ou pelo fornecedor do software (HARRINGTON, 2005). Buffer Overflow, de acordo com Bhardwaj (2007) é uma condição no sistema que causa uma falha em sua segurança ou um uso de memória que cause falha no sistema. Um atacante pode lançar esse tipo de ataque escrevendo código malicioso especificamente destinado a usar toda a memória do sistema-alvo. Outro motivo para este tipo de ataque é a escolha de uma linguagem de programação que não seja capaz de proteger-se contra o estouro de memória. Quando um programador escreve uma aplicação, esta deve criar pools de memória, referidas como os amortecedores, de modo a aceitar entrada de usuários ou outras aplicações. Por exemplo, uma aplicação de login deve alocar espaço de memória a fim de permitir que o\n43 43 usuário insira um nome de logon e senha. A fim de alocar espaço de memória para esta informação, o programador deve fazer uma suposição sobre quantos dados serão recebidos para cada variável. Por exemplo, o programador pode decidir que os usuários não precisam digitar um nome de login maior do que 16 caracteres e que senhas nunca terão mais do que 10 caracteres. Um Buffer Overflow ocorre quando mais dados são recebidos por um processo do que o programador esperava, e não existe contingência para quando o processo tem de lidar com uma quantidade excessiva de dados (BRENTON; HUNT, 2001). Segundo Malik (2002), são os ataques mais difundidos na internet, representando quase metade de todas as vulnerabilidades encontradas. Em Sistemas Operacionais, geralmente escritos na linguagem de programação C, coloca Malik (2002) ocorrem quando uma rotina escreve quantidade de dados muito maior do que a capacidade de dados. A Figura 17 ilustra um ataque de Buffer Overflow. Figura 17 - Exemplo de um ataque do tipo Buffer Overflow Fonte: Do autor com base em Malik (2002) Repetição De acordo com Ciampa (2009), um ataque de repetição é semelhante a um ataque passivo man-in-the-middle. Considerando que um ataque passivo envia a transmissão imediatamente, um ataque de repetição faz uma cópia da transmissão antes de enviá-lo para o destinatário.\n44 44 Ainda, conforme Ciampa (2009) uma repetição simples man-in-the-middle implicaria na captura das credenciais de login entre o computador cliente e o servidor. Uma vez que a sessão tenha terminado, o man-in-the-middle tentaria repetitivamente as credenciais capturadas. Um ataque mais sofisticado aproveita as comunicações entre um dispositivo de rede e um servidor. Mensagens de administração que contêm solicitações de rede específicas são frequentemente enviadas entre um dispositivo de rede e um servidor. Quando o servidor recebe a mensagem, ele responde com outra mensagem administrativa para o remetente. Cada uma dessas transmissões é criptografada para evitar que um atacante possa ver o conteúdo, e também contém um código que indica se ele foi adulterado. O servidor lê o código e, se reconhecer que a mensagem foi adulterada, não responde (VACCA, 2010). Usando um ataque de repetição, um atacante pode capturar uma mensagem transmitida a partir do dispositivo de rede ao servidor. Mais tarde ele poderia enviar a mensagem original para o servidor e o servidor poderia responder pensando ter sido encaminhada pelo dispositivo válido. Agora, uma relação de confiança foi estabelecida entre o atacante e o servidor, pois o atacante sabe que vai receber uma resposta do servidor cada vez que ele envia uma mensagem válida. Sendo assim, ele pode usar esse conhecimento como uma ferramenta valiosa para alterar o conteúdo da mensagem captada. Se ele finalmente conseguir fazer a modificação, o servidor irá responder informando o atacante que ele teve sucesso na transferência da mensagem (TODOROV, 2007). 3.4 Dificuldades na defesa contra ataques Segundo Ciampa (2009), existem várias dificuldades para conter um ataque, dentre elas citam-se: velocidade nos ataques: com várias ferramentas disponíveis, os atacantes podem rapidamente encontrar pontos fracos ou brechas no sistema pelos quais podem lançar ataques rápidos e sem precedentes; ataques mais sofisticados: devido à constante sofisticação dos ataques, eles estão se tornando cada vez mais complicados de serem interceptados; ataques distribuídos: para atacar um computador, os invasores podem fazer uso de várias fontes, o que tornaria impossível barrar o ataque por meio de identificação de um único host;\n45 45 confundir o usuário: nos atuais ataques tem-se pouca ou nenhuma informação para corrigir o problema, tornando assim complicado tomar uma decisão em contrapartida do ocorrido; simplicidade nas ferramentas de ataques: antigamente o atacante necessitava de um bom conhecimento técnico sobre a ferramenta que iria utilizar para efetuar o ataque. Hoje em dia essas ferramentas estão disponíveis gratuitamente na internet e não requerem nenhum conhecimento técnico para serem executadas. A Figura 18 apresenta um comparativo dos últimos anos entre a sofisticação dos ataques versus a dificuldade de intrusão. Figura 18 - Crescente sofisticação nas ferramentas de ataques Fonte: Do autor com base em Doherty, Anderson e Maggiora (2008). 3.5 Quem são os atacantes Com a crescente disponibilização de serviços via internet, as empresas ganharam em agilidade, porém abriram uma porta para acessos indevidos, que pode ser explorada por diversos grupos de atacantes (HARRINGTON, 2005). Existem vários tipos de pessoas por trás dos ataques, podendo elas serem separadas em diferentes grupos. Estes incluem hackers, crackers, script kiddies, espiões, funcionários, criminosos e ciberterroristas, entre outros (CIAMPA, 2009).\n46 Hackers e Crackers Embora exista dificuldade em diferenciar os dois termos, que geralmente são utilizados para definir pessoas que invadem sistemas, o termo hacker conceitua pessoas que são bons programadores, que conhecem os sistemas, estudam com a finalidade do conhecimento e domínio da tecnologia, enquanto os crackers são realmente as pessoas que causam problemas de segurança por meio de atividades ilegais. O que mais desafia e motiva esses atacantes são declarações, geralmente de áreas comerciais, de que seus sistemas são 100% seguros (HARRINGTON, 2005). Ciampa (2009) salienta que, por lei, todos os ataques são considerados ilegais, acreditando, alguns hackers que é ético invadir um host, desde que não afete sua integridade, sem cometer roubo, vandalismo, ou qualquer quebra de confidencialidade. Esses hackers afirmam que sua motivação é melhorar a segurança buscando brechas no sistema para que estas possam ser corrigidas White Hat Hackers Este grupo considera-se do bem. Eles invadem um sistema, não para benefício pessoal, mas sim com a intenção de encontrar algum problema, seja uma rede vulnerável, um sistema mal configurado, um bug de software ou qualquer aspecto que possa prejudicar. Caso sejam encontradas falhas, eles relatam o ocorrido para o administrador da rede, ou para o responsável pelo software ou hardware (CIAMPA, 2009). Os White Hat Hackers também são contratados por empresas para testar as defesas da rede. A principal característica deste grupo é estar bem informado sobre vulnerabilidades e consertos, assim como ter alta capacidade de programação. Eles geralmente escrevem suas próprias ferramentas de cracking (BRENTON; HUNT, 2001) Espiões Os espiões não atacam um host aleatoriamente. São indivíduos contratados para atacar um computador ou um sistema específico com o intuito de obter informações importantes ao seu contratante. Diferente dos hackers e dos script kiddies, os espiões procuram não deixar rastros e não chamar atenção as suas ações (HARRINGTON, 2005).\n47 Empregados Uma das maiores ameaças para as empresas quando o assunto é segurança da informação, podem originar-se de uma fonte muito improvável, o seu próprio funcionário, isto porque ele geralmente conhece mais da rede, dos sistemas e da segurança que os estranhos. Ele pode querer mostrar para a sociedade uma brecha de segurança, ou em outros casos, funcionários descontentes podem ter a intenção de retaliar a empresa. Em alguns casos, eles podem ser motivados por dinheiro, podendo um concorrente abordá-los e oferecer-lhe dinheiro em troca de informações (HARRINGTON, 2005). As principais ameaças vindas dos empregados são: empregados utilizando técnicas hacker para aumentar seu nível de acesso, permitindo o acesso e divulgação de segredos comerciais, roubar dinheiro, entre outros; empregados que divulgam os dados aos quais, legitimamente, têm acesso com o intuito de obter ganhos financeiros; familiares que, em momentos de visita, ganham acesso aos computadores e sistemas da empresa; pessoal que consegue acesso físico ao datacenter6 e tem a possibilidade de causar algum dano; antigos funcionários que podem vingar-se em ataques físicos ou por meio de técnicas hacking. Além das ameaças intencionais, Harrington (2005) cita as ameaças sem intenção que podem ser causadas pelos empregados, como: ser vítima de um ataque de engenharia social, ajudando um atacante a ganhar acesso não autorizado à rede ou aos sistemas; involuntariamente revelar dados confidenciais; fisicamente danificar ou causar falhas em equipamentos que resultem em perda de dados ou indisponibilidade de acesso; introduzir ou modificar dados com valores inconsistentes ou errados, ou, acidentalmente, apagar dados. 6 Um data center é um mecanismo ou ambiente utilizado para abrigar os sistemas computacionais e componentes associados: telecomunicações e sistemas de armazenamento. Geralmente inclui fontes de alimentação redundantes ou de backup, comunicação redundante, ligações de dados, controles ambientais (arcondicionado, combate a incêndios, etc.), e dispositivos de segurança especiais. (The Free Dictionary. Data center Disponível em: <http://encyclopedia.thefreedictionary.com/data+center>. Acesso em: 01 nov. 2011).\n48 48 Essas ameaças somente podem ser tratadas e evitadas com educação aos usuários, já que muitos escrevem senhas em monitores, em cadernos, permitem o acesso ao computador da empresa, entre outros Ciberterroristas Os ciberterroristas são hackers motivados por crenças políticas, religiosas ou filosóficas, que atacam posições opostas as suas ideologias e ensinamentos. São considerados os atacantes mais temidos, pois é quase impossível prever quando ou onde um ataque pode ocorrer. Seus objetivos podem incluir um pequeno grupo de computadores ou redes que podem afetar o maior número possível de usuários, tais como computadores que controlam uma rede de energia elétrica ou usinas nucleares de um país, provocando um colapso geral. Um ataque isolado pode causar um apagão afetando dezenas de milhões de pessoas (CIAMPA, 2009) Black Hat Hackers É considerado o grupo mais perigoso, já que são pessoas preparadas para agir, motivadas pela ganância ou por grande vontade de causar danos a terceiros. Criam suas próprias ferramentas e são muito cuidadosas para não deixar rastros (BRENTON; HUNT, 2001). 3.6 Etapas de um ataque Atualmente existem vários tipos de ataques, estes sendo compostos por cinco etapas, conforme visto na Figura 19, e descrito a seguir (CIAMPA, 2009).\n49 49 Figura 19 - Etapas de um ataque Fonte: Do autor com base em Ciampa (2009). sondagem das informações: é a primeira etapa de um ataque, consiste em sondar informações que possam ser usadas nos próximos ataques, tais como: tipo de hardware utilizado, versão de software ou firmware7 e até mesmo informações pessoais sobre os usuários. Esta sondagem inclui varreduras de ping8 para determinar se um host está respondendo na rede, varreduras de portas que podem estar abertas e adivinhação de senha por força bruta; invasão de qualquer defesa: após a identificação de portas e o recolhimento de informações, o próximo passo é intensificar o ataque com a finalidade de quebrar a defesa, sendo este efetuado de várias formas, como, por exemplo, a manipulação ou a quebra de senhas; 7 8 Firmware é um programa de computador que está incorporado em um dispositivo de hardware, por exemplo, um microcontrolador. Também pode ser fornecido em ROM flash ou como um arquivo de imagem binária que pode ser carregado para o hardware existente por um usuário. (The Free Dictionary. Data center Disponível em: <http://encyclopedia.thefreedictionary.com/firmware>. Acesso em: 01 nov. 2011). Ping (packet inter-net groper) um programa usado para testar a conectividade da rede. O ping envia uma mensagem ICMP Echo Request para um destino e relata se ele recebe uma resposta ICMP Reply como esperado. COMER, Douglas E. Redes de computadores e Internet. 4 ed. São Paulo: Bookman\n50 50 modificação das informações de segurança: logo após invadir um sistema, o próximo passo é modificar as informações de segurança, permitindo assim que o acesso seguinte seja feito com maior facilidade; apropriação de outros hosts ou sistemas: assim que o hospedeiro tenha sido comprometido, utiliza-se este para atacar outros computadores da rede; congelamento das redes e dispositivos: se o invasor quiser, ele pode trabalhar de forma maliciosa, infectando o computador, danificando dados, roubando arquivos valiosos ou realizando ataques de negação de serviço. 3.7 Defesas contra ataques Um contexto ideal seria se qualquer indivíduo que utiliza um sistema de rede estar ciente das questões de segurança e ter a capacidade de tomar medidas defensivas, mas, na realidade, a tarefa de proteger redes e sistemas recai sobre os ombros dos administradores de sistema. Estes muitas vezes não são apenas responsáveis pela configuração e pelo acompanhamento das redes contra ataques, mas também ter um papel ativo na execução das políticas de segurança formais e informais e educar os usuários sobre possíveis vulnerabilidades (ALPCAN; BASAR, 2010). Ainda, de acordo com esses autores um dos principais problemas relacionados com a segurança da rede do ponto de vista da defesa é a falta de investimentos que, em parte, decorre da dificuldade de quantificar o valor agregado pela segurança. Esta falta de quantificação, naturalmente afeta o processo decisório de investimentos, podendo levar a um teatro de segurança. No decorrer dos anos, esse impasse está mudando, as grandes organizações começaram a perceber a importância da segurança da rede de dados depois que elas se tornaram uma parte importante do negócio. Consequentemente, um grade número de empresas de segurança têm surgido, atuando na prestação de serviços de segurança, tanto para os indivíduos como para as organizações. Assim, a utilização de firewalls, atualização de sistemas operacionais, implementação de programas antivírus tornaram-se comuns. Para Ciampa (2009), embora tenha aumentado a preocupação com a defesa da rede e o número de serviços prestados na área, as defesas devem ser baseadas em cinco princípios fundamentais de segurança: proteção por camadas, limitação, diversidade, obscuridade e simplicidade.\n51 Camadas Segundo Ciampa (2009), a abordagem em camadas tem a vantagem de criar uma barreira de defesas múltiplas que possam ser coordenadas para frustrar uma variedade de ataques. A segurança da informação também deve ser criada em camadas, pois um mecanismo de defesa simples pode ser relativamente fácil de ser atacado. Em vez disso, um sistema de segurança protegido por camadas torna improvável que um invasor tenha as ferramentas e habilidades para romper todas as camadas de defesas. Sendo assim, a abordagem em camadas pode ser útil para resistir a uma variedade de ataques, fornecendo uma proteção mais abrangente Limitação Quando se limita o acesso à informação, consequentemente tem-se uma redução das ameaças sofridas. Limitar é garantir que somente pessoas autorizadas tenham acesso aos dados. Além disso, a quantidade de acesso concedido a alguém deve ser limitada ao que a pessoa precisa saber (CIAMPA, 2009). Conforme Harrington (2005), algumas maneiras de limitar o acesso são baseadas em tecnologia (como a atribuição de permissões de arquivo para que um usuário só possa ler, e não o modificar), enquanto outros são processuais (proíbem um funcionário de remover um documento necessário para funcionamento do sistema) Diversidade A diversidade está estreitamente relacionada com a proteção em camadas. Assim, como é importante proteger os dados com camadas, também deve-se ter uma diversidade delas, de modo que os atacantes, ao penetrarem em uma camada, não possam usar as mesmas ferramentas para atingir as camadas seguintes. Sendo assim, ao ser violada uma camada, não se compromete todo o sistema (CIAMPA, 2009) Obscuridade Um exemplo de obscuridade seria não revelar o tipo do computador, sistema operacional, software e conexão de rede utilizados por um host. Com essas informações ocultas fica muito mais difícil a um atacante descobrir os pontos fracos do sistema. Inclusive,\n52 52 em muitos casos, quando um atacante não consegue essas informações, ele parte para outro computador no qual a informação é facilmente encontrada (CIAMPA, 2009) Simplicidade Os ataques podem vir de várias fontes e de muitas maneiras. Na segurança da informação, por sua natureza complexa, onde algo mais complexo se torna mais difícil de entender. Além disso, os sistemas complexos permitem muitas oportunidades para que algo dê errado, por ser difícil compreendê-los, solucionar problemas e sentir-se seguro. Em suma, manter um sistema simples para o administrador e complexo para o atacante parece ser difícil, mas, se atingido, gera um grande benefício para a segurança da rede (CIAMPA, 2009). 3.8 Políticas de segurança Uma política de segurança é um conjunto de regras, práticas e procedimentos ditando como as informações sensíveis serão geridas, protegidas e distribuídas. Na esfera de segurança de rede, as políticas são geralmente pontos específicos que abrangem uma única área. Uma política de segurança é um documento que expressa exatamente o que deve ser feito para estabelecer os níveis de segurança, quais serão os objetivos a serem realizados pelos mecanismos que controlam a segurança da rede de dados. Este documento é escrito pela gerência de segurança e destina-se a descrever os quês e como de segurança da informação, descrevendo procedimentos padrões, referências e diretrizes na implementação da política (BHAIJI, 2008). Conforme Harrington (2005), é preciso uma quantidade significativa de esforço para preparar e manter útil uma política de segurança. Da mesma forma que um documento de requisitos de sistema, ela precisa ser revisada em intervalos regulares para determinar a necessidade de atualização. A confiança é um dos principais temas em muitas políticas. Algumas organizações confiam demais em seus empregados, e acreditam que todos vão fazer a coisa certa. Mas isso nem sempre acontece. Sabe-se que a maioria das organizações precisa de políticas para assegurar que todos estão em conformidade, seguindo o mesmo conjunto de regras (BHAIJI, 2008). Ainda conforme Bhaiji (2008) em sua própria experiência, as políticas tendem a elevar a apreensão das pessoas, pois elas não querem se comprometer com regras e regulamentos. Em vez disso, as pessoas querem liberdade e falta de responsabilidade. A política deve definir o nível de controle de usuários observando e conciliando com as metas de produtividade. Uma\n53 53 política de rigor excessivo será difícil implementar porque o cumprimento pode ser minimizado ou ignorado. Pelo contrário, uma política definida vagamente pode ser evadida e não garantir a responsabilização e responsabilidade. Uma boa política tem que ter o equilíbrio certo. A seguir são apresentados os principais itens que compõem uma política de segurança Objetivos Vacca (2010) explica que os objetivos fundamentais da política de segurança são permitir acesso ininterrupto a recursos da rede para usuários autenticados e negar o acesso a usuários não autenticados. É claro que isso é sempre um ato de equilíbrio entre as demandas dos usuários e a natureza evolutiva da tecnologia da informação. A comunidade de usuários prefere abrir acessos, enquanto o administrador da rede insiste em acesso restrito e controlado. Assim que o hacker descobre uma possível falha de segurança por meio de acesso não autorizado, ele torna-se o árbitro da política de segurança, portanto, qualquer rede é segura até o último ataque que violou a sua segurança. Uma vez construída e protegida seria totalmente irrealista esperar uma rede segura em todos os momentos. Assim, o projeto de segurança de redes e sua implementação representa a derradeira batalha das mentes entre o chefe de segurança da informação e o hacker. Em resumo, a política de segurança de rede pode ser tão simples como permitir o acesso a recursos, ou conter centenas de páginas, detalhando os níveis de acesso e de punição se a violação for descoberta. As funções essenciais de uma boa política de segurança são: nomear um administrador de segurança que está familiarizado com as demandas dos usuários em uma base contínua que está preparada para acomodar as necessidades da comunidade de utilizadores; configurar uma política de segurança hierárquica para refletir na estrutura corporativa; definir os recursos de acesso éticos à internet; evoluir a política de acesso remoto; fornecer um conjunto de procedimentos de tratamento de incidentes A importância A política de segurança é a base para todas as questões relacionadas à proteção da informação, desempenhando um papel importante em todas as organizações. A necessidade de estabelecer uma política de segurança é um fato realçado unanimemente em recomendações\n54 54 provenientes tanto do meio militar como do meio técnico e, mais recentemente, do meio empresarial (NAKAMURA; GEUS, 2009). Seu desenvolvimento é primeiro e o principal passo da estratégica de segurança das organizações. É por meio dessa política que todos os aspectos envolvidos na proteção de recursos existentes são definidos e, portanto, grande parte do trabalho é dedicado a sua elaboração e ao seu planejamento (BHAIJI, 2008). Segundo Harrington (2005), uma política de segurança é um documento que define a filosofia e a estrutura de segurança da organização. Serve para vários propósitos: tornar mais fácil para a equipe de TI justificar gastos com a segurança; identificar o uso aceitável de recursos de computação em uma organização; identificar quem tem acesso, e o que este usuário pode acessar; funcionar como um contrato de segurança com os empregados. Eles devem aderir à filosofia e aos comportamentos incluídos na política de continuidade no emprego. Além de seu papel primordial nas questões relacionadas com a segurança, a política de segurança, uma vez fazendo parte da cultura da empresa, tem uma importante função como facilitadora e simplificadora do gerenciamento de todos os seus recursos. De fato, o gerenciamento de segurança é a arte de criar e administrar a política de segurança, pois não é possível gerenciar o que não pode ser definido (NAKAMURA; GEUS, 2009) O planejamento Na fase inicial do planejamento da política de segurança, tem-se a necessidade de entender todos os riscos que podem ser encontrados e enfrentados. Uma abordagem reativa pode trazer problemas futuros para a organização. Sendo assim, a proatividade é, portanto, essencial e depende de uma política de segurança bem definida, com definições de responsabilidades individuais claras de modo que facilite o gerenciamento da segurança de rede (NAKAMURA; GEUS, 2009). Ciampa (2009) observa o planejamento de uma política de segurança envolve definir o que é uma política de segurança, entender seu ciclo e conhecer as etapas do seu desenvolvimento. Existem vários termos para se definir uma política de segurança, mas um conjunto de requisitos específicos tem que ser seguido e cumprido. Como, por exemplo, uma norma pode descrever como um computador poderá conectar-se remotamente a uma máquina interna na organização. Para que isso seja possível, os usuários deverão seguir essas normas para conseguir o acesso remotamente.\n55 55 Uma visão geral do planejamento pode ser observada na Figura 20, na qual a pirâmide mostra que a política fica no topo, acima das normas e dos procedimentos. Figura 20 - O planejamento da política de segurança Fonte: Do autor com base em Nakamura e Geus (2009). A política é o elemento que orienta as ações e as implementações futuras, de uma maneira global, enquanto as normas abordam os detalhes, como os passos da implementação, os conceitos e os projetos de sistemas e controles. Os procedimentos são utilizados para que os usuários possam cumprir aquilo que foi definido na política e os administradores de sistemas possam configurar os sistemas de acordo com a necessidade da organização (NAKAMURA; GEUS, 2009). No próximo capítulo são apresentados os principais mecanismos de defesa na segurança de redes.\n56 56 4 MECANISMOS DE DEFESA NA SEGURANÇA DE REDES Neste capítulo são enfatizados os principais mecanismos de defesas na área lógica de segurança de redes, sendo abordados mecanismos de defesa como firewall, controle de acesso, antivírus, criptografia, entre outros. 4.1 Firewall A necessidade de utilização cada vez maior da internet pelas organizações e a constituição de ambientes corporativos levam a uma crescente preocupação com a segurança. Como consequência, pode-se ver uma rápida evolução nessa área, principalmente com relação ao firewall, que é um dos principais, mais conhecidos e antigos componentes de um sistema de segurança. Para Nakamura e Geus (2009), um firewall é um ponto entre duas ou mais redes, que pode ser um componente ou um conjunto de componentes, pelo qual passa todo tráfego, permitindo o controle, a autenticação e os registros de todo o tráfego realizado. Já Brenton e Hunt (2001) definem firewall como uma barreira de proteção, que controla o tráfego de dados entre um computador e a internet. Um firewall (ao contrário de um roteador simples, que apenas direciona o tráfego de rede) é um sistema que reforça uma política de controle de acesso. Depois de determinar os níveis de acesso que se deseja fornecer, é trabalho do firewall garantir que nenhum acesso além do determinado seja permitido. Cabe ao firewall garantir que a política de controle de acesso seja seguida por todos os usuários. Conforme Ciampa (2009), um firewall é geralmente usado para filtragem de pacotes, projetado para impedir a entrada de dados maliciosos ou não permitidos. Pode ser baseado em software ou hardware, sendo o primeiro mais adequado para o uso doméstico, podendo ser executado localmente na máquina do usuário, e o segundo um dispositivo separado localizado em um ponto específico para proteger uma rede inteira. Os firewalls de hardware são geralmente localizados fora do perímetro da rede, atuando como a primeira linha de defesa. Um exemplo de localização é mostrado na Figura 21.\n57 57 Figura 21 - Firewall atuando como primeira linha de defesa Fonte: Do autor com base em Ciampa (2009). Como uma primeira linha de defesa, o firewall tem como objetivo bloquear todos os tipos de acesso indevidos, que não estão de acordo com a política de segurança. Sua fama, de certa forma, acaba contribuindo para uma falsa expectativa quanto à segurança total da organização. Assim é importante ter em mente que o firewall é apenas uma parte de um conjunto de componentes de um sistema de segurança necessário para a proteção das organizações. Sendo assim, para uma proteção ideal, é necessário fazer uso de outras ferramentas, entre elas IDS/IPS, antivírus, controle de acesso, entre outras, as quais são abordadas neste capítulo. 4.2 Controle de acesso O controle de acesso refere-se ao método de conceder ou negar acesso a recursos de rede por meio de políticas de segurança. Em sua forma mais simples, controle de acesso é aplicada em arquivos e pastas, ou em outros recursos de rede compartilhados por meio de atribuição de permissões (BHARDWAJ, 2007). A seguir listam-se as principais categorias que envolvem o controle de acesso Mandatory Access Control (MAC) Um mecanismo, normalmente codificado em um sistema operacional, tem a função de proteger computadores, dados e dispositivos do sistema de um uso ou acesso não autorizado. Pode também ser construído em um pedido para conceder ou negar permissões (BHARDWAJ, 2007).\n58 Discretionary Access Control (DAC) Geralmente é implementado no sistema operacional sob a forma de permissões e direitos de usuário. Um exemplo de DAC são as permissões NTFS (New Technology File System) usadas em computadores baseados no sistema operacional Windows (BHARDWAJ, 2007) Role Based Access Control (RBAC) Usado para implementar a segurança em objetos com base nas funções do trabalho executado por um usuário, ou grupos de usuários, o RBAC é altamente flexível e configurável, e fornece administração centralizada (BHARDWAJ, 2007). 4.3 Antivírus Um antivírus é uma solução de segurança amplamente adotada. Utilizado em empresas de pequeno a grande porte, ele identifica e remove do computador vários tipos de malware. É uma das aplicações mais antigas em termos de segurança. Este software pode examinar infecções em um sistema operacional, bem como monitorar a atividade do computador verificando novos documentos, a fim de detectar algum vírus. Um exemplo disso é a varredura executada em anexos de um se um vírus for detectado, o software geralmente apresenta uma limpeza imediata, mandando o arquivo infectado para a quarentena, ou possibilita a exclusão do arquivo. Uma das desvantagens é que o software deve ser atualizado continuamente para o reconhecimento de novos vírus (CIAMPA, 2009). 4.4 Criptografia A criptografia é uma ciência fundamental para a segurança da informação, ao servir de base para diversas tecnologias e protocolos, tais como a infraestrutura de chaves públicas, o IPSecurity (IPSec) e o Wired Equivalent Privacy (WEP). Suas prioridades incluem sigilo, integridade, autenticação e o não repúdio, e garantem o armazenamento, as comunicações e as transações seguras essenciais no mundo atual (NAKAMURA; GEUS, 2009). A criptografia tem função e importância cada vez mais fundamentais para a segurança das organizações. É a ciência que visa manter as mensagens seguras. A cifragem (encryption) compreende o processo de disfarçar a mensagem original, o texto claro, de tal modo que sua substância é escondida em uma mensagem com texto cifrado, enquanto a decifragem consiste\n59 59 no processo de transformar o texto cifrado de volta em texto claro original (TODOROV, 2007). Os processos de cifragem e decifragem são realizados via uso de algoritmos com funções matemáticas que transformam os textos claros, que podem ser lidos, em textos cifrados, que são inteligíveis (NAKAMURA; GEUS, 2009). O capítulo seguinte abrange o tema mecanismos de segurança, pois apresenta ferramentas do tipo IDS/IPS, de suma importância, pois atuam quando um, ou mais de um, dispositivo mencionado anteriormente falhar. Por se tratar do foco principal do trabalho proposto, o tema é apresentado como um novo capítulo.\n60 60 5 SISTEMA DE DETECÇÃO E PREVENÇÃO DE INTRUSÃO Os conceitos de prevenção e detecção de intrusão, segundo Baker, Caswell e Beale (2007), são antigos, advindo da proteção à propriedade física, como veículos, edificações, entre outros bens que podem ser subtraídos, porém, devido ao valor das informações e dos dados armazenados em sistemas computacionais, é fundamental a aplicação de mecanismos de detecção e prevenção de intrusão digital. Tratam-se, em separado, os temas detecção e prevenção, pois mesmo complementares, o entendimento individual é importante. 5.1 Sistema de detecção de intrusão Do inglês Intrusion Detection System (IDS), refere-se, de acordo com Scott, Hayes e Wolfe (2004), ao sistema capaz de detectar ataques e atividades maliciosas em rede de dados ou sistema computacional. Na definição de Rehman (2003), um IDS é software, hardware ou a combinação de ambos para detectar intrusões. Para Cox e Gerg (2004), o sistema deve ser capaz de detectar ameaças antes de o dano ser causado ao sistema computacional que necessita de proteção. No mesmo sentido, Rehman, (2003) afirma que o IDS consiste na utilização de técnicas e de métodos que buscam identificar, tanto em rede quanto em host, atividades anormais consideradas suspeitas, baseadas, portanto, em assinaturas de tráfego ou detecção de anomalias. A detecção baseada em assinaturas funciona da seguinte maneira: todo o dado que trafega na rede é composto, entre outras informações, por dados que o identificam ou identificam assinaturas, que podem ser detectadas com a utilização de softwares específicos. Então, o sistema de detecção verifica todo o tráfego em busca de pacotes com assinaturas conhecidas. Detectar atividades suspeitas fundamentadas em anomalias tende a ser um processo mais simples, visto que se baseia em dados presentes no cabeçalho dos pacotes de dados, e utiliza os dados históricos para identificar comportamento considerado anormal. Não existe consenso entre autores, mas, de acordo com Scott, Hayes e Wolfe (2004), os sistemas podem ser divididos em duas grandes categorias: os Network Intrusion Detection System (NIDS) e os Host Intrusion Detection System (HIDS), detalhados na próxima seção.\n61 Network Intrusion Detection System (NIDS) Baker, Caswell e Beale (2007) definem NIDS como uma derivação de IDS que tem seu funcionamento baseado no monitoramento de toda a rede a partir da perspectiva do local de sua implementação, geralmente um segmento de rede. Os sensores de um sistema de NIDS geralmente são placas de rede trabalhando em modo promíscuo, ou seja, com a capacidade de capturar todo o tráfego de rede que passar pelo segmento em questão. Essa técnica pode ser implementada utilizando equipamentos do tipo HUB ou pela utilização de espelhamento de portas em switches. A Figura 22 mostra uma rede com três NIDS estrategicamente posicionados, protegendo os servidores que possuem uma visão para a rede externa e também as estações de trabalho conectadas ao segmento de rede interno. Segundo Baker, Caswell e Beale (2007), a utilização de múltiplos NIDS dentro de uma mesma rede é exemplo do que se chama de arquitetura de defesa em profundidade. Figura 22 - Posicionamento de NIDS em rede Fonte: Baker, Caswell e Beale (2007, p. 12). Uma das vantagens da implementação de NIDS, segundo Beale (2004), é o fato de ele não ter qualquer impacto sobre a rede ou sistemas que esteja monitorando, já que não agrega\n62 62 carga aos hosts da rede. Outro benefício é que o sistema baseado em NIDS é totalmente transparente aos atacantes. Como desvantagem, tem-se o fato de que segmentos de rede com muito tráfego podem ocasionar a saturação da capacidade de servidores ou de ativos de rede, necessitando de estudo específico para a segmentação do tráfego em sistemas NIDS complementares Host Intrusion Detection System (HIDS) Basicamente, de acordo com Scott, Wolfe e Hayes (2004), um HIDS é um IDS que monitora somente o sistema no qual está instalado, monitorando o tráfego de rede do host, os registros de eventos, e a integridade dos arquivos do sistema. Complementar a esta definição Baker, Caswell e Beale (2007) salientam que um HIDS, por estar em execução em um host, conhece melhor as informações locais no que tange à segurança, como chamadas e registro de sistemas. Outra vantagem dos HIDS é o fato de as regras serem específicas, ou seja, apenas serão verificados os serviços do sistema operacional do host e os serviços que realmente estão em execução, sem necessidade de verificações genéricas sobre como os NIDS devem operar. Segundo o conceito de segurança em profundidade, defendido por Baker, Caswell e Beale (2007), o HIDS pode ser a última instância de segurança após o ataque ter obtido êxito ao passar pelos sistemas de firewall e NIDS existentes na rede. Há algumas desvantagens quanto à utilização de HIDS, tendo em vista que ele deve ser específico para o sistema operacional em questão, o que pode ser um fator complicante em redes heterogêneas, já que fornecedores podem não disponibilizar seu software ou hardware para os mais diversos sistemas operacionais encontrados no mercado. Outra questão importante é a carga que o HIDS agrega ao host no qual está em execução demanda extra que deve ser avaliada com critério antes da implementação. Outro fator de cuidado é o entendimento quanto ao funcionamento do HIDS, tendo em vista que algumas regras podem conflitar com aplicativos instalados. A manutenção de rede com um grande número de HIDS é apontada como uma desvantagem e um desafio, assinala Beale (2004), pois se o sistema HIDS não tiver uma gestão centralizada, o trabalho para administrar sistemas individuais pode inviabilizar a adoção de tais ferramentas, já que a quantidade de alertas gerados pode ser intensa o suficiente e demandar um tempo muito grande para a análise.\n63 63 A Figura 23 representa uma rede em que alguns hosts implementam um sistema de HIDS. Como é possível observar, nem todos os hosts possuem a ferramenta e deve-se supor que em cada um deles estejam configuradas regras específicas. Figura 23 - HIDS em hosts específicos Fonte: Beale, Baker e Caswell (2007, p. 14). 5.2 Sistema de prevenção de intrusão A prevenção de intrusão é uma tecnologia promissora na área de segurança de redes. Os sistemas de prevenção de intrusão surgiram como uma evolução dos IDS e combinam a capacidade de profunda inspeção de pacotes com características de filtragem naturais dos firewalls, porém de forma transparente (TIPTON; KRAUSE, 2007). O conceito de IPS é semelhante ao IDS, ambos requerem assinaturas de ataques conhecidos para detectar ameaças na rede de dados. Enquanto um IDS normalmente detecta tentativas de intrusão e efetua o registro e/ou manda alertas para o administrador da rede, o IPS inclui outras medidas para deter a intrusão em tempo real. Desenvolvido como medida de prevenção, atua bloqueando automaticamente possíveis ataques antes que eles tenham\n64 64 sucesso. Sendo assim, o IPS é um dispositivo que irá bloquear um ataque antes que ele chegue a seu alvo. Embora pareça que esta tecnologia possa substituir um firewall, é necessário ter em mente que ela oferece uma camada a mais de proteção e, por ser uma evolução do IDS, considera-se uma das primeiras linhas de defesa da segurança da informação. Em resumo, o IDS é como se fosse um alarme de um carro que soa somente quando alguém abre a porta, e o IPS dispara o alarme e trava as portas com o intuito de que o invasor não leve o carro (DOHERTY; ANDERSON; MAGGIORA, 2008). Um sistema de IPS pode tomar várias ações, dentre elas: bloqueios de portas no switch, interação com políticas de firewall externos, regras dos roteadores, ou, ainda, geração de tráfego na camada de transporte (MAIA; REHEM, 2005). Segundo Endorf, Schultz e Mellander (2004), um IPS tipicamente consiste em quatro componentes principais mostrados na Figura 24: normalizador de tráfego: irá interpretar o tráfego de rede e fazer análise, reestruturar os pacotes e executar as funções básicas de bloqueio, além de fornecer alimentação para scanner de serviço e máquina de detecção; scanner de serviço: cria uma tabela de referência, que classifica as informações e ajuda o modelador de tráfego a gerenciar o fluxo das informações; máquina de detecção: realiza uma comparação entre a tabela de referência e determina a resposta adequada; modelador de tráfego: controla o fluxo das informações. Figura 24 - Padrão do sistema IPS Fonte: Do autor com base em Endorf, Schultz e Mellander (2004).\n65 65 Existem dois tipos de sistema de prevenção de intrusão: IPS baseado em rede (NIPS) e IPS baseado em host (HIPS), os quais são vistos nas seções a seguir Network Intrusion Prevention System (NIPS) Uma rede baseada em IDS é projetada para monitorar o tráfego de forma passiva, e levantar alarmes quando um tráfego suspeito for detectado, enquanto um sistema baseado em NIPS é projetado para ir um passo além e realmente tentar impedir o ataque (VACCA, 2010). Um IPS baseado em rede é exatamente um sistema de prevenção de intrusão instalado no gateway, de forma que o tráfego passe por ele como se fosse mais um elemento, ou seja inline, assim posicionado para que ele possa evitar tentativas de ataques maliciosos como cavalos de troia, backdoors, rootkits, vírus, worms, entre outras ameaças. A Figura 25 exibe o NIPS em uma estrutura de rede. Figura 25 - Localização do NIPS em uma rede de computadores Fonte: Do autor com base em Carter e Hogue (2006). Tecnicamente, um NIPS realiza dois tipos de funções: filtragem de pacotes e detecção de intrusão, podendo prover contra-medidas nas seguintes camadas: enlace: administrativamente shutdown na porta do switch que está saindo o ataque tal atitude só é praticável para ataques que são gerados de um sistema local; rede: interage com o firewall externo ou roteador, para adicionar uma regra geral para bloquear todas as comunicações de endereço de IP individual ou a rede inteira; transporte: gera pacotes TCP-RST (transmission control protocol)-(reset) para derrubar conexões TCP maliciosas ou emitir algum pacote de erro ICMP (internet control message protocol) dos diversos disponíveis para responder um tráfego UDP (user datagram protocol) malicioso;\n66 66 aplicação: alertas de dados maliciosos na camada de aplicação não podem causar danos antes de alcançar o sistema alvo. Esta contra medida requer que o IPS esteja inline no caminho da comunicação Host Intrusion Prevention System (HIPS) Um IPS baseado em host também atua como a última linha de defesa. O software é instalado em cada máquina que precisa ser protegida. Um HIPS geralmente consiste em um servidor de gerenciamento e um agente que está em execução entre a aplicação e o kernel do sistema operacional. Incorporado a um módulo carregável do kernel, se o host for Unix, ou a um driver de sistema, se o host for Windows, oferece proteção robusta. Dessa forma, o agente pode interceptar chamadas do sistema para o kernel, compará-las às listas de controle de acesso ou regras de comportamento definidas no HIPS e decidir em permitir ou bloquear o acesso a recursos específicos, tais como pedidos de leitura e escrita em disco, solicitações de conexão de rede, modificações de registro, ou escrever para a memória (TIPTON; KRAUSE, 2007). Segundo Vacca (2010), um dos benefícios do HIPS é que o tráfego de rede criptografado pode ser analisado após o processo de descriptografia que ocorre no sistema protegido, proporcionando assim uma oportunidade para detectar um ataque que teria sido escondido em um NIPS ou NIDS. O próximo capítulo apresenta a implementação do IDS/IPS em uma rede de computadores.\n67 67 6 IMPLEMENTAÇÃO DO SISTEMA DE DETECÇÃO E PREVENÇÃO DE INTRUSÃO A implementação de uma ferramenta de IDS/IPS, descrita neste capítulo, tem como base o estudo abordado até o momento, levando em consideração o funcionamento básico desse tipo de ferramenta, mostrando como o IDS e o IPS foram dispostos na rede de computadores e como as anomalias foram detectadas. O projeto foi desenvolvido exclusivamente em software livre, sem a necessidade de aquisição de licenças para a sua prática. Tendo como objetivo principal a identificação e automatização do bloqueio de ameaças utilizando ferramenta de IDS/IPS, fazendo uma análise qualitativa dos bloqueios gerados, a fim de viabilizar a implementação. Este capítulo inicia com a apresentação do modelo base. Logo após, expõe a efetuação da identificação dos pontos passíveis de falhas e implementação do sistema de IDS/IPS. Em seguida é apresentado o modelo ideal e dá-se prosseguimento com o detalhamento do funcionamento e dos softwares necessários para a implementação. 6.1 Modelo de ambiente base encontrado Esta seção visa a apresentar o ambiente básico inicial ao qual aplicar-se o estudo. Trata-se da estrutura física e lógica na qual há a necessidade de inclusão de meios para aumentar a segurança da rede. A Figura 26 ilustra o ambiente encontrado, sendo o nível físico e lógico característico de empresas de grande porte. Neste caso, para a implementação da ferramenta é apresentada e utilizada a estrutura de rede de dados do Centro Universitário UNIVATES. Optou-se por esta, pela alta tecnologia, grande variedade de equipamentos e inúmera heterogeneidade de perfis de usuários que utilizam a rede de dados, a qual é utilizada diariamente por cerca de 600 a 1000 usuários simultaneamente em períodos de picos. Tais afirmações têm base no monitoramento efetuado pelo Núcleo de Tecnologia de Informação da Univates com o auxílio do software Zabbix9. 9\n68 68 Figura 26 - Modelo do ambiente encontrado Fonte: Do autor com base em Baker, Caswell e Beale (2007). A estrutura da rede é caracterizada por aplicação do tipo cliente/servidor, sendo o servidor a peça fundamental para o modelo, pois é ele que disponibiliza os serviços requeridos pelos clientes, sendo firewall, roteador e filtro de acessos da rede de dados. Uma breve descrição dos componentes principais é apresentada abaixo: internet: acesso a informações e todo tipo de transferência de dados; servidores: computadores com arquitetura x86; core switch (n7): firewall da rede interna, switch de borda: meio de interligação entre clientes e servidores; clientes: computadores clientes conectados à rede de dados interna e externa. Além do firewall e do filtro web, é possível perceber que a atual rede não apresenta nenhuma ferramenta que monitore e analise o tráfego em tempo real. As únicas ferramentas implantadas não são capazes de desempenhar este propósito. Elas simplesmente autorizam ou não o envio de pacotes para os destinos predefinidos pela segurança da rede. Sendo assim, o ambiente está passível de sofrer diversas ameaças, interferindo na sua integridade e na de seus usuários. Com a apresentação do modelo de ambiente base, podem-se identificar alguns pontos de vulnerabilidades, os quais são abordados na próxima seção.\n69 Determinação do problema Conforme descrito na seção anterior, a rede de dados em que se efetuou a implementação é utilizada por diferentes níveis de usuários, desde os que possuem conhecimento avançado na área de informática até os que pouco conhecem um sistema operacional. Sendo assim, todos os usuários correm o risco de serem infectados na rede ou acomodarem em seus computadores vírus, malwares e spywares, os quais podem interferir na segurança local ou divulgar informações sigilosas e não autorizadas para o mundo exterior, ou, até mesmo, a ameaça pode vir dos próprios usuários tentarem contra a segurança da rede local. Tendo em vista esses e outros problemas que envolvem a segurança, efetua-se uma análise no ambiente apresentado na Figura 26. Nela, podem-se observar várias vulnerabilidades (pontos de falhas de segurança). A Figura 27 ilustra os pontos de falhas mais críticos encontrados no modelo do ambiente: Figura 27 - Pontos de falha de segurança encontrada modelo do ambiente Fonte: Do autor com base em Baker, Caswell e Beale (2007). Ao analisar-se a Figura 27, pode-se notar diversos pontos de falha quanto à segurança, sendo estes originados das redes interna ou externa. O modelo descrito, ao qual foi aplicada a implementação do trabalho proposto, é típico de uma rede de grande porte, no caso, é a rede wireless do Centro Universitário UNIVATES, a qual é utilizada por professores, alunos e visitantes. Por se tratar de uma rede com amplos acessos, abrangendo um público de inúmeras características, ela sofre constantes ameaças, sendo que não é possível efetuar um controle específico do software que cada usuário está executando na rede, pois este utiliza seu\nSISTEMAS OPERACIONAIS. 01) Considere as seguintes assertivas sobre conceitos de sistemas operacionais:\nSISTEMAS OPERACIONAIS 01) Considere as seguintes assertivas sobre conceitos de sistemas operacionais: I. De forma geral, os sistemas operacionais fornecem certos conceitos e abstrações básicos, como processos,