Sim, existe um conceito de sandbox para drivers proprietários. Ele é chamado de drivers da terra do usuário.
Se você executar o código dentro do kernel, ele terá acesso a tudo, então é impossível proteger o cache. (Impossível com relação ao sistema Linux - esse sistema pode ser executado em uma máquina virtual e, em seguida, a VM faria o sandboxing.)
Os drivers da terra do usuário são possíveis para alguns tipos de periféricos. Por exemplo, alguns periféricos USB podem ser dirigidos a partir da terra do usuário via libusb e usbfs . Os sistemas de arquivos podem ser implementados na userland por meio do FUSE .
Dado que um driver malicioso para um periférico geralmente pode alavancar seu acesso ao periférico para acessar o resto do sistema (por exemplo, configurando o periférico para DMA e, portanto, acessando memória arbitrária), não há muito sentido em tentar proteger um driver. Se você não confia no driver, não o use.
É possível fazer algum sandbox executando o driver dentro de uma máquina virtual e configurando o hipervisor para permitir que a VM acesse apenas um periférico específico. Isso só é útil se o próprio periférico tiver acesso apenas a uma parte específica da memória, o que pode ser feito com uma IOMMU (o IOMMU tem que permanecer sob o controle do hipervisor, é claro). Nem todos os sistemas suportam esse sandboxing - mais uma vez, se você não confia no periférico, por que o teria em seu computador?