
大家好!
我的名字叫Vadim,我是RosKomSvobody的技术顾问之一,同时还是系统管理员。
但是这篇文章不会和我有关。 这将是一个关于我们最近遇到的可疑(在手机上下文中的隐私方面)情况的故事。
它可能采用“ Aaaaaaaaa!外观,老大哥(Google)跟随我们”的风格,但我仍将尝试进行某种分析并提出合理的假设为什么会发生什么。
如果有人不喜欢“杂志” {akep to zero”的格式,我预先表示歉意。 写-我会改正的。
这样啊 我们的一位读者走近我们,声称进入我们的网站(颇具讽刺意味的是,我们反对面部识别的运动的最上面的瓷砖-BanCam挂在顶部)激活了前置摄像头。
事实是,他是不带“口袋”的新一代手机的拥有者,其中前置摄像头放置在单独的“离开”托盘中。 实际上,这是在访问相机时留下的。
就像您可能猜到的那样,尽管我正在建立,仍被黑客入侵和“建立”了所有“安全机制”,但我最初的想法是怀疑我们是奇迹般的。
但是,调查显示,我们的网站一切正常。
在进行了上述调查并在RosKomSvoboda的技术聊天室中讨论了调查结果之后,我记得我曾经在Internet上的多个论坛上遇到过Trojan通过横幅网络“滑倒”的情况(通过Android手机打开论坛时) apk软件包(显然,希望用户安装它们,以为这是该论坛的正式客户)。
考虑了这个想法之后,我建议尝试检查允许的列表中的“跟踪器”(该阅读器使用Firefox和安装在其中的uBlock插件)。
几个小时的实验表明,如果您阻止访问google.com
域,则摄像头会停止移动。 另外,在同一时间kod.ru
用户说,这种情况也在kod.ru
网站上再现(在我们使用“ only with us”版本时)。
经过更深入的挖掘,我发现对google.com
请求不仅激起了Google跟踪器(又名“分析”),甚至激起了页面上YouTube视频的通常“嵌入”。 kod.ru
上相机出口的可kod.ru
也落入了这一理论(事实证明,测试页上还有YouTube的视频)。
为了进一步证实这一理论,我在一个随机博客中搜索了“如何将YouTube视频插入博客,视频说明”中的内置视频,并在其上重现了这种情况。
这样啊 好啊 目前,我们掌握了以下信息:页面上内置的YouTube视频会触发从google.com
加载某些脚本,而这些脚本又会触发相机退出。
好吧,进一步挖掘。
在浏览器调试工具中四处寻找,我发现从www.google.com
(即www
)加载的内容奇怪且令人费解(以至于我在搜索结果中尝试过的除混淆器都无法处理),即使带有名称和混淆不清(知道Google,我可以假设一段时间后该脚本会消失,并使用一个名称不同(但同样不可读)的脚本。因此,这里是它的代码 ,以防万一。
快速浏览该脚本不会在此处显示任何对摄像机的引用,也没有时间和机会进一步深入调试并解释它在其中所做的工作(尽管如果您有任何读者愿意,也可以这样做)。
我们尝试从另一侧进入:
就我个人而言,我的手机没有出口摄像头,因此很容易吸引她的注意力。 但是我可以通过USB连接它,并制作adb logcat | grep -C5 camer
adb logcat | grep -C5 camer
( adb logcat | grep -C5 camer
否则每次打喷嚏都会产生太多无关的垃圾,包括用手指敲击屏幕或在空间中移动手机)。 我实际上在做什么...
因此,第一尝试:我去了经过测试的站点,……什么都没有!
这种想法根深蒂固,毕竟问题似乎出现在用户身边。
在此过程的同时,我们正在上述RosKomSvobody技术聊天中讨论这种情况。 一段时间后,一位参与者收到了这样的观点:他们认为移动浏览器很狡猾:他们并不总是要求获得对摄像机的全局访问权限,如果未授予它们的访问权,则在某些情况下他们可能不会要求!
我转到应用程序设置,看到的是,我没有为Firefox设置摄像机的权限。 我将其打开,再次检查,然后看到带有以下内容的几个“屏幕” 的工作表 :

是的 呼吁相机,然后还有!
此外,在带有“获取设备信息”的行之后,摄像设备已显式打开:
12-12 17:10:14.734 751 6924 I QCamera : <HAL><INFO> int qcamera::QCamera2Factory::cameraDeviceOpen(int, struct hw_device_t **): 405: Open camera id 0 API version 256
我用Chrome浏览器进行了同样的检查,然后复制了所有内容:如果取消了相机的使用权,则在日志“小羊沉默”中,如果已发出-与访问相机相同的表,则带有藏红花奶盖。
所以问题是:
a)不在用户本地,
b)不特定于浏览器。
有趣的是,在所有这些事件中,这些浏览器都没有试图说出要从参与测试的任何网站(实际上也从YouTube和google.com
)请求访问相机的权限。
有鉴于此,我提出了两个假设:
- 但是,“老大哥”正在注视着您,或者
- 现实中令人难以理解的脚本在浏览器中调用了Camera API的某些部分来对用户进行指纹识别,但并不能直接访问相机。 因此,没有访问它的请求(但是,如果您看本文开头的视频,您会发现在打开和关闭相机之间LED指示灯如何闪烁,这使您产生了思考)。
但是,浏览器遵循的逻辑是:“初始化Camera API时,如果无法访问相机,那么我们什么也不做(甚至在真正需要之前我们都不会请求它),如果有,我们会初始化相机并检查其中有哪些设备以及有哪些设备他们可以“(显然是为此设备找到了”)。
用户的电话供应商似乎并没有特别研究相机上的软件拐杖,而是简单地解决了问题(顺便说一句,他很尊重):访问相机时,她离开了。 当您打开设备并与之交换数据时,二极管会闪烁。
总体而言,事实证明,这个问题并不像开始时那样致命,并且希望没有人拍照(尽管如此,这仍然“不准确”,因为我的了解能力Android的源代码不足以明确保证在这种情况下,logcat中对相机的调用仅涉及所拍摄的图片,而在这种情况下-仅与设备上的应用程序有关。
但是,尽管如此,在隐私保护的情况下,打开任何内嵌iframe并带有YouTube内置视频的网页都会导致调用相机(甚至与设备进行某种协商)这一事实,这在事实中还是很可悲的。在我看来,仍然值得社区讨论。
你觉得呢
PS用英语,这篇文章发表在Medium上 。
UPD :感谢berez和ksil habrachians提供了一整套拼写更正功能(否则,当您像往常一样阅读和重写不同的文本时,“更正了一些错误,带来了许多其他错误”)