Verificador de rootkit baseado em assinatura?

20

Atualmente, os únicos scanners rootkit que conheço precisam estar instalados na máquina antes do rootkit, para que possam comparar alterações de arquivos, etc. (por exemplo: chkrootkite rkhunter), mas o que realmente preciso fazer é poder digitalizar minha máquina e outras máquinas de um LiveUSB porque se o rootkit for bom o suficiente, ele também assumirá os programas de detecção de rootkit.

Existe um scanner rootkit baseado em assinatura para Ubuntu / Linux que eu poderia instalar em um LiveUSB e usar para verificar com segurança máquinas que eu conecto sem que ele tenha que monitorar o comportamento ou comparar arquivos de datas anteriores?


fonte
Você com certeza tem o nome certo, @Paranoid. Seus computadores estão na natureza, totalmente expostos?
SDsolar
@ SDD: Não, mas eu gosto de um plano de backup por precaução. Além disso, talvez eu queira digitalizar a máquina de um amigo e, se ela já estiver comprometida, a instalação de algo como rkhunterprovavelmente não fará muito bem. De fato, se um rootkit estiver instalado, eu esperaria rkhunternão fornecer mais resultados precisos, por isso é um pouco tolo que seja apenas uma ferramenta instalada na máquina real que seria comprometida.
Não quero diminuir a sua movimentação, mas acho que você está pedindo uma ferramenta que perca uma grande parte dos trabalhos de especialistas em computação forense e possa gerar milhões de dólares rapidamente. :-)
CatMan
@Paranoid Panda - O scanner gratuito para Linux da Sophos tem mais de 12,5 milhões de assinaturas, mas até onde eu sei, eles dizem - é apenas para vírus? Mas eu acho que eles querem dizer com "vírus" todo o tipo de malware no deserto (de M $ ...) ...
dschinn1001
@ParanoidPanda: Parece que o que você quer é pegar um scanner de rootkit que você gosta, instalá-lo em um sistema que você tem certeza de que está limpo e, em seguida, instale ISSO no LiveUSB para que o stick do scanner possa se referir aos bons arquivos do stick quando estiver digitalizando um sistema (potencialmente comprometido). O scanner pode ter que ser hackeado para procurar no stick os arquivos / assinaturas de referência que ele usa para verificar a máquina de destino. Você também pode precisar de um stick separado para cada versão do sistema operacional que deseja digitalizar.
Tom Barron

Respostas:

3

AIDE ( A dvanced eu ntruder D etection E nvionment) é uma substituição para tripwiremencionado em outra resposta aqui. Da wikipedia :

O Ambiente Avançado de Detecção de Intrusão (AIDE) foi desenvolvido inicialmente como um substituto gratuito para o Tripwire licenciado sob os termos da GNU General Public License (GPL).

Os desenvolvedores principais são nomeados como Rami Lehti e Pablo Virolainen, ambos associados à Universidade de Tecnologia de Tampere, juntamente com Richard van den Berg, consultor de segurança holandês independente. O projeto é usado em muitos sistemas semelhantes ao Unix como um sistema de controle de linha de base e detecção de rootkit de baixo custo.


Funcionalidade

O AIDE tira um "instantâneo" do estado do sistema, hashes de registro, tempos de modificação e outros dados referentes aos arquivos definidos pelo administrador. Esse "instantâneo" é usado para criar um banco de dados que é salvo e pode ser armazenado em um dispositivo externo por segurança.

Quando o administrador deseja executar um teste de integridade, o administrador coloca o banco de dados criado anteriormente em um local acessível e ordena ao AIDE para comparar o banco de dados com o status real do sistema. Caso tenha ocorrido uma alteração no computador entre a criação da captura instantânea e o teste, o AIDE detectará e reportará ao administrador. Como alternativa, o AIDE pode ser configurado para executar em um agendamento e relatar alterações diariamente usando tecnologias de agendamento como cron, que é o comportamento padrão do pacote Debian AIDE. 2

Isso é útil principalmente para fins de segurança, uma vez que qualquer alteração maliciosa que poderia ter ocorrido dentro do sistema seria relatada pelo AIDE.


Desde que o artigo da Wikipedia foi escrito, o atual mantenedor Richard van den Berg (2003-2010) foi substituído por um novo mantenedor Hannes von Haugwitz de 2010 até o presente.

A página inicial do AIDE indica que o Debian é suportado, o que significa que o aplicativo pode ser instalado no ubuntu com o predicável:

sudo apt install aide

Quanto à portabilidade e ao pen drive USB, a página inicial diz:

Ele cria um banco de dados a partir das regras de expressão regular encontradas nos arquivos de configuração. Depois que o banco de dados é inicializado, ele pode ser usado para verificar a integridade dos arquivos. Possui vários algoritmos de compilação de mensagens (veja abaixo) que são usados ​​para verificar a integridade do arquivo. Todos os atributos de arquivo comuns também podem ser verificados quanto a inconsistências. Ele pode ler bancos de dados de versões mais antigas ou mais recentes. Consulte as páginas do manual na distribuição para obter mais informações.

Isso significa para mim que você pode ter o banco de dados de assinaturas no seu pen drive junto com o aplicativo no armazenamento persistente USB ao vivo. Não tenho certeza se o AIDE atende às suas necessidades, mas como é um substituto para o tripwireseu favorito atual, ele precisa ser analisado.

WinEunuuchs2Unix
fonte
Resposta inteligente! :-)
Fabby
@ Fabby Obrigado pelo elogio. O AIDE está configurado cronna maioria das instalações. Eu poderia me considerar não apenas para proteção de rootkit, mas também para proteger de minha própria programação ruim: p Pode ser educativo ver o que muda depois de um apt get installtambém.
WinEunuuchs2Unix
3

Lembra-me do tripwire, que cria somas de verificação criptográficas dos arquivos que você especificar. Instale uma cópia do sistema que você está verificando da fonte válida (DVD, por exemplo), instale as mesmas atualizações do sistema de destino), faça com que o tripwire crie o arquivo de soma de verificação. Copie o arquivo de soma de verificação do tripwire para o sistema de destino, faça com que o arquivo de soma de verificação do tripwire compare com os arquivos do sistema de destino.

Os arquivos de configuração / atualizações fora de sincronia / atualizações / instalações / configurações específicas do sistema serão, obviamente, sinalizados / marcados como alterados.

Atualização 2018-05-06:

Devo acrescentar também que o sistema de destino deve ser verificado offline. Se o destino foi comprometido, o hardware, o firmware de inicialização, o kernel, os drivers do kernel, as bibliotecas do sistema e os binários já podem ter sido comprometidos e interferem ou retornam falsos positivos. Mesmo a execução de uma rede no sistema de destino pode não ser segura, pois o sistema de destino (comprometido) processaria os pacotes de rede, sistema de arquivos, dispositivo de bloco etc. localmente.

O menor cenário comparável que vem à mente são os cartões inteligentes (EMV usado em cartões de crédito, PIV usado pelo governo federal etc.). Desconsiderando as interfaces sem fio e todas as proteções hw / elétrica / rf, a interface de contato é essencialmente uma porta serial, três fios ou dois fios. A API é padronizada e com caixa branca, para que todos concordem que é impermeável. Eles protegeram os dados em trânsito, na memória de tempo de execução, em repouso na memória flash?

Mas a implementação é de código fechado. Um backdoor pode existir no hardware para copiar todo o tempo de execução e a memória flash. Outros podem manipular os dados em trânsito entre o hardware e as memórias internas, o Smart Card OS ou a E / S do / para o cartão. Mesmo que os compiladores hw / fw / sw / sejam de código aberto, você teria que auditar tudo a cada passo e ainda assim perder algo que você / todos os outros não pensaram. A paranóia pode enviar você para uma sala de borracha branca.

Desculpe por fugir em uma tangente de paranóia. Sério, leve as unidades de destino para testar. Você só precisa se preocupar com a unidade de destino hw / fw então. Melhor ainda, basta retirar os pratos HDD / chips flash SSD para testar (supondo que seu sistema de teste seja dourado). ;)

rcpa0
fonte
Improvisado sim, mas esta é de fato uma solução muito boa para o problema! Vou aceitá-lo, pois não parece haver outra boa solução para o Linux. Embora, se surgir outra resposta que forneça a solução completa e solicitada à pergunta, terei que mover o marcador de aceitação. Mas muito obrigado por esta solução, pelo menos temporária!
Nota: Alguns SSDs realmente criptografam dados em repouso na memória flash, portanto, meu comentário sobre como mover apenas os chips flash para teste não funcionará nesse caso. Em algum momento, basta suspender e aceitar o compromisso entre segurança e concluir sua tarefa de computação.
Rcpa0