浅谈APP存在的安全问题

手机APP常见安全问题及加固建议

1     背景分析

互联网时代到来时,人们曾经感慨,一切都在被数字化。而今天,一切都在移动化。在大街小巷民众低头忙着划动屏幕成为一景。据国外权威机构统计,中国智能手机已经占到手机总销量的96%,古老的功能手机,基本上退出了历史舞台。据美国市场研究公司eMarketer最近的一个报告称,权威市调机构Gartner的数据显示,在中国,智能手机在手机中销量的占比位96%,而美国也是96%。换言之,在移动互联网的硬件层面,中国和美国已经在一个水平上。

智能手机的普及随之推动了手机app的快速发展,当前手机app可涉及小到沟通聊天、外卖预定、车票预定、旅游预定、购物、新闻浏览等,大到银行投资理财、医院挂号、支付交易等,一个人的一天活动基本可依赖手机完成。正因为对app的大量普及,很多软件开发商都看到了这块市场带来的利益,随着利益的驱动,各种各样的app层出不穷,app的市场也是鱼龙混杂。速成化的app在安全方面并没有得到很好的保证,进几年通过app泄露个人信息的事件也层出不穷。

通过大数据分析,对当前手机手机上常用app做了统计数表如下:

图片.png 

从图表统计不难看出,几乎每个手机上都安装有聊天、视频娱乐、购物等相关app,那这些app是怎样在手机上工作的呢?又会不知不觉获取手机的哪些信息呢?

2     手机app的常见安全问题

伴随着技术的发展,手机的功能还远远不只这些,大数据时代已经到来,智能家居物联网时代也随之而来,此处以安卓app即apk来进行分析,下载任意apk,修改其后缀为tar,即可查看部分apk的相关文件

图片.png

AndroidManifest.xml为Android应用的入口文件,它主要描述了安装包中暴露的组件、各个类的实现、软件的相关读取权限等。此处获取的AndroidManifest.xml文件的具体内容如下:

图片.png

通过对AndroidManifest.xml文件的具体分析,可得知当前app获取到的手机权限如下:

图片.png

其中主要的权限包括允许读取手机状态、允许拨打电话、允许读取联系人、允许修改系统全局设置、允许创建蓝牙连接、允许定位、允许开机自动启动等等相关权限。如果在用户在使用该款app时使用了默认安装模式,那么可能会造成用户相关信息的泄露。

熟悉Android开发的都了解,Android应用有四大组件,即Activity,Service服务,ContentProvider内容提供者,BroadcastReceiver广播接收器。

先来说下activity组件,activity组件之间通信是通过Intent进行通信,为用户操作展示可视化界面,一个Android应用必须通过activity组件来运行和启动。Application之间虽然相互独立,但是可以通过app中的activity组件进行互相通信、调用、访问等,该app的activity组件如下:

图片.png

通过该apk进行分析可发现,其入口activity组件是com.meiyou.pregnancy.ui.welcome.WelcomeActivity,app在启动时调用 了其他的activity组件,当activity组件可以进行导出时,可被第三方app任意调用,造成敏感信息泄露还可能受到认证绕过、恶意代码注入、页面劫持等风险。

图片.png

BroadcastReceive使应用对外部事件进行过滤只是对需要的事件进行接收并做出响应,并且其没有用户界面,但是却可以启动一个activity或service来响应收到的信息,使得不同组件或不同应用之间进行通信,首次启动app时,系统会自动实例NotificationProxyBroadcastReceiver,并注册到系统中。对于动态广播,有注册也要有注销,否则会导致内存泄露,并且重放注册和重复注销也是不允许的。

图片.png

Service服务即后台服务,当使用service服务时,需要在AndroidManifest.xml中声明,本次测试的apk在AndroidManifest.xml中声明如下,

图片.png

service是独立于activity组件的,在后台执行一些操作,如当需要从服务器定期获取数据时,此时就需要用到service。

除了四大组件中存在安全漏洞,在调用web接口时同样会出现各种web漏洞,如sql注入漏洞、xss漏洞、越权、未授权等相关漏洞,截图为某个app的http请求数据包,通过测试发现其post数据包中含有越权访问的漏洞,可通过某个参数越权查看他人的账户信息。

图片.png

总之app的漏洞可能出现地方有很多,值得我们关注的地方还有很多,如数据传输过程中是否加密,数据在本地存储中又是否加密、intent启动activity组件是否安全等等。

3     安全建议

这么多app,作为普通用户使用者还是没法对app做到安全检测的,那么应该如何去防止个人信息因为app遭到泄露呢?

l 首先建议在正规的渠道去下载app,防止下载到的app被修改编译过,不是原版应用;

l 如果没特殊要求不建议将手机进行root处理;

l 在安装app看好其要求的开放权限,没有必要的权限可进行关闭,如定位、读取手机联系人等;

l 可在手机上安装合适的杀毒软件,定期进行查杀并清理没用的软件、程序包等;

l 定期升级相关app,修复老版本存在的bug。

关注我们

Tide安全团队正式成立于2019年1月,是以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。

想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.net 或关注公众号:

1551433162_5c78fdca9fae9.jpg

更多精彩
取消
Loading...

填写个人信息

姓名
电话
邮箱
公司
行业
职位
css.php