分享好友 最新动态首页 最新动态分类 切换频道
Android防火墙实现手机防火墙「Android防火墙实现」
2025-02-24 09:04
  1. 智能手机网络防火墙的现状

随着智能手机越来越普及,以及3G网络的快速发展,越来越多的用户使用手机上网冲浪。于此同时,各类恶意软件也通过网络来盗取用户手机上的的隐私,甚至控制用户的手机。因此智能手机上的防火墙应运而生。 与PC上的环境不同, Android手机上的网络环境相对没有那么复杂。因此现行主流的Android防火墙解决方案都是对手机里的应用设置网络访问权限,而不会像PC上的防火墙那样提供强大的网络监视、数据包过滤、端口监控等功能。

  1. Android网络防火墙的几种实现方式 a) Android应用层:敏感函数hook i. 绝大多数Android应用都是调用Android Framework来实现网络通讯。例如:WebView.loadUrl(),HttpClient.execute(),DefaultHttpClient.execute()等。只需穷举这些类的函数,并将它们都Hook住,就可实现拦截上网的功能了。 ii. 当然想要Hook这些函数入口,有两种方式:1. 首先获得root权限,然后通过进程注入,将Client代码注入到应用进程,在进程上网时,应用进程将会发起IPC请求到Server进程,由Server进程来决定是否允许其访问网络。2. 通过修改应用本身来加入Hook代码,从而避免了root手机,相对比较安全。洗大师就是使用了这种方法。 iii. 这种方案的优点是:简单、快速、可实现网络热开关(无需杀死进程)。缺点是:不能拦截所有的网络访问入口。例如:某应用没有调用Android的库,而是自己实现了一个访问网络的库,或者甚至用native代码来实现,那么这时候这个方案将拦截不到任何的上网请求。

b) Android框架层:android.permission.INTERNET权限 i. 在Android系统中,任何想访问网络的应用必须申请android.permission.INTERNET权限。当Zygote在fork()一个AndroidManifest.xml中带有这个权限的应用时,会将当前应用加到inet组中。凡是一个进程的gid组中有inet,那么这个应用就有权限上网。 ii. 因此禁止应用上网有两种方式:1. 修改应用的AndroidManifest.xml,使其没有android.permission.INTERNET权限。2. 获得root权限,然后注入zygote进程,使其在fork()之后,不要将inet设到应用的gid组中。 iii. 这个方案相对于第一个方案来说,它可以彻底的屏蔽一个应用上网。实现起来也不复杂,但是gid组一旦设定后,应用进程将再无权限修改。因此被禁止掉上网权限的进程,想要再次获得上网权限,则必须杀死,然后重新由zygote进程fork()生成。

c) Linux内核层:iptables i. 在Linux内核中,NetworkFilter在TCP/IP的协议栈中加了相应的Hook。通过这些Hook我们可以对网络数据包可以进行过滤,丢弃,修改等。但直接使用起来相对麻烦。幸好Linux给我们提供了一个强大的工具:iptables来简化这一过程。Iptables是一个Linux命令,通过这个命令,可以对整个系统发出去的包,接收到的包,以及转发的包进行拦截,修改,拒绝等操作。具体起使用方法,这里不再展开,有兴趣的朋友可以自行到网上搜索相应的资料即可。 ii. Iptable不仅可以按照uid来禁用应用上网,还可以分别禁用某个uid的3G上网和Wifi上网。这给用户带来的极大的方便。 iii. 这个方案的优点是,不需要进程注入,所以实现起来相对简单。同时能够将3G网络和Wifi网络分别禁用,用户体验将更加好。此外由于iptables的功能远不止这些,基于iptables可以实现功能更加强大的防火墙。Iptable虽然好,但是也是有缺点的,运行iptables需要root权限。基于iptables的Android防火墙目前有许多,这里有一个开源的项目http://code.google.com/p/droidwall/ 有兴趣的朋友,可以研究一下。目前主流安全软件的联网拦截功能,如360手机卫士,手机毒霸等都是使用这一方案。

  1. 总结 以上主要介绍了通过三个层面来控制一个应用的上网。具体使用哪一种,需要看用户的需求,以及手机的系统环境而定。 a) 如果不能获得root权限,基本思路就是定制修改apk,可以考虑加入hook代码,或者是压根在AndroidManifest.xml里将android.permission.INTERNET权限去除。 b) 如果能获得root权限,可以考虑注入zygote,使之fork()之后不加入inet组,还可以注入应用进程加上敏感函数的hook。此外还可以使用iptables命令。 c) 如果用户希望不杀死进程就实现上网权限的开关,并且要求可以分别禁用3G网络和Wifi网络的话,那么非iptables不可了。

其实比较下来,还是基于iptables的方案相对较好。它似乎只有一个缺点就是需要root权限。但大家又知道一旦手机被root以后,安全性反而将大大降低。我们可否找到一种手机既不被root,又能使用iptables的方案呢

其实是有的。只是这无法通过第三方的应用实现。必须有手机厂商对Android系统进行定制化修改,添加一个具有root权限的service来负责iptables命令的操作。其他进程只有向这个service提出请求,才能间接调用iptables。当然app应用要和这个service沟通,必须遵循一定的协议和获得相应的授权才行,否则又会变的不安全了。

我们 @安卓安全小分队 已经实现了上述方案,并且效果还不错。我们在init.rc里添加了一个service,并且授予这个service root权限。这个service起来之后,会等待client端请求。对于这个client端,我们对外提供了一套SDK,应用程序只需调用这套SDK API就可以和这个root service进行通信了,然后就可以间接执行iptables命令。

最新文章
“好生态能换钱,逐渐成了共识”
本报记者 鲜 敢格林村与远处的雪山、近处的森林共同构成一幅生态画卷。黄家斌摄在西藏自治区墨脱县甘登乡,有一个叫“格林”的小山村。这里的春天,桃花竞相开放,森林茂密幽深,云海翻涌,雪山矗立,当地群众的生活更是比蜜甜。 从墨脱县
独家|专访F1 CEO多梅尼卡利:从赛道到荧幕 75岁F1讲述新故事
本报记者 尹丽梅 张硕 北京报道在2025赛季世界一级方程式锦标赛(F1)中国大奖赛落幕不久,F1主席兼CEO斯蒂法诺·多梅尼卡利(Stefano Domenicali),这位身上有着很多光环的传奇人物接受了《中国经营报》记者的专访。多梅尼卡利从2021年1
AI方大同、开设收费“纪念音乐会”,赋音乐维权
3月31日,赋音乐接连发布公告进行维权。其一是针对短视频平台中有一账号疑似利用方大同ai独白散布不实信息,操纵舆论,误导大众,其内容包含大量不实信息,对方大同造成不良影响,赋音乐向平台提起侵权投诉。其二是再度提示粉丝官方目前并
vivo Y37 远山青 6GB+128GB 天玑6300八核 双卡5G 5000毫安大电池 15W闪充 1300万影像手机参数vivoy37手机多少钱「vivo Y37 远山青 6GB+128GB
详细参数品牌:vivo型号:vivo Y37上市时间(日):2024-07-11入网许可证号:00-B220-241673整机质保年限:1年机身内存:128GB运行内存:6GB屏幕尺寸:6.56英寸屏幕分辨率:1600x720屏幕材质:LCD屏幕类型:全面屏屏幕前摄组合:水滴
从春晚舞台到消博会,宇树科技为何说机器人普及将不是梦?
当“AI孙悟空”作为中国馆唯一大模型展项,在日本大阪·关西世博会为全球游客提供中、日、英三国语言幽默问答和智慧导览时,这两天的海口,科大讯飞同样以国产自主可控讯飞星火大模型,向世界展示中国科技创新的先锋力量。第五届中国国际消
2025年粤港澳大湾区羽毛球混合团体赛即将开赛
记者4月9日获悉,2025年粤港澳大湾区羽毛球混合团体赛(宝安总决赛)将于4月19日至20日在深圳宝安体育馆举行,广州、深圳、珠海、佛山、惠州、东莞、中山、江门、肇庆以及香港、澳门等11个城市的24支羽毛球精英队伍将齐聚深圳,共同赛出湾
手机数据恢复管家手机短信一键恢复「手机数据恢复管家」
手机数据恢复管家是一款手机上照片恢复及数据库管理类软件工具。不用申请注册,专注于对于开展数据化管理。一键扫描仪迅速恢复手机拍摄的图片,相册图片中查询太大图的恢复几率更高一些,找回手机图片,文档,视频。归类展现图片,文档,视
激光雷达、高阶智驾都是基操?这款中大型SUV,还有车载无人机
如今我国汽车市场上,新能源汽车逐渐成为主流,各种新能源车型得到消费者喜爱,汽车市场的发展呈现“智能化”的特点。什么是智能化?在很多消费者的眼里,除去车辆座舱内部,需要搭载大尺寸屏幕,支持各种智能互联功能之外,还要搭载丰富的
OPPO手机的差异化营销策略分析 .pdf手机营销「OPPO手机的差异化营销策略分析 .pdf」
新校园百家讲坛OPPO手机的差异化营销策略分析 何 迪 潘 婷 (通化师范学院工商管理学院,吉林 通化 134001) 摘要:我国手机市场发展迅速,一直处于销量上升趋势。在手机市场竞争愈发激烈的情况下,差异化营销的地位日益突出。以手机市
什么样的手机壳更适合你呢?你必须了解的手机壳材质!手机壳什么材质的好「什么样的手机壳更适合你呢?你必须了解的手机壳材质!」
​​从聚碳酸酯(PC)的坚韧与透明,到硅胶的柔软与耐用,再到金属的高档与风格,手机壳的材质丰富多样,每一种都有其独特的特点与优势。那么怎样更适合呢?不妨看看下面手机壳优缺点!选购适合你的那款手机壳! ​聚碳酸酯 优点:耐冲击
相关文章
推荐文章
发表评论
0评