Como habilito e desabilito de forma flexível a conexão de novos dispositivos USB (executando o código do driver responsável por esses dispositivos) em tempo de execução sem o patch Grsecurity?
Existem outras abordagens ou patches de kernel alternativos com esse recurso?
Reabrir: Diferenças e comentários sobre a pergunta duplicada proposta Como inserir um dispositivo/pendrive USB com segurança em um computador Linux?
- A pergunta vinculada pergunta sobre sempre aceitar seletivamente alguns dispositivos, esta pergunta pergunta sobre aceitar todos os dispositivos em momentos selecionados de tempo (e negar qualquer coisa em outros momentos).
- A resposta primária (USBGuard) é uma solução userland. Parece apenas impedir ações do udev. É improvável que evite a varredura de um dispositivo de bloco para partições, criando interface de rede e consultando seus metadados ou registrando algum
/dev/input/eventX
nó. A superfície de ataque no kernel parece estar exposta. - Outra resposta está parcialmente vinculada a Grsecurity, que é explicitamente descartada pela declaração desta pergunta.
Tanto quanto me lembro, havia planos para fazer com que os sistemas Linux de desktop com tela bloqueada não aceitassem nenhum dispositivo USB até que a tela fosse desbloqueada. Isso significa que pode haver alguns patches sobre isso em algum lugar.
Aqui está o meu patch para o kernel Linux versão 4.19.18:
É baseado no código do Grsecurity. Ele usa
/proc/sys/dev/deny_new_usb
em vez de/proc/sys/kernel/grsecurity/deny_new_usb
.