ataques a dispositivos usb, udev pode salvar o kernel?

2

Eu gostaria de saber, se assumir que eu conecto um dispositivo não confiável (via porta usb ao meu sistema), quanto coloco meu sistema Linux em risco? Particularmente, estou preocupado que, mesmo que eu escrevesse udev regras para bloquear qualquer coisa, exceto (isto é, a abordagem de lista branca), um determinado dispositivo, que o kernel seria vulnerável de qualquer maneira?

O udev tem a capacidade de impedir que o kernel (assumindo que seja modular) carregue módulos que normalmente seriam carregados como forma de interagir com um dispositivo usb?

    
por humanityANDpeace 21.12.2017 / 11:20

1 resposta

4

O kernel tem a capacidade de se proteger de dispositivos USB, usando a estrutura de autorização USB . Você pode desativar todos os hosts na inicialização:

for host in /sys/bus/usb/devices/usb*
do
    echo 0 > $host/authorized_default
done

ou até desabilitar a autorização, antes de processar os dispositivos, passando usbcore.authorized_default=0 na linha de comando do kernel (apenas certifique-se de que as regras udev habilitem qualquer dispositivo USB que você precise inicializar, como o teclado).

Quando isso acontecer, a conexão de um dispositivo USB não carregará nenhum módulo novo nem criará novos dispositivos. Para ativar um novo dispositivo USB, você precisará autorizá-lo manualmente e, em seguida, acionar o rastreamento do driver manualmente (consulte a documentação para obter detalhes).

    
por 21.12.2017 / 11:31