记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

教你怎样关闭Windows的摄像头指示灯(含视频)

2013-12-30 17:30

最近不少新闻说FBI能够不开摄像头指示灯的情况下打开摄像头。一些研究人员发表文章称在一些老版本的Macbook上测试成功了。可以参考破解苹果MacBook摄像头进行秘密监控。不过苹果是高富帅玩的啊,我们吊丝还是搞搞windows吧。

硬件,固件,驱动,软件

理论上来说,指示灯应该是一个硬件功能。当电源提供给摄像头的时候,也会提供电力到指示灯上。这样的话要想黑指示灯几乎是不可能的了。不过我不认为有人会这样来设计。

在有些情况下,指示灯是固件控制的功能。摄像头会有自己的微处理器来执行代码,控制指示灯只是固件的一个小功能。但是,固件依然是某种形式的软件,这就给了我们进行篡改的机会。

在有些情况下,是驱动控制着指示灯。可能是直接控制硬件的底层内核模式驱动,也可能是面向软件的高层的DLL文件。

逆向工程

作为逆向工程师,我们收集了这些可能控制指示灯的软件/固件/驱动,然后在IDApro中调试,很快就发现了一些关键的地方。

拿一个戴尔笔记本举例,我们发现摄像头的RealTek驱动中有一个函数“TurnOnOffLED()”

简单的修改了一下,让这个函数不执行打开指示灯,直接返回。下面是录制的一个演示视频:一开始是正常的,然后替换掉驱动的dll文件,打开摄像头之后,指示灯就不亮了。

关于USB设备

基本上所有的摄像头,包括笔记本内置的摄像头都是USB设备。对于usb摄像头,有一个标准叫UVC。按照这个标准,大部分设备可以在不使用 厂家定制驱动的情况正常运行在标准操作系统上(windows,linux,mac)。只有在使用一些高级特性才需要厂家提供的专用驱动。

这个标准中同样也规定了led指示灯是由主机软件控制的。linux平台上,有一套UVC工具集,安装之后可以直接使用命令来控制指示灯的打开和关闭。包括在摄像头打开的情况下关闭指示灯。

windows上要想实现的话看起来需要自己写一个过滤驱动。我们太懒了就没写,这也是上面的视频演示直接修改DLL文件的原因。不过我们认为FBI应该做了这件事,完成了一个针对UVC标准的过滤驱动,这样一个程序可以控制不同厂家的大部分摄像头指示灯。不然的话FBI就得针对不同的摄像头单独修改驱动。

USB还有很多有趣的特性。它的设计理念是一个用户不需要root/administrator权限就可以安装使用。因此,有了”用户模式“的驱动这样的思想,非管理员用户可以安装USB设备的驱动来使用它。

这个可以通过设备固件升级(Device Firmware Update,DFU)标准来实现。这意味着大多数情况下,没有管理员权限的用户可以更新摄像头的固件。文章开头提到的研究人员在2008 Macbook上就使用了这种方式。理论上来说,在现在的大部分windows 7笔记本上也是可行的。问题在于这种方式需要事先修改好各种摄像头芯片的固件。

结论

上面的视频可以证明至少我们已经在一台windows机器上实现了不开指示灯的情况下录像。而我们的研究表明,在常见操作系统上的大部分不同厂家的摄像头都可以实现秘密录像。

PS

现在的MacBooks已经不使用USB摄像头了。所以UVC和DFU的方式在最新的macbook上是无效的。

via blog.erratasec.com 翻译整理 by litdg@freebuf

var freebuf

知识来源: www.freebuf.com/articles/system/21706.html

阅读:169575 | 评论:0 | 标签:极客 系统安全 摄像头 监控

想收藏或者和大家分享这篇好文章→复制链接地址

“教你怎样关闭Windows的摄像头指示灯(含视频)”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

九层之台,起于累土;黑客之术,始于阅读

推广

工具

标签云