G.O.S.S.I.P 阅读推荐 2022-04-26 WideLeak

admin 2022年4月27日00:38:32安全闲碎评论7 views2016字阅读6分43秒阅读模式

今天给大家推荐的是来自DSN 2022的一篇文章——“WideLeak: How Over-the-Top Platforms Fail in Android”,作者针对基于Android DRM Widevine框架OTT应用的安全性展开研究,发现了其中普遍存在的安全问题,例如传输未加密的媒体内容。

G.O.S.S.I.P 阅读推荐 2022-04-26 WideLeak

内容提供商大多依靠DRM(数字版权管理)来保护媒体内容免受非法传播,Android作为流媒体的主要平台也提供了自己的DRM框架(如图1所示),OTT(Over-the-top)平台能够基于这些框架来开发相应的Android移动应用。
Android DRM框架中最为流行的是Widevine。Widevine定义了三个安全级别:L1用于播放高清视频,所有操作都发生在TEE中;L2和L3用于当TEE不支持的情况下;对于L3,敏感操作是在TEE外部处理,安全性较差。在Android中,Widevine并不开源,而仅作为二进制代码提供。其中,与Widevine的任何通信首先需要进入特定的库(libwvdrmengine.so 或 libwvhidl.so),对于L1来说该库还需要调用liboemcrypto.so来将相关请求发送到Widevine TEE trustlet,而L3不会涉及其他组件。

G.O.S.S.I.P 阅读推荐 2022-04-26 WideLeak

尽管Widevine提供了相关开发指南,但由于其公开资料的缺乏以及难以在智能手机上实现长期的更新与维护,基于Widevine开发的应用存在极大的安全威胁,而目前没有相关工作探索现实世界中Widevine提供的安全功能是否得到了有效的采用。因此本文主要针对Android DRM框架中最为流行的Widevine,探讨了在Widevine框架中OTT应用实现的安全性,包括内容保护、加密密钥的使用和对过时设备的支持,其研究方法如下:

  • DRM API Monitoring:作者首先对OTT应用Java类进行反编译,并利用Frida拦截CDM进程中Widevine相关组件函数。如果控制流涉及liboemcrypto则能够确认L1使用;而如果所有调用都在libwvdrmengine中,则能够确认L3使用。

  • Content Protection:在OTT应用请求某些媒体内容时,相关CDN服务器通常会发送几个URI链接来让应用下载相关视频、音频及字幕。作者首先获取这些URI链接来确定下载的内容是否会受到保护,例如通过音视频播放器进行文件读取或检查字幕文件中是否包含ASCII。之后,作者通过一些文件的元数据来分析相关密钥的使用,这些元数据会指示特定内容文件的解密密钥标识符。

  • Outdated Device:如果OTT应用支持一些过时的设备,这些设备上存在的安全漏洞同样会使得OTT应用的安全性遭到威胁,因此作者使用Nexus 5手机(Android 6.0.1)尝试显示一些媒体内容。

G.O.S.S.I.P 阅读推荐 2022-04-26 WideLeak

作者评估了9个流行的Android OTT应用,实验结果如表1所示:

  • Q1: How often do OTT apps rely on Widevine?

    • A1: 所有评估的应用都依赖Widevine实现内容播放,而不是定制的DRM解决方案,并且除了Amazon Prime仅支持L3,大部分应用都支持更安全的基于TEE的L1模式。

  • Q2: Do OTT apps encrypt their media contents using Widevine?

    • A2: 首先利用Frida,作者成功绕过了所有OTT应用的SSL安全防护;除了Hulu和Starz的字幕链接,作者获得了所有OTT应用的所有URI链接,并进一步检查了这些应用中相关媒体文件。结果表明,视频文件总是加密的,而字幕文件总是非加密的,大部分应用会对音频进行加密。

  • Q3: Do OTT apps use multiple keys for content encryption?

    • A3: 如A2所述,大部分OTT应用都会对其音视频进行加密,作者进一步检查了这些OTT应用保护音视频所使用的密钥。结果表明,所有评估的OTT应用会根据分辨率使用不同的密钥对视频进行加密,即即使破解了L3也无法恢复高分辨率视频;但是大部分应用发现使用相同的密钥对音频和视频进行加密,存在安全风险。

  • Q4: Do OTT apps still support L3 outdated devices?

    • A4: 在Nexus 5 Android 6上,所有OTT应用都会安装成功;Disney+、HBO Max和Starz无法显示相关内容,这意味着这些应用并不支持过时的Nexus 5,不会向其发送媒体内容和密钥;而剩下的7款应用能够显示相关媒体内容,但由于Nexus 5仅支持L3,应用无法显示高清视频。

原文链接:
https://hal-univ-rennes1.archives-ouvertes.fr/hal-03637107/document


原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2022-04-26 WideLeak

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月27日00:38:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  G.O.S.S.I.P 阅读推荐 2022-04-26 WideLeak http://cn-sec.com/archives/949483.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: