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建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
P2P的自白|我不生产内容,我... 现在一提起P2P,人们就会联想到正在被有关部门“围剿”的互联网理财服务。×租宝事件使得劳...