聚焦源代码安全,网罗国内外最新资讯!

编译:奇安信代码卫士团队

Facebook 修复了Facebook Messenger 安卓版 284.0.0.16.119中的一个严重漏洞,可导致呼叫人在未获授权的情况下,在电话另一端的目标用户尚未接听之前,监听目标用户周遭的情况。

安卓版 Facebook Messenger 在官方应用商店页面指出,它的安装量已超过10亿台设备。

GPZ 发现漏洞

谷歌 Project Zero (GPZ) 团队的研究员 Natalie Silvanovich 发现了该漏洞,她指出,“Facebook Messenger 通过在接听人和呼叫人之间交换一系列 thrift 信息,在 WebRTC 中设立音频和视频通话。在正常情况下,在目标用户同意接听通话之前,接听设备不会传输音频:当接听人点击接受按钮后,才会调用 setLocalDescription;或者将本地 SDP 中的音频和视频媒体描述设置为禁用,当目标用户点击按钮时更新(具体策略根据接听人在 Facebook 上登录的端点数量决定)。然而,有一种消息类型并不用于通话设置,它就是 SdpUpdate,会导致setLocalDescription 立即被调用。如果在接听人设备还在响的过程中将信息发送给该设备,那么就会立即开始传输音频,使攻击者监控接听设备的周遭环境。”

漏洞复现

上个月,Silvanovich发现了这个问题。她还提供了 Python PoC exploit 代码复现该问题。

复现步骤如下:

(1)   登录攻击者设备上的 Facebook Messenger

(2)   登录目标设备上的 Facebook Messenger。同时从浏览器登录到同一账户的 Facebook(保证呼叫设置使用延迟呼叫来设置 setLocalDescription 策略。本 PoC 不适用于其它策略)。

(3)   在攻击者设备上安装 Frida,运行 Frida 服务器。

(4)   通过攻击者设备向任意设备呼叫,加载 RTC 库,与 Frida hook。

(5)   解压 sdp_update,在本地文件夹中运行:

python2 modifyout.py "attacker device name"

(要获取设备清单,运行 python2 modifyout.py)

(6)   向目标设备呼出音频通话。

几秒后,即可通过攻击者设备的扬声器听到目标设备的音频。

PoC 执行如下步骤:

(1)   等待接听发送,保存其中的 sdp Thrift 字段

(2)   将含有该 sdpThrift 的 SdpUpdate 信息发送给目标

(3)   向攻击者发送虚假的 SdpAnswer 信息,使设备认为通话已被接听并播放进入的音频.

可在目标的朋友列表中利用

Facebook 解释称,该 bug “本可导致攻击者登录安卓版 Messenger,同时发起通话并向已登录用户和另外一个 Messenger 客户端(Web 浏览器)发送非预期的信息。

随后它将触发一个场景:当设备响起时,呼叫者将开始接受音频,直到被呼叫者接听后或者呼叫过程结束后停止。要利用该漏洞,攻击者必须能够绕过某些合法性检查(如为 Facebook 好友)有权限呼叫某个特定的用户。同时需要使用逆向工具操纵自己的 Messenger 应用,强制应用发送自定义信息。“

修复漏洞后,Facebook 公司的安全研究员还在使用一对一呼叫相同协议的其它 app 上应用了其它防护措施。

颁发6万美元的奖金

Facebook 为该漏洞颁发6万美元的奖金,并指出这笔奖金是 Facebook 公司颁发的最高的三项奖金之一,这反映了它的最大潜在影响。

Silvanovich 指出将把这笔奖金捐献给 GiveWell Maximum Impact Fund。Facebook 公司的产品安全经理 Collin Greene 随后表示,Facebook 将追加同等数额的捐献,即该机构将共获得12万美元的捐赠。

从2011年到现在,加入 Facebook 漏洞奖励计划的安全研究员超过5万名,其中约6900名研究员获得奖金,共发现超过13万个漏洞。Facebook 公司表示,单在今年就向来自50多个国家的安全研究员颁发了超过198万美元的奖金,涉及1000个漏洞。

推荐阅读

Hacker Plus:Facebook 推出漏洞奖励 “忠诚计划”

算捡漏么?我发现了一个值2万美金的 Facebook DOM XSS 漏洞

原文链接

https://www.bleepingcomputer.com/news/security/facebook-messenger-bug-allowed-android-users-to-spy-on-each-other/

https://bugs.chromium.org/p/project-zero/issues/detail?id=2098

题图:Pixabay License

本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的

产品线。

 觉得不错,就点个 “在看” 或 "赞” 吧~

我发现Facebook Messenger漏洞可使安卓用户互相监听,获奖6万美元相关推荐

  1. 小米躺枪,联发科被曝芯片漏洞:全球37%安卓用户被监听

    这段时间,联发科可谓出尽了风头. 无论是天玑1000.天玑1100亦或者天玑1200,联发科通过厚积薄发的5G技术,赢得众多手机厂商和消费者的青睐.尤其最近天玑9000更是让联发科一举封神,天玑900 ...

  2. 研究员发现70个web缓存投毒漏洞,获奖4万美元

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 虽然web 缓存投毒漏洞为人熟知,但仍然会突然出现在网络.安全研究员 Iustin Ladunca (Youstin) 对很多网站展开大规模研究 ...

  3. 详细讲解安卓截屏监听操作

    需求 项目中有时会遇到监听用户截屏操作的需求,应用场景也比较丰富. eg. 1: 某个隐私页面禁止截屏,当发现用户截屏后,删除该截屏文件: eg. 2: 当用户截屏时,可能是需要进行分享,意见反馈等操 ...

  4. 安卓运行时监听配置更改:sim卡、本地语言、键盘显示或隐藏、字体大小、UI模式、屏幕方向、屏幕布局(另一个屏幕)、可用屏幕大小(横纵向)、无屏幕大小(外接屏幕)。

    全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓运行时可以监听的配置更改:sim卡.本地语言.键盘显示或隐藏.字体大小.UI模式.屏幕方向.屏幕布局(另一个屏幕).可用屏幕大小(横纵向).无屏幕 ...

  5. android 遥控器按键监听,安卓遥控器按键监听

    更新记录 1.2.1(2020-09-14) 修复一些BUG 1.2.0(2020-09-09) 修改keydown的一些功能 查看更多 平台兼容性 Android iOS √ × 原生插件通用使用流 ...

  6. 不小心发现谷歌 Firebase 消息服务的漏洞,获奖3万+美元

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 今年年初看到不少关于安卓应用程序 hacking 的各种技术和技巧.受好奇心驱使,我决定一试身手. 收集反编译 APK 数据集 翻看了 ...

  7. kestrel虚拟服务器,如何使Kestrel Web服务器监听非本地主机的请求?

    小编典典 Kestrel服务器使用的默认配置文件是hosting.json.在不同的beta版本中,名称多次更改.如果您现在project.json使用以下"command"部分 ...

  8. 安卓键盘事件监听,键盘弹出收起

    一.键盘事件监听 1.在mainifest.xml 中设置activity模式 ```<activityandroid:name=".ui.activity.MainActivity& ...

  9. uniapp 安卓端实时监听网络状态

    写在uniapp的APP.vue的onShow方法中 uni.onNetworkStatusChange(function(res) {                 if (res.isConne ...

最新文章

  1. 顶级数据库管理系统的性能比较研究(论文翻译)
  2. python 多级菜单_python多级菜单
  3. secureCRT的安装及破解
  4. 《并行计算的编程模型》一1.4 数据类型
  5. 川大计算机文化基础在线作业,川大1309《计算机文化基础0008》在线作业2答案.docx...
  6. Linux下编译Jsoncpp
  7. sklearn中ValueError: Unknown label type: ‘continuous‘错误解决
  8. Linux安装nginx运行错误,Linux Nginx安装以及可能出现错误
  9. ORA-02292:integrity constraint(xx) violated - child record found 外键关联,无法删除记录
  10. linux sort多磁盘排序,linux shell sort多字段排序
  11. spark mysql 写_Spark-SQL从MySQL中加载数据以及将数据写入到mysql中(Spark Shell方式,Spark SQL程序)...
  12. flask项目源码_源码解读:Flask上下文与代理模式
  13. python培训班骗局-马哥教育官网-专业Linux培训班,Python培训机构
  14. 搞深度学习如何找到需要的代码
  15. DS1302时钟基础使用(含代码)
  16. Qt应用开发视频教程
  17. 结巴分词5--关键词抽取
  18. 剖析kubernetes集群内部DNS解析原理
  19. 网络层路由选择协议(RIPOSF)
  20. 凤凰系统基于android x x86,凤凰系统X86版pc客户端_凤凰系统X86免费版_易玩网

热门文章

  1. Linux之部分shell脚本练习(二)
  2. .Net ViewState的实现(转载)
  3. 一个SQL SERVER功能模块表
  4. 阿里架构师手写Tomcat——Session源码解析
  5. java websocket
  6. [开源]快速构建文件下载,支持文件加密,自定义限速
  7. HTML基础:web前端建站流程
  8. linux下的chromedriver驱动器配置实例(含代码)
  9. Android小知识10则(下)
  10. SAP CRM Transaction处理中的权限控制