Restringir aplicativos para acessar determinados hardwares (webcam, microfone…)

3

Se eu disser a aplicativos como o VLC ou o Audacity para gravar da minha webcam ou microfone, eles apenas acordarão o hardware se estiverem dormindo e farão o trabalho sem a minha interferência.

Embora isso seja uma coisa boa, sempre me perguntei, devido a preocupações com a privacidade: existe uma maneira de restringir o acesso de aplicativos a um dispositivo de hardware?

Enquanto escrevia isto, tive a ideia de usar algo como o SELinux ou o AppArmor para restringir o acesso a /dev/something . Isso é possível? Poderia haver uma maneira melhor ou mais fácil?

Além disso, há mais hardware além da webcam e do microfone com os quais eu deveria me preocupar?

    
por Teresa e Junior 13.06.2013 / 11:04

1 resposta

2

Eu acho que a maneira tradicional seria fazer pseudo-usuários (como o usuário do jogo) para o programa / conjunto de programas, atribuir esse usuário aos grupos para os dispositivos que ele deveria acessar (por exemplo, câmera) e executar o programa (s) SUID como este usuário. Se você removesse as permissões para "outros" (não proprietário ou grupo), somente o proprietário e os membros do grupo - incluindo o pseudo-usuário - poderiam acessá-lo.

Além disso, você pode usar o grupo do programa para restringir quais usuários têm permissão para executar o (s) programa (s). Faça um grupo (por exemplo, conferência) para os usuários autorizados a fazer videoconferências, e restrinja a execução dos programas associados (aqueles com acesso especial à câmera e ao microfone) somente para este grupo.

+++

Outra maneira é executar o programa SGID como o grupo especial pertencente ao dispositivo e remover a permissão para "outros". Isso, obviamente, só funciona se o programa precisar acessar apenas um dispositivo restrito.

    
por 14.06.2013 / 13:02