安卓NFC应用程序安全测试

3
如何进行安卓NFC应用的安全测试?是否有任何工具或方法可以用于对在P2P模式或卡模拟模式下进行通信的安卓NFC应用进行安全测试?

什么样的安全测试? - Marc B
1
我认为它被称为“你的大脑,一个嗅探器和一种好的脚本语言”。 - Niklas B.
2个回答

0

存在专门的工具来模拟P2P或标签通信,但这些工具通常非常昂贵。但在你选择这条路之前,考虑一下你想保护NFC应用程序免受哪种安全威胁是有意义的。Android负责所有低级别的NFC通信,因此您的应用程序不需要担心这个问题。同时,NDEF数据的解析也由Android系统完成。因此,我认为大多数事情都由Android系统和您的应用程序处理,您的应用程序不需要担心它。


1
我认为Android默认不提供保护已知的NFC安全漏洞,例如数据修改/插入、窃听、中继攻击等。那么有没有办法测试Android NFC应用程序是否会受到此类攻击的影响呢? - Kaps
好的,我会称之为应用层安全。我认为这并不是针对NFC特定的,因为NFC可能与其他无线技术一样容易受到这些攻击。我们不应该依赖通信链路的安全性来保障应用程序的安全性。我理解你的问题是关于与NFC相关的软件堆栈可能导致的潜在软件问题:消息格式错误、缓冲区溢出等等。Android及其Java环境提供了相当好的开箱即用的保护措施,我想说。 - NFC guy
在P2P模式下,Android应用程序所能做的就是接收NDEF消息并在每个连接中发送单个NDEF消息。因此,在NFC手机之间进行复杂的身份验证协议可能不太可能。可以加密和/或MAC所有NDEF消息的有效负载。由于有限的消息交换,我认为中继检测似乎不太可能。 - NFC guy
卡模拟发生在应用程序的控制之外,由硬件处理。其安全性取决于嵌入式安全元件的安全性(在Nexus S和Galaxy Nexus的情况下,该元件已获得公共标准认证)。 - NFC guy

0

看看这个:http://en.wikipedia.org/wiki/Near_field_communication#Security_aspects

关于你在NFC Guy的帖子中的评论,Android大部分情况下并不会处理它,你需要自己处理大部分问题:

  • NFC连接可以被窃听,没有提供加密,如果您想保护通过NFC连接发送的信息安全,请在应用程序级别进行加密。像Proxmark3这样的设备可以窃听NFC通信:http://proxmark3.com/

  • 数据修改是可能的,但取决于链接的编码...有关此更多信息,请参见维基百科页面,我在这个层面上没有太多知识。

  • NFC连接上可能发生中继攻击,例如这篇论文:http://eprint.iacr.org/2011/618.pdf展示了它们的实际实现,只使用了黑莓和诺基亚手机。您可以尝试使用距离绑定协议或基于位置的协议来检测它们,虽然有些不精确。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接