GNU/Linux Desktop Survival Guide
by Graham Williams |
|||||
Camera Privacy |
20200811 Usually an LED lights up when a computer camera is in use to provide a visual cue that the camera is capturing data. Until recently the control of the LED was software accessible and the camera could be on even without the LED, raising a privacy concern—malicious software could capture video from you computer (even through visiting a web page on a web browser) and stream the video remotely without indication. Newer laptops, for example the Lenovo X1 Yoga, have cameras whereby the indicator light is directly hardware controlled and is not settable by software. You should determine whether your camera LED is software controllable and if so, take measures to occlude the camera when not in use. Some computers provide a manual camera shade but many don't.
The uvcdynctrl command from the uvcdynctrl package is a command line tool to control the camera LED and other camera settings through the libwebcam library. We can use this to determine if the camera LED is settable.
First identify the camera. On a computer with two cameras, one an
infrared and the other the usual webcam, the --list
optionof uvcdynctrl will list both cameras:
$ uvcdynctrl --list Listing available devices: video0 Integrated IR Camera: Integrate Media controller device: /dev/media0 [...] video1 Integrated Camera: Integrated C Media controller device: /dev/media1 [...] |
The two devices are video0 and video1 with the latter as the usual webcam. To see if the camera LED is controlable list the available controls:
$ uvcdynctrl --clist --device=video1 Listing available controls for device video1: Brightness Contrast Saturation Hue White Balance Temperature, Auto Gamma Power Line Frequency White Balance Temperature Sharpness Backlight Compensation Exposure, Auto Exposure (Absolute) Exposure, Auto Priority |
If the list contains an LED mode then the LED is controlable. If not then privacy is likely protected and the LED will likely be switched on in hardware whenever the camera is on.
An older Logitech QuickCam Pro 9000 (WebCam), for example, has a software controllable LED. To avoid the LED giving away the fact that the camera is recording, which may actually be useful a covert security situation, the following commands can be utilised:
$ sudo uvcdynctrl -i /usr/share/uvcdynctrl/data/046d/logitech.xml $ uvcdynctrl --clist # Available controls $ uvcdynctrl -s 'LED1 Mode' 0 # LED off $ uvcdynctrl -s 'LED1 Mode' 1 # LED on $ uvcdynctrl -s 'LED1 Mode' 2 # LED blinking $ uvcdynctrl -s 'LED1 Mode' 3 # LED auto mode |