请求拜访设备
网页可以打开提示请求拜访设备,它必须指定过滤器来过滤可用的设备。如不雅过滤器为空,那么即许可用户赶紧有可用设备中选择设备。打开的提示如下所示:
用户可以看到所有(过滤的)可用设备。设备名称引用于自身所发送的产品名称。如不雅没有指定产品名称,Chrome会测验测验经由过程有关设备的已知信息来猜猜一?表达性的名称。然后,它会将设备定名为“来自<vendor_name>”的未知设备。用户选择设备并点击“连接”后,即可授予拜访设备的权限。
权限处理
根据规范,设备可以在其二进制对象存储中的平台描述符中明白地声明对WebUSB的支撑。
权限由Chrome的permission API处理。一旦向网页授予权限拜访设备,权限会一向持续,直到用户手动撤销。处理权限的API根据其根源区分“网页”,即当具有匹配的协定,主机和端口时,浏览器就会认为这个网页与另一网页雷同。浏览器辨认独一设备的行动不是很明显,用于识其余候选目标由设备在其描述头中发送。候选目标如下:
- GUID
- Vendor ID
- Product ID
固然GUID是独一的ID,但它不克不及用于辨认设备。以下是多次插入和拔出测试设备的日记的截图,可见每次设备都有不一样的GUID,即便如斯,每次插入后设备都被许可且可以拜访,不须要进一步典范可请求。
这注解Chrome应用Vendor ID和Product ID的组合来标识设备。
拜访设备
一旦网页被授予拜访设备的权限,那么就可以拜访它了。起首其必须打开设备,打开设备的过程中就开端了与设备的会话,然后设备会被锁定,如许同一浏览器会话中的其他选项卡就无法拜访了。然则另一个浏览器的另一个网页仍然可以打开雷同设备。
为了与设备进行通信,浏览器必须声明要与之通信的接口。在声明接口之后,主机上的任何其他应用法度榜样都是无法声明的。应用声明的接口,页面可以与指假寓口的端点通信。
检查WebUSB的支撑
另一个有趣的调查对象是用恶意的USB设备进击Chrome。前者可能会发送缺点的USB描述符,并可能在浏览器中触发未预期的行动。 Chrome可认为WebUSB(chrome://usb-internals/)添加虚拟测试设备,这很有赞助。如许的进击向量须要物理拜访设备,所以显得有点不太实际。
我们构建了一个小型概念性证实(PoC)对象,可以轻松肯定WebUSB是否支撑设备。该对象测试是否能至极少明一个已连接的USB设备的接口,如不雅存在,那么就意味着它可以与设备通信,是以该设备是被支撑的。
不过该对象无法测试USB设备是否完全不受支撑,因为无法声明接口的原因有所不合。该接口可以被另一个法度榜样声明,或浏览器可能没有体系(Linux)的拜访权限。
该对象是一个简单的静态网站。你可以点击这里下载。这是它的外不雅:
要测试设备是否支撑,请单击“选择设备”按钮打开权限提示。此提示将列出所有可用的USB设备。经由过程选择所需的设备并单击“连接”,对象将打开设备,并遍历每个可用的界面,尝尝试声明。结不雅记录在页面底部的表格中。被声明的interfaces列显示可以声明的接口编号。
如不雅要在其他处所应用受支撑的设备,则须要刷新站点或封闭钙揭捉?项卡。
安然性推敲
总体来说WebUSB是安然的,然则像所有新添加的代码一样,它扩大年夜了代码库,是以也扩大年夜了浏览器的受进击面。这是一种新技巧,所以问题是弗成避免的,在这方面的一些安然状况已经有了初步看法。
WebUSB在Chrome的浏览器内核Blink中运行。是以,发明WebUSB中的内存崩溃可能并不比Blink中其他处所的内存崩溃更影响更大年夜。
处理WebUSB的权限对于用户可能不是很明显。当页面请求拜访USB设备时,向用户发出的通知不包含任何警告,而该站点大年夜这时起将具有对该设备的完全的,静默的USB拜访权限。
我们构建了一个概念性证实(PoC)来证实这个问题。在这种情况下,基于WebUSB的ADB主机实现被用于拜访连接的Android手机。一旦用户接收请求,该页面应用WebUSB可以大年夜相机文件夹中检索所有图片。【点击这里下载PoC】
实现WebUSB的网站应确保控制应用XSS是一个优先事项。应用XSS马脚的进击者可能具有与网站雷同的对已连接设备的拜访权,时代用户并不会留意到。
经由过程这种拜访级别,网站不仅可以大年夜文件体系中窃取每个可攫取的文件,还可以安装APK,拜访摄像头和麦克风来监督用户,并可能将权限进级到root。
该示例受到用户交互的高度限制,是以风险大年夜大年夜降低 – 用户必须向其手机授予网页权限,在其手机上激活USB调试,并最终许可来自立机的ADB连接。到今朝为止,这只实用于Linux,因为在Windows中的实现相当不稳定。然而,它既可以作为在WebUSB上运行复杂协定的示例,也可以显示WebUSB请求的一次点击若何导致数据泄漏。
您可以鄙人面的视频中看到PoC的操作。有两个虚拟机,左边的一个作为恶意的Web办事器,右边的一个作为受害者。网站连接到手机后,ADB连接在手机上确认。然后检索所有拍摄的┞氛相机图像并将其显示出来。【点击这里下载源码】
推荐阅读
沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散! 追溯中国互联网的成长史,可能要大年夜1987年9月20日钱天白传授发出的第一封E-mail开端。事实证实,这二十余>>>详细阅读
本文标题:一个网页是如何从你的手机中盗窃数据的
地址:http://www.17bianji.com/lsqh/38020.html
1/2 1