Detecção de intrusos.
Registos de actividades.
Vírus e “cavalos de Tróia”.

Como nenhum sistema de segurança é invulnerável, a detecção de intrusos assume-se como a segunda linha defensiva dos sistemas relativamente a falhas no processo de autenticação dos utilizadores.

A ideia base da detecção de intrusos é que mediante a observação da actividade de um utilizador é possivel assinalar desvios significativos relativamente ao comportamento habitual e daí inferir que se trata de um intruso que de algum modo consegui autenticar-se.

A detecção de intrusos baseia-se em registos de actividades ("audit records"). Os registos de actividades encontram-se em bases de dados e são adicionados pelo sistema operativo, programas e "software" de monitorização segundo diversos critérios.

Que tipo de eventos registar e que tipo de informação se deve colocar nos registos são uma questão fundamental, estão obviamente relacionados entre sí e deverão ser definidos caso a caso.

Genericamente:

Possiveis eventos a registar

Informações a registar
  • "Login´s" e "Logout's"
  • Acessos as ficheiros (e genericamente objectos)
  • Ocorrência de Erros
  • Execução de comandos

  • Data/Hora
  • Utilizador
  • Endereços de origem
  • Erros gerados

Nem sempre os registos são adicionados em resposta a determinados eventos, periodicamente podem ser gerados registos contendo por exemplo uma listas dos processo em execução, dos utilizadores activos, etc.

A utilidade dos registos de actividades vai além da detecção de intrusos, serve também para registar as actividades dos utilizadores lícitos e do proprio sistema. Quando surge um problema estes registos são a base para se investigar o sucedido e resolver os problemas ou atribuir responsabilidades.

A capacidade dos sistemas de ficheiros é limitada, e por isso o conteúdo dos registos e frequência com que são adicionados têm de ser bem calculada.

A maioria do "software" de monitorização permite limitar o tamanhos das bases de dados, mas é necessário definir a acção a tomar quando uma base de dados atinge o tamanho máximo, uma das opções mais habituais é a "truncagem". Deste modo garante-se que existe informação disponível sobre o sistema nos "últimos tempos".

Poupar espaço em disco deve ser a última das preocupações, não é raro necessitar de investigar algo que se passou num dado sistema vários meses atrás. O ideal será desactivar a "truncagem" e periodicamente arquivar as bases de dados e então proceder à sua remoção.

A implementação de mecanismos de detecção de intrusos e registos de actividades apresenta muitas vantagens:

  • Ao ser detectado o intruso pode ter a sua sessão terminada, evitando ou pelo menos reduzindo os danos provocados.
  • Ao ser do conhecimento geral a existencia de detecção de intrusos e registo de actividades, tal funciona como um factor dissuasor, quer para intrusos quer para os utilizadores licitos do sistema.
  • Depois da ocorrência de um ataque torna-se possível analizar a técnica usada e tomar medidas adequadas para evitar a mesma situação no futuro.
  • Mediante algum tipo de situação anormal reportada por um utilizador é possivel analizar a ocorrência e chegar aos responsáveis.
  • Permite detectar situações de violação de privacidade, sem registos de actividade esta situação poderia não ser detectada.
  • Outra situação semelhante à anterior em que não são causados danos directos é o lançamento de virus ou outro tipo de "armadilhas".

Os atacantes têm perfeita consciencia de todos estes factores, se conseguirem, uma das preocupações que vão ter é terminar o sistema de registo de actividades e remover as respectivas bases de dados, depois podem trabalhar mais "à vontade". É atraves dos registos de actividades que os administradores vão tentar evitar um ataque do mesmo tipo e vão tentar identificar o intruso.

Virus e outros

Existem diversos programas que são criados com intensões maliciosas, uma classificação habitual é a seguinte:

"Bacteria"
Programa pouco ofensivo que se replica, consumindo recursos dos sistemas, sem causar danos adicionais.
"Bomba Lógica"
Programa que funciona normalmente até que certas condições sejam detectadas, nessa altura desencadeia actividades maliciosas.
"Armadilha" ("Trapdoor")
Acesso secreto, não documentado, colocado em determinado programa para permitir o posterior acesso dos seus autores. Podem ser usadas para todo o tipo de acções, por exemplo activar um "Cavalo de Tróia" ou para acesso de um "Worm".
"Cavalo de Tróia"
Rotina colocada num programa útil e que é executada juntamente com o programa sem o utilizador saber. Geralmente trata-se de programas de origem desconhecida, alguns oferecidos por "mail".
"Virus"
Semelhante ao "Cavalo de Tróia", mas tem a capacidade de se replicar e infectar outros programas. Existem virus com diferentes graus de sofisticação, os mais dificeis de detectar mudam constantemente o seu código (geram virus diferentes em cada infecção). Existe uma luta constante entre novos virus e novo "software" anti-virus, os novos virus pretendem ser imunes aos novos anti-virus e assim sucessivamente.

Os virus dependem do acesso de escrita a ficheiros executáveis para se propagarem, num sistema com um controlo de acesso efectivo e com um administrador cuidadoso, tal nunca deve acontecer, pelo menos com os programas executáveis do sistema. Esta é a melhor protecção. Manter em funcionamento um anti-virus que detecta comportamentos suspeitos também é boa ideia, trata-se de simples detecção de intrusos.

"Vermes" ("Worms")

É de certo modo um equivalente do virus para ambiente de rede, tem a capacidade de se propagar através das redes.

Para se propagarem os vermes necessitam de furar de algum modo os mecanismos de autenticação dos sistemas, ou tentam "quebrar" passwords num acesso directo ou então exploram algum tipo de "trapdoor". A existencia de uma "trapdoor" não é necessariamente maliciosa, muitas vezes é um simples "bug" do "software" que explorado devidamente permite o acesso ao sistema.

Os vermes perigosos são programas bastante sofisticados que se baseiam em determinada falha de segurança desconhecidas, um exemplo disso mesmo são os sucessivos vermes que têm surgido para aproveitar as falhas de segurança nos sistemas MS-Windows, a adição do último "service-pack" geralmente resolve o problema, pelo menos até surgir um novo verme.

A protecção contra os vermes tem muito haver com a autenticação de utilizadores e detecção de intrusos, contudo devido ao facto de os exemplares mais perigosos usarem "trapdoor's" não documentadas a existência de um "firewall" que exclua tudo o que não é estritamente necessário é uma boa protecção contra ataques externos.