um sistema de detecção de intrusão

Propaganda
UM SISTEMA DE DETECÇÃO DE INTRUSÃO
BASEADO NO SISTEMA IMUNOLÓGICO HUMANO
Kátia Regina L. Jucá
[email protected]
João Bosco Mangueira Sobral
[email protected]
Universidade Federal de Santa Catarina
Curso de Pós Graduação em Ciências da Computação
Caixa Postal 476 – 88040-900 Florianópolis SC Brasil
Resumo: Este artigo apresenta uma técnica de análise de dados inspirada pelo sistema imunológico
natural. Foram empregadas metáforas imunológicas para criar uma técnica de análise de dados. Este
trabalho baseou-se em trabalhos prévios, extraindo características do sistema imunológico e em
software que foi projetado para identificar nos registros de atividades os registros que relatam
violações de segurança e atividade não usuais. Este artigo propõe um trabalho para monitorar
programas privilegiados em sistemas UNIX, respeitando suas especificações, utilizando o registro
de atividades gerado pelo sistema operacional.
1
INTRODUÇÃO
As aplicações e os sistemas operacionais estão repletos de falhas de segurança nos mais
diversos níveis. Caso não haja mecanismos de verificação e monitoração, os serviços de segurança
tornam-se ineficientes.
As políticas de segurança definem os requisitos e normas de uso das facilidades
computacionais. Os serviços de segurança fornecem medidas preventivas para evitar que as
políticas de segurança sejam violadas.
Uma intrusão é definida como um conjunto de ações que atentam contra a integridade,
confidencialidade ou disponibilidade de um recurso. O propósito deste artigo é apresentar um
modelo de segurança para sistemas de computadores observando características do sistema
imunológico humano e utilizando um sistema de detecção de intrusão baseado na monitoração dos
registros de atividades.
2
IMUNOLOGIA
O sistema imunológico é uma complexa rede de células e órgãos que estão envolvidos na defesa
de um corpo dos ataques de invasores estrangeiros. Uma das características principais do sistema
imunológico é a capacidade de distinguir entre self e nonself. Todas as células presentes no corpo
possuem moléculas que as caracterizam como self. Nas células dos organismos estrangeiros, as suas
moléculas são caracterizadas como nonself.

Genes e Características Self – As moléculas que marcam uma célula como self, são
codificadas por um grupo de genes que estão contidas em seções de um cromossomo
específico conhecido como Major histocompability complex (MHC). O MHC é essencial
para as defesas imunológicas, pois são suas características que determinam a quais
antígenos um indivíduo pode responder e qual a intensidade da resposta. As características


2.1
dos genes MHC permitem que as células imunológicas se reconheçam e comuniquem-se
entre si.
Antígenos MHC de classe I - Alertam as céluas T-killer que um célula do corpo foi
infectada e precisa ser eliminada.
Antígenos MHC da classe II – Os produtos dos antígenos da classe II expõem os
antígenos e chamam a atenção das células T-helper.
Anatomia do Sistema Imunológico
Os órgãos que compõem um sistema imunológico estão distribuídos pelo corpo e são
referenciados como linfóides. Entre suas funções estão as de crescimento, desenvolvimento e
utilização de linfócitos.
Os linfócitos são pequenas células de glóbulos brancos cuja responsabilidade é a de especifica
as atividades do sistema imunológico. Suas duas maiores classes são as Células-B, que segregam
anticorpos dentro dos fluídos corporais, e as Células-T, que atacam as células do corpo que tenham
sido contaminadas.
Cada Células-B produz um anticorpo específico, que combinará com um dado antígeno da
mesma maneira que uma chave combina com uma fechadura.
As Células-T contribuem ao sistema imunológico de duas formas importantes. A primeira é a
de juntar-se às Células-B na defesa de algumas substâncias específicas. A segunda é a de atacar
diretamente células do corpo que estão infectadas.
O sistema imunológico possui duas formas de imunidade. A imunidade natural, que está
presente no corpo do indivíduo desde o seu nascimento e também é adquirida de forma passiva
através de sua mãe e a imunidade adquirida, que se estabelece com o tempo. Na medida que o
sistema vai se deparando com novos agentes patogênicos, algumas células retêm uma memória da
moléstia e quando o organismo encontrar o mesmo antígeno, irá reconhecê-lo e destruí-lo
rapidamente.
2.2




2.3
Propriedades do Sistema Imunológico
O sistema imunológico apresenta quatro propriedades importantes que são:
Detecção – Ocorre quando ligações químicas são estabelecidas entre receptores da superfície de
uma imunológica e epítotes, que estão localizados na superfície de uma patogenia.
Diversidade – O corpo precisa produzir uma diversidade suficiente de receptores linfócitos
para assegurar que ao menos alguns deles possam reagir ao elemento patogênico. Como
existem muito mais variedades de antígenos, o corpo adota uma solução de proteção dinâmica,
onde os linfócitos são renovados constantemente.
Aprendizado – O sistema imunológico incorpora princípios que possibilitam ao linfócito
aprender ou adaptar-se às estruturas de proteínas estrangeiras e de recordar-se destas estruturas
rapidamente.
Tolerância – Os genes MHC e suas moléculas assinalam a variedade de estruturas de um
indivíduo para o outro. Esta diversidade é conhecida como polimorfismo. As moléculas do
MHC determinam quais antígenos um indivíduo pode reagir e com que força.
Segurança de Computadores e Sistema Imunológico
Analogamente, o sistema imunológico enfrenta os mesmo problemas de um sistema de
computador. Existem diversos aspectos de segurança de computadores que podem ser enumerados,
tais como: confidencialidade, integridade, disponibilidade, corretismo e contabilidade.
O sistema imunológico detecta a quebra de uma determinada regra e responde a este abuso
contra-atacando a fonte. Somente alguns aspectos de segurança são importantes, tais como:
disponibilidade, corretismo, integridade, contabilidade e confidencialidade.
O sistema imunológico e a segurança em sistemas de computador possuem um ponto em
comum: proteger o sistema contra ataques e intrusões que violem a política de segurança
estabelecida.
2.4
Detecção de Intrusão
Uma intrusão é uma violação às políticas de segurança estabelecidas em um sistema. A
prevenção de todas as possíveis quebras de segurança é irrealizável, entretanto, é possível
identificar as violações ocorridas e então tomas atitudes para reparar os danos. Este campo de
pesquisa é denominado de detecção de intrusão e suas técnicas podem ser divididas em dois tipos:
detecção por anomalia e detecção por abuso.
Detecção por anomalia: Esta técnica assume que toda atividade de intrusão é necessariamente
anômala. Isto só é possível se pudermos estabelecer um conjunto de atividades que caracterizam a
operação normal em um sistema.
Detecção por abuso: Baseia-se nos rastros deixados por um ataque efetuado contra o sistema e
explorando uma fraqueza conhecida. Esta técnica possui a limitação de somente observas as
intrusões em pontos fracos e que são conhecidos no sistema, podendo não ser útil para a detecção de
uma intrusão futura.
3
SISTEMA IMUNOLÓGICO ARTIFICIAL
Este trabalho faz uso de alguns conceitos biológicos e os aplica na especificação de um sistema
para detecção de intrusão em um sistema de computadores em rede. Os princípios de um sistema de
detecção, observando os conceitos imunológicos, são os seguintes: Proteção Distribuída,
Diversidade, Robustez, Adaptabilidade, Memória, Flexibilidade, Crescimento e Detecção de
Anomalia.
3.1
Arquitetura do Sistema Imunológico Artificial
As possíveis arquiteturas resultantes da combinação dos conceitos biológicos e as arquiteturas
existentes de sistemas de computadores são:
 Proteção de dados estáticos – Nesta visão, a proteção deve englobar todos os dados
armazenados. Os componentes self são os dados que não sofreram corrupção e os
componentes nonself são aqueles dados self que foram corrompidos.
 Proteção de processos ativos em um computador – Cada processo em um computador é
uma célula e cada computador pode ser visto como um organismo multicelular. Nesta
arquitetura, os componentes do conjunto self serão definidos pelo conjunto de registros do
sistema coletados em uma situação normal e nonself são os registros observados em
situação de intrusão.
 Protegendo uma rede confiável de computadores – Em outra abordagem possível é que
cada computador corresponda a um órgão de um organismo. Cada processo será
considerado como uma célula, mas agora um indivíduo é uma rede de computadores
mutuamente confiáveis.
 Protegendo uma rede de computadores mutuamente disponíveis e confiáveis –
Fazendo outra analogia, podemos considerar cada computador como uma célula, e a rede de
computadores como sendo um indivíduo.
4
REGISTRO DE ATIVIDADES E AMBIENTE OPERACIONAL
Muitos trabalhos de detecção de intrusão estão focados na análise dos registros dos logs, os
quais são produzidos pelo sistema operacional e por outros aplicativos. O sistema operacional
UNIX utiliza o syslog para gerar, armazenar e registrar suas atividades. Os programas criam um
registro de suas atividades utilizando funções especiais que fornecem categorias de eventos, graus
de severidade para os eventos e mensagens que descrevem o evento.
A verificação diária do sistema de mensagens é crucial para a segurança do sistema de
computadores. O montante da informação contida nestes registros varia e está diretamente
relacionada aos tipos de serviços oferecidos pelo host e ao número de acessos. As mensagens são
classificadas em categorias, indicando sua severidade. A existência destas categorias permite uma
filtragem seletiva das mensagens.
O trabalho foi montado em cima de um ambiente composto de máquinas com o sistema
operacional UNIX, conectadas em rede. Cada um dos host neste ambiente possui um conjunto de
serviços que são disponibilizados para sua rede local e também para a internet.
No sistema imunológico artificial consideraremos que cada processo de um serviço em um host
é uma célula. Este host é visualizado como um organismo multicelular, onde existe um processo
que atua como linfócito no reconhecimento de elementos nonself.
A arquitetura da defesa do sistema imunológico é multinivel e oferece mecanismos de proteção
nos diversos níveis. O nível mais extremo é representado pelos mecanismos de controle e
monitoração da rede, que atuam como pele e as mucosas, estabelecendo uma barreira física. Os
mecanismos tradicionais de segurança, tais como o sistema de arquivos, permissões de arquivos e
controle de acessos são considerados como o sistema imunológico nato.
O sistema imunológico adquirido é implementado pó um programa que atua como um linfócito
e também pelos patches e pelas atualizações que são consideradas como as vacinas.
4.1
Anatomia do sistema imunológico artificial
O sistema imunológico artificial é constituído pelos componentes básicos e complementares do
sistema operacional, os aplicativos que possibilitam o fornecimento de serviços pelo host e os
aplicativos relacionados com a administração e a segurança do host.
O sistema imunológico computacional nato é constituído pelos componentes do sistema
operacional UNIX que fazem parte do root filesystem, assim como as permissões aos arquivos e os
modos de acesso aos arquitos, diretórios e devices que são estabelecidos durante a instalação do
sistema.
A imunidade passiva existente nos sistemas computacionais modernos dura somente algumas
horas; ao contrário do sistema imunológico humano que protege o recém-nascido por alguns meses.
Por esta razão é necessário que o sistema computacional receba a imunização (atualizações de
segurança) complementar logo após a sua instalação.
O grau e a duração da imunidade em um sistema computacional irá depender de certos itens que
caracterizam a segurança do host e da rede na qual o host está conectado. Os itens caracterizados
são os seguintes: corretismo da instalação, estabilidade do sistema operacional e estabilidade
dos softwares complementares.
Dentre os serviços oferecidos, foram escolhidos os seguintes como os sujeitos de observação:
SMTP, FTP, POP3 e DNS.
As células-T aprendem no timo a distinguir as células self das células nonself. Esta
característica é transposta para o sistema computacional pelo uso do software LogCheck, que filtra
os registros das atividades em um host, gerando relatórios ao administrador dos logs das atividades
que possuam porções de códigos que são considerados perigosos, suspeitos e que merecem uma
análise mais apurada.
5
IMPLEMENTAÇÃO E RESULTADOS OBTIDOS
Para o desenvolvimento do presente trabalho foi instalado o software LogCheck em dois hosts
com sistemas operacionais distintos e serviços de registros de atividades também distintos.
As atividades nos servidores escolhidos foram monitoradas pelo intervalo de tempo de cinco
meses. O ambiente operacional não sofreu nenhuma interferência nas características de suas
atividades básicas; de maneira que estes registros podem ser considerados fidedignos, pois refletem
uma situação normal.
No conjunto de registros gerados não ocorre a distinção entre o registro de uma atividade self e
nonself. Com a utilização do software LogCheck o número de registros é reduzido aos itens que
representam algum risco e que merecem uma análise apurada.
Os resultado dos dados monitorados estão dispostos nas tabelas abaixo.
Meses
março
abril
maio
junho
julho
6
Total Reg.
14696
14606
19437
24682
22620
nonself
12691
8293
8749
20978
11985
Meses
março
abril
maio
junho
julho
Total Reg.
15137
33904
69249
114030
36548
nonself
8430
20867
30818
24198
29653
CONCLUSÃO
Durante o processo de seleção dos registros, o software LogCheck classifica-se em: ataque,
violações de segurança e eventos anormais, entretanto, durante o período de monitoração e coleta
dos registros, obtivemos somente relatos que assinalam violações de segurança e eventos anormais
(conjunto dos nonself).
Com a implementação demonstrada neste trabalho, o processo de monitoração e observação das
atividades dos hosts se mostrou muito mais fácil e eficiente.
Download