这期内容当中小编将会给大家带来有关如何浅谈APP存在的安全问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
创新互联公司长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为龙湖企业提供专业的网站设计、做网站,龙湖网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
互联网时代到来时,人们曾经感慨,一切都在被数字化。而今天,一切都在移动化。在大街小巷民众低头忙着划动屏幕成为一景。据国外权威机构统计,中国智能手机已经占到手机总销量的96%,古老的功能手机,基本上退出了历史舞台。据美国市场研究公司eMarketer最近的一个报告称,权威市调机构Gartner的数据显示,在中国,智能手机在手机中销量的占比位96%,而美国也是96%。换言之,在移动互联网的硬件层面,中国和美国已经在一个水平上。
智能手机的普及随之推动了手机app的快速发展,当前手机app可涉及小到沟通聊天、外卖预定、车票预定、旅游预定、购物、新闻浏览等,大到银行投资理财、医院挂号、支付交易等,一个人的一天活动基本可依赖手机完成。正因为对app的大量普及,很多软件开发商都看到了这块市场带来的利益,随着利益的驱动,各种各样的app层出不穷,app的市场也是鱼龙混杂。速成化的app在安全方面并没有得到很好的保证,进几年通过app泄露个人信息的事件也层出不穷。
通过大数据分析,对当前手机手机上常用app做了统计数表如下:
从图表统计不难看出,几乎每个手机上都安装有聊天、视频娱乐、购物等相关app,那这些app是怎样在手机上工作的呢?又会不知不觉获取手机的哪些信息呢?
伴随着技术的发展,手机的功能还远远不只这些,大数据时代已经到来,智能家居物联网时代也随之而来,此处以安卓app即apk来进行分析,下载任意apk,修改其后缀为tar,即可查看部分apk的相关文件
AndroidManifest.xml为Android应用的入口文件,它主要描述了安装包中暴露的组件、各个类的实现、软件的相关读取权限等。此处获取的AndroidManifest.xml文件的具体内容如下:
通过对AndroidManifest.xml文件的具体分析,可得知当前app获取到的手机权限如下:
其中主要的权限包括允许读取手机状态、允许拨打电话、允许读取联系人、允许修改系统全局设置、允许创建蓝牙连接、允许定位、允许开机自动启动等等相关权限。如果在用户在使用该款app时使用了默认安装模式,那么可能会造成用户相关信息的泄露。
熟悉Android开发的都了解,Android应用有四大组件,即Activity,Service服务,ContentProvider内容提供者,BroadcastReceiver广播接收器。
先来说下activity组件,activity组件之间通信是通过Intent进行通信,为用户操作展示可视化界面,一个Android应用必须通过activity组件来运行和启动。Application之间虽然相互独立,但是可以通过app中的activity组件进行互相通信、调用、访问等,该app的activity组件如下:
通过该apk进行分析可发现,其入口activity组件是com.meiyou.pregnancy.ui.welcome.WelcomeActivity,app在启动时调用 了其他的activity组件,当activity组件可以进行导出时,可被第三方app任意调用,造成敏感信息泄露还可能受到认证绕过、恶意代码注入、页面劫持等风险。
BroadcastReceive使应用对外部事件进行过滤只是对需要的事件进行接收并做出响应,并且其没有用户界面,但是却可以启动一个activity或service来响应收到的信息,使得不同组件或不同应用之间进行通信,首次启动app时,系统会自动实例NotificationProxyBroadcastReceiver,并注册到系统中。对于动态广播,有注册也要有注销,否则会导致内存泄露,并且重放注册和重复注销也是不允许的。
Service服务即后台服务,当使用service服务时,需要在AndroidManifest.xml中声明,本次测试的apk在AndroidManifest.xml中声明如下,
service是独立于activity组件的,在后台执行一些操作,如当需要从服务器定期获取数据时,此时就需要用到service。
除了四大组件中存在安全漏洞,在调用web接口时同样会出现各种web漏洞,如sql注入漏洞、xss漏洞、越权、未授权等相关漏洞,截图为某个app的http请求数据包,通过测试发现其post数据包中含有越权访问的漏洞,可通过某个参数越权查看他人的账户信息。
总之app的漏洞可能出现地方有很多,值得我们关注的地方还有很多,如数据传输过程中是否加密,数据在本地存储中又是否加密、intent启动activity组件是否安全等等。
这么多app,作为普通用户使用者还是没法对app做到安全检测的,那么应该如何去防止个人信息因为app遭到泄露呢?
l 首先建议在正规的渠道去下载app,防止下载到的app被修改编译过,不是原版应用;
l 如果没特殊要求不建议将手机进行root处理;
l 在安装app看好其要求的开放权限,没有必要的权限可进行关闭,如定位、读取手机联系人等;
l 可在手机上安装合适的杀毒软件,定期进行查杀并清理没用的软件、程序包等;
l 定期升级相关app,修复老版本存在的bug。
上述就是小编为大家分享的如何浅谈APP存在的安全问题了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。