Eavesdropping on Fine-Grained User Activities Within Smartphone Apps
Over Encrypted Network Traffic
通过加密的网络流量窃听智能手机应用程序中细粒度的用户活动
整个论文立意,以此为主,以分类用户活动算法为主,收集方式为辅助
一、摘要
高度智能的app是以隐私为代价的,被动的窃听者例如在无线网络上识别细粒度的用户活动通过网络流量。仅通过IP包头和元数据。
尽管被广泛加密,即每个应用程序的高度特定(定制)的实现会在其通信行为上留下指纹(例如,传输速率、数据包交换和数据移动)。以及大型的综合类型的app不同的业务模块负责的开发维护团队不同,也可能导致产生不同的流量指纹。
通过学习活动之间微妙的流量行为差异(例如,“浏览”和“聊天”在一个约会应用程序),netscope 能够执行强大的推断用户的活动,无论是安卓和 ios 设备,仅仅基于检查 ip 头。我们对35个广受欢迎的应用程序活动(从社交网络和约会到个人健康和总统竞选)进行了评估,结果显示 netscope 具有很高的检测准确率
这一功能突出了安全和隐私方面的新挑战:
1、正面的安全:利于监管和QoS的保证
2、反面的安全:隐私泄露,推断用户高度敏感的信息
二、相关工作
许多只执行流量内容签名匹配[11,27,44,46]或协议标识[36]。然而,现在几乎所有的应用程序都使用(加密的) ssl/tls 通信,因此数据包内容分析(例如 dpi)和协议识别几乎不能显示智能手机应用程序的信息。更重要的是,由于用户的移动性,应用程序只能在连接到任何单一 wi-fi 网络时执行部分通信ーー窃听者只有一小块(加密的)通信窗口可以检查。We call this the transient connectivity challenge.(短暂连接挑战)
在本文中,我们克服了这些挑战,并表明即使是一个小窗口的加密流量可以揭示一个应用程序的语义活动。
例如用户在使用facebook看视频的流量和发表动态的流量有明显的不同
通过利用流量行为线索,我们可以实现对用户行为的细粒度监控,而无需检查数据包的内容。
将流量测量数据转换为特征集,采用行为特征聚类方法分离相似行为。
最明显的行为是通过两个互补的机器学习模型学习的,netscope 包装成一个检测模块,部署在 wi-fi 接入点(或其他网络流量收集设备) ,用于轻量级的在线监控用户的活动。
NetScope’s goal is not just to identify the app, but to identify actions within the app, which is impossible via only IP/hostname resolution.
三、NetScope设计
我们没有计算整个事务的行为,而是将其分为行为测量ーー在很小的时间窗内测量流量的行为,5ms的窗口内进行特征计算:
1、Send and Receive Average Inter-Packet Times
反应的是数据包在服务器的发送接受的速率,但是容易受到网络状况的影响
2、Send and Receive Packet Count Ratios measure the ratios of the total number of packets
反应接受和发送的数据包占比
这两个指标可以发现视频和即时通讯的通信模式
3、Packet Size
考虑到数据包大小的分布,将大小范围放在十个不同的范围,也就是数据挖掘的分桶原则
整体流程如上图所示,算法使用数据聚类算法:
将输入的特征使用Kmean算法进行聚类,揭示了一些特定的行为
由于聚类存在指定类别数量的前提,netscope 依赖于一个增量式聚类算法来根据观察到的准确性找到适当数量的聚类,作者实验确定(8/n-4/n)一个范围。
由于一个app activity活动可能会有许多种流量行为模式,Kmean将各种模式识别出来,然后SVM根据各种模式去识别是哪种activity
对于没见多的流量行为模式,经过聚类之后产生矩阵后经过SVM输入概率判断,如果概率太低就认为是未知的流量。
现在估计都是使用孪生网络做度量。
四、实验
效率:在线检测的效率
准确率:各个activity的准确率
设备、操作系统平台的影响:对准确率确实有影响
用户隐私的影响:针对隐私的活动的识别的准确率,HIV程序,约会程序,选举倾向的问题
五、讨论
1、模仿攻击
2、流量混淆防御