恶意 Android应用程序攻击RFID 支付卡

趋势科技最近侦测 ANDROIDOS_STIP.A的高风险 Android 应用程序。这个应用程序通过论坛和博客散播,可以用来攻击用户的RFID(Radio Frequency
IDentification ——感应式电子芯片)公交卡加以储值。这背后的机制是什么?RFID 支付卡的一般安全风险是什么?

如今通过RFID卡来进行支付变得越来越受欢迎,也有更多移动设备加入NFC(Near Field Communication,近距离无线通信)支持。银行、商家或公共服务都会发行RFID卡给他们的客户,并且可以储值。

RFID卡的安全问题

由于它被广泛地使用,所以RFID卡成为攻击目标也就毫不奇怪。比方说最近智利的Tarjeta bip!卡被攻击事件。这些卡是基于MIFARE的智能卡,MIFARE指的是被广泛用在非接触式智能卡和感应卡的芯片家族。

(MIFARE设备)

查看Android 应用程序的程序代码,趋势科技发现如果它在配有 NFC 的设备上执行,就可以读取和写入这些卡片。恶意应用程序将预先定义好的数据写入卡片,将用户的余额提高到一万智利比绍(约15美元)。此做法只对这一特定卡片有用,因为它依赖于有问题卡片的格式。

该工具作者如何去改写卡片数据而无须正确的验证密钥?这是因为这些卡片是基于旧版的MIFARE系列(MIFARE Classic),它已知有许多安全上的问题。攻击者可以在10秒内复制或修改 MIFARE Classic 卡片,而使用设备(如 Proxmark3)及任何所需支持都可以在网络上买到。

(Proxmark3出售中)

使用被广泛使用的工具,攻击者就能破解卡片的验证密钥。有了破解的密钥和原生支持NFC的Android及设备,就可以轻易地用移动应用程序来复制卡片和增值。

(一张MIFARE Classic卡片的制造商和内存内容)

其他种类的MIFARE卡片(具体来说是MIFARE DESFire和MIFARE Ultralight)上已经有攻击存在。我们所知就至少有三张有问题的卡片:一张带有银行服务功能的社会保障卡,一张用在交通、购物的支付卡和一张餐厅卡,其中社会保障卡大约有 700 万的用户。

(基于MIFARE DESFire的社会保障卡)

餐厅卡使用MIFARE Classic卡片,我们的测试显示适配器片余额可以被变更。其他两张是MIFARE DESFire卡片,可能会受到跨频道(side-channel)攻击。这些卡片的加密系统会在进阶用户的监视下泄露信息,密钥会在7小时之内被取得。如果所提供密钥并非随机,客户卡片可能会被复制或变造,就跟MIFARE Classic卡片一样。或更糟的是,余额也会被具备NFC功能的移动设备所变更。

结论

这些特定MIFARE型号已经停产多年,而且改成更加安全的型号。然而,这些发卡机构似乎都选择了便宜的解决方案,而将他们的客户置于危险之地。

趋势科技建议客户采取措施来保护他们所拥有的RFID卡片,比如应该定期检查账户余额。此外,如果可能的话,应该检查目前所在使用的卡片是否具有漏洞,并回报给他们的供货商。

时间: 2024-08-10 12:37:44

恶意 Android应用程序攻击RFID 支付卡的相关文章

一枚Android恶意锁屏程序分析

一枚Android恶意锁屏程序分析 [文章标题]:一枚Android恶意锁屏程序分析 [文章作者]: Ericky [作者博客]: http://blog.csdn.net/hk9259 [下载地址]: 由于恶意程序,不提供下载 [保护方式]: 无 [作者声明]: 本人水平有限,若有不足错误之处请指正 0x1软件界面: 0x2分析 反编译APK后得到APK类文件目录如下: 进入LockActivity定位到如下地方: 图中红色部分就是重置你的手机开机密码了. Mspmm就是设置的密码. Jb解密

android应用程序签名(转)

概述 Android系统要求,所有的程序经过数字签名后才能安装.Android系统使用这个证书来识别应用程序的作者,并且建立程序间的信任关系.证书不是用于用户控制哪些程序可以安装.证书不需要授权中心来签名:Android应用程序上使用自己签名的证书是完全允许且普遍的. 理解Android应用程序签名有以下几个重要点: 所有的应用程序都必须签名.系统不会安装任何一个不签名的程序. 你可以使用自己的证书来签名.不需要任何授权中心. 当你要为最终用户发布你的应用程序的时候,你必须签入一个合适的密钥.你

Android应用程序通用自动脱壳方法研究

Author: @爱博才会赢 本文为乌云峰会上<Android应用程序通用自动脱壳方法研究>的扩展延伸版. 0x00 背景及意义 Android应用程序相比传统PC应用程序更容易被逆向,因为被逆向后能够完整的还原出Java代码或者smali中间语言,两者都具有很丰富的高层语义信息,理解起来更为容易,让程序逻辑轻易暴露给技术能力甚至并不需要很高门槛的攻击者面前.因此Android应用程序加固保护服务随之应运而生.从一开始只有甲方公司提供服务到现在大型互联网公司都有自己的加固保护服务,同时与金钱相

12个被滥用的Android应用程序权限

Android应用程序须要权限才干正常运作,只是网络犯罪分子会将其用在个人私利上.来看看最常被要求的权限以及它们会怎样被滥用. 1.网络定位功能 这代表什么:同意应用程序通过网络定位(像是基地台或无线网络)来取得大概位置.应用程序开发者能够用它从基于位置的广告获利. 它怎样被滥用:恶意应用程序用它来发动基于位置的攻击或恶意软件.例如说,网络犯罪分子能够将俄罗斯的移动用户导到恶意俄文站点. 须要此权限的应用程序:位置相关应用程序,打卡应用程序 2.全球定位系统 这代表什么:同意应用程序通过全球定位

[转载]Android应用程序通用自动脱壳方法研究

本文转载自: http://drops.wooyun.org/tips/9214 Author: @爱博才会赢 本文为乌云峰会上<Android应用程序通用自动脱壳方法研究>的扩展延伸版. 0x00 背景及意义 Android应用程序相比传统PC应用程序更容易被逆向,因为被逆向后能够完整的还原出Java代码或者smali中间语言,两者都具有很丰富的高层语义信息,理解起来更为容易,让程序逻辑轻易暴露给技术能力甚至并不需要很高门槛的攻击者面前.因此Android应用程序加固保护服务随之应运而生.从

【转】android应用程序签名

概述 Android系统要求,所有的程序经过数字签名后才能安装.Android系统使用这个证书来识别应用程序的作者,并且建立程序间的信任关系.证书不是用于用户控制哪些程序可以安装.证书不需要授权中心来签名:Android应用程序上使用自己签名的证书是完全允许且普遍的. 理解Android应用程序签名有以下几个重要点: 所有的应用程序都必须签名.系统不会安装任何一个不签名的程序. 你可以使用自己的证书来签名.不需要任何授权中心. 当你要为最终用户发布你的应用程序的时候,你必须签入一个合适的密钥.你

Kotlin 编程语言成为其 Android 应用程序开发人员的首选语言

今年 5 月,谷歌在 I/O 大会上宣布,Kotlin 编程语言成为其 Android 应用程序开发人员的首选语言. Kotlin 是一种面向现代多平台应用程序的编程语言,成为谷歌开发 Android 应用程序的首选语言后,许多开发人员逐渐地从 Java 转向 Kotlin.根据最新的一项调查显示,有 62% 的开发人员使用 Kotlin 来构建移动应用程序,另有 41% 的开发人员使用 Kotlin 来构建 Web 后端项目. 而随着 Kotlin 的出现,越来越多的知名组织愈加重视移动应用程

关于Android应用程序漏洞的防护措施

目前,Android应用程序市场的发展速度飞快,不少开发者为了追求开发速度而忽视应用程序的安全.但由于Android系统的开源性及其Java编写的特殊性,各类Android App经常被爆出漏洞,有的Android开发者只是对App进行混淆代码或是防二次打包,对于源码的保护并不到位,同时也不清楚其中所隐藏的漏洞. 腾讯御安全作为一个专注于为个人和企业移动应用开发者提供全面的应用安全服务的平台,其丰富的漏洞特征库,能够全面覆盖已知漏洞,可对99%的安卓APP进行漏洞风险扫描.同时,基于广大用户的漏

Android应用程序签名过程和解析过程分析

在正式解释Android应用程序签名过程之前,作为铺垫,还得先讲讲最基本的一些概念. 非对称加密算法 非对称加密算法需要两个密钥:公开密钥(简称公钥)和私有密钥(简称私钥).公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密:如果用私钥对数据进行加密,那么只有用对应的公钥才能解密.因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法. 非对称加密算法是数字签名和数字证书的基础,大家非常熟悉的RSA就是非对称加密算法的一种实现. 消息摘要算法 消息摘要算法(Mes