首页 / 应用程序的处理方法、装置、设备及存储介质

应用程序的处理方法、装置、设备及存储介质公开 发明

技术领域

[0001] 本发明涉及计算机技术领域 ,尤其涉及一种应用程序的处理方法、装置、设备及存储介质。

相关背景技术

[0002] 在移动计算工程领域,在移动框架、标准设计方向,仍大规模沿用国际通用现行技术,因而在软件的设计成熟度、安全性方面存在一些安全隐患,在安全方面存在的隐患尤为突出。
[0003] 在相关技术中,对于应用程序的相关数据进行处理时的安全性较低。比如对应用程序的进程数据进行存储时,通常采用顺序存储。例如:在64位系统下,某地址的逻辑内存是0x00000000000到 0xFFFFFFFFFFFFFFFF的顺序存储空间由低到高,从左向右的顺序依次填充内存。这种存储方式使得内存连续而且易于管理,但带来的缺陷同样显而易见,上述内存通过连续的排列使得安全入侵或恶意替换、注入某一段内存变得尤为容易且易于实施,在移动安全领域尤为突出,黑客或者破坏者可以轻松的导出整块内存,从而还原和替换整个函数或整个结构逻辑,使应用程序变得容易被入侵,大大的降低应用程序数据的安全性。
[0004] 因此,在对应用程序的数据处理过程中,如何提高数据存储的安全性,是目前亟待解决的技术问题。

具体实施方式

[0029] 为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030] 首先对本申请中涉及的若干名词进行解析:内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性
C语言基础库,是C编程语言的重要组成部分,为开发者提供了一组通用的、便捷的函数,通过这些函数,可以高效地处理字符串、执行数学运算、管理内存等,包含一组头文件,每个头文件中定义了组相关的函数、宏和类型,标准库的设计目标是为常见的编程任务提供高效、可移植的解决方案。
[0031] 驻留库拟态线程驻留库,是指用于管理和调度后台运行的轻量级线程的库。在多线程编程中,驻留线程(Daemon Thread)是一种特殊类型的线程,它在后台运行,通常不会阻止Java虚拟机(JVM)的退出。当所有用户线程终止时,即使驻留线程仍在运行,JVM也会退出。驻留线程常用于执行一些服务性质的任务,如垃圾回收、监控和定时任务等进程,进程是程序在计算机上的一次执行过程,是操作系统进行资源分配和调度的基本单位。进程作为操作系统结构的基础,承载着程序的运行实例,并在系统资源管理和调度中扮演着核心角色。
[0032] 线程,是进程中的一个实体,是CPU调度和分派的基本单位,它是比进程更小的独立运行的单位。基本定义:线程有时也被称为轻量级进程(Lightweight Process),它是程序执行流的最小单元,由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。线程不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。
[0033] 线程主要特点:线程中的实体基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源。线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。
[0034] 线程相关属性:同一进程中的多个线程之间可以并发执行,甚至允许在一个进程中所有线程都能并发执行;同样,不同进程中的线程也能并发执行。在同一进程中的各个线程,都可以共享该进程所拥有的资源,这首先表现在:所有线程都具有相同的地址空间(进程的地址空间)。
[0035] 实现方式:用户级线程仅存在于用户空间中,内核意识不到多线程的存在。用户级线程的创建、撤销、线程之间的同步与通信功能,都无法利用系统调用来实现。内核级线程建立和销毁都是在内核的支持下运行,由操作系统负责管理,通过系统调用完成的。
[0036] 状态转换:线程有就绪、阻塞和运行三种基本状态。就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在等待处理机;运行状态是指线程占有处理机正在运行;阻塞状态是指线程在等待一个事件(如某个信号量),逻辑上不可执行。
[0037] 在相关技术中,对于应用程序的相关数据进行处理时的安全性较低。比如对应用程序的进程数据进行存储时,通常采用顺序存储。例如:如图1所示,在64位系统下,某地址的逻辑内存是0x00000000000到 0xFFFFFFFFFFFFFFFF的顺序存储空间由低到高,从左向右的顺序依次填充内存。这种存储方式使得内存连续而且易于管理,但带来的缺陷同样显而易见,上述内存通过连续的排列使得安全入侵或恶意替换、注入某一段内存变得尤为容易且易于实施,在移动安全领域尤为突出,黑客或者破坏者可以轻松的导出整块内存,从而还原和替换整个函数或整个结构逻辑,使应用程序变得容易被入侵,会大大的降低应用程序数据的安全性。
[0038] 下面结合图2‑图9描述本发明的一种应用程序的处理方法、装置、设备及存储介质,用以解决现有技术中以连续顺序存储应用进程的应用进程数据安全性较差的缺陷,实现通过以伪随机序列顺序存储应用进程的逻辑地址,进而实现安全存储应用进程的应用进程数据,大大地提高了应用程序的应用进程数据存储的安全性。
[0039] 图2是本发明提供的一种应用程序的处理方法的流程示意图之一,如图2所示,该方法可以包括但不限于步骤S100至S200:S100,在应用程序的应用进程初始化的同时,启动随机拟态输入序列发生器;
S200,基于所述随机拟态输入序列发生器,将所述应用程序的所述应用进程以伪随机序列顺序存储在内存中;其中,所述伪随机序列顺序为利用所述随机拟态输入序列发生器对以初始顺序排列的所述应用进程的逻辑地址进行离散处理确定的。
[0040] 在一些实施例的步骤S100中,在应用程序的应用进程初始化的同时,启动随机拟态输入序列发生器。
[0041] 可以理解的是,在用户的应用程序被调用加载时,首先需要初始化用户应用程序的应用进程,以便根据应用进程加载调用应用程序。那么在对应用进程初始化的同时,启动随机拟态输入序列发生器,以便高效率的将应用程序的数据以伪随机序列顺序存储至内存中。
[0042] 需要说明的是,随机拟态输入序列发生器是一种能够产生伪随机序列的电子设备或算法,在本发明的实施例中,其是独立于内存控制器的随机序列,它可以将顺序排列的逻辑内存,以随机虚拟态的形式分布于内存各处。
[0043] 随机拟态输入序列发生器的主要作用有:1、加密通信:随机拟态输入序列发生器可以用于生成加密密钥序列,用于对通信数据进行加密,保护通信内容的安全性。
[0044] 2、伪随机数生成:随机拟态输入序列发生器可以用于生成伪随机数序列,可以应用在密码学中的伪随机数生成算法、模拟实验、随机化算法等应用中。
[0045] 3、信号处理:随机拟态输入序列发生器可以用于产生具有特定性质的信号序列,如具有较好频谱特性的序列、跳频信号序列等,广泛应用于通信领域、雷达系统、无线电测量等各种信号处理应用中。
[0046] 4、探测器测试:随机拟态输入序列发生器可以用于对数字通信中的接收机进行性能测试,通过与己知正常输入进行比较,可以检测接收机的误码率、误比特率、误帧率等性能指标。
[0047] 在一些实施例的步骤S200中,基于所述随机拟态输入序列发生器,将所述应用程序的所述应用进程以伪随机序列顺序存储在内存中。
[0048] 其中,所述伪随机序列顺序为利用所述随机拟态输入序列发生器对以初始顺序排列的所述应用进程的逻辑地址进行离散处理确定的可以理解的是,应用进程的逻辑地址原本是以初始顺序排列的,但是可以利用随机拟态输入序列发生器对以初始顺序排列的逻辑地址进行离散处理,以确定伪随机序列顺序。伪随机序列顺序存储的顺序为随机确定的,因此以伪随机序列顺序存储安全性更高。
[0049] 在本发明的一些实施例中,所述伪随机序列顺序为利用所述随机拟态输入序列发生器对以初始顺序排列的所述应用进程的逻辑地址进行离散处理确定的,包括:确定所述操作系统的位数;
根据所述操作系统的位数生成初始序列数,并标记以所述初始顺序排列的所述应用进程的逻辑地址;
从所述初始序列数中获取随机数;
利用所述随机拟态输入序列发生器和所述随机数,对标记的以所述初始顺序排列的所述应用进程的逻辑地址进行离散处理,确定所述应用进程的逻辑地址的所述伪随机序列顺序。
[0050] 可以理解的是,首先确定当前操作系统的系统位数,比如,32位的操作系统,那么系统的位数则为32,64位的操作系统,其操作系统的位数为64,若是8位的操作系统,那么操作系统的位数是8。
[0051] 根据操作系统的位数生成初始序列数,以操作系统的位数是8为例,生成一个1到8的序列数,即初始序列数。
[0052] 需要说明的是,利用初始序列数标明逻辑内存中的空闲内存,再通过随机数的形式,每次从初始序列中随机选取一个随机数,根据选取的这个随机数,将对应的应用进程的逻辑地址以及应用进程按照随机数的顺序存储在内存中,这个存储的顺序即伪随机序列顺序。最后通过链表将以伪随机序列顺序存储的应用进程的逻辑地址链接起来,其链接效果如图3所示,使同一连续函数的内存分别离散的存储于内存空间的各个位置,以碎片化的形式进行存储和使用,上述做法就可以使得安全性大大提高。
[0053] 进一步的,即先确定初始序列数,再将未使用的空闲内存标注清楚,空闲内存并非连续区域,再通过确定的随机数,将逻辑地址按照随机数确定的顺序填补非连续区域的空闲内存,从而确定伪随机序列顺序。
[0054] 进一步的,通过随机数的形式将申请的内存以N位块的形式纵向随机排列。其中第1块放置于物理地址最低地址的纵向任意位置,第2块放置于最高地址的纵向任意位置,第3块放置于接近第2块地址的最高地址剩余地址‑N/2的任意位置,第4块放置于接近第1块地址的最低地址剩余地址+N/2的任意位置,依次类推,如图4所示,从而提高数据存储和使用的安全性,可以大大提高入侵者分析以及回归的能力。
[0055] 在本发明的一些实施例中,所述将所述应用程序的所述应用进程以伪随机序列顺序存储在内存中,包括:确定所述内存中的空闲内存;
将所述应用程序的所述应用进程以所述伪随机序列顺序存储在所述空闲内存中。
[0056] 可以理解的是,确定应用程序的应用进程的数据大小,以及应用进程的逻辑地址的大小,根据待存储大小,向操作系统内核申请分配与待存储大小空间相同的空闲内存。操作系统内核在收到请求信息时,会查询内存中的空闲内存,并从内存中的空闲内存中随机选取与请求信息相匹配的内存空间,以用来分配给应用程序,用来存储应用程序的应用进程数据和逻辑地址数据。
[0057] 在确定内存中的空闲内存之后,将所述应用程序的所述应用进程以所述伪随机序列顺序存储在所述空闲内存中。
[0058] 在本发明的一些实施例中,在所述将所述应用程序的所述应用进程以所述伪随机序列顺序存储在所述空闲内存中的同时,所述方法包括:将以所述伪随机序列顺序存储在所述空闲内存中的所述应用进程的逻辑地址通过链表相连。
[0059] 可以理解的是,在所述将所述应用程序的所述应用进程以所述伪随机序列顺序存储在所述空闲内存中的同时,可以通过调用各个逻辑地址的指针,通过指针将以伪随机序列顺序分布存储在空闲内存中的应用进程的逻辑地址链接,以便于查询和管理。
[0060] 在本发明的一些实施例中,在所述将所述应用程序的所述应用进程以伪随机序列顺序存储在内存中的步骤之后,所述方法包括:创建内存镜像发生器,其中,所述内存镜像发生器为在操作系统启动的同时由所述操作系统的内核创建的;
基于所述内存镜像发生器对所述应用进程的应用内存块进行镜像处理,生成至少两组相同的镜像内存块;
其中,所述镜像内存块的存储地址的存储顺序与所述应用内存块的存储地址的存储顺序相反。
[0061] 需要说明的是,内存镜像发生器是在原进程基础上,在内存中的逆序反向的镜像内存组,它由内核创建,以服务作为应用程序的应用内存块的镜像的对比参照内存存在,一般存在2‑3组,以内存逆序镜像的形式存在,当应用程序的内存被黑客进程注入,内存存在更改的情况下,可以通过与运算的形式进行纠错,杜绝了对原进程动态调试造成的安全问题。
[0062] 应用程序在启动过中,操作系统同时派生出两个相同的内存镜像,其逻辑内存在物理内存中存储方式与原内存“镜像对称”且“逆序存在”,即原内存存储地址为从高到低,从左到右,内存镜像为从低到高,从右向左,从而提高应用内存块的安全性,也起到了风险防范的作用。
[0063] 在本发明的一些实施例中,在所述基于所述内存镜像发生器对所述应用进程的应用内存块进行镜像处理,生成至少两组相同的镜像内存块的步骤之后,所述方法包括:在所述应用内存块的每个预设内存更新周期内,所述应用内存块的存储地址分别与所述至少两组相同的镜像内存块的存储地址进行位与运算,得到相应的至少两个运算结果;
将所述至少两个运算结果分别与预设运算结果进行比对处理,得到至少两个比对结果;
在所述至少两个比对结果均相同的情况下,确定所述应用内存块未修改;
在所述至少两个比对结果中存在至少一个不同的情况下,利用至少一组镜像内存块对所述应用内存块进行更新处理。
[0064] 可以理解的是,操作系统设置有时间戳,在设定的预设内存更新周期内,比如,每10分钟对应用内存块进行更新查询一次,以查询应用内存块的数据。在每个设定的预设内存更新周期内,将应用内存块的存储地址分别与所述至少两组相同的镜像内存块的存储地址进行位与运算,得到相应的至少两个运算结果,即如图5所示。
[0065] 为了验证应用内存块的安全性,令应用内存块为A,有两组镜像内存块分别为B1、B2。将A与B1进行位与运算,得到运算结果C1,A与B2进行位与运算,得到运算结果C2。
[0066] 为了提高验证的准确性,防止其中一块镜像内存也被恶意篡改,因此需要设置至少两组相同的镜像内存块,以对至少两个运算结果进行验证。
[0067] 将运算结果C1与预设运算结果进行比对,若是相同,则证明镜像内存块B1未被修改。将运算结果C2与预设运算结果进行比对,若是相同,则证明镜像内存块C2未被修改。
[0068] 当运算结果C1、运算结果C2与预设运算结果相比,均相同的情况下,则证明应用内存块是安全的,未被修改。
[0069] 当运算结果C1、运算结果C2与预设运算结果相比,存在至少一个不同的情况下,则证明应用内存块或者镜像内存块是不安全的,分析出异常原因,判断是镜像内存块被修改,还是应用内存块被修改,若是判定镜像内存块被修改,则删除被修改的异常的镜像内存块,并重新生成一组对应的镜像内存块。若是判定应用内存块被修改,那么立即切断应用内存块与外界的恶意进程链接通信,并利用至少一组正常镜像内存块对所述应用内存块进行更新处理。如此可以持续的高效保护应用程序的应用进程。
[0070] 在本发明的一些实施例中,在所述在应用程序的应用进程初始化的同时,启动随机拟态输入序列发生器的步骤之前,所述方法包括:在所述操作系统的所述内核的系统调用模块与预设的语言基础库模块之间加载拟态线程驻留库;
其中,所述拟态线程驻留库为利用汇编语言编写的,以在所述应用进程与所述操作系统的系统进程之间提供调用接口。
[0071] 需要说明的是,预设的语言基础库可以为C语言基础库。
[0072] 可以理解的是,图6是本发明提供的拟态线程驻留库的位置关系示意图,在本发明的一些实施例中,拟态线程驻留库是在移动端操作系统内核系统调用模块与C语言基础库模块之间加载的另一部分基本库,由纯汇编语言编写,不能由C语言编写,因为C语言编译器在编译以及优化过程中会人为的进行语义优化,而且C语言基础库中某些用户层某些内存相关函数常被黑客利用作为跳转攻击的跳板,存在明显的安全隐患。使用汇编语言书写“拟态线程驻留库”对某些已知需要依赖C语言库进行渗透攻击的框架具备天然的免疫效果,具备安全特性。
[0073] 需要说明的是,拟态线程驻留库通过提供一系列工具和接口来简化和管理这些后台线程的创建、调度和销毁。它可以包含但不限于以下功能:线程创建与管理:提供简便的方法来创建和管理驻留线程,包括设置线程属性和优先级。
[0074] 任务调度:支持对后台任务进行调度,确保它们在适当的时间执行。
[0075] 资源管理:帮助管理线程使用的资源,避免资源泄漏。
[0076] 监控与调试:提供监控工具,以便开发者可以跟踪和调试后台线程的状态和行为。
[0077] 错误处理:实现错误处理机制,确保后台线程在遇到异常时能够正确处理并记录日志。
[0078] 性能优化:通过优化算法和数据结构,提高后台线程的执行效率和响应速度。
[0079] 兼容性:确保库在不同操作系统和Java版本上的兼容性。
[0080] 文档与示例:提供详细的文档和示例代码,帮助开发者快速上手和使用库的功能。
[0081] 总之,拟态线程驻留库旨在提供一个高效、可靠和易于使用的框架,以支持和管理后台运行的轻量级线程,从而提高应用程序的性能和稳定性。
[0082] 在本发明的一些实施例中,在所述在应用程序的应用进程初始化的同时,启动随机拟态输入序列发生器的步骤之前,所述方法还包括:在所述操作系统的所述系统进程初始化的同时,创建线程虚拟化发生器;
其中,所述线程虚拟化发生器为每个所述系统进程生成相应的虚拟线程,以根据所述虚拟线程控制相应的所述系统进程。
[0083] 可以理解的是,在本发明的一些实施例中,线程虚拟化发生器是一块独立的驻留内存,以移动操作系统服务的形式,由内核的初始化进程所创建,属于系统服务进程,独立于应用内存空间。它在原生的内核进程调度单元派生出的进程基础上给每个进程派生出一个线程,以进程虚拟化的方式,派生出的线程独立于原进程内存单元,在进程创建伊始便附着在原进程上,用于独立于进程空间,监测和控制原进程,并担负着通过消息队列与其他进程相互通信的职责。
[0084] 本发明提供的一种应用程序的处理方法、装置、设备及存储介质,通过在应用程序的应用进程初始化的同时,启动随机拟态输入序列发生器;基于所述随机拟态输入序列发生器,将所述应用程序的所述应用进程以伪随机序列顺序存储在内存中;其中,所述伪随机序列顺序为利用所述随机拟态输入序列发生器对以初始顺序排列的所述应用进程的逻辑地址进行离散处理确定的。用以解决现有技术中以连续顺序存储应用进程的应用进程数据安全性较差的缺陷,实现通过以伪随机序列顺序存储应用进程的逻辑地址,进而实现安全存储应用进程的应用进程数据,大大地提高了应用程序的应用进程数据存储的安全性。
[0085] 图7是本发明提供的应用程序的处理方法的流程示意图之二。
[0086] 在本发明的一些实施例中,本发明提供的应用程序的处理方法可以但不限于应用于移动端操作系统,尤其是移动端嵌入式处理器、移动嵌入式操作系统、移动应用开发框架、移动嵌入式编译器、移动应用字节码解释器。
[0087] 在操作系统启动时,内核启动完结抛出第一个进程时,将拟态线程驻留库加载至内存以备操作系统使用。在操作系统1号进程初始化过程中,生成线程虚拟化发生器。在用户应用进程初始化过程中, 启动随机拟态输入序列发生器。
[0088] 随机拟态输入序列发生器将应用程序所申请的内存以随机虚拟态的形式分布于物理内存各处以离散的形式进行排列。它的原则是动态的查询内存中未使用的内存,以纵向的顺序离散存储内存,再通过链表将纵向存储的内存一一串联成有序的整体。
[0089] 通过内存镜像发生器生成原应用程序内存块的两个以上的镜像内存,镜像内存与原应用程序内存镜像对称且逆序存储。镜像内存块与原应用程序内存块进行按位与运算,如原应用程序内存块与两个以上的镜像内存块能够完成位与运算,其模运算余数为0,则认为A应用程序的应用进程未经改动;当不为0时,自动从镜像内存块填充至原应用程序内存,修改因注入攻击所变更的内存并终止进程调试,实现从多个方面提高了应用进程数据的存储和使用的安全性。
[0090] 下面对本发明提供的应用程序的处理装置进行描述,下文描述的应用程序的处理装置与上文描述的应用程序的处理方法可相互对应参照。
[0091] 参照图8所示,本发明还提供一种应用程序的处理装置,包括如下模块:启动模块810,用于在应用程序的应用进程初始化的同时,启动随机拟态输入序列发生器;
存储模块820,用于基于所述随机拟态输入序列发生器,将所述应用程序的所述应用进程以伪随机序列顺序存储在内存中;其中,所述伪随机序列顺序为利用所述随机拟态输入序列发生器对以初始顺序排列所述应用进程的逻辑地址进行离散处理确定的。
[0092] 根据本发明提供的一种应用程序的处理装置,具体还用于创建内存镜像发生器,其中,所述内存镜像发生器为在操作系统启动的同时由所述操作系统的内核创建的;基于所述内存镜像发生器对所述应用进程的应用内存块进行镜像处理,生成至少两组相同的镜像内存块;
其中,所述镜像内存块的存储地址的存储顺序与所述应用内存块的存储地址的存储顺序相反。
[0093] 根据本发明提供的一种应用程序的处理装置,具体还用于在所述应用内存块的每个预设内存更新周期内,所述应用内存块的存储地址分别与所述至少两组相同的镜像内存块的存储地址进行位与运算,得到相应的至少两个运算结果;将所述至少两个运算结果分别与预设运算结果进行比对处理,得到至少两个比对结果;
在所述至少两个比对结果均相同的情况下,确定所述应用内存块未修改;
在所述至少两个比对结果中存在至少一个不同的情况下,利用至少一组镜像内存块对所述应用内存块进行更新处理。
[0094] 根据本发明提供的一种应用程序的处理装置,存储模块820具体还用于所述伪随机序列顺序为利用所述随机拟态输入序列发生器对以初始顺序排列的所述应用进程的逻辑地址进行离散处理确定的,包括:确定所述操作系统的位数;
根据所述操作系统的位数生成初始序列数,并标记以所述初始顺序排列的所述应用进程的逻辑地址;
从所述初始序列数中获取随机数;
利用所述随机拟态输入序列发生器和所述随机数,对标记的以所述初始顺序排列的所述应用进程的逻辑地址进行离散处理,确定所述应用进程的逻辑地址的所述伪随机序列顺序。
[0095] 根据本发明提供的一种应用程序的处理装置,存储模块820具体还用于确定所述内存中的空闲内存;将所述应用程序的所述应用进程以所述伪随机序列顺序存储在所述空闲内存中。
[0096] 根据本发明提供的一种应用程序的处理装置,具体还用于将以所述伪随机序列顺序存储在所述空闲内存中的所述应用进程的逻辑地址通过链表相连。
[0097] 根据本发明提供的一种应用程序的处理装置,具体还用于在所述操作系统的所述内核的系统调用模块与预设的语言基础库模块之间加载拟态线程驻留库;其中,所述拟态线程驻留库为利用汇编语言编写的,以在所述应用进程与所述操作系统的系统进程之间提供调用接口。
[0098] 根据本发明提供的一种应用程序的处理装置,具体还用于在所述操作系统的所述系统进程初始化的同时,创建线程虚拟化发生器;其中,所述线程虚拟化发生器为每个所述系统进程生成相应的虚拟线程,以根据所述虚拟线程控制相应的所述系统进程。
[0099] 本发明提供的一种应用程序的处理方法、装置、设备及存储介质,通过在应用程序的应用进程初始化的同时,启动随机拟态输入序列发生器;基于所述随机拟态输入序列发生器,将所述应用程序的所述应用进程以伪随机序列顺序存储在内存中;其中,所述伪随机序列顺序为利用所述随机拟态输入序列发生器对以初始顺序排列的所述应用进程的逻辑地址进行离散处理确定的。用以解决现有技术中以连续顺序存储应用进程的应用进程数据安全性较差的缺陷,实现通过以伪随机序列顺序存储应用进程的逻辑地址,进而实现安全存储应用进程的应用进程数据,大大地提高了应用程序的应用进程数据存储的安全性。
[0100] 图9示例了一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(Communications Interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行应用程序的处理方法,该方法包括:在应用程序的应用进程初始化的同时,启动随机拟态输入序列发生器;基于所述随机拟态输入序列发生器,将所述应用程序的所述应用进程以伪随机序列顺序存储在内存中;其中,所述伪随机序列顺序为利用所述随机拟态输入序列发生器对以初始顺序排列的所述应用进程的逻辑地址进行离散处理确定的。
[0101] 此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0102] 另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的应用程序的处理方法,该方法包括:在应用程序的应用进程初始化的同时,启动随机拟态输入序列发生器;基于所述随机拟态输入序列发生器,将所述应用程序的所述应用进程以伪随机序列顺序存储在内存中;其中,所述伪随机序列顺序为利用所述随机拟态输入序列发生器对以初始顺序排列的所述应用进程的逻辑地址进行离散处理确定的。
[0103] 又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的应用程序的处理方法,该方法包括:在应用程序的应用进程初始化的同时,启动随机拟态输入序列发生器;基于所述随机拟态输入序列发生器,将所述应用程序的所述应用进程以伪随机序列顺序存储在内存中;其中,所述伪随机序列顺序为利用所述随机拟态输入序列发生器对以初始顺序排列的所述应用进程的逻辑地址进行离散处理确定的。
[0104] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0105] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0106] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页 第1页 第2页 第3页