如何浅谈APP存在的安全问题

1 背景分析

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

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

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

如何浅谈APP存在的安全问题

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

2 手机app的常见安全问题

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

如何浅谈APP存在的安全问题

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

如何浅谈APP存在的安全问题

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

如何浅谈APP存在的安全问题

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

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

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

如何浅谈APP存在的安全问题

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

如何浅谈APP存在的安全问题

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

如何浅谈APP存在的安全问题

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

如何浅谈APP存在的安全问题

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

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

如何浅谈APP存在的安全问题

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

3 安全建议

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

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

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

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

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

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

上述就是小编为大家分享的如何浅谈APP存在的安全问题了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

文章标题:如何浅谈APP存在的安全问题,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/26895

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云
上一篇 2022年9月18日 下午10:48
下一篇 2022年9月18日 下午10:50

相关推荐

  • 2024年9款优质CRM系统全方位解析

    文章介绍的工具有:纷享销客、Zoho CRM、八百客、红圈通、简道云、简信CRM、Salesforce、HubSpot CRM、Apptivo。 在选择合适的CRM系统时,许多企业面临着功能繁多、选择困难的痛点。对于中小企业来说,找到一个既能提高客户关系管理效率,又能适应业务扩展的CRM系统尤为重要…

    2024年7月25日
    2000
  • 数据库权限关系图表是什么

    数据库权限关系图表是一种以图表形式展示数据库权限分配和管理的工具。它可以有效地帮助我们理解和管理数据库中的各种权限关系。数据库权限关系图表主要包含以下几个部分:数据对象、用户(或用户组)、权限类型、权限级别、权限状态等。其中,数据对象是权限关系图表中的核心元素,它代表了数据库中的各种数据资源,如表、…

    2024年7月22日
    200
  • 诚信数据库是什么意思

    诚信数据库是一种收集、存储和管理个人或组织诚信信息的系统。它是一种用于评估和管理个人或组织行为的工具,通常由政府、商业组织或者非营利组织进行运营。诚信数据库的主要功能包括:1、评估个人或组织的诚信状况;2、提供决策支持;3、预防和控制风险;4、促进社会信用体系建设。 在这四大功能中,评估个人或组织的…

    2024年7月22日
    400
  • 数据库期末关系代数是什么

    关系代数是一种对关系进行操作的代数系统,是关系模型的数学基础,主要用于从关系数据库中检索数据。其操作包括选择、投影、并集、差集、笛卡尔积、连接、除法等。其中,选择操作是对关系中的元组进行筛选,只保留满足某一条件的元组;投影操作则是从关系中选择出一部分属性构造一个新的关系。 一、选择操作 选择操作是关…

    2024年7月22日
    700
  • mysql建立数据库用什么命令

    在MySQL中,我们使用"CREATE DATABASE"命令来创建数据库。这是一个非常简单且基础的命令,其语法为:CREATE DATABASE 数据库名。在这个命令中,“CREATE DATABASE”是固定的,而“数据库名”则是你要创建的数据库的名称,可以自己设定。例如,如…

    2024年7月22日
    500
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部