发明内容
基于此,有必要提供一种能提高安全性的移动终端中程序运行的方法。
此外,还有必要提供一种能提高安全性的移动终端中程序运行的装置。
一种移动终端中程序运行的方法,包括如下步骤:
对移动终端中触发启动的程序进行静态检测,并判断所述程序是否为可疑程序,若否,则
进行虚拟化处理得到介于所述程序和操作系统之间的中间层;
通过所述中间层启动运行所述程序。
在其中一个实施例中,所述进行虚拟化处理得到介于所述程序和操作系统之间的中间层的步骤为:
分配独立存储区域,并在所述独立存储区域中创建中间层。
在其中一个实施例中,所述通过所述中间层启动运行所述程序的步骤为:
在所述中间层启动所述程序,执行所述程序中的操作;
在所述执行的操作中对超范围操作进行权限验证,判断所述超范围操作是否为可疑操作,若否,则
将所述超范围操作重定向到所述中间层。
在其中一个实施例中,所述在所述执行的操作中对超范围操作进行权限验证的步骤之前还包括:
根据静态检测结果配置所述程序的运行权限;
所述在所述执行的操作中对超范围操作进行权限验证,判断所述超范围操作是否为可疑操作的步骤为:
根据所述运行权限获取所述超范围操作的安全级别,并通过所述安全级别判断所述超范围操作是否为可疑操作,若否,则进入所述将所述超范围操作重定向到所述中间层的步骤,若是,则
拒绝执行所述超范围操作。
在其中一个实施例中,所述将所述超范围操作重定向到所述中间层的步骤为:
创建临时存储区,在所述临时存储区中执行所述超范围操作。
在其中一个实施例中,所述根据静态检测结果配置所述程序的运行权限的步骤之后还包括:
监控所述程序中操作的执行生成历史记录;
根据所述历史记录动态调整所述程序的运行权限。
一种移动终端中程序运行的装置,,包括:
静态检测模块,用于对移动终端中触发启动的程序进行静态检测,并判断所述程序是否为可疑程序,若否,则通知虚拟模块;
所述虚拟模块用于进行虚拟化处理得到介于所述程序和操作系统之间的中间层;
运行模块,用于通过所述中间层启动运行所述程序。
在其中一个实施例中,所想虚拟模块还用于分配独立存储区域,并在所述独立存储区域中创建中间层。
在其中一个实施例中,所述运行模块包括:
操作执行单元,用于在所述中间层启动所述程序,执行所述程序中的操作;
验证单元,用于在所述执行的操作中对超范围操作进行权限验证,判断所述超范围操作是否为可疑操作,若否,则通知重定向单元;
所述重定向单元用于将所述超范围操作重定向到所述中间层。
在其中一个实施例中,所述运行模块还包括:
权限配置模块,用于根据静态检测结果配置所述程序的运行权限;
所述验证单元还用于根据所述运行权限获取所述超范围操作的安全级别,并通过所述安全级别判断所述超范围操作是否为可疑操作,若否,则通知所述重定向单元,若是,则拒绝执行所述超范围操作。
在其中一个实施例中,所述重定向模块还用于创建临时存储区,在所述临时存储区中执行所述超范围操作。
在其中一个实施例中,所述运行模块还包括:
监控单元,用于监控所述程序中操作的执行生成历史记录;
权限调整单元,用于根据所述历史记录动态调整所述程序的运行权限。
上述移动终端中程序运行的方法和装置,对移动终端中触发启动的程序进行静态检测,禁止可疑程序启动,将通过检测的程序在虚拟得到的中间层中启动运行,从而使得运行中的程序即使出现问题也不会影响操作系统的正常运行,提高了安全性,并且具备较佳的扩展性。
具体实施方式
如图1所示,在一个实施例中,一种移动终端中程序运行的方法,包括如下步骤:
步骤S10,对移动终端中触发启动的程序进行静态检测,并判断程序是否为可疑程序,若否,则进入步骤S30,若是,则结束。
本实施例中,程序为以移动终端为运行环境,即将在移动终端中运行的各种命令序列。对于移动终端中触发启动的程序,获取程序特征进行静态检测以判定该程序是否为可疑程序。程序特征可以是程序标识、安装包命名等。若触发启动的程序被判定为可疑程序,则说明该程序属于病毒或者其它形式的恶意程序,一旦运行将会对移动终端的操作系统造成安全性影响,因此需对禁止运行触发启动的程序;若触发启动的程序没有被判定为可疑程序,则在移动终端中运行该程序。
具体地,对程序所进行的静态检测可利用原有的特征数据库实现。例如,可通过病毒引擎进行扫描,将获取的程序特征与病毒引擎的病毒特征库进行比对,判断该程序特征是否为病毒特征库中的病毒特征,若是,则判定该程序为病毒,因此需禁止其启动运行。此外,静态检测还可以根据程序中执行的操作进行可疑程序的检测。
步骤S30,进行虚拟化处理得到介于程序和操作系统之间的中间层。
本实施例中,运用虚拟技术在程序和操作系统之间虚拟出中间层,该中间层即为沙箱,是在操作系统上模拟出来的一个受限的安全环境,使得运行于其中的程序不会对操作系统造成破坏。
在一个实施例中,上述步骤S30的具体过程为分配独立存储区域,并在独立存储区域中创建中间层。
本实施例中,根据移动终端的内存资源分配独立存储区域,在分配的独立存储区域中按照一定的安全策略设定中间层所允许执行的程序操作,从而控制程序运行过程中的可疑操作。
步骤S50,通过中间层启动运行程序。
本实施例中,在中间层这一独立存储空间运行触发启动的程序,在运行的过程中若产生程序运行出错或者其它问题,则可将其终止,并进行清理即可,保障了操作系统的稳定运行,进而提高安全性。
如图2所示,在一个实施例中,上述步骤S50的具体过程为:
步骤S510,在中间层启动程序,执行程序中的操作。
本实施例中,启动程序,使得程序在中间层按照其逻辑执行操作,所执行的操作为访问、读写操作系统所拥有的资源,例如,访问网络驱动、从网络接口中读取网络数据、读取操作系统或SIM卡(Subscriber Identity Module客户识别模块)中的联系人信息、读取系统收发信息的信息以及读写操作系统文件服务器等。
步骤S530,在执行的操作中对超范围操作进行权限验证,判断超范围操作是否为可疑操作,若否,则进入步骤S550,若是,则结束。
本实施例中,超范围操作为程序运行过程中不属于中间层所允许执行的程序操作,是中间层这一独立存储空间之外的区域和资源所进行的各种访问操作。这一类超范围操作存在着安全风险,需要对其进行权限验证,以判定超范围操作是否为可疑操作,通过权限验证为移动终端中程序的运行提供可验证的安全环境。
在另一个实施例中,上述步骤S530之前还包括根据静态检测结果配置程序的运行权限的步骤。
本实施例中,程序的运行权限表征了程序在中间层的操作权限,根据静态检测过程中所获知的安全性进行配置得到。
上述步骤S530的具体过程为:根据运行权限获取超范围操作的安全级别,并通过安全级别判断超范围操作是否为可疑操作,若否,则进入步骤S550,若是,则拒绝执行超范围操作。
本实施例中,通过运行权限可以获取程序中每一操作所对应的安全级别,也就是说,在一定的运行权限下所执行的操作均有对应的安全级别,进而通过安全级别对超范围操作进行判定,若根据安全级别获知执行的操作为超范围操作,则应禁止该操作的执行,以保证安全性。对于禁止执行的操作,还将返回警告提醒信息,从而向用户反馈程序中的运行状况。
在程序运行过程中根据运行权限来判定即执行的操作是否为可疑操作,实现了对程序运行的实时监控,进而提供持久的安全保障。
如图3所示,在另一个实施例中,上述根据静态检测结果配置程序的运行权限的步骤之后还包括如下步骤:
步骤S301,监控程序中操作的执行生成历史记录。
本实施例中,历史记录为中间层中对运行程序的操作和数据进行记录,可用于回溯查询程序行为,以及中间层的反馈输入,对中间层所设定的可允许执行的操作进行调整。
步骤S303,根据历史记录动态调整程序的运行权限。
本实施例中,根据历史记录中所记录的操作和数据修改运行权限,例如,记录的禁止操作为修改用户数据的操作,根据这一记录的禁止操作调整程序的运行权限,以使得运行的程序中若发生修改用户数据的操作,便将该操作列为可疑操作,进一步保证了操作系统的安全性。
此外,生成的历史记录中,还可将记录的禁止操作更新到静态检测过程中应用的特征数据库,进一步提高了静态检测的精确度。
步骤S550,将超范围操作重定向到中间层。
本实施例中,超范围操作允许执行时,采用重定向技术将超范围操作重定向到中间层的某一区域,这一过程对运行的程序而言是透明无差别的,不会影响该程序的正常稳定运行。
在一个实施例中,上述步骤S550的具体过程为:创建临时存储区,在临时存储区中执行超范围操作。
本实施例中,在中间层这一独立存储空间创建临时存储区,例如,在独立存储空间创建一个临时文件夹或者内存区域,进而将超范围操作放置于临时存储区中执行,若超范围操作为恶意操作,则终止执行,并进行清理,有效避免了恶意操作所造成的损害。例如,超范围操作为修改移动终端通讯录中的联系人信息,则将联系人信息复制到临时存储区,超范围操作对临时存储区中的联系人信息进行修改。
如图4所示,在一个实施例中,一种移动终端中程序运行的装置,包括静态检测模块10、虚拟模块30以及运行模块50。
静态检测模块10,用于对移动终端中触发启动的程序进行静态检测,并判断程序是否为可疑程序,若否,则通知虚拟模块30,若是,则停止执行。
本实施例中,程序为以移动终端为运行环境,即将在移动终端中运行的各种命令序列。对于移动终端中触发启动的程序,静态检测模块10获取程序特征进行静态检测以判定该程序是否为可疑程序。程序特征可以是程序标识、安装包命名等。若触发启动的程序被静态检测模块10判定为可疑程序,则说明该程序属于病毒或者其它形式的恶意程序,一旦运行将会对移动终端的操作系统造成安全性影响,因此需对禁止运行触发启动的程序;若触发启动的程序没有被判定为可疑程序,则在移动终端中运行该程序。
具体地,静态检测模块10对程序所进行的静态检测可利用原有的特征数据库实现。例如,静态检测模块10可通过病毒引擎进行扫描,将获取的程序特征与病毒引擎的病毒特征库进行比对,判断该程序特征是否为病毒特征库中的病毒特征,若是,则判定该程序为病毒,因此需禁止其启动运行。此外,静态检测还可以根据程序中执行的操作进行可疑程序的检测。
虚拟模块30,用于进行虚拟化处理得到介于程序和操作系统之间的中间层。
本实施例中,虚拟模块30运用虚拟技术在程序和操作系统之间虚拟出中间层,该中间层即为沙箱,是在操作系统上模拟出来的一个受限的安全环境,使得运行于其中的程序不会对操作系统造成破坏。
在一个实施例中,虚拟模块30还用于分配独立存储区域,并在独立存储区域中创建中间层。
本实施例中,虚拟模块30根据移动终端的内存资源分配独立存储区域,在分配的独立存储区域中按照一定的安全策略设定中间层所允许执行的程序操作,从而控制程序运行过程中的可疑操作。
运行模块50,用于通过中间层启动运行程序。
本实施例中,运行模块50在中间层这一独立存储空间运行触发启动的程序,在运行的过程中若产生程序运行出错或者其它问题,则可将其终止,并进行清理即可,保障了操作系统的稳定运行,进而提高安全性。
如图5所示,上述运行模块50包括操作执行单元510、验证单元530以及重定向单元550。
操作执行单元510,用于在中间层启动程序,执行程序中的操作。
本实施例中,操作执行单元510启动程序,使得程序在中间层按照其逻辑执行操作,所执行的操作为访问、读写操作系统所拥有的资源,例如,访问网络驱动、从网络接口中读取网络数据、读取操作系统或SIM卡中的联系人信息、读取系统收发信息的信息以及读写操作系统文件服务器等。
验证单元530,用于在执行的操作中对超范围操作进行权限验证,判断超范围操作是否为可疑操作,若否,则通知重定向单元550,若是,则结束。
本实施例中,超范围操作为程序运行过程中不属于中间层所允许执行的程序操作,是中间层这一独立存储空间之外的区域和资源所进行的各种访问操作。这一类超范围操作存在着安全风险,需验证单元530对其进行权限验证,以判定超范围操作是否为可疑操作,通过权限验证为移动终端中程序的运行提供可验证的安全环境。
重定向单元550,用于将超范围操作重定向到中间层。
本实施例中,超范围操作允许执行时,重定向单元550采用重定向技术将超范围操作重定向到中间层的某一区域,这一过程对运行的程序而言是透明无差别的,不会影响该程序的正常稳定运行。
在一个实施例中,重定向单元550还用于创建临时存储区,在临时存储区中执行超范围操作。
本实施例中,重定向单元550在中间层这一独立存储空间创建临时存储区,例如,在独立存储空间创建一个临时文件夹或者内存区域,进而将超范围操作放置于临时存储区中执行,若超范围操作为恶意操作,则终止执行,并进行清理,有效避免了恶意操作所造成的损害。例如,超范围操作为修改移动终端通讯录中的联系人信息,则将联系人信息复制到临时存储区,超范围操作对临时存储区中的联系人信息进行修改。
如图6所示,在另一个实施例中,上述运行模块50还包括权限配置模块560。权限配置模块560用于根据静态检测结果配置程序的运行权限。
本实施例中,程序的运行权限表征了程序在中间层的操作权限,权限配置模块560根据静态检测过程中所获知的安全性进行配置得到。
验证单元530还用于根据运行权限获取超范围操作的安全级别,并通过安全级别判断超范围操作是否为可疑操作,若否,则通知重定向单元550,若是,则拒绝执行超范围操作。
本实施例中,验证单元530通过运行权限可以获取程序中每一操作所对应的安全级别,也就是说,在一定的运行权限下所执行的操作均有对应的安全级别,进而通过安全级别对超范围操作进行判定,若根据安全级别获知执行的操作为超范围操作,则应禁止该操作的执行,以保证安全性。
在程序运行过程中根据运行权限来判定即执行的操作是否为可疑操作,实现了对程序运行的实时监控,进而提供持久的安全保障。
如图7所示,在另一个实施例中,上述运行模块50还包括监控单元570以及权限调整单元590。
监控单元570,用于监控程序中操作的执行生成历史记录。
本实施例中,历史记录为中间层中对运行程序的操作和数据进行记录,可用于回溯查询程序行为,以及中间层的反馈输入,对中间层所设定的可允许执行的操作进行调整。
权限调整单元590,用于根据历史记录动态调整程序的运行权限。
本实施例中,根权限调整单元590据历史记录中所记录的操作和数据修改运行权限,例如,记录的禁止操作为修改用户数据的操作,权限调整单元590根据这一记录的禁止操作调整程序的运行权限,以使得运行的程序中若发生修改用户数据的操作,便将该操作列为可疑操作,进一步保证了操作系统的安全性。
此外,生成的历史记录中,还可将记录的禁止操作更新到静态检测过程中应用的特征数据库,进一步提高了静态检测的精确度。
上述移动终端中程序运行的方法和装置,对移动终端中触发启动的程序进行静态检测,禁止可疑程序启动,将通过检测的程序在虚拟得到的中间层中启动运行,从而使得运行中的程序即使出现问题也不会影响操作系统的正常运行,提高了安全性,并且具备较佳的扩展性。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。