paper - ids & snort

Upload: elioth-sidney-sidney

Post on 19-Jul-2015

57 views

Category:

Documents


0 download

TRANSCRIPT

Estudo de Sistemas de Deteco e Preveno de Intruses Uma Abordagem Open SourceMarco Silva, Miguel Sampaio, Mrio Antunes, Miguel Frade Escola Superior de Tecnologia e Gesto de Leiria Instituto Politcnico de Leiria Morro do Lena Alto do Vieira 2411-901 Leiria Portugal E-mail: [email protected], [email protected], [email protected], [email protected]

Resumo Este artigo descreve um estudo realizado sobre Sistemas de Deteco de Intruses (IDS - Intrusion Detection Systems) usando unicamente software open source. Foi estudado em detalhe o IDS Snort, tendo-se realizado alguns testes elucidativos das principais funcionalidades numa rede de testes construda para o efeito.I. IntroduoO crescente desenvolvimento tecnolgico das ltimas dcadas ao nvel das redes de computadores uma mais valia importante, uma vez que permite uma maior eficincia produtiva e econmica por parte das organizaes. No entanto, a vulgarizao das Tecnologias da Informao e Comunicao (TIC) levou ao aumento dos problemas na segurana informtica, pois a informao agora, na sua maior parte informatizada. A segurana um problema actual. Devido ao crescente nmero de ciberataques fundamental a utilizao de bons sistemas de defesa. As intruses so um dos principais ataques actualmente a serem utilizados (Figura 1). Assim, extremamente importante o desenvolvimento de ferramentas que detectem e mesmo previnam que estes intrusos possam danificar ou alterar o funcionamento normal dos sistemas informticos.

II. Sistemas de Deteco de IntrusoII-A Conceitos Bsicos

Existem diversos conceitos bsicos cruciais na compreenso dos IDS e o ambiente envolvente: Intruso definida como o conjunto de aces desencadeadas pelo intruso que compromete a estrutura bsica da segurana da informao de um sistema informtico: disponibilidade. A poltica de segurana define com clareza o que uma intruso, ou seja, este instrumento expressa claramente o que permitido e o que no . Intruso definido como qualquer utilizador ou entidade que acede ou invade um sistema sem que para tal tenha obtido autorizao. A deteco de um intruso uma tarefa complexa, uma vez que este pode ter em seu poder a identificao de um outro utilizador legtimo ou um comportamento muito integridade, confidencialidade e

semelhante ao de um utilizador legtimo. A distino correcta entre um utilizador legtimo e um utilizador intruso de extrema importncia. Assim, podese fazer a distino de dois tipos de intrusos: o Intruso Externo todos os utilizadores que no pertencem ao sistema e que implementam aces de intruso ao mesmo;Figura 1 Estatstica de ataques (www.mycert.org.my)

o

Intruso Interno todos os utilizadores que tm algum tipo de autorizao de acesso legtimo ao sistema e que, normalmente ultrapassando os seus direitos de acesso, tentam realizar aces de intruso a esse mesmo sistema.

Os Sistemas de Deteco de Intruso so uma parte importante de todo o sistema de defesa.

1

Deteco de intruso consiste no processo de monitorizao de eventos que ocorrem em computadores e em recursos de rede, para que estes possam ser analisados de forma a encontrar quaisquer sinais evidentes de intruso. Um IDS definido por englobar toda a tecnologia (software ou hardware) que permite automatizar o processo de monitorizao e de anlise de eventos inesperados e que podem indiciar a ocorrncia de actividades maliciosas de intruso. Estes mecanismos devem ser implementados pelos sistemas para permitirem a deteco dos dois tipos de intrusos referidos anteriormente. A classificao de IDS pode respeitar vrias abordagens: tipo de fontes de informao de onde so recolhidos os dados, tcnicas ou princpios de deteco utilizados ou tipo das intruses detectadas.

intruso ao responsvel pela segurana do sistema), no possuindo um carcter verdadeiramente preventivo no sentido de impedir a ocorrncia de uma intruso. No entanto existem IDS capazes de reagir aquando da deteco de aces no autorizadas, de forma a conter ou parar o causador, por exemplo desligando a ligao rede. Um exemplo elucidativo ao ser detectado um port scan, que visa encontrar portos abertos que possam ser aproveitados por cavalos de tria (trojan horses), o IDS poder bloquear ligaes vindas desse terminal.

II-C

Classificao dos IDS

Existem diversas abordagens possveis na classificao de IDS como se demonstra na Figura 2.

II-B

Funo dos Sistemas de Deteco de Intruso

O conjunto de funes atribudas aos IDS engloba todas as actividades maliciosas, anmalas ou incorrectas que ocorrem num sistema informtico. Assim o IDS tem o papel de identificar positivamente todos os verdadeiros ataques e identificar

negativamente todos os falsos ataques. O IDS pode responder em tempo real a processos ou eventos de intruso atravs da anlise de todo o processo e das marcas (assinaturas) ou padres

comportamentais de uma intruso. As seguintes actividades so realizadas pelos IDS e atravs de graus variveis de preciso: Monitorizao e anlise de actividades de sistema e dos utilizadores; Realizao de auditorias infra-estrutura, s falhas e s vulnerabilidades do sistema; Identificao do modelo de actividades do sistema, de forma a reconhecer-se sinais de ataques e de alertas; Realizao de uma anlise estatstica a um modelo de comportamento anmalo; Avaliao da integridade dos ficheiros de dados e de sistema; Realizao de auditorias de gesto ao sistema operativo e de reconhecimento do comportamento dos utilizadores que desobedecem poltica de segurana da organizao. Os IDS integram-se dentro das medidas de deteco definidas no modelo para a segurana da informao (deteco e comunicao da Existem diversas ferramentas que utilizam tcnicas mistas, no entanto ainda esto em fase evolutiva, longe de alcanarem resultados fiveis.Figura 2 Classificao de IDS

II-D

Consideraes Finais sobre IDS

No existe um mtodo de deteco ideal, quer por anomalias, quer por assinaturas, visto ambos terem vantagens valiosas. Num plano utpico teramos um IDS com um nmero baixo de falsos positivos e negativos apresentados pelos sistemas baseados em deteco por assinaturas, combinado com a dinmica dos sistemas de deteco por anomalias. Este IDS teria actualizaes constantes do padro de normalidade (baseline), cautelosas, precisas e que no corressem o risco de considerar como normais diversas actividades maliciosas. Estaria sempre actualizado contra ataques no conhecidos.

2

O Snort, objecto de estudo deste projecto, um IDS de rede (Network IDS) que se baseia em deteco por assinaturas. actualmente o 3 no Top 100 de ferramentas de segurana de rede sendo o IDS com melhor classificao. Esta tabela classificativa, que apresenta as 100 melhores ferramentas de segurana de rede, na opinio de 3243 utilizadores da mailing list nmap-hackers, pode ser consultada em http://sectools.org.Figura 3 Arquitectura do Snort

III-B RegrasAs intruses tm um determinado tipo de assinatura, assim como os vrus. A informao sobre estas assinaturas usada para criar as regras do Snort. Podem ser usados honeypots para descobrir o que os intrusos esto a fazer e alguma informao sobre as tcnicas e ferramentas utilizadas. Alm disso existem as bases de dados de vulnerabilidades que os intrusos geralmente exploram. Estes ataques j conhecidos tambm so usados como assinaturas para se saber se algum est a tentar explorar as vulnerabilidades referidas. Estas assinaturas podem estar presentes em partes do cabealho de um

III. O SnortO Snort (www.snort.org) uma ferramenta open source para solues NIDS Network Intrusion Detection System. O logtipo do Snort um porco, em aluso tarefa de farejar e capturar todos os pacotes que esto a passar na rede. Uma vez que o Snort tem a capacidade de analisar todo o contedo dos pacotes, comparando-o com um vasto conjunto de regras em tempo real, tornou-o desde o seu aparecimento, um IDS de eleio. O facto de ser disponibilizado em open source permite que as pessoas fortemente interessadas em aplicar um NIDS na sua rede o possam testar sem qualquer preocupao de adquirir ou comprar licenas de softwares proprietrios. Tal facto permitiu que ao longo do tempo fosse sofrendo bastantes actualizaes e correces como ainda hoje acontece frequentemente, possibilitando tambm que os utilizadores possam desenvolver as suas prprias regras para deteco de ataques existindo sempre um esprito de partilha das mesmas.

pacote ou mesmo nos dados. As regras do Snort so baseadas em assinaturas de intrusos e podem ser usadas para verificar vrias partes do pacote de dados. As verses mais recentes do Snort (a partir da verso 2) suportam anlise a cabealhos da camada de aplicao bem como das camadas 3 (Rede) e 4 (Transporte). As regras so aplicadas ordenadamente em todos os pacotes independentemente do seu tipo. Uma regra pode ser usada para: gerar uma mensagem de alerta, fazer registo de um evento, ou ignorar o pacote de dados. As regras do

III-A Arquitectura Interna do SnortO Snort dividido logicamente em mltiplos componentes. Estes componentes trabalham juntos para detectar os ataques rede e gerar sadas no formato especificado pelo IDS. A arquitectura interna do Snort baseada nos seguintes componentes: Mecanismo de captura/descodificao de pacotes Os pacotes so capturados e guardados em memria. Plugins de pr-processador Os pr-processadores efectuam ajustes e reagrupamentos aos pacotes para as regras serem aplicadas de uma forma mais optimizada. Mecanismo de deteco Responsvel por efectuar a comparao dos dados dos pacotes com as regras. Plugins de sada Responsveis por efectuar o tratamento dos alertas gerados. A Figura 3 mostra como estes componentes esto organizados sequencialmente.

Snort so escritas em texto e com uma sintaxe de simples compreenso sendo a maior parte escrita numa s linha. No entanto tambm se podem ter regras em vrias linhas usando o caracter '\' no fim das mesmas. As regras so geralmente colocadas no ficheiro de configurao, tipicamente snort.conf. Tambm podem ser usados vrios ficheiros desde que includos no ficheiro de configurao. As regras do Snort operam na camada de rede (IP) e protocolos da camada de transporte (TCP/UDP). Contudo existem mtodos para detectar anomalias nos protocolos da camada de ligao e aplicao. Como demonstra a Figura 4 todas as regras tm duas partes lgicas: o cabealho e as opes.

Figura 4 Estrutura de uma regra

O cabealho da regra contm informao acerca da aco a tomar e critrios para comparao com os pacotes de dados. A parte das opes geralmente contm uma mensagem de alerta e informao sobre qual a parte do pacote a ser usada para gerar a mensagem de

3

alerta contendo ainda critrios adicionais para comparar a regra com pacotes de dados. A Figura 5 mostra os campos do cabealho de uma regra:Cabealho Opes

Em suma: As regras so uma das partes mais importantes do Snort, pois so elas que definem as assinaturas que o mecanismo de deteco utiliza para detectar ataques. O site do Snort tem actualizaes frequentes das regras

(http://www.snort.org/rules) visto estarem constantemente a aparecer novos perigos e problemas.Aco Protocolo IP Porto Direco IP Porto

Figura 5 Estrutura do cabealho de uma regra

A vasta qualidade de opes disponveis permite que o administrador de rede tenha um controlo amplo sobre o Snort e o seu funcionamento.

A aco de uma regra determina o tipo de aco a ser tomada quando os critrios coincidem. Tipicamente as aces so gerar um alerta, registar uma mensagem ou mesmo invocar outra regra. A parte do protocolo usado para determinar e filtrar qual o protocolo em particular ao qual a regra ser aplicada. A parte do endereo define os endereos de origem e destino. Os endereos podem ser de um simples terminal, de vrios terminais ou rede. Estas partes tambm podem ser usadas para excluir alguns endereos de uma rede completa. De notar que existem dois campos endereo na regra. Os endereos de origem e destino ficam dependentes do campo direco (p.e. ->). No caso dos protocolos TCP ou UDP a parte do porto determina o porto de origem e destino tambm tendo em conta a parte que define a direco. No caso dos protocolos da camada de rede como o IP e ICMP os portos no tm qualquer significado. O campo direco determina qual o endereo de origem e qual o de destino. As opes da regra so a parte mais importante da deteco de intruso do Snort, uma vez que combinam a facilidade de uso com a alta capacidade de abrangncia e flexibilidade. Todas as opes da regra do Snort so separadas uma das outras pelo caracter ponto e virgula (;) e as palavras-chave das opes das regras so separadas dos seus argumentos pelo caracter dois pontos (:). So 4 as principais categorias para as opes das regras: MetaData, Payload Detection, Non-Payload Detection e Post-Detection, sendo cada uma delas opcionais.

IV. TestesIV-A Cenrio de TestesNa Figura 7 est representado o cenrio de testes utilizado no estudo do Snort, onde se podem identificar as mquinas, respectivos endereos IP e sistemas operativos. De notar que o equipamento utilizado para interligar as diversas mquinas foi um hub (Cisco 1538 M), isto porque replica o trfego proveniente de uma porta por todas as outras, chegando assim ao Snort todos os dados transmitidos pelos outros equipamentos. Actualmente o equipamento eleito para desempenhar esta funo o switch. Este aumenta o desempenho da rede uma vez que a ocorrncia de erros/colises menor, mas a implementao de IDS em redes comutadas pode apresentar alguns problemas porque, ao contrrio do hub, o switch envia os dados provenientes da origem apenas para a porta onde se encontra ligada o dispositivo de destino, no replicando assim os dados por todas as outras como o hub. Logo, se neste cenrio fosse utilizado um switch em vez de um hub, nunca poderia ser monitorizado todo o trfego de rede, mas sim apenas o trfego destinado mquina onde se encontra instalado o IDS. Este problema poderia ser resolvido com um switch que contenha uma porta do tipo Port Spam, para onde enviado todo o trfego proveniente das demais portas.

Figura 7 Cenrio de testes Figura 6 Estrutura das opes de uma regra

Foi utilizado o BASE como frontend para consultar a base de dados MySQL, onde ficam guardados os alertas.

4

IV-B Testes Efectuados Deteco de contedo em transferncia de ficheiro Deteco de port scans (Nmap) Deteco de scan a vulnerabilidades (Nessus) Deteco de ataques efectuados com o framework Metasploit 2.6 Reactividade do conjunto Snort + Guardian

as concluses tiradas dos testes efectuados, facilmente ludibriado pela tcnica de IP Spoofing. No tem a capacidade de comparar endereos da camada de ligao (endereos MAC) e aperceber-se de que existem incongruncias graves. A falta de mecanismos reactivos no Snort uma desvantagem notria nesta ferramenta. Para obtermos reactividade foi necessrio aliar o Guardian

(http://www.chaotic.org/guardian/) ao Snort.

IV-C Consideraes finais sobre os testesComo esperado, devido sua natureza, este IDS s detecta os ataques que estejam compreendidos no universo de regras. No tem qualquer tipo de mecanismo que permita evoluir no sentido de detectar ataques que no estejam contemplados nas regras. Foram detectados alguns problemas, entre os quais, o facto de no ser possvel actuar normalmente nas redes comutadas, ou seja, quando se utiliza um switch. Decidiu-se utilizar um hub para ultrapassar essa limitao, no entanto esta situao seria facilmente ultrapassada com a utilizao de um switch com Port Spam. Outro dos problemas foi a dificuldade em inspeccionar ligaes encriptadas. A aplicao tambm no teve a capacidade para analisar e detectar IP Spoofing. necessrio acrescentar, que o carcter reactivo s conseguido com o auxlio de aplicaes adicionais, como por exemplo o Guardian que consegue este efeito interagindo com a firewall medida que monitora os logs criados pelo Snort.

O Snort, sendo o IDS mais usado pela comunidade de segurana da informao, foi extremamente importante para tirar estas concluses, todas elas baseadas no estudo desta ferramenta. O factor humano tem ainda um grande peso sobre o funcionamento normal de um IDS. A falta de automatismo e carcter adaptativo, sem falhas, um problema, sendo imprescindvel a interveno de um administrador especializado e com dedicao permanente. Este IDS de rede, mesmo sendo baseado em assinaturas, exige, aps a sua implementao na rede, um perodo de monitorizao por parte do Administrador que ter a tarefa de afinar o sistema, de forma a reduzir o nmero de falsos positivos gerados. Esta ferramenta baseia-se, como referido, em regras. No entanto, alm de fazer parte da comunidade open source, estas regras actualizadas tm um preo estipulado actualmente em 1400 anuais. No entanto, passados 5 dias do seu lanamento, passam a ser distribudas gratuitamente pela comunidade. Para finalizar, fica a referncia de que h trabalho futuro a executar nesta rea, quer a estudar os IDS, quer a desenvolver software (p.e. Plugins para o Snort). H que seguir os passos do CIDF e IDWG (Working Groups da rea dos IDS) rumo perfeio, para que cada vez menos, seja notada a dependncia do factor humano. Para adquirir adaptabilidade dos IDS necessrio a utilizao de vrias tcnicas avanadas entre as quais: redes neuronais, predio por

V. ConclusesO estudo do Snort, realizado neste projecto, permitiu concluir sobre diversos aspectos dos Sistemas de Deteco de Intruso, vulgarmente designados IDS. Este trabalho permitiu reflectir e chegar a diversas concluses: Os IDS por assinaturas tm a desvantagem de no se adaptarem a novas situaes, no contempladas pelas regras. J os IDS por deteco de anomalias definem um baseline que serve de comparao constante. No entanto, estes ltimos tambm tem problemas, como o caso de definies de baselines pouco precisos. A necessidade constante da presena humana para monitorizar as alteraes no trfego de rede e situaes no contempladas, referidas no ponto anterior, um entrave para se chegar a um IDS totalmente automatizado. O Snort tem a vantagem de ter bons plugins para inspeccionar os pacotes em detalhe. No entanto, segundo

inteligncia artificial ou anlise estatstica avanada. Deste projecto resultou um relatrio e um tutorial de instalao do Snort e ferramentas necessrias para o seu funcionamento, disponibilizado comunidade do Snort.

5