Chrome漏洞可致恶意站点在用户在不知情的情况下录制音频和视频
创始人
2025-02-13 04:10:30
0

有没有可能我们在不知情的情况下被电脑录音和录像?黑客可以从而听到你的每一通电话,看到你周围的人。

[[193140]]

听来恐怖,但有的时候我们真的无法完全知晓我们的电脑在干什么。正因如此,就连扎克伯格这样的大佬也需要用胶带把麦克风和摄像头封起来。

[[193141]]

Chrome浏览器最近就被发现了这样的一个漏洞,恶意网站可以在用户不知情的情况下录制音频和视频。

漏洞的发现者是来自AOL的开发者Ran Bar-Zik。他在4月10日将漏洞 汇报 给了Google,但Google认为这并非漏洞,因此目前漏洞尚未被修复,也可能不会有补丁。

浏览器如何录音

HTML5中的新API让网站可以直接从浏览器获取视频和音频。通过WebRTC协议,浏览器不需要安装插件就能向网站提供麦克风录音及摄像头视频。

为了保护隐私让用户免于被窃听的困扰,浏览器的开发者们使用了两个办法。

首先是请求权限。

 

  1. const constraints = {  
  2. audio: true,  
  3. video: true  
  4. };  
  5. navigator.mediaDevices.getUserMedia(constraints).  
  6. then((stream) => {  
  7. handleSuccess(stream); // This is basic handler with stream input.  
  8. }); 

这段代码就是在录音/录像前需要用到的js代码。运行后浏览器会弹出窗口请求相应权限。但是大家都知道,很多时候我们没有多想就会同意这些请求。

Chrome漏洞可致恶意站点在用户在不知情的情况下录制音频和视频

网站申请权限

第二个防护措施就是在录音时进行提醒。

网站获得第一步申请的权限时就能获取到设备的数据流。但是要使用数据流,开发者需要录音,这就用到了MediaRecorder API。

 

  1. const recordedBlobs = [];  
  2. const mediaRecorder = new window.MediaRecorder(window.stream,{ mimeType: 'audio/mpeg' });  
  3. mediaRecorder.ondataavailable = (event) => {  
  4. recordedBlobs.push(event.data);  
  5. };  
  6. mediaRecorder.start(); 

调用这个API时,浏览器会提醒用户,网站正在录音,Firefox会以一个置顶小窗口进行提醒,而Chrome则会在标签页闪烁一个红点。(Internet Explorer、Edge、Safari和Opera还不支持Media Recorder API)

Chrome漏洞可致恶意站点在用户在不知情的情况下录制音频和视频

网站录音时浏览器的提醒方式

漏洞原理

研究人员发现 ,如果有已经经过授权的网站使用JS进行弹窗,网站就可以直接录音,标签页上方不会有闪烁的红点,在这种情况下,用户只知道自己曾经授权了这个网站录音权限,而不知道自己正在被录音。

研究人员提供了相关的 PoC代码 和 演示网站 ,我们先点击第一个按钮进行授权,再点击第二个按钮就会弹出一个小窗口,这个小窗口会进行20秒的录音。

Chrome漏洞可致恶意站点在用户在不知情的情况下录制音频和视频

Google:并非漏洞

Ran Bar-Zik在4月10日将漏洞汇报给Google,但Google认为这并非漏洞。

Google员工回应称:

“这其实并不算漏洞,比方说在移动浏览器上,WebRTC就没有录音的提示(红点)。”

“红点显示的前提是Chrome UI有空间显示,不过我们会想办法解决这个问题。”

Chromium的开发人员认为在较小的空间放不下录音的提示红点,比如在移动设备中就没有使用红点,而本例中弹出的小窗口也是狭小空间的一种。

但在真实环境下,这个“不是漏洞”的漏洞也是有利用价值的。作者认为,攻击者可以制造一个极小的弹窗进行录音, 当用户切换到窗口时立即关闭;或者可以调用几毫秒的摄像头拍下你的照片;或者使用XSS攻击正规的网站从而获取权限。小编认为一些正规的网站也可以通过某些看似正当的请求申请到麦克风/摄像头的权限,随后弹出小窗偷偷地进行持续录音。总之,如果Chrome没有修复这个隐私问题,具体的利用方式就是黑客们的想象空间了。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...