解锁Android设备所带来的安全风险——由支付宝关闭手势密码想到的




支付宝在9.0版本中关闭了手势密码功能,网上一片骂声。很多人都在担心在没有手势密码的情况下能不能够保障自己的资金安全。我跟小伙伴们讨论了一晚上,得出如下的结论:

在以下三种条件同时成立的情况下:

  1. Android设备已解锁Bootloader
  2. 不法分子可以物理接触你的设备(例如丢失或被盗)
  3. 没有开启加密

你的设备中的所有信息都可以被轻易获取。

所以说,不要相信一部解锁了Bootloader的Android的安全性,包括锁屏密码在内的一切保护措施都只是一层窗户纸。

警告:本文仅用于学习、研究及测试,请勿使用本文所述内容进行违法活动。

比如我拿锁屏密码来举例,首先

  1. 检查设备是否开启了root或adb,以及是否对adb授予了root权限。如果没有则检查第二项;有则进入下一步。
  2. 检查设备是否有一个可用的第三方Recovery(例如TWRP或CWM)。如果没有则通过fastboot刷入一个;有则进入下一步。

将设备连到电脑,如果是在Recovery模式下记得挂载/data分区,打开adb shell,删除/data/system/*.key,重启之后在锁屏界面画任意图案即可解锁设备。

adb shell
su
rm  /data/system/*.key

没错,就是这么简单。这个方法我在Android4.3上测试成功,更高版本我没有试过。不过这种方法即使在更高版本上不可行,我们也可以换种思路,比如将一个预设的手势密码写入到上述的key文件中,像这个网页中所说的那样:Android Forensics: Cracking the Pattern Lock Protection

像是/sdcard中的文件就更简单了,一般只需要把设备在fastboot模式插上电脑,就可以用MTP协议读取其中的文件。

像支付宝这样的应用虽然有很多层安全措施,但是谁也不能保证万无一失,况且,在得到了手机里面的信息之后,也更容易从社会工程学方面攻破。

如何防范

  1. 保管好你的手机。因为上述的方法都建立在可以物理接触设备的前提下。这是最根本的。
  2. 使用加密。这是绝对保险的方法,但是会明显降低性能。
  3. 在手机丢失后第一时间通过Android设备管理器等擦除数据。这会降低你找回手机的几率,但是能够最大限度地避免更大的损失。
  4. 如果必要,将设备重新上锁,并且保管好解锁码。

题外话

看到这你可能会想,直接给Recocery设个密码不就好了——我开始也是这么想的,然而市面上没有一款Recovery有这样的功能。原因请看这里:Why doesn’t TWRP have password protection?

没有任何方法能够对抗对你的设备的物理侵入。如果你丢失了你的设备,那么TWRP也保不了你。

……

对于一个稍微有些常识的人来说,绕过这些安全措施是十分容易的。他们只需要刷入一个不支持密码保护的Recovery就可以绕过它。

 




Posted

in

by

Comments

发表回复/Leave a Reply

您的电子邮箱地址不会被公开。/Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.