CN105653961B - 一种提高移动终端应用加载安全性的方法和装置 - Google Patents

一种提高移动终端应用加载安全性的方法和装置 Download PDF

Info

Publication number
CN105653961B
CN105653961B CN201511029542.2A CN201511029542A CN105653961B CN 105653961 B CN105653961 B CN 105653961B CN 201511029542 A CN201511029542 A CN 201511029542A CN 105653961 B CN105653961 B CN 105653961B
Authority
CN
China
Prior art keywords
library file
dynamic library
dynamic
file
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201511029542.2A
Other languages
English (en)
Other versions
CN105653961A (zh
Inventor
史子旺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yuanxin Information Technology Group Co.,Ltd.
Original Assignee
Beijing Yuanxin Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Yuanxin Science and Technology Co Ltd filed Critical Beijing Yuanxin Science and Technology Co Ltd
Priority to CN201511029542.2A priority Critical patent/CN105653961B/zh
Publication of CN105653961A publication Critical patent/CN105653961A/zh
Application granted granted Critical
Publication of CN105653961B publication Critical patent/CN105653961B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种提高移动终端应用加载安全性的方法和装置,其中加载应用程序时加载动态库,所述方法包括:在将动态库文件映射到内存空间时确定所述动态库文件是否被设为执行权限;在确定所述动态库文件被设为执行权限时,检测所述动态库文件是否安全;仅在确定所述动态库文件安全时允许所述动态库文件映射到内存空间。本申请的方法和装置能在加载应用程序时提高系统的安全性。

Description

一种提高移动终端应用加载安全性的方法和装置
技术领域
本申请涉及电数字数据处理领域,尤其涉及一种在移动终端中加载应用程序时提高系统安全性的方法和/或装置。
背景技术
在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还可以用于在所述动态库文件具有可执行权限时确定其安全。
一些优选实施例已经在前面进行了说明,但是应当强调的是,本发明不局限于这些实施例,而是可以本发明主题范围内的其它方式实现。

Claims (6)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511029542.2A CN105653961B (zh) 2015-12-31 2015-12-31 一种提高移动终端应用加载安全性的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511029542.2A CN105653961B (zh) 2015-12-31 2015-12-31 一种提高移动终端应用加载安全性的方法和装置

Publications (2)

Publication Number Publication Date
CN105653961A CN105653961A (zh) 2016-06-08
CN105653961B true CN105653961B (zh) 2019-07-23

Family

ID=56491164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511029542.2A Active CN105653961B (zh) 2015-12-31 2015-12-31 一种提高移动终端应用加载安全性的方法和装置

Country Status (1)

Country Link
CN (1) CN105653961B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107194261B (zh) * 2017-05-16 2020-04-14 安徽三实信息技术服务有限公司 一种用于远程主机的安全检查方法及装置
CN110414217B (zh) * 2019-07-31 2023-03-24 广东小天才科技有限公司 应用程序的安全运行方法、装置、电子设备和存储介质
CN111046377B (zh) * 2019-12-25 2023-11-14 五八同城信息技术有限公司 加载动态链接库的方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1924805A (zh) * 2005-09-02 2007-03-07 腾讯科技(深圳)有限公司 在无线二进制运行环境平台实现动态链接库方法
CN1983296A (zh) * 2005-12-12 2007-06-20 北京瑞星国际软件有限公司 用于防止非法程序窃取用户信息的方法及装置
CN102999720A (zh) * 2012-11-09 2013-03-27 北京奇虎科技有限公司 程序鉴别方法和系统
CN103077353A (zh) * 2013-01-24 2013-05-01 北京奇虎科技有限公司 主动防御恶意程序的方法和装置
CN103778375A (zh) * 2012-10-24 2014-05-07 腾讯科技(深圳)有限公司 防止用户设备加载非法的动态链接库文件的装置和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2477110A1 (en) * 2011-01-14 2012-07-18 Wibu-Systems AG Method for protecting an application program against reverse engineering and related computer program product
CN104091132B (zh) * 2014-06-17 2017-07-28 小米科技有限责任公司 在路由设备上运行插件的方法、装置及路由设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1924805A (zh) * 2005-09-02 2007-03-07 腾讯科技(深圳)有限公司 在无线二进制运行环境平台实现动态链接库方法
CN1983296A (zh) * 2005-12-12 2007-06-20 北京瑞星国际软件有限公司 用于防止非法程序窃取用户信息的方法及装置
CN103778375A (zh) * 2012-10-24 2014-05-07 腾讯科技(深圳)有限公司 防止用户设备加载非法的动态链接库文件的装置和方法
CN102999720A (zh) * 2012-11-09 2013-03-27 北京奇虎科技有限公司 程序鉴别方法和系统
CN103077353A (zh) * 2013-01-24 2013-05-01 北京奇虎科技有限公司 主动防御恶意程序的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
移动终端应用安全加固关键技术研究;钱海龙;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150415;16-31

Also Published As

Publication number Publication date
CN105653961A (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
US9785456B2 (en) Metadata-driven dynamic specialization
KR101739125B1 (ko) 모바일 디바이스용 어플리케이션의 권한을 분석하고 위험성을 검출하기 위한 장치 및 방법
US9519468B2 (en) Modular co-versioning in a dynamically linked runtime environment
EP3528149B1 (en) Software repackaging prevention method and device
CN108804912B (zh) 一种基于权限集差异的应用程序越权检测方法
CN108763951B (zh) 一种数据的保护方法及装置
CN105653961B (zh) 一种提高移动终端应用加载安全性的方法和装置
EP3074911B1 (en) Method for loading a native code on a secure element
CN103778373A (zh) 病毒检测方法及装置
CN104731622B (zh) 一种应用程序的加载方法、装置和移动终端
CN103065072A (zh) 提高Java软件破解难度的方法及装置、版权验证方法
CN108197476B (zh) 一种智能终端设备的漏洞检测方法及装置
CN103902908A (zh) 一种对Android加固应用的恶意代码检测方法及系统
CN108647061A (zh) 系统隐藏方法的调用方法、装置和计算设备
US8707050B1 (en) Integrity self-check of secure code within a VM environment using native VM code
CN104601524A (zh) 一种安全检查方法和系统
CN104978517B (zh) 一种Android系统的非法root检测方法及系统
KR20140044974A (ko) 권한탐지 기반의 안드로이드 어플리케이션 보안강화 방법, 그리고 이를 위한 권한탐지 기반의 안드로이드 보안 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
US20150347745A1 (en) Method for extracting executable code of application using memory dump
US20150381644A1 (en) Apparatus and method for preventing malicious code in electronic device
CN106203148B (zh) 未经授权的数据访问阻断方法及具备该功能的计算装置
KR102173151B1 (ko) 원본코드 자동추출장치 및 원본코드 자동추출방법
CN103279334A (zh) 一种android软件快速动态检测装置和方法
CN104008336A (zh) 一种ShellCode检测方法和装置
KR101306656B1 (ko) 악성코드 동적 분석정보 제공 장치 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210126

Address after: 101300 room 153, 1 / F, building 17, 16 Caixiang East Road, Nancai Town, Shunyi District, Beijing

Patentee after: Yuanxin Information Technology Group Co.,Ltd.

Address before: 100176 room 2222, building D, building 33, 99 Kechuang 14th Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing

Patentee before: BEIJING YUANXIN SCIENCE & TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20160608

Assignee: Beijing Yuanxin Junsheng Technology Co.,Ltd.

Assignor: Yuanxin Information Technology Group Co.,Ltd.

Contract record no.: X2021110000018

Denomination of invention: Method and device for improving application loading security of mobile terminal

Granted publication date: 20190723

License type: Common License

Record date: 20210531

EE01 Entry into force of recordation of patent licensing contract