Scanner de rootkit baseado em assinatura?

21

Atualmente, os únicos scanners de rootkit que eu conheço precisam ser instalados na máquina antes do rootkit, para que possam comparar as alterações de arquivos, etc. (por exemplo: chkrootkit e rkhunter ), mas o que realmente preciso fazer é ser capaz de escanear minha máquina e outras máquinas a partir de um LiveUSB, porque se o rootkit for bom o suficiente, ele também terá assumido os programas de detecção de rootkit.

Então, há um scanner de rootkit baseado em assinatura para Ubuntu / Linux que eu poderia instalar em um LiveUSB e usar máquinas de verificação confiáveis nas quais eu o conecto sem ter que monitorar o comportamento ou comparar arquivos de datas anteriores?

    
por Great Uncle Bulgaria 02.07.2016 / 12:51

3 respostas

3

AIDE ( A dvanced I ntruder D etção E nvionment) é um substituto para tripwire mencionado em outra resposta aqui. De wikipedia :

  

O Ambiente Avançado de Detecção de Intrusão (AIDE) foi inicialmente   desenvolvido como um substituto gratuito para o Tripwire licenciado sob os termos   da Licença Pública Geral GNU (GPL).

     

Os desenvolvedores principais são nomeados como Rami Lehti e Pablo Virolainen,   que são ambos associados com a Universidade de Tecnologia de Tampere,   junto com Richard van den Berg, um segurança holandesa independente   consultor. O projeto é usado em muitos sistemas do tipo Unix como   controle de linha de base e sistema de detecção de rootkits baratos.

Funcionalidade

O AIDE obtém um "instantâneo" do estado do sistema, registra hashes, tempos de modificação e outros dados referentes aos arquivos definidos pelo administrador. Este "instantâneo" é usado para construir 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 construído anteriormente em um local acessível e comanda o 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 do instantâneo e o teste, o AIDE irá detectá-lo e comunicá-lo ao administrador. Alternativamente, o AIDE pode ser configurado para rodar em um cronograma e relatar mudanças diariamente usando tecnologias de cronograma como o cron, que é o comportamento padrão do pacote Debian AIDE. 2

Isto é principalmente útil para fins de segurança, dado que qualquer alteração maliciosa que possa ter acontecido dentro do sistema seria reportada pela AIDE.

Desde que o artigo da wikipedia foi escrito, o então atual mantenedor Richard van den Berg (2003-2010) foi substituído por um novo mantenedor Hannes von Haugwitz de 2010 para apresentar .

A homepage da AIDE afirma que o Debian é suportado, o que significa que o aplicativo pode ser instalado no Ubuntu com o predicado:

sudo apt install aide

No que diz respeito à portabilidade e suporte a pen drive USB, a página continua:

  

Cria um banco de dados a partir das regras de expressões regulares encontradas   do (s) arquivo (s) de configuração. Uma vez que este banco de dados é inicializado, pode ser   usado para verificar a integridade dos arquivos. Tem várias mensagens   algoritmos de resumo (veja abaixo) que são usados para verificar a integridade   o arquivo. Todos os atributos de arquivo usuais também podem ser verificados   inconsistências. Pode ler bancos de dados de versões mais antigas ou mais recentes.   Veja as páginas de manual dentro da distribuição para mais informações.

Isso implica para mim que você poderia ter o banco de dados de assinatura em seu pen drive, juntamente com o aplicativo no armazenamento persistente USB ao vivo. Não tenho certeza se a AIDE atende às suas necessidades, mas como é uma substituição para tripwire do seu favorito atual que vale a pena investigar.

    
por WinEunuuchs2Unix 06.05.2018 / 03:44
3

Lembra-me do tripwire que cria somas de verificação criptográficas dos arquivos que você especifica. Instale uma cópia do sistema que você está verificando a partir de uma boa fonte conhecida (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, tenha um arquivo de soma de verificação de comparação de tripwire com os arquivos do sistema de destino.

Atualizações / atualizações fora de sincronia / instalações / arquivos de configuração específicos do sistema serão sinalizados / marcados como alterados.

Atualização 2018-05-06:

Também devo adicionar que o sistema de destino deve ser verificado offline. Se o destino tiver sido comprometido, o hardware, o firmware de inicialização, o kernel, os drivers do kernel, as bibliotecas do sistema, os binários podem já ter sido comprometidos e interferir ou retornar falsos positivos. Mesmo a execução de uma rede no sistema de destino pode não ser segura, pois o sistema de destino (comprometido) estaria processando os pacotes de rede, o sistema de arquivos, o 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 interfaces sem fio e todas as proteções hw / electric / rf, a interface de contato é essencialmente uma porta serial, três fios ou dois fios. A API é padronizada e em branco 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 se os compiladores hw / fw / sw / forem de código aberto, você teria que auditar tudo a cada passo e ainda assim sentiria falta de algo em que nem todos os outros pensavam. A paranoia pode mandar você para uma sala de borracha branca.

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

    
por rcpao 02.05.2018 / 17:53
0

Na verdade, o que você está pedindo é o tradicional verificador de vírus offline linux - algo para atravessar diretórios & amp; cheque checksums de arquivo contra uma lista conhecida de arquivos maliciosos, inclusive rootkits. Assim, a maioria dos produtos AV do Linux funcionará para as suas necessidades - depois de um momento pesquisando, parece-me que o Clam AV é uma boa opção padrão.

Inicialize o sistema USB que se acredita ser seguro, monte o disco rígido & amp; digitalizá-lo. Se você é realmente paranóico, faça isso primeiro com a máquina desconectada de todas as suas conexões de internet, depois a varredura inicial é negativa, desligue, reconecte as placas sem fio etc., inicie novamente pelo usb, conecte à internet, atualize antivírus & amp; redigitalizar. isso é provavelmente uma total perda de tempo, e isso não faria bem contra um adversário capaz de atacar o código de firmware do Modo de Gerenciamento do Sistema ou capaz de obrigar a Intel a fornecer uma atualização de driver / firmware para backdoor de uma máquina em particular

    
por Nathan Smith 02.03.2018 / 07:56