Vulnerabilidades Técnicas Testadas

As seguintes descrições não ambicionam de forma alguma uma precisão técnica plena, servem apenas com base de sustentação para o enquadramento do projecto.
De seguida são descritas as várias vulnerabilidades técnicas testadas actualmente pelo Vigilis.

Acesso por SNMP com permissões apenas de leitura

A possibilidade de aceder a um sistema usando SNMP pode, no mínimo, representar a maneira de um possível atacante obter informação descritiva desse sistema. Dependendo do sistema, as informações obtidas podem variar entre simples identificações de fabricante até a totalidade das configurações usadas no sistema, ou até mesmo a identificação de software que esteja a ser executado localmente. Independentemente do tipo de informação possível de obter, o acesso por SNMP com permissões de leitura é uma vulnerabilidade grave.

Acesso por SNMP com permissões de leitura e escrita

Se a possibilidade de um atacante ter acesso a informações descritivas de um determinado sistema é considerada uma vulnerabilidade grave, a possibilidade alteração dessa informação é, certamente, uma vulnerabilidade crítica. Torna-se evidente que a exploração desta vulnerabilidade por parte de um atacante, pode levar facilmente a um compromisso total da integridade e funcionamento do sistema. Juntando a isto o facto da exploração poder ser remota, torna o acesso por SNMP com permissões de escrita e leitura, umas das vulnerabilidades mais críticas das testadas pelo Vigilis.

Permissão de transferências de Zona de DNS por AXFR

O AXFR é um protocolo para transferências de zonas de DNS entre servidores de DNS. A possibilidade de terceiros poderem aceder à informação contida numa zona de DNS é considerada uma vulnerabilidade grave. Vulnerabilidades deste tipo pode, entre outros, representar uma fuga de informação suficiente para um atacante identificar a estrutura e topologia da rede associada ao domínio em causa.

DNS Snooping

Se um determinado servidor de DNS permitir pedidos não recursivos a terceiros, possibilita a um atacante executar um ataque conhecido como DNS Snooping. Este tipo de ataques fornece ao atacante dados sobre a informação contida na cache do servidor de DNS, permitindo assim ao atacante, por exemplo, saber se determinado domínio foi resolvido recentemente.
Na primeira impressão, este tipo de vulnerabilidade pode ser conotado de um nível baixo de importância, contudo, se se fizer um enquadramento com a actual dinâmica do mundo empresarial e a sua respectiva dependência das TIs, a avaliação mudará certamente. A possibilidade de um atacante obter informação sobre fornecedores de determinados serviços (como por exemplo de backup remoto, serviço de e-mail externos, servidores de reenvio de E-mail...), ou a possibilidade de identificação de parceiros estratégicos que não sejam de conhecimento público, pode certamente representar uma grave fuga de informação.
Supondo que um atacante pretendia atacar determinada entidade (X), que por sua vez requisitava um serviço de backups remoto a uma outra entidade (Y). Caso um dos servidores DNS da entidade X tivesse vulnerável a DNS Snooping, o atacante poderia identificar facilmente o(s) domínio(s) da entidade Y, e focar o seu ataque nesses domínios. Caso o atacante fosse bem sucedido no ataque à entidade Y, a informação da entidade X seria comprometida.

Uso de SSH versão 1.x

O uso das versões 1.33 e 1.5 do protocolo SSH permite a um atacante, que consiga interceptar o fluxo de comunicação, comprometer na totalidade a integridade da informação transitada nessa comunicação.

Uso de certificados SSL gerados pelo pacote do OpenSSL Debian com versões vulneráveis

No dia treze de Maio de 2008, o Projecto Debian anunciou a existência de uma vulnerabilidade no pacote do software OpenSSL que o projecto publicava. A vulnerabilidade em causa existiu devido a um erro do responsável pelo pacote de software, que ao comentar linhas no código fonte, interferiu radicalmente com a capacidade de entropia necessária para os processos de cifragem do OpenSSL serem considerados seguros. Mais concretamente, a vulnerabilidade debilitou o Pseudo Random Number Generator (PRNG) por completo. O espaço de chaves possíveis para a cifragem viu-se assim reduzido ao minúsculo número de 32767 possibilidades, tornando assim a "adivinha" das chaves de cifragem um processo trivial, mesmo usando os tão pouco produtivos, processos de brute force.
Um dos serviços em que esta vulnerabilidade pode ter um impacto destruidor, é no SSH (Secure Shell). Um servidor de SSH que use chaves geradas pelo pacote Debian do OpenSSL vulnerável, pode ser comprometido usando técnicas de brute force em poucos instantes. No caso de sucesso, o atacante fica com permissões Administrador (leia-se root).

Uso de Telnet

O uso de Telnet é considerado inseguro, umas vez que os dados em trânsito não usam qualquer tipo de cifra. O que permite a terceiros ter acesso a toda informação que circular nas comunicações geradas por este serviço, incluído por exemplo credenciais de autenticação e outros dados confidenciais.

SMTP Relay público

Um serviço SMTP que permita retransmissão de mensagens para outro domínios que não o ou os que forem da sua responsabilidade, representa uma vulnerabilidade grave. Uma vez que permite a spammers usarem o serviço em causa para proliferação de spam. Embora esta vulnerabilidade não ponha risco em a infra-estrutura onde corre, sem contar com o uso indevido de recursos, considera-se uma vulnerabilidade bastante grave uma vez que é uma das principais fontes de spam.

Uso de Finger

O serviço Finger tem como objectivo fornecer informações sobre os utilizadores do sistema, incluindo em certos casos se estes se encontram ligados ao sistema.
Este tipo de informação pode ser utilizada por um atacante para, entre outros, obter informação sobre usernames para, p.e., o uso posterior em ataques de brute force.

Acesso público a partilhas de CIFS/SMB

O acesso público a partilhas de CIFS/SMB, vulgo partilhas de Windows, para além do evidente acesso directo à informação partilhada, pode ter um papel crucial em determinados tipos de ataques, nomeadamente em processos de fingerprinting do sistema e proliferação de malware caso existam permissões de escrita.

Acesso público a partilhas de CIFS/SMB em que pelo umas delas seja C:\ ou C:\windows\

Se o acesso público a informação que não esteja directamente relacionada com o sistema operativo em si é considerada uma vulnerabilidade grave, quanto mais se a informação disponível for relacionada com o sistema operativo, onde um atacante pode facilmente obter um perfil altamente detalhado do sistema operativo da máquina em causa.

Uso de certificados SSL expirados

O uso de certificados SSL expirados coloca em risco a privacidade dos utilizadores do serviço em causa. Na medida em que facilita e favorece diversos ataques, como por exemplo ataques Man-In-The-Middle (MITM). Os testes actualmente feitos, incidem sobre os protocolos HTTP, POP e IMAP.

Uso de protocolos considerados vulneráveis

O uso da versão número dois do protocolo SSL é considerada um risco. O SSL 2.0 detêm várias falhas nos seus processos criptográficos. O seu uso é totalmente desaconselhado uma vez que torna possível a execução de ataques MITM e consequente desencriptação, por parte de um atacante, do tráfego gerado por comunicações que façam uso de SSL 2.0. Os testes actualmente feitos, incidem sobre os protocolos HTTP, POP e IMAP.

Acesso público a bases de dados

O acesso público a sistemas de gestão de bases de dados é considerado uma vulnerabilidade grave. O facto dos serviços de bases de dados estarem acessíveis directamente à Internet constitui um vector de ataque passível de ser explorado com elevado grau de incidência. Actualmente são testadas a presença de Microsoft SQL, MySQL Server, Postgres SQL e Oracle.

Uso de algoritmos de hashing inseguros

O uso do algoritmo MD5 (Message-Digest) é considerado inseguro. O algoritmo não é resistente a colisões, ou seja, as hashs resultantes do mesmo podem repetir-se, tornando assim possível o ataque a certificados X.509 que fazem uso do algoritmo para as respectivas assinaturas. Os testes actualmente feitos, incidem sobre os protocolos HTTP, POP e IMAP.

DNS Cache Poisoning / DNS Spoofing

Este tipo de vulnerabilidade tornada famosa por Dan Kaminsky, permite a um atacante redirecionar os pedidos normais de DNS para outros que não os verdadeiros servidores. Assim sendo, um servidor vulnerável pode ser forçado por um atacante a redireccionar os seus utilizadores para domínios falsos, sem que os mesmos o saibam. Este tipo de ataques poderão eventualmente sustentar roubos de informação e comprometimentos de serviços.

TLS renegotiation

Foi descoberta recentemente (Novembro de 2009), por Marsh Ray, uma vulnerabilidade no protocolo TLS (Transporte Layer Security) que permite a um atacante injectar dados em tráfego encriptdado que transíta entre dois pontos. Conhecidos como ataques MITM (Man-in-the-midle) permitem quebrar uma sessão, neste caso SSL, e injectar dados que podem ser de carácter malicioso, permitindo por exemplo o roubo de informação. A vulnerabilidade existe numa funcionalidade do TLS denominada de renegociação servindo, por exemplo, para actualizar a sessão entre cliente e servidor.

JBoss Default Insecure Configuration / Directory Traversal Vulnerability

Diversas versões do servidor web JBoss trazem configurações por defeito inseguras. Da mesma forma, diversas versões detem uma vulnerabildiade Directory Traversal Vulnerability (p.e. CVE-2006-5750). Utilizando estas vulnerabilidades um atacante conseguirá facilmente comprometer o JBoss em causa.


A seguinte tabela fornece os dados relativos ao nível CVSS, ao nível de precisão actual do teste e ao vector de CVSS de cada uma das vulnerabilidades anteriormente descrita. Esta definição é apenas valida no âmbito do Vigilis.

Descrição Nível CVSS Nível de precisão Vector CVSS
SNMP, leitura 5.0 100% (CVSS2\#AV:N/AC:L/Au:N/C:P/I:N/A:N)
SNMP, escrita 7.5 100% (CVSS2\#AV:N/AC:L/Au:N/C:P/I:P/A:P)
DNS Zones, AXFR 5.0 100% (CVSS2\#AV:N/AC:L/Au:N/C:P/I:N/A:N)
DNS Snooping 5.0 90% (CVSS2\#AV:N/AC:L/Au:N/C:P/I:N/A:N)
SSH 1.x 2.9 100% (CVSS2\#AV:A/AC:M/Au:N/C:P/I:N/A:N)
SSH, Debian 10.0 100% (CVSS2\#AV:N/AC:L/Au:N/C:C/I:C/A:C)
Telnet 6.1 100% (CVSS2\#AV:A/AC:L/Au:N/C:C/I:N/A:N)
SMTP Open Relay 5.0 90% (CVSS2\#AV:N/AC:L/Au:N/C:N/I:N/A:P)
Finger 5.0 80% (CVSS2\#AV:N/AC:L/Au:N/C:P/I:N/A:N)
CIFS/SMB shares 5.0 100% (CVSS2\#AV:N/AC:L/Au:N/C:P/I:P/A:P)
CIFS/SMB shares (C:) 7.8 100% (CVSS2\#AV:N/AC:L/Au:N/C:C/I:P/A:P)
SSL Expired 5.7 100% (CVSS2\#AV:A/AC:M/Au:N/C:C/I:N/A:N)
SSLv2 5.7 100% (CVSS2\#AV:A/AC:M/Au:N/C:C/I:N/A:N)
Database Test 8.2 100% (CVSS2\#AV:N/AC:M/Au:S/C:C/I:C/A:P)
SSL MD5 5.0 100% (CVSS2\#AV:N/AC:L/Au:N/C:N/I:P/A:N)
SSL-Debian 7.8 100% (CVSS2\#AV:N/AC:L/Au:N/C:C/I:N/A:N)
DNS Kaminsky 6.4 100% (CVSS2\#AV:N/AC:L/Au:N/C:N/I:P/A:P)
TLS renegotiation 4.0 90% (CVSS2\#AV:N/AC:H/Au:N/C:P/I:P/A:N)
JBoss 7.5 100% (CVSS2\#AV:N/AC:L/Au:N/C:P/I:P/A:P)


Testes de presença de Malware

De seguida são descritos de forma sucinta os diversos malware cuja presença é testada actualmente pelo Vigilis.


As referências feitas relativamente aos rankings de preexistência são baseadas nos documentos mantidos pela Virus Bulletin,nomeadamente os Malware prevalence Reports.

A seguinte tabela fornece os dados relativos ao nível CVSS, ao nível de precisão actual do teste e ao vector de CVSS referente a cada um dos malware testados. Esta definição é apenas valida no âmbito do Vigilis.

Descrição Nível CVSS Nível de precisão Vector CVSS
NetSky 7.6 50% (CVSS2\#AV:N/AC:H/Au:N/C:C/I:C/A:C)
MyTob 10.0 65% (CVSS2\#AV:N/AC:L/Au:N/C:C/I:C/A:C)
Zafi 9.3 50% (CVSS2\#AV:N/AC:M/Au:N/C:C/I:C/A:C)
MyDoom 9.3 50% (CVSS2\#AV:N/AC:M/Au:N/C:C/I:C/A:C)
Conficker 10.0 90% (CVSS2\#AV:N/AC:M/Au:N/C:C/I:C/A:C)




Métricas e Procedimentos Estatísticos

Na sua maioria os procedimentos estatísticos contidos no Vigilis, usam uma métrica de classificação de vulnerabilidades desenvolvida pelo FIRST, o Common Vulnerability Scoring System (CVSS).
O CVSS tem por base três conjuntos de métricas, o Base, o Temporal, e o Environmental, cada um representante de um conjunto de características distintas. Mais informação relativa ao CVSS, a sua utilização e ao seu espectro de abrangência, pode ser obtida no web-site do CVSS.
No Vigilis apenas é usado o grupo de métricas CVSS referenciada como Base.

  Nível de Segurança da Internet Portuguesa (NSIP)

O principal resultado do Vigilis é um valor representativo do nível de Segurança da Internet Portuguesa (NSIP).
Este valor é obtido através de uma média ponderada dos resultados provenientes da carga de testes, onde o peso é o valor CVSS e a percentagem de precisão de cada vulnerabilidade, ambos indicados já indicados.
O NSIP é calculado segundo a seguinte fórmula e corresponde a um valor entre zero e dez com uma casa decimal.

NSIP


Para facilitar a compreensão do significado do NSIP e consequentemente aumentar a abrangência da disseminação do Vigilis, foi elaborada uma escala qualificativa. A cada um dos graus estará associada uma cor. A lista que se segue descreve todos os graus da escala referida, assim como a cor associada a esta.