4.6 Auditoria

Esta seção cobre os procedimentos para coletar os dados gerados pela atividade de rede, que podem ser úteis para analizar a segurança de uma rede e responder a incidentes de segurança.

4.6.1 O que coletar

Dados de auditoria deveriam incluir qualquer tentativa de obter um nível de segurança diferente por qualquer pessoa, processo, ou outra entidade da rede. Isto inclui "login" e "logout", acesso de super-usuário (ou o equivalente não-UNIX), geração de tíquete (para Kerberos, por exemplo) e qualquer outra mudança de acesso ou estado. É especialmente importante notar o acesso "anonymous" ou "guest" a servidores públicos.

Os dados reais a coletar irão diferir para locais diferentes e para mudanças de diferentes tipos de acesso dentro de um local. Em geral, as informações que você quer coletar incluem: código do usuário e nome do host para login e logout; direitos de acessos prévios e novos; e um "timestamp". É claro, há muito mais informações que poderiam ser coletadas, dependendo do que o sistema torna disponível e quanto espaço está disponível para armazenar aquelas informações.

Uma nota muito importante: não colete senhas. Isto cria uma brecha potencialmente enorme na segurança se os registros de auditoria forem inadequadamente acessados. Tambem não colete senhas incorretas, já que elas diferem das senhas válidas somente por um caracter ou transposição.

Processo de Coleta

O processo de coleta deveria ser ordenado pelo host ou recurso sendo acessado. Dependendo da importância dos dados e a necessidade de tê-los localmente em instâncias nas quais os serviços estão sendo negados, os dados poderiam ser guardados localmente ao recurso até que sejam necessários ou serem transmitidos para armazenamento após cada evento.

Há basicamente três formas de armazenar registros de auditoria: em um arquivo de leitura e escrita em um host, em um dispositivo do tipo escreva uma vez, leia várias (por exemplo um CD-ROM ou uma unidade de fita especialmente configurada), ou num dispositivo somente de escrita (por exemplo uma impressora). Cada método tem suas vantagens e desvantagens.

O registro em um sistema de arquivos é o que consome recursos menos intensamente dentre os três métodos. Ele permite acesso instantâneo aos registros para análise, o que pode ser importante se um ataque está em curso. Entretanto, é tambem o método menos confiável. Se o host que efetua o registro foi comprometido, o sistema de arquivos é usualmente a primeira coisa onde ir; um intruso poderia facilmente acobertar rastreios da intrusão.

Coletar dados de auditoria em um dispositivo de escrita única é ligeiramente mais trabalhoso de configurar que um simples arquivo, mas ele tem a significante vantagem da segurança significativamente aumentada porque um intruso não poderia alterar os dados indicadores de que uma invasão aconteceu. A desvantagem deste método é a necessidade de manter um fornecimento de meio de armazenamento e o custo desse meio. Tambem, os dados podem não estar instantaneamente disponíveis.

Registro em impressora é útil em sistemas onde registros ("logs") permanentes e imediatos são necessários. Um sistema de tempo real é um exemplo disto, onde o ponto exato de falha ou ataque deve ser registrado. Uma impressora laser, ou outro dispositivo que buferiza dados (por exemplo um servidor de impressão) podem sofrer de dados perdidos se os buffers contém os dados necessários num instante crítico. A desvantagem de, literalmente, trilhas de papel é a necessidade de vasculhar os registros a mão. Há tambem a questão de tornar seguro o caminho entre o dispositivo que gera o registro e o que realmente armazena o registro (por exemplo um servidor de arquivos, uma unidade de fita/CD-ROM, uma impressora). Se o caminho está comprometido, o registro pode ser parado ou adulterado ou ambos. Em um mundo ideal, o dispositivo de registro estaria diretamente ligado por um simples e único cabo ponto-a-ponto. Como isto é usualmente impraticável, o caminho deveria passar por um número mínimo de redes e roteadores. Mesmo que os registros possam ser bloqueados, adulteração pode ser evitada com somas de verificação criptográficas (provavelmente não é necessário criptografar os registros porque e‡es não deveriam conter informações sensitivas em primeiro lugar.

4.6.3 Carga da Coleta

Coletar dados de auditoria pode resultar em um rápido acúmulo de octetos, logo a disponibilidade de armazenamento para estas informações devem ser consideradas desde cedo. Existem poucas maneiras de reduzir o espaço de armazenamento exigido. Primeiro, os dados podem ser compactados, usando um de muitos métodos. Ou, o espaço exigido pode ser minimizado guardando dados por um período mais curto de tempo com somente os sumários de dados sendo guardados em arquivos de longo prazo. Um grande inconviniente deste último método envolve a resposta a incidentes. Frequentemente, um incidente já vem ocorrendo por algum período de tempo, quando um local o percebe e começa a investigar. Neste momento é muito útil ter disponíveis registros de auditoria detalhados. Se estes são apenas sumários, pode não haver detalhes suficientes para tratar plenamente o incidente.

4.6.4 Manipulando e Preservando os Dados de Auditoria

Os dados de auditoria deveriam estar entre aqueles mais protegidos no local e nos backups. Se um intruso ganhasse acesso aos registros de auditoria, não só os dados, mas também os próprios sistemas correriam riscos.

Dados de auditoria podem também se tornar chaves para a investigação, apreensão e acusação do autor de um incidente. Por esta razão, é recomendável buscar a orientação da equipe jurídica ao decidir como os dados de auditoria devem ser tratados. Isto deveria acontecer antes que um incidente ocorra.

Se um plano de manipulação de dados não for adequadamente definido antes de um incidente, isso pode significar que não há como recorrer do resultado de um evento, e isso pode criar responsabilidades resultantes do tratamento impróprio dos dados.

4.6.5 Considerações Legais

Devido ao conteúdo dos dados de auditoria, há um número de questões que surgem que poderiam precisar da atenção da sua equipe jurídica. Se você coleta e salva dados de auditoria, você precisa estar preparado para as consequências resultantes tanto da sua existência como do seu conteúdo.

Uma área diz respeito a privacidade dos indivíduos. Em certas instâncias, os dados de auditoria podem conter informações pessoais. A investigação nos dados, ainda que para uma verificação de rotina da segurança do sistema, poderia representar uma invasão de privacidade.

Uma segunda área de preocupação envolve o conhecimento de comportamento intrusivo proveniente de seu local. Se uma organização mantem dados de auditoria, será ela responsável por examiná-los para investigar incidentes ? Se um host em uma organização é usado como uma base de lançamento para um ataque contra outra organização, pode a segunda organização usar os dados de auditoria da primeira organização para provar negligência por parte da primeira ?

Pretende-se que os exemplos acima sejam compreensivos, mas eles deveriam motivar sua organização a considerar as questões legais envolvidas com dados de auditoria.