Android通过RSSI广播泄漏敏感数据漏洞披露(CVE-2018-9581)

概述

在2018年秋季,我们在BSides DE上颁发了关于3个Android破绽的申报,分手是CVE-2018-9489、CVE-2018-9581和CVE-2018-15835,这三个破绽具有相同的破绽缘故原由。

在Android操作系统的系统广播中,可以裸露出WiFi旌旗灯号强度信息(RSSI),设备上的任何利用法度榜样都可以在不必要额外权限的条件下获取此信息。一些恶意利用法度榜样可能会将此信息用于室内定位,从而根据相近的WiFi路由器来定位或跟踪用户。同样的问题也存在于底层Android API,但它必要额外的权限。

我们信托,所有版本的Android都受到该破绽的影响。今朝,厂商Google尚未完全修复此破绽。但在Android 9/P上,两种广播类型的此中一种,已经不再显示敏感数据,这是CVE-2018-9489修复事情的一部分。厂商为该破绽分配了编号CVE-2018-9581。我们建议,还必要进行进一步钻研,以确认该破绽是否在田野被实际使用。

背景

Android是Google开拓的开源操作系统,被广泛利用于手机和平板电脑上。据统计,举世有跨越20亿台设备在运行Android系统。Android上的利用法度榜样平日被操作系统彼此隔离,当然,它们也与操作系统之间互相隔离。然则,仍旧存在一些机制,可以实现进程之间的通信,以及进程与操作系统的交互。

分外埠,Android供给了“Intents”,作为进程间通信要领之一。应用“Intent”的广播容许利用法度榜样或操作系统在全系统范围内发送可由其他利用法度榜样监听的消息。只管已经存在限定容许特定利用涉猎某类消息的功能,但利用法度榜样的开拓职员每每没能精确凿施此类限定,轻忽了樊篱敏感数据。这将导致Android利用法度榜样孕育发生常见的破绽,此中在同一设备上运行的恶意利用法度榜样可以监听并捕获由其他利用法度榜样广播的消息。

Android应用的另一种安然机制是权限,这是一个旨在保护用户隐私的安然步伐。利用法度榜样必须经由过程利用法度榜样清单(“AndroidManifest.xml”)中的特殊“uses-permission”标记明确哀求造访某些信息或功能。根据许可的类型(例如“正常”、“危险”等),操作系统可以在安装时代向用户扣问是否授权,或者在运行时代再次提示。别的,也有某些权限只能由系统利用法度榜样应用,并且不能由老例开拓职员应用。

Google Play安装时代和利用法度榜样运行时代的权限提示截图如下:

破绽详情

Android操作系统按期会在全系统范围内广播WiFi强度值(RSSI),造访此信息无需特殊权限。RSSI值表示设备接管旌旗灯号的相对强度(数值越大年夜代表旌旗灯号越强),但不与现什物理旌旗灯号强度(dBm)直接相关。该内容是经由过程两个零丁的Intents公开的,分手为android.net.wifi.STATE_CHANGE(Android 9之前)和android.net.wifi.RSSI_CHANGED(所有Android版本)。

只管利用法度榜样也可以经由过程WifiManager造访此信息,但根据规范,要造访此信息必要“ACCESS_WIFI_STATE”权限。针对Android 9中新增的WiFi RTT功能,必要“ACCESS_FINE_LOCATION”权限。然而,在监听系统广播时,并不必要这样的权限,以是利用法度榜样可能会在用户不知情的环境下捕获该信息。综上所述,存在两个零丁的安然问题,详细如下:

1、RSSI值可以经由过程广播得到,绕过平日所需的权限反省(ACCESS_WIFI_STATE);

2、经由过程广播或WifiManager所获取的RSSI值,可以用于室内定位,无需特殊位置许可。

通俗用户复现历程

针对Android设备用户,可以按照如下要领来复现此破绽:

1、安装由Vilius Kraujutis开拓,上线到Google Play的“Internal Broadcasts Monitor”(内部广播监控)利用法度榜样。

2、打开利用法度榜样,点击“Start”(开始)来监控广播。

3、察看系统广播,分外是android.net.wifi.STATE_CHANGE(Android 9之前)和android.net.wifi.RSSI_CHANGED(所有Android版本)。

截图如下:

开拓者复现历程(代码实现)

假如必要经由过程代码进行复现,可以创建一个广播接管器,并将其注册,以接管android.net.wifi.STATE_CHANGE(仅限8.1及以下版本)和android.net.wifi.RSSI_CHANGED。

示例代码如下所示:

public class MainActivity extends Activity {

@Override

public void onCreate(Bundle state) {

IntentFilter filter = new IntentFilter();

filter.addAction(android.net.wifi.STATE_CHANGE);

filter.addAction(android.net.wifi.RSSI_CHANGED);

[1] [2]下一页

registerReceiver(receiver, filter);

}

BroadcastReceiver receiver = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

Log.d(intent.toString());

….

}

};

测试措施

我们的测试历程,应用了以下设备:

Pixel 2,Android 8.1.0系统,补丁更新至2018年7月;

Nexus 6P,Android 8.1.0系统,补丁更新至2018年7月;

Moto G4,Android 7.0系统,补丁更新至2018年4月;

Kindle Fire HD第八代,Fire OS 5.6.10系统(由Android 5.1.1分叉),补丁更新至2018年4月;

路由器应用华硕RT-N56U,运行最新版本固件。

实际测试注解,Kindle Fire所应用的Android分支版本系统承袭了响应的功能。

履行步骤如下:

1、安装Broadcast Monitor利用法度榜样;

2、将手机置为飞行模式;

3、走入房间;

4、关闭飞行模式(触发RSSI广播);

5、从以下广播中获取RSSI值:

(1) android.net.wifi.RSSI_CHANGE – newRssi值,

(2) android.net.wifi.STATE_CHANGE – networkInfo / RSSI;

6、针对每个房间,都重复步骤3-4。

测试结果注解,在每个房间应用特定设备时,都具有不合的RSSI值范围。

测试时代网络的值范围如下:

厂商相应及缓解步伐

厂商Google将该破绽定级为中等,并指定了CVE编号CVE-2018-9581。今朝该破绽尚未修复,但在Android 9/P上,两种广播类型之中的一种(android.net.wifi.STATE_CHANGE)已经不再显示敏感数据。今朝尚不清楚该破绽是否在田野被使用。

参考内容

Android ID#111698366

CVE ID:CVE-2018-9581( https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-15835 )

Google Bug#111662293

GitHub:Internal Broadcasts Monitor( https://github.com/ViliusKraujutis/AndroidBroadcastsMonitor )

在BSide DE上的演讲:https://wwws.nightwatchcybersecurity.com/2018/11/05/speaking-bsidesde-this-friday-on-android-privacy-bugs-cve-2018-9489-cve-2018-9581-and-cve-2018-15835/

申谢

谢谢Vilius Kraujutis开拓内部广播监控器利用法度榜样,并在GitHub中供给源代码。

然后,还要谢谢多位学术钻研职员,他们曾颁发过经由过程RSSI值进行用户定位的相关钻研,包括如下论文:

[1] “Algorithms for Location Estimation Based on RSSI Sampling.” (2008); Papamanthou C., Preparata F.P., Tamassia R.; In: Fekete S.P. (eds) Algorithmic Aspects of Wireless Sensor Networks. ALGOSENSORS 2008. Lecture Notes in Computer Science, vol 5389. Springer, Berlin, Heidelberg

[2] “Comparison of RSSI techniques in Wireless Indoor Geolocation,” (2012); G. A. Naik, M. P. Khedekar, M. Krishnamoorthy, S. D. Patil and R. N. Deshmukh,; 2012 NATIONAL CONFERENCE ON COMPUTING AND COMMUNICATION SYSTEMS, Durgapur, 2012, pp. 1-5.

[3] “Theoretical facts on RSSI-based geolocation,”; (2012) J. S. Picard and A. J. Weiss; 2012 IEEE 27th Convention of Electrical and Electronics Engineers in Israel, Eilat, 2012, pp. 1-5.

[4] “Adversarial WiFi Sensing” (2018); Yanzi Zhu, et al; arXiv:1810.10109;

光阴节点

2018-03-28:将关于CVE-2018-9489的原始申报供给给厂商2018-07-19:根据厂商哀求,针对此破绽编写零丁的申报,并供给测试结果2018-07-20:收到厂商回覆,正在对此破绽进行阐发2018-08-09:供给Android 9测试结果2018-08-14:供给复现建议2018-08-28:扣问是否能够表露2018-09-14:厂商反馈已经收到,仍需等待2018-09-19:扣问厂商2018-09-21:厂商反馈已经收到,正在阐发中2018-10-14:关于即将举行的演讲,看护厂商2018-10-15:厂商反馈已经收到,正在对该破绽进行钻研2018-10-25:要求为该破绽分配CVE2018-10-30:再次扣问CVE环境2018-11-01:扣问MITERCVE分配环境2018-11-05:厂商为该破绽指定CVE,并看护MITER2018-11-06:将幻灯片供给给厂商进行审核2018-11-09:在BSides DE演讲中公开表露2018-11-11:公开宣布此文章

上一页[1] [2]

赞(0) 打赏
分享到: 更多 (0)
免责申明:本站所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,不保证真实性,并不承担任何法律责任

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

阿里云优惠网 更专业 更优惠

阿里云优惠券阿里云大礼包