一种提高移动终端应用加载安全性的方法和装置制造方法及图纸

技术编号:14945372 阅读:133 留言:0更新日期:2017-04-01 11:48
本申请公开了一种提高移动终端应用加载安全性的方法和装置,其中加载应用程序时加载动态库,所述方法包括:在将动态库文件映射到内存空间时确定所述动态库文件是否被设为执行权限;在确定所述动态库文件被设为执行权限时,检测所述动态库文件是否安全;仅在确定所述动态库文件安全时允许所述动态库文件映射到内存空间。本申请的方法和装置能在加载应用程序时提高系统的安全性。

【技术实现步骤摘要】

本申请涉及电数字数据处理领域,尤其涉及一种在移动终端中加载应用程序时提高系统安全性的方法和/或装置。
技术介绍
在Linux系统中,支持进程采用dlopen技术来动态加载动态库。这种方式方便了软件的开发,但同时也带来了安全性问题。在应用导入系统之前,厂家一般会对应用进行安全性检测,其手段包括二进制代码分析以及软件行为检测。由于进程可以实际部署后,将具有恶意的代码下载到本地,然后再采用dlopen的技术进行加载,那么其完全可以躲过二进制分析的阶段,从而产生安全性风险。
技术实现思路
本申请的目标在于提供一种能在加载应用程序时提高系统安全性的方法和/或装置。本申请的目标由一种提高移动终端应用加载安全性的方法实现,其中加载应用程序时加载动态库,该方法包括:在将动态库文件映射到内存空间时确定所述动态库文件是否被设为执行权限;在确定所述动态库文件被设为执行权限时,检测所述动态库文件是否安全;仅在确定所述动态库文件安全时允许所述动态库文件映射到内存空间。本申请的目标还由一种提高移动终端应用加载安全性的装置实现,其中加载应用程序时加载动态库,该装置包括:映射目标检查模块,用于在将动态库文件映射到内存空间时确定所述动态库文件是否被设为执行权限;安全检测模块,用于在确定所述动态库文件被设为执行权限时检测所述动态库文件是否安全;映射许可模块,用于仅在确定所述动态库文件安全时允许所述动态库文件映射到内存空间。本专利技术通过限制进程加载动态库的能力,从而使应用在上架前检测的二进制代码与应用安装后实际运行时保持一致,从而使对应用的二进制分析更加有效,从而提高系统的安全性。除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。除非明确指出,在此公开的任何方法的步骤不必精确按照所公开的顺序执行。附图说明本专利技术将在下面参考附图并结合优选实施例进行更完全地说明。图1为根据本专利技术方法的一实施例的流程图。图2为根据本专利技术方法的另一实施例的流程图。图3为根据本专利技术装置的一实施例的结构示意图。为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本专利技术所必要的细节,而省略其他细节。具体实施方式通过下面给出的详细描述,本专利技术的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本专利技术优选实施例的同时,它们仅为说明目的给出。图1示出了本专利技术方法的一实施例,该方法用于在移动终端中加载应用程序时提高系统的安全性。通过dlopen的方式加载动态库,必然涉及到将动态库文件使用mmap系统调用映射到进程的内存空间,该方法通过在Linux内核中的mmap系统调用中检测动态库文件的安全性来提高系统的安全性。该实施例的方法开始于步骤S20,在将动态库文件映射到内存空间时内核确定所述动态库文件是否被设为执行权限。所谓“执行”指CPU会将其作为指令代码进行运行。执行文件在映射到内存空间中时,会以这样的形式存在:b6e58000-b6eb0000r-xp/usr/liblog.so,其中r-xp为内存空间的权限,x:代表了执行。在确定所述动态库文件被设为执行权限时,处理进行到步骤S30,在移动终端设备中,应用的安装目录固定在某一特定目录,应用的可写目录主要包括:应用的数据目录、SD卡目录。应用的可写数据目录与安装目录会有对应关系。进程启动后,其进程的cmdline会指向应用的安装目录。在该情形下,检查动态库文件路径,看其是否属于系统分区;和/或检查动态库文件是否位于应用的安装目录,这可以通过cmdline信息来获得。之后,在动态库文件属于系统分区或者动态库文件位于应用的安装目录时,处理进行到步骤S40,允许所述动态库文件映射到内存空间。否则,如果不属于上述两种情况,则处理进行到步骤S50,拒绝该动态库文件的映射。通过区分出进行映射的动态库文件是系统动态库还是应用自己下载的文件应用,设定通过dlopen的方式打开系统动态库是合法的,而打开应用自己下载的文件是非法的,确保应用自己下载的文件无法躲过安全性检测,提高了系统的安全性。图2示出了本专利技术方法的另一实施例,该实施例的方法开始于步骤S10,使应用程序的安装目录下的所有文件可设置可执行权限。之后,处理进行到步骤S15,使所述安装目录之外的其它位置的任何文件不能加入执行权限。之后,处理进行到步骤S20,在将动态库文件映射到内存空间时内核确定所述动态库文件是否被设为执行权限。在确定所述动态库文件被设为执行权限时,处理进行到步骤S30’,检查动态库文件是否具有可执行权限,如果有执行权限,则处理进行到步骤S40,允许所述动态库文件映射到内存空间。否则,处理进行到步骤S50,拒绝该动态库文件的映射。图3示出了本专利技术装置的一实施例,该装置用于提高移动终端应用加载安全性,其中加载应用程序时加载动态库,该装置包括:映射目标检查模块20,用于在将动态库文件映射到内存空间时确定所述动态库文件是否被设为执行权限;安全检测模块30,用于在确定所述动态库文件被设为执行权限时检测所述动态库文件是否安全。在该实施例中,安全检测模块30包括:文件路径检查子模块31,用于检查所述动态库文件的文件路径;安全确定子模块32,用于根据所述文件路径确定所述动态库文件属于系统分区时确定其安全,或者在所述动态库文件位于加载其的应用程序的安装目录时确定其安全。该实施例的装置还包括映射许可模块40,用于仅在确定所述动态库文件安全时允许所述动态库文件映射到内存空间。在其它实施例中,安全确定子模块32还可以用于在所述动态库文件具有可执行权限时确定其安全。一些优选实施例已经在前面进行了说明,但是应当强调的是,本专利技术不局限于这些实施例,而是可以本专利技术主题范围内的其它方式实现。本文档来自技高网...

【技术保护点】
一种提高移动终端应用加载安全性的方法,其中加载应用程序时加载动态库,其特征在于,所述方法包括:在将动态库文件映射到内存空间时确定所述动态库文件是否被设为执行权限;在确定所述动态库文件被设为执行权限时,检测所述动态库文件是否安全;仅在确定所述动态库文件安全时允许所述动态库文件映射到内存空间。

【技术特征摘要】
1.一种提高移动终端应用加载安全性的方法,其中加载应用程序时加载
动态库,其特征在于,所述方法包括:
在将动态库文件映射到内存空间时确定所述动态库文件是否被设为执行权
限;
在确定所述动态库文件被设为执行权限时,检测所述动态库文件是否安全;
仅在确定所述动态库文件安全时允许所述动态库文件映射到内存空间。
2.根据权利要求1所述的方法,其特征在于,检测所述动态库文件是否
安全包括:
检查所述动态库文件的文件路径;
根据所述文件路径确定所述动态库文件属于系统分区时确定其安全。
3.根据权利要求1所述的方法,其特征在于,检测所述动态库文件是否
安全包括:
在所述动态库文件位于加载其的应用程序的安装目录时确定其安全。
4.根据权利要求3所述的方法,其特征在于,通过解析内核配置文件中
的cmdline信息确定所述动态库文件是否位于所述安装目录。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
使应用程序的安装目录下的所有文件可设置可执行权限;
使所述安装目录之外的其它位置的任何文件不能加入执行权限。
6.根据权利要求5所述的方法,其特征在...

【专利技术属性】
技术研发人员:史子旺
申请(专利权)人:北京元心科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1