Web kameramın kullanılıp kullanılmadığını nasıl anlarım?


14

Web kameramın kullanılıp kullanılmadığını hangi komut bilmeme izin verir?

lsof /dev/video0yeterli değil. Büyük ve küçük numaraları 81 ve 0 olan tüm blok cihazları izlenmelidir.


2
+1. TIL lsof(ve fuser) varsayılan olarak ihtiyacınız olanı yapmaz.
Celada

@celada lütfen açıklar mısınız?
YoungFrog

Endişelerin neler? Bu sizi izliyor mu, yoksa ses konusunda da endişe duyuyor musunuz (bu durumda merceği kaplamak sorununuzu çözemez)? Yoksa hata ayıklama ya da hatta merakla mı ilgili? #
Chris H,

@YoungFrog Sadece bu soruya OP’yi iltifat ediyordum çünkü bu bana bir şeyler öğrenmemi sağladı. Başlangıçta , hangi dosya sistemi yolunu açmak için kullanılmış olursa olsun, başvuruyu lsof /dev/video0yapan çekirdek vfs nesnesine bağlı açık bir dosya tanıtıcısını tutan tüm işlemlerin yapılmasını istediğini /dev/video0, ancak OP'nin sorusu bunun doğru olmadığını açıkça ortaya koydu.
Celada

Yanıtlar:


14

Eğer çekirdeğiniz modüller kullanıyorsa (ki bu büyük olasılıkla), bir programın web kameranıza erişip erişmediğini belirlemenin bir yolu modülün kullanım sayısına bakmaktır:

$ lsmod | grep uvcvideo
uvcvideo               90112  0

Üçüncü alandaki 0, uvcvideokontrol edilen web kamerası için hiçbir şeyin açık olmadığını ( lsmodçalıştırıldığında) gösterir. Tabii ki web kameranızdan hangi modülün sorumlu olduğunu tam olarak bilmeniz gerekir; Yine de kontrol edilmesi kolaydır; Peynir gibi bir programı çalıştırırken çıktı değişimini göreceksiniz.

Kesin konuşursak, pozitif bir sayının yalnızca bir şeyin bir cihaz açtığı anlamına geldiğini, bunun fotoğrafların çekildiği anlamına gelmediğini unutmayın.


Pozitif sayım aynı zamanda sadece bir şeyin bir görüntüyü yakalamak ve kapatmak için bir saniyenin bir kısmını açmak yerine, şu anda açık bir cihazı olduğu anlamına gelmez mi? Böyle bir kullanım modelinde, onu yakaladığın için çok şanslı olmalısın.
CVn

@ MichaelKjörling bu yüzden " lsmodkaçtım" demiştim . Verdiğiniz senaryoda verilen genişlemeyi hak ediyor (benim deneyimlerime göre, kameraların gecikmeleri, cihazın açılması, görüntü çekme ve cihazın kapatılması biraz zaman alabilir). Yine de aynı kullanımdan fuserya da lsofmuzdarip olan cihaz kullanımına bakmak ; daha sağlam bir yaklaşım, iz bırakma noktaları veya benzer bir şey kullanarak V4L API'lerinin takılmasını gerektirir.
Stephen Kitt

@ MichaelKjörling Gerçekten. Bu kullanım şeklini yakalamak için, sadece bir noktada kontrol etmek yerine, cihaz dosyalarına erişimi izlemeniz gerekir.
Gilles,

7

İstediğiniz şeyin web kameranızın istemediğiniz zamanlarda kullanılmadığından emin olmak olduğunu varsayarsak , en basit çözüm ihtiyaç duyulmadığında (harici ise) bağlantısını kesmektir. Veya web kamerasını kapatarak (sadece bir koli bandı parçası işe yarar).

Fiziksel temelli yaklaşımlar yazılım yaklaşımlarından çok daha güvenlidir.


1
Tape, mikrofonu engellemez (dahili bir web kamerada bile), ses modülünden ziyade kameranın bir parçası olarak yapılandırılabilir.
Chris H,

Kalıntı bırakabileceği için koli bandına karşı şiddetle tavsiye ediyorum. Cerrahi bant kullandım (eczanelerden satın alınabiliyor) çünkü lensleri kaplayan küçük bir çıkartmayla, yapışkan tarafı yapışkan tarafa bıraktığında çok az kalıntı bırakıyor. Bu şekilde lens üzerinde tutkal kalıntısı riski yoktur. Kuşkusuz, kalıcı tarafın biraz üzerinde olan bir çözüm; her zaman çıkarmak ve kaseti tekrar takmak istemezsiniz.
CVn

Bir anlam ifade etmeyen @ ChrisH (ironik olarak, üst SE'niz İngilizce ...) Ne demek istiyorsun?
theonlygusti

@ theonlygusti Bir donanımda olduğu gibi modül demek istedim; Tabi bu konu hakkında, anlam ifade eden bir yazılım olarak okumak mantıklı olmazdı. Teyp mikrofonu engellemez. Bir mikrofon, ses kartıyla bağlanan herhangi bir şeyin yerine veya bunun yerine (SoC donanımı nedeniyle kaçınıyordum) web kamerası donanımının bir parçası olabilir. Bu nedenle, web kamerasının etkin / etkin / casus olup olmadığını belirlemek için objektiften daha fazla endişe duyabilirsiniz. Ama burada sahip olduğum tek linux sistemi chromebook (crouton).
Chris H,

1
Elbette, ama sorun bu değildi
Gilles

7

Herhangi bir akıllıca sistemde, chroot'ları kendileriyle ayarlamadıysanız /dev, tüm cihaz dosyaları altındadır /dev. Yalnızca kök aygıt dosyaları oluşturabilir, bu nedenle başka yerlerde aygıt dosyaları oluşturan kötü amaçlı kullanıcılar hakkında endişelenmenize gerek yoktur.

Tek yapmanız gereken, /devilgilendiğiniz dosyayla aynı cihaza atıfta bulunan dosyaları bulmak .

ls -lR /dev |awk '/^c/ && $5 == "81," && $6 == "0"'

Bunun sadece göstereceği muhtemel /dev/video0. Genellikle her cihaz için tek bir cihaz dosyası vardır ve muhtemelen ona ek sembolik bağlantılar vardır.

Böylece sorunuza pratik cevap basit olanıdır. Hangi işlemlerin cihaz dosyasının açık olduğunu kontrol etmeniz yeterli.

fuser /dev/video0

Erişimleri izlemek istiyorsanız (yani, cihaz dosyasını istediğiniz zaman açabilecek işlemleri yakalayın), cihaz dosyalarında Linux'un dosya erişim izleme yöntemlerinden birini kullanın : bir saat ayarlayın (ve cihazın hangi işlemlere sahip olduğunu kontrol edin) dosya (lar) açık

inotifywait -m -e open,close /dev/video0 &
sleep 1; fuser /dev/video0   # check for processes that have already opened the device

veya sistem kayıtlarına girişleri kayıt edecek bir denetim kuralı oluşturmak (genellikle /var/log/audit/audit.log)

auditctl -w path=/dev/video0 &
sleep 1; fuser /dev/video0   # check for processes that have already opened the device

İyi bir nokta! Ancak, yine de Angel! 'In çözümünün zaman içinde yaşadığı sorundan muzdariptir. En sağlam yazılım çözümü muhtemelen o aygıtı kara listeye almaktır, udevböylece açılışta bir aygıt dosyası alamaz; ve sonra eğer kamerayı kullanmayı planlıyorsanız ... veya fiziksel olarak çıkarmayı düşünüyorsanız bir cihaz dosyası ekleyin.
jpaugh

@jpaugh Soru web kamerasını kullanan, web kamerasını etkisizleştirmeyen işlemleri bulmaktı.
Gilles,

Çekirdek düzeyinde izlenmesi gerekir. Herhangi bir yere herhangi bir cihaz eklenebilir: örn.mknod /root/video0 b 81 0
user123456

@ j658063.mvrht.com Ancak sadece root bunu yapabilir. Kök aptalca şeyler yapmazsa, güvendesiniz. Kök aptalca şeyler yaparsa yine de mahvolursunuz - kök, bazı işlemleri gizlemek için çekirdeği de değiştirebilir.
Gilles
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.