英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
让Android用户了解过去和现在的网络流量
Nikhil George和Prabhaker Mateti
Amrita Vishwa Vidyapeetham,Ettimadai,TN 641105,India; 赖特州立大学,代顿,俄亥俄州45435,美国,pmateti@wright.edu
摘要 - 智能手机的大部分时间都花在使用连接到互联网的应用程序上。 现有的的Android不提供网络过滤或监控功能。 安全漏洞和隐私泄漏使我们有必要追踪可能发生在我们背后的网络使用情况。 我们建立了一个“网络监察员”框架服务和一个持续监视和记录网络连接的应用程序,并基于动态过滤为移动设备的防火墙提供了便利。 我们还包括基于云计算的众包(crowd sourcing),可以对应用,IP地址和域名进行信任分类。 网络感知用户可以通过询问有关过去和现在的网络流量的问题来验证信任。 我们正在构建一个新的安全ROM,其他组件大量使用这种新的框架服务。
索引条款-Android; Android框架服务,网络流量监控; 众包; 验证信任; 防火墙; 云服务器; BYOD; 安全漏洞,隐私泄漏。
- 介绍
从仅用于电话和短信的设备中,互联网连接帮助手机演变成我们日常生活中非常需要的设备。
- 网络活动
与桌面PC相比,Android设备是完全联网的设备。 毫不奇怪,智能手机的大部分用途是连接到互联网,以引入社交媒体需求,新闻,天气报告,流量更新,电子邮件,同步数据等。由于其使用情况,网络连接的数量和持续时间很长。 我们经常想知道我们的设备连接了什么? 目前(2017年1月),我们观察到Android没有任何可以回答这个问题的基础设施。 请注意,我们所说的“网络”包括wlan0, eth0, 2G/3G/4G/LTE,蓝牙和NFC。
- 过去的研究活动
这也带来了新的安全问题,即使是计算机科学专业毕业生也需要很长时间才能掌握。所有桌面PC攻击现在都有可能在Android上被使用。隐私泄漏应用程序现在可以上传我们的日常活动,地理位置,银行交易和存储的图片。
智能手机的精明用户希望能够提出问题并提出以下要求。
-
- 我的设备在2017年5月22日下午1点到3点23分之间到底建立了什么连接?
- 有多少链接是www.google.com,它们持续多久?
- 让我看看2017年3月30日至2017年5月21日期间连接到设备的IP地址。
- 当我在GPS位置X,Y,Z时,关闭所有漫游服务。
- 当连接到具有特定SSID的WiFi网络时,阻止应用程序A,B,C访问互联网。
为了充分了解这些问题的严重程度,我们使用云端辅助网络日志记录和过滤机制来管理应用程序产生的网络流量。
- 网络监察员
我们提供网络监控和过滤子系统(第III-A节)作为Android框架服务,持续监控和记录设备上的所有网络活动。该网络监察员具有情境感知能力,并根据地理位置,将连接的无线AP和黑名单的应用程序,IP地址等进行过滤。
- 用户教育
我们还提供开源应用程序(第III-E节),旨在处理(i)实时过程和网络监控以及(ii)关于之前网络的问题。 在我们的应用程序的帮助下,即使是不懂计算机的人也可以通过远程服务器看到他们的设备已经“在他们背后”“说话”。 该应用程序还有助于通过管理黑名单规则和配置基于上下文的过滤规则来自定义防火墙规则。
- 信任的验证
典型的Android用户对设备产生了很大的信任。 目前,Android中没有内置服务机制来验证此信任。 我们在第IV-E节进一步讨论这方面的内容。
- 组织
本白皮书的其余部分组织如下:在第2节中,我们讨论了网络监视和过滤所需的背景以及现有的过滤和监视解决方案。 第3节描述了网络监察员的系统架构。 在第4节我们讨论相关工作。 第5节介绍结果。 未来的工作和结论构成了第6部分。
sl本地地址 rem-address st uid inode 0:0301A8C0:C59A 2EDC3AD8:01BB 01 10036 305440
1:0301A8C0:EAEF E9AFE636:01BB 01 10103 315692
2:0301A8C0:BA96 26DC3AD8:0050 06 0 0
3:0301A8C0:BA95 26DC3AD8:0050 01 10122 313031
表一
ASNIPPET从THEFILES/ proc / net / {tcp,udp,raw}
- 背景
- Linux网络基础设施
Android运行在Linux之上,因此继承了几乎所有的Linux网络基础设施。
虚拟文件系统procfs使内核内部数据结构可供用户空间程序使用。procfs的安装点是/proc。 /proc/net具有文件tcp,tcp6,udp和udp6,它们具有活动连接的详细信息。/proc/uid-stat具有每个用户进程的目录,每个目录包含tcp-rcv和tcp-snd文件,它们提供发送和接收的总tcp流量。/sys/class/net具有与每个网络接口相对应的目录,并且该目录中的每个目录都具有统计目录,该目录具有与该特定设备相对应的网络流量统计信息。
表1显示了文件/proc/net/tcp,udp,raw的一个片段。一些列,例如txqueue:rx-queue,tr:m-gt;when,retrnsmt,uid,timeout,ref,pointer,由于空间原因,就此省略掉。
表格中的每一行(除标题外)都表示一个打开的套接字。sl值是套接字的内核哈希槽,localaddress是本地地址和端口号对。remaddress是远程IP地址和端口号对(如果已连接)。st是套接字的内部状态。
- Linux审计系统
Linux审计系统\跟踪系统中发生的情况。它拥有日志工具并在内核级别运行。Linux审计可以查看文件修改和系统调用。可以设置规则,以便记录任何文件的修改或访问,或记录任何特定系统调用的调用等。auditd是Linux审计系统的用户空间组件。它负责将审计记录写入磁盘。 使用ausearch或aureport实用程序查看日志。
我们可以使用auditd守护进程来监视打开套接字所需的所有系统调用。使用auditctl实用程序完成配置审计规则。将 命令行auditctl -a作为出口,当是-F时, arch = b64
-S connect -k MYCONNECT将在调用连接系统调用时创建日志条目。 以下是firefox进程的日志条目。
type = SYSCALL msg = audit(1422373709.783:557):
arch = c000003e syscall = 42成功=无退出= -101 a0 = 3c a1 = 7f7a9c6bccc0
1http://people.redhat.com/sgrubb/audit/
a2 = 1c a3 = 10项目= 0 ppid = 1988 pid = 19749 auid = 4294967295 uid = 1000 gid = 1000 euid = 1000 suid = 1000 fsuid = 1000 egid = 1000 sgid = 1000 fsgid = 1000 tty =(none)ses = 4294967295 COMM = 444E53205265737E65722023353132
exe=“/usr/lib/firefox/firefox”key=“MYCONNECT”
但审计日志缺乏信息,如目的地和
源IP地址,端口号,协议,连接状态等。因此,审计日志对于网络监控没有用处。
- VPN和iptables
Android继承了Linux的iptables\机制和同名实用程序。Google Play上的许多防火墙应用程序都是精心设计的图形用户界面。根据规则,用户可以根据IP地址或协议设置,以允许或阻止流量。但是这需要root权限,在Android设备上默认不可用。所以,许多用户更喜欢通过iptables使用基于VPN的防火墙,但也因此牺牲了隐私。
这里的一个主要问题是VPN服务器可以看到/捕获来自设备的流量。这是一个严重的隐私问题,因为VPN服务器能够查看不使用HTTPS的站点的登录凭据,甚至篡改传入和传出设备的数据等。
iptables可用于创建所有传入和传出网络连接的日志。 这些日志具有源和目标IP和端口号,但缺少过程信息。 iptables也用于实现过滤。
- Android框架和安全架构
该书[1]在2017年内容仍然很好,它描述了Android内部结构。该书[2]描述了初学者的安全架构。该报告[3]是近期对安全事件的权威性调查。
Android应用程序是为普通用户设计的。Android的OEM厂商部署锁定引导程序,不包括苏二进制文件,方便不允许应用程序可以运行root权限操作。另一方面,每个主要设备和廉价的联发科技设备都可以按照各种论坛发布的程序进行“植根”。
BI.新的ANDROID服务:网络OMBUDSMAN
我们添加一个新的服务,可以回答上述(第I-B)问题和要求。 我们不打算用自然语言来解释这些问题。相反,我们用直观的导航构建了一个应用程序,可以帮助您获得答案。回答这些查询取决于我们是否捕获了所有过去的连接。保留所有过去的数据意味着我们需要将大部分数据移到云存储以保留设备存储空间。我们也要注意,传统的防火墙只处理即将发生的连接。
网络监察员不是入侵检测系统(IDS)。它不是设计本身来检测侵入或侵犯隐私,
2http://linux.die.net/man/8/iptables
\有关最新详细信息,请参阅https://source.android.com
而是通过其他可回溯分析的工具来识别此类事件。
图1.跨越Android层的网络监察员
我们设计并构建了(i)新的Android Framework服务组件和(ii)我们称为NEOM的应用程序(第III-E节)。网络监察员服务的关键组件(图1)是(i)网络监视器,ii)网络过滤器和(iii)云服务器。网络监视器是一个后台框架服务。过滤和众包模块集成到应用程序中,允许用户配置过滤规则,给予评分和查看报告。云服务器存储从设备上传的所有日志并分析恶意活动。如果从日志中推导出任何恶意活动,它还会创建新的过滤规则来阻止应用程序。云服务器还有责任跟踪应用程序的评级,IP地址和域名以及主机名。 这些服务是新的Android ROM的支柱[4]。
- 网络监控模块
图2.网络监控
网络监控后台服务(图2)通过从Linux网络基础架构中读取详细信息并将其记录到平面文件中,从而对所有网络连接进行标记。这些日志会定期上传到云存储服务器。
为了发现每个活动网络连接的拥有者进程,我们寻找由监视服务维护的哈希表。该散列表具有对应于每个索引节点编号的pid和进程名称。一个进程可以有多个可以打开的套接字,因此可以将多个索引节点关联起来。下面显示了散列表中的映射代码片断。
90960: |
[10666, |
com.android.chrome] |
68557: |
[13061, |
com.piazza.android] |
13127: |
[13247, |
com.skype.raider] |
43126: |
[10518, |
com.google.android.apps.plus] |
56555: |
[11725, |
com.google.android.calendar] |
16735: |
[11369, 全文共12641字,剩余内容已隐藏,支付完成后下载完整资料 资料编号:[9719],资料为PDF文档或Word文档,PDF文档可免费转换为Word |
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。