특정 하드웨어(웹캠, 마이크...)에 대한 애플리케이션 액세스를 제한합니다.

특정 하드웨어(웹캠, 마이크...)에 대한 애플리케이션 액세스를 제한합니다.

VLC나 Audacity와 같은 애플리케이션에 웹캠이나 마이크에서 녹음을 지시하면 하드웨어가 잠자기 상태에서 깨어나 간섭 없이 작업을 수행합니다.

이는 좋은 일이지만 개인 정보 보호상의 이유로 항상 궁금했습니다. 하드웨어 장치에 대한 앱의 액세스를 제한할 수 있는 방법이 있습니까?

이 글을 쓰면서 SELinux나 AppArmor와 같은 것을 사용하여 페어링을 제한할까 생각했습니다 /dev/something. 이것이 가능합니까? 더 좋고 쉬운 방법이 있습니까?

또한 웹캠과 마이크 외에 주의해야 할 다른 하드웨어가 있나요?

답변1

전통적인 접근 방식은 프로그램/어셈블리에 대한 의사 사용자(예: 게임 사용자)를 생성하고 해당 사용자를 액세스 권한이 있어야 하는 장치 그룹(예: 카메라)에 할당한 다음 프로그램을 실행하는 것입니다. 해당 사용자로 SUID를 사용합니다. "기타"(소유자 또는 그룹 아님)에 대한 권한을 제거하면 해당 그룹의 소유자 및 구성원(의사 사용자 포함)만 액세스할 수 있습니다.

또한 프로그램 그룹을 사용하여 프로그램을 실행할 수 있는 사용자를 제한할 수 있습니다. 화상회의(회의 등)가 허용된 사용자 그룹을 생성하고, 관련 프로그램(카메라, 마이크에 대한 특별 접근 권한이 부여된 프로그램)의 실행을 이 그룹으로 제한합니다.

+++

또 다른 방법은 SGID 프로그램을 장치에 속한 특수 그룹으로 실행하고 "기타"에 대한 권한을 제거하는 것입니다. 물론 이는 프로그램이 하나의 제한된 장치에만 액세스해야 하는 경우에만 작동합니다.

관련 정보