百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

交易所安全测试(九)丨APP安全 · 上篇

toyiye 2024-09-05 23:59 4 浏览 0 评论


一. 概述

如今,随着人们使用手机,平板等移动端设备上网的时间与频率增加,移动app的发展也是愈来愈迅速。各大交易所在与用户交互的这方面,除了网页浏览以外,也就是移动端的app了。
尽管app时下相当流行,但其安全性却一直没有得到足够的关注。在app安全的领域上,大部分厂商都做得比较初级,很多用户也不具备相对应的安全意识。由此,app也就变成了恶意攻击者的一个有效突破口。
零时科技安全团队在经过大量对app进行的安全测试之后,总结出了一份相对完整有效的测试列表,建议各大交易所以此自查,防患于未然。

二. 测试列表

App安全

  • App 运行时虚拟机监测
  • App 运行时root监测
  • App数据备份检测
  • 代码反编译检测
  • 敏感权限使用
  • 敏感信息泄露
  • 拒绝服务测试
  • 目录穿越安全测试
  • App 缓存安全检测
  • 接口安全测试
  • 弱加密安全测试

三. 案件分析

APP运行时虚拟机检测

零时科技在对某交易所进行发现,该交易app未进行虚拟机运行检测,攻击者在虚拟机中安装运行该app,即可在虚拟机中截取并操作数据包或进行其他有害操作。

APP数据备份检测

零时科技安全团队在对某交易所app进行安全测试时,发现该交易所并未对app进行数据备份检测,安卓AndroidManifest.xml文件中android:allowBackup为true,当这个标志被设置成true或不设置该标志位时,应用程序数据可以备份和恢复,adb调试备份允许恶意攻击者复制应用程序数据。

零时科技安全团队在对某交易所app进行安全测试时,发现该交易所并未对app进行数据备份检测,其AndroidManifest.xml文件中android: allowBackup为true,存在数据任意备份漏洞。

连接手机,然后输入以下备份命令,会出现一个对话窗,输入备份密码即可:

adb backup -nosystem -noshared -apk -f com.xxx.wallet com.xxx.wallet

连接到另一台手机或root的本机,输入下列命令,弹出对话框,输入备份时的密码即可恢复数据

adb restore com

如果用户账号密码保存在本地,则恢复到另一台root的手机后,可以看到各种敏感信息。

零时科技安全团队建议设置AndroidManifest.xml的android:allowBackup标志为false。


代码反编译检测

若app的apk文件可被反编译,就有可能导致源代码信息泄露,攻击者也可对其进行代码审计以找出可能存在隐患的攻击点。

零时科技安全团队对某交易所app进行安全测试时,通过检测apk文件是否通过加固,代码是否通过加密或者混淆,是否可以通过反编译攻击等方面对该app进行测试。发现该apk文件可被反编译,反编译后可以看到java源代码,导致源代码信息泄露。(通过jadx-gui或其他反编译工具可直接操作apk,查看java源代码。)

零时科技安全团队建议,可使用专业加固工具对apk进行加壳处理。

敏感权限使用

目前很多系统在app请求权限这一方面上都不甚敏感,这也是如今移动端并不那么安全的成因之一。很多app都会请求一些敏感的权限,有的甚至会直接绕过,不向用户请求就直接自行取得了权限。而这些app有可能对交易所和用户都产生足够的恶意影响。

零时科技安全团队在对某交易所app进行安全测试时,检测APP程序中是否存在敏感权限的使用,发现确实存在敏感权限使用漏洞。

零时科技安全团队建议,可使用专业加固工具对apk进行加壳处理。

敏感权限如下:

  • android.permision.WRITE_EXTERNAL_STORAGE 允许应用写入外部存储
  • ndroid.permission.READ_PHONE_STATE 允许访问电话状态、设备信息
  • ndroid.permission.CAMERA 允许访问摄像头
  • android.permission.GET_TASKS 允许获取系统应用列表
  • android.permission.MOUNT_UNMOUNT_FILESYSTEMS 允许挂载、反挂载外部文件系统

零时科技安全团队建议禁用不需要的敏感权限。

敏感信息泄露

敏感信息泄露危害极大,如泄露出测试/管理员数据,参数注释信息等。但它又是一种危害虽大却又较容易避免的漏洞,只要开发人员多加注重安全意识即可避免大部分问题。

零时科技安全团队在对某交易所进行安全测试时,查找其 app 程序文件中是否存在敏感信息泄露(如源码中,备份文件中,xml 资源文件中等),发现确实存在敏感信息泄露漏洞,源码中泄露了微信公众号 appid 和 secretkey:

获取token:

随着移动互联网的发展,如今移动设备已与我们的生活息息相关,但其安全性却一直没有得到足够的关注。
时不我待, 于无声处听惊雷,守护移动安全从现在开始。

鉴于文章内容较多,本期内容将分为上、下篇,顺序放送。

相关推荐

# Python 3 # Python 3字典Dictionary(1)

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如...

Python第八课:数据类型中的字典及其函数与方法

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值...

Python中字典详解(python 中字典)

字典是Python中使用键进行索引的重要数据结构。它们是无序的项序列(键值对),这意味着顺序不被保留。键是不可变的。与列表一样,字典的值可以保存异构数据,即整数、浮点、字符串、NaN、布尔值、列表、数...

Python3.9又更新了:dict内置新功能,正式版十月见面

机器之心报道参与:一鸣、JaminPython3.8的热乎劲还没过去,Python就又双叒叕要更新了。近日,3.9版本的第四个alpha版已经开源。从文档中,我们可以看到官方透露的对dic...

Python3 基本数据类型详解(python三种基本数据类型)

文章来源:加米谷大数据Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量就是变量,它没有类型,我们所说的"类型"是变...

一文掌握Python的字典(python字典用法大全)

字典是Python中最强大、最灵活的内置数据结构之一。它们允许存储键值对,从而实现高效的数据检索、操作和组织。本文深入探讨了字典,涵盖了它们的创建、操作和高级用法,以帮助中级Python开发...

超级完整|Python字典详解(python字典的方法或操作)

一、字典概述01字典的格式Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典的每个键值key=>value对用冒号:分割,每个对之间用逗号,...

Python3.9版本新特性:字典合并操作的详细解读

处于测试阶段的Python3.9版本中有一个新特性:我们在使用Python字典时,将能够编写出更可读、更紧凑的代码啦!Python版本你现在使用哪种版本的Python?3.7分?3.5分?还是2.7...

python 自学,字典3(一些例子)(python字典有哪些基本操作)

例子11;如何批量复制字典里的内容2;如何批量修改字典的内容3;如何批量修改字典里某些指定的内容...

Python3.9中的字典合并和更新,几乎影响了所有Python程序员

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

Python3大字典:《Python3自学速查手册.pdf》限时下载中

最近有人会想了,2022了,想学Python晚不晚,学习python有前途吗?IT行业行业薪资高,发展前景好,是很多求职群里严重的香饽饽,而要进入这个高薪行业,也不是那么轻而易举的,拿信工专业的大学生...

python学习——字典(python字典基本操作)

字典Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包含的元素个数不限,值...

324页清华教授撰写【Python 3 菜鸟查询手册】火了,小白入门字典

如何入门学习python...

Python3.9中的字典合并和更新,了解一下

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

python3基础之字典(python中字典的基本操作)

字典和列表一样,也是python内置的一种数据结构。字典的结构如下图:列表用中括号[]把元素包起来,而字典是用大括号{}把元素包起来,只不过字典的每一个元素都包含键和值两部分。键和值是一一对应的...

取消回复欢迎 发表评论:

请填写验证码