admin管理员组文章数量:1534919
2024年6月16日发(作者:)
防火墙顾名思义就是作为内部网与外部网之间的一种访问控制设备, 常常安装在内部
网和外部网交界点上。而网络防火墙是一个位于计算机与它所连接的网络之间的软件。所
有网络通信在计算机里流入流出都要经过防火墙。而防火墙对流经它的网络通信进行扫描,
这样能够过滤掉一些攻击,以免其在目标计算机上被执行。重要的是防火墙还可以关闭不
使用的端口,而且它还能禁止特定端口的流出通信,封锁特洛伊木 马,也可以禁止来自特
殊站点的访问,从而防止来自不明入侵者的所有通信。
智能手机网络防火墙的现状
时下,随着科技迅速发展,智能手机也越来越普及,以及3G网络的快速发展,连4G
都出来服务了,也越来越多的移动用户使用移动智能手机快速上网。于此同时,各类恶意
软件也通过网络来盗取用户手机上的的隐私,甚至以此来控制用户的手机。因此,智能手
机上的防火墙也就应运而生了。
手机与PC端上的环境不同, Android手机上的网络环境相对于PC端没有那么复杂。
因此,现行主流的Android防火墙解决方案都是对手机里的应用设置网络访问权限,而不
会像PC上的防火墙那样提供强大的网络监视、数据包 过滤、端口监控等功能。
Android网络防火墙的几种实现方式
a) Android应用层:敏感函数hook
i. 绝大多数Android应用都是调用Android Framework来实现网络通讯。比如:
l(),e(),e()等。只需穷举
这些类的函数,并将它们都Hook住,这样就可实现拦截上网的功能了。
ii. 当然,如果想要Hook这些函数入口,有两种方式:1. 首先需要获得root权限,
然后通过进程注入,将Client代码注入到应用进程,在进程上网时,应用进程将会发起IPC
请求到Server进程,由Server进程来决定是否允许其访问网络。2. 通过修改应用本身来
加入Hook代码,从而避免了root手机,这样相对比较安全。
iii. 使用函数hook这种方案的优点是:简单、快速、可实现网络热开关(无需杀死进
程)。但缺点是也是有的,它不能拦截所有的网络访问入口。例如:某应用如果没有调用
Android的库,而是自己实现了一个访问网络的库,或者甚至用native代码来实现,那么
这时候这个方案将拦截不到任何的上网请求。
b) Android框架层:ET权限
i. 在Android系统中,任何想访问网络的应用都必须申请
ET权限。当Zygote在fork()一个
中带有这个权限的应用时,这个会将当前应用加到inet组中。而凡是一个进程的gid组中
有inet,那么这个应用就有权限上网。
版权声明:本文标题:Android系统中实现网络防火墙的方法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1718533109a692669.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论