一种手机支付保护方法

文档序号:7678029阅读:225来源:国知局
专利名称:一种手机支付保护方法
技术领域
本发明涉及计算机安全技术领域,更具体地,本发明涉及一种手机支付保护方法。
背景技术
随着3G用户的不断增长,手机移动支付的便捷性越来越迅速发展,并且潜力巨大,移动支付这一新兴的购物模式不仅是网络购物的延伸,更成为都市年轻人群快节奏生活方式的象征之一。但是,手机支付的一大瓶颈在于手机用户对于这些涉及支付业务安全性的担忧。对于手机用户,病毒是普遍存在的问题,一种典型的攻击模式是向无防备的用户发送包含文件附件的电子邮件,附件包含恶意代码,通过电子邮件诱导用户启用该附件,该附件所携带的攻击代码将修改手机用户的文件或者获得这些文件。另一种是应用程序类病毒,在这些应用程序执行时,来修改用户的文件或者捕获这些文件中所携带的机要信息。对于手机支付的交易过程,其安全性的阶段控制主要可以分为1、服务器端的安全,2、交易数据的传输安全,3、手机本地的安全。对于1和2,可以使用传统的网络交易的安全技术来解决安全性的问题。但对于3,手机本地的安全目前则没有一个可靠的解决方案。手机本地的安全是指用户手机端的安全,主要的安全威胁是1)键盘监听,恶意程序通过监听键盘的输入来获取用户的银行密码等信息;幻非法访问其他应用程序的缓存数据,恶意访问其他应用程序的本地缓存数据,从而达到窃取用户交易信息的目的。

发明内容
为克服现有技术中的上述缺陷,本发明提出一种基于逆向沙箱的手机支付保护方法。根据本发明的一个方面,提出了一种基于逆向沙箱的手机支付保护方法,包括步骤1,根据文件识别策略将安卓手机操作系统上的应用程序进行分类;步骤2,基于逆向沙箱停止非可信任程序并且运行保护程序,保护程序运行结束后,启用非可信任程序。根据本申请的另一个方面,提供一种手机支付保护方法,包括提供一个加密的文件系统,保护程序的所有读写都被重定向到该文件系统。其中,还包括对该文件系统的任何读写都进行加密的存储;利用Ptrace函数来attach该保护程序,截获该保护程序所有的读和写的系统调用;对实际文件系统的路径的调用修改为安全文件系统的路径,继续程序的运行。通过应用本发明,从而实现手机应用程序的本地安全,保证该应用程序在运行过程中既不会被其他应用程序监听,并且应用程序的缓存数据也可以得到保护。


图1示出根据本发明的操作流程示意图。
如图所示,为了能明确实现本发明的实施例的结构或者方法,在图中标注了各种尺寸和框图,但该标注仅为示意需要,并非意图将本发明限定在该特定尺寸下,根据具体需要,本领域的普通技术人员可以将这些尺寸调整、修改,所进行的调整和修改仍然包括在后附的权利要求的范围中。
具体实施例方式下面结合附图和具体实施例对本发明提供的一种基于逆向沙箱的手机支付保护方法进行详细描述。在说明书中提及的“一个实施例”或者“实施例”意味着结合所述实施例描述的特定特征、结构或者特性被包含在本发明的至少一个实施例中。因此,出现在整个说明书中的不同位置的短语“在一个实施例中“不必是都指出现在同一实施例中。以下描述的是以运算算法或者符号表示的方式呈现的,这些算法描述是由技术人员使用的手段,以最有效的方式将工作实质传达给本领域内普通技术人员。在以下描述中, 这些实施例的特征、结构和逻辑可以被包括在其他实施例中。本发明提供为一些存储指令或者运算流程,这些指令或者流程可以在包括手机在内的移动终端上进行编程以执行。在其他实施例中,这些流程步骤可以有用于执行这些步骤的专用硬件组成,或者由电子组件来执行实现。总的来说,针对背景技术中所提及的这些安全威胁,本申请通过所建立的”绿色通道”技术来保证手机客户端的安全。本申请所称之为的绿色通道技术包括两项安全技术 1)基于逆向沙箱的技术,来保证应用程序运行过程中不会被恶意程序监听;幻安全的本地文件系统,来保证其他恶意程序无法通过读取本地缓存数据达到窃取用户信息的目的。在本申请的第一实施例中,提供了基于逆向沙箱的手机支付的安全保护方法。传统的沙箱技术是将某个被监控的程序置于一个隔离的系统环境中,在沙箱中运行包含风险程序的程序。在沙箱中运行风险程序,对真实系统无任何影响。本发明采用的逆向沙箱技术,将关键应用程序放在沙箱外,将非可信任程序置于沙箱中,这些非可信任程序在封闭环境中运行或者停止运行,无法通过系统调用进入内核态,也就无法访问系统资源。这样,正在运行的关键应用程序(例如手机银行的客户端)则自然地运行在一个安全的环境中。本申请的第一实施例的方法包括步骤1,根据文件识别策略将安卓手机操作系统上的应用程序进行分类;步骤2,基于逆向沙箱停止非可信任程序并且运行保护程序,保护程序运行结束后,启用非可信任程序。具体地,在步骤1中,根据文件识别策略将安卓手机操作系统上的应用程序进行分类。在一个实施例中,首先将Android系统上的程序分为可信任程序、非可信任程序和保护程序。其中,可信任程序是指用户可以信任的程序,通常为系统程序,如Android手机系统上自带的一些系统程序,例如短信,通信录等;其中,非可信任程序是指用户不可信任的程序,通常是指用户自行安装的第三方程序,如游戏等;其中,保护程序也就是手机用户要运行的关键程序,需要进行保护的程序,例如手
4机银行的客户端。另外,这三类程序用户可以自行进行配置,如用户可以将一个可信任程序设置为非可信任程序。具体地,在步骤2中,基于逆向沙箱停止非可信任程序并且运行保护程序,保护程序运行结束后,启用非可信任程序。其中,在一个实施例中,在用户运行保护程序之前,扫描当前正在运行的所有进程,对于每个进程,如果该进程属于非可信任程序,则阻止该进程进入操作系统的内核态。由于阻止非可信任的进程进入内核态,这些非可信任的进程也就无法访问任何系统的资源。对于安卓(Android)手机操作系统,可以利用调用ptrace ()系统函数来实现阻止该进程进入操作系统的内核态。具体地,对于每一个非可信任的进程,调用Ptrace (PTRACE_ ATTACH,pid,· · ·)来 attach 上进程,· pid 是进程的 id,然后调用 ptrace (PTRACE_SYSCALL, pid,...),则在下次该进程进行系统调用时会被暂停,不会进入操作系统的内核态。然后,再启动保护程序(如银行的客户端),在现在这种状态下只有保护程序以及可信任的程序可以进入内核态,访问系统资源,从而保证了被保护程序的安全。当用户执行完保护程序,退出保护程序后,逆向沙箱程序在对每个非可信任进程发送命令,允许这些进程进入操作系统的内核态。具体到在Android手机上,对于每一个非可信任的进程,调用ptrace (PTRACE_ DETACH, pid, · · ·)来detach该进程,该进程即可进入内核态。进一步以程序语言描述步骤2的实现过程a)、扫描当前正在运行的所有程序,如果该程序属于非可信任程序,逆向沙箱程序利用ptrace ()系统调用attach上该进程,并且设置PTRACE_SYSCALL,即在下次系统调用前停止该进程;b)、然后,逆向沙箱程序启动保护程序,使得只有保护程序以及可信任的程序可以进入内核态,访问系统资源;C)、当用户执行完保护程序后,逆向沙箱程序在对每个非可信任程序的进程发出 PTRACE_C0NT的命令,允许这些进程执行,然后逆向沙箱程序发出PTRACE_DETACH的命令, detach这些进程,这些程序即可继续运行到内核中。在本发明的另一个实施例中,该技术在内核态进行处理,具体地,在内核中加载一个模块,该模块修改系统调用表,改为自己的系统调用表。内核每次进行系统调用时,检查该系统调用的调用者是否在可信程序列表中,或者是保护程序。如是可信任程序或者保护程序,则允许调用;如果不是,则直接返回,不允许调用。但是各个Android手机的内核版本太多,同时Linux上有模块验证的机制,导致这个解决方案的通用性太差,运行效率上也不如第一实施例中的进程态的逆向沙箱技术。在本申请的第三实施例中,提供一种手机端的文件处理方法,该方法提供一个加密的文件系统,保护程序的所有读写都被重定向到该文件系统。本申请第三实施例的方法包括步骤1,维护一个虚拟的安全文件系统,对该文件系统的任何读写都进行加密的存储;步骤2,利用ptrace函数来attach这个保护程序,截获该保护程序所有的读和写的系统调用;步骤3,此时系统调用的第一个参数为实际文件
5系统的路径,函数将这个常数动态的修改为安全文件系统的路径,然后继续程序的运行。
这样,保护程序就将它写入了安全文件系统,由于此安全文件系统经过加密存储, 从而使得第三方应用程序的缓存数据得到保护。另外保护程序的开发者不用考虑安全文件系统的存在而进行额外的处理,从而减轻了开发者的负担。 进一步地,第三实施例还可以将第一实施例中的处理方式加以结合,在该文件系统的基础上,提供新的手机支付保护方法,该方法包括步骤1,根据文件识别策略将安卓手机操作系统上的应用程序进行分类;步骤2,基于逆向沙箱停止非可信任程序并且运行保护程序,保护程序运行结束后,启用非可信任程序。将Android系统上的程序分为可信任程序、非可信任程序和保护程序,可信任程序是指诸如系统程序的用户信任的程序;非可信任程序是指用户自行安装的第三方程序; 保护程序是手机用户要运行的诸如手机支付客户端的关键程序。对于上述步骤1和2的处理过程,可以参考第一实施例的流程和参数,此处不再赘述。在根据本申请的第四实施例中,可以将第一实施例和第三实施例进行另一种有机的组合,其中一种方式提供是一种基于逆向沙箱的手机支付保护方法,包括步骤1,根据文件识别策略将安卓手机操作系统上的应用程序进行分类;步骤2,基于逆向沙箱停止非可信任程序并且运行保护程序,保护程序运行结束后,启用非可信任程序;在该方法中提供一个加密的文件系统,保护程序的所有读写都被重定向到该文件系统,对该文件系统的任何读写都进行加密的存储;利用Ptrace函数来attach该保护程序,截获该保护程序所有的读和写的系统调用;对实际文件系统的路径的调用修改为安全文件系统的路径,继续程序的运行。具体地,在实施例4中,对步骤1和2的详细描述可以参考第一实施例和第三实施例,此处不再赘述。最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对本技术方法进行限制,本发明在应用上可以延伸为其他的修改、变化、应用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本发明的精神和教导范围内。
权利要求
1.一种手机支付保护方法,包括提供一个加密的文件系统,保护程序的所有读写都被重定向到该文件系统。
2.权利要求1所述的方法,其中,还包括对该文件系统的任何读写都进行加密的存储;利用Ptrace函数来attach该保护程序,截获该保护程序所有的读和写的系统调用;对实际文件系统的路径的调用修改为安全文件系统的路径,继续程序的运行。
3.权利要求1所述的方法,其中,还包括步骤1,根据文件识别策略将安卓手机操作系统上的应用程序进行分类;步骤2,基于逆向沙箱停止非可信任程序并且运行保护程序,保护程序运行结束后,启用非可信任程序。
4.权利要求3所述的方法,其中,步骤1中,将Android系统上的程序分为可信任程序、 非可信任程序和保护程序。
5.权利要求4所述的方法,其中,在步骤1中,其中,可信任程序是指诸如系统程序的用户信任的程序;非可信任程序是指用户自行安装的第三方程序;保护程序是手机用户要运行的诸如手机支付客户端的关键程序。
6.权利要求4所述的方法,其中,步骤1中,用户可自行配置可信任程序、非可信任程序和保护程序。
7.权利要求3所述的方法,其中,步骤2中,在用户运行保护程序之前,扫描当前正在运行的所有进程,对于每个进程,如果该进程属于非可信任程序,则阻止该进程进入操作系统的内核态。
8.权利要求7所述的方法,其中,步骤2中,对于安卓手机操作系统,利用调用 PtraceO系统函数来实现阻止该进程进入操作系统的内核态,对于每一个非可信任的进程,调用ptrace (PTRACE_ATTACH, pid,· · ·)来attach该进程,· pid是进程的id,然后调用 ptrace (PTRACE_SYSCALL, pid,...),则在下次该进程进行系统调用时会被暂停,不会进入操作系统的内核态。
9.权利要求8所述的方法,其中,步骤2中,然后启动保护程序,进入内核态,访问系统资源。
10.权利要求3所述的方法,其中,步骤2包括扫描当前正在运行的所有程序,如果该程序属于非可信任程序,利用PtraceO系统调用attach上该进程,并且设置PTRACE_SYSCALL,在下次系统调用前停止该进程;启动保护程序;当用户执行完保护程序后,在对每个非可信任程序的进程发出PTRACE_C0NT的命令, 允许这些进程执行;然后发出PTRACE_DETACH的命令,detach这些进程。
全文摘要
本发明提供一种手机支付保护方法,包括提供一个加密的文件系统,保护程序的所有读写都被重定向到该文件系统;对该文件系统的任何读写都进行加密的存储;利用ptrace函数来attach该保护程序,截获该保护程序所有的读和写的系统调用;对实际文件系统的路径的调用修改为安全文件系统的路径,继续程序的运行。
文档编号H04L29/06GK102222292SQ20111013938
公开日2011年10月19日 申请日期2011年5月27日 优先权日2011年5月27日
发明者陈彪 申请人:北京洋浦伟业科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1