CN104268468A - 一种对Android***动态链接库保护方法及*** - Google Patents
一种对Android***动态链接库保护方法及*** Download PDFInfo
- Publication number
- CN104268468A CN104268468A CN201410497362.6A CN201410497362A CN104268468A CN 104268468 A CN104268468 A CN 104268468A CN 201410497362 A CN201410497362 A CN 201410497362A CN 104268468 A CN104268468 A CN 104268468A
- Authority
- CN
- China
- Prior art keywords
- dynamic link
- link library
- signature
- shielded
- monitor
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 abstract description 3
- 230000002155 anti-virotic effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种对Android***动态链接库保护方法,对动态链接库文件进行数字摘要提取,并且对数字摘要进行签名,将经签名的信息保存在动态链接库中;监控受保护的动态链接库,当受保护的动态链接库文件被改动时,验证签名的有效性,若签名信息失效,则还原被更改的动态链接库;否则不作处理,本发明还提供一种对Android***动态链接库保护***,保证动态链接库的安全性。
Description
技术领域
本发明涉及一种对Android***动态链接库保护方法及***。
背景技术
Android作为一种基于Linux的自由及开放源代码的操作***,诞生以来,其地位不言而喻。作为智能平台,安全性一直以来被广泛的重视,尤其是Android已经深入到了各个领域,包括金融设备这种对安全性要求更高的产品。目前,众多安全产品和方法中,对于敏感数据的安全性,一般采用安全芯片;对于***的安全控制则采用安装杀毒软件等工具,但由于设备的安全级别较高,杀毒软件不能完全获取ROOT权限,导致失去了部分安全监测的有效性;对于***的动态链接库等安全的管控则很少研究。而目前绝大多数产品,为了***本身的易用性和维护性,使用动态链接库作为插件的方式越来越多,动态链接库的存放方式越来越开放。这就给***安全带来了隐患。入侵者,往往利用这个有效的方式,进行代码移植、恶意破坏、篡改等手段,恶意攻击***,导致***的崩溃、安全数据的泄露、非法操作等。
发明内容
本发明要解决的技术问题,在于提供一种对Android***动态链接库保护方法及***,保证动态链接库的安全性。
技术方案一:
一种对Android***动态链接库保护方法,包括如下步骤:
步骤1、对动态链接库文件进行数字摘要提取,并且对数字摘要进行签名,将经签名的信息保存在动态链接库中;
步骤2、监控受保护的动态链接库,当受保护的动态链接库文件被改动时,验证签名的有效性,若签名信息失效,则还原被更改的动态链接库;否则不作处理。
进一步地,所述步骤1中,所述经签名的信息保存在动态链接库中的尾部。
进一步地,所述步骤2进一步具体为:
监控受保护的动态链接库,当受保护的动态链接库文件被修改、替代、删除、打开操作时,验证签名的有效性,若签名信息失效,记录动态链接库被非法操作,并从备份区还原被更改的动态链接库;否则不作处理。
进一步地,所述步骤2中所述监控受保护的动态链接库为通过Inotify机制进行监控。
技术方案二:
一种对Android***动态链接库保护***,包括如下步骤:
签名处理模块,对动态链接库文件进行数字摘要提取,并且对数字摘要进行签名,将经签名的信息保存在动态链接库中;
监控处理模块,监控受保护的动态链接库,当受保护的动态链接库文件被改动时,验证签名的有效性,若签名信息失效,则还原被更改的动态链接库;否则不作处理。
进一步地,所述签名处理模块中,所述经签名的信息保存在动态链接库中的尾部。
进一步地,所述监控处理模块进一步具体为:
监控受保护的动态链接库,当受保护的动态链接库文件被修改、替代、删除、打开操作时,验证签名的有效性,若签名信息失效,记录动态链接库被非法操作,并从备份区还原被更改的动态链接库;否则不作处理。
进一步地,所述监控处理模块中所述监控受保护的动态链接库为通过Inotify机制进行监控。
本发明具有如下优点:本发明一种对Android***动态链接库保护方法及***,保证了动态链接库插件的安全性;在使用中,对各种针对敏感操作的动态链接库的非法操作,都被有效的处理,保证了终端使用的安全性,降低了终端被侵害的风险,和非法使用风险。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明流程图。
具体实施方式
如图1所示,本发明对Android***动态链接库保护方法,包括如下步骤:
步骤1、对动态链接库文件进行数字摘要提取,并且对数字摘要进行签名,将经签名的信息保存在动态链接库中,所述经签名的信息保存在动态链接库中的尾部;
步骤2、监控受保护的动态链接库,当受保护的动态链接库文件被修改、替代、删除、打开操作时,验证签名的有效性,若签名信息失效,记录动态链接库被非法操作,并从备份区还原被更改的动态链接库;否则不作处理,所述监控受保护的动态链接库为通过Inotify机制进行监控,inotify是一种文件***的变化通知机制,如文件增加、删除等事件可以立刻让用户态得知,该机制是著名的桌面搜索引擎项目beagle引入的,并在Gamin等项目中被应用。
如图1所示,本发明对Android***动态链接库保护***,包括如下步骤:
签名处理模块,对动态链接库文件进行数字摘要提取,并且对数字摘要进行签名,将经签名的信息保存在动态链接库中,所述经签名的信息保存在动态链接库中的尾部;
监控处理模块,监控受保护的动态链接库,当受保护的动态链接库文件被修改、替代、删除、打开操作时,验证签名的有效性,若签名信息失效,记录动态链接库被非法操作,并从备份区还原被更改的动态链接库;否则不作处理,所述监控处理模块中所述监控受保护的动态链接库为通过Inotify机制进行监控。
如图1所示,该技术方法由两部分组成,一部分是签名过程。该部分主要完成的功能是,利用Linux动态链接库的文件结构,采用签名技术对动态链接库进行签名。Linux动态链接库是Linux ELF格式文件。而根据ELF文件的定义(ELF文件由4部分组成,分别是ELF头(ELF header)、程序头表(Program header table)、节(Section)和节头表(Section header table)。实际上,一个文件中不一定包含全部内容,而且他们的位置也未必如同所示这样安排,只有ELF头的位置是固定的,其余各部分的位置、大小等信息有ELF头中的各项值来决定。)可知ELF文件的有效性与ELF的头以及其定义的各项数值和文件其他部分组成的完整性有关,而与文件大小和具体组件位置无关。根据这个属性,为了操作的方便性,我们不调整ELF的结构,而只通过在文件结尾增加签名的有效信息作为我们完成签名的依据。具体操作如下,对动态链接库文件进行数字摘要提取,并且对数字摘要进行签名。经签名的信息保存在动态链接库的结尾,作为动态链接库的有效组成部分。方法的第二个部分是动态链接库的监控部分。该部分主要功能是,主动监控受保护的动态链接库。当受保护的动态链接库文件被修改、替代、删除、打开等操作时,验证签名的有效性,一旦发现签名信息失效,记录动态链接库被非法操作,并从备份区(只读***文件)还原被更改的动态链接库。具体的实现如下,定义Linux***服务,配置为开机启动。在***服务中使用Inotify机制,是一个Linux内核特性,可以监控文件***。在Inotify中注册要监控的动态链接库,监听删除、读、写和卸载等等操作,发生此类操作时,验证动态链接库的签名信息,当出现签名信息验证失败,即说明存在安全风险,还原改动态链接库文件。
本发明具有如下优点:本发明一种对Android***动态链接库保护方法及***,保证了动态链接库插件的安全性;在使用中,对各种针对敏感操作的动态链接库的非法操作,都被有效的处理,保证了终端使用的安全性,降低了终端被侵害的风险,和非法使用风险。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (8)
1.一种对Android***动态链接库保护方法,其特征在于:包括如下步骤:
步骤1、对动态链接库文件进行数字摘要提取,并且对数字摘要进行签名,将经签名的信息保存在动态链接库中;
步骤2、监控受保护的动态链接库,当受保护的动态链接库文件被改动时,验证签名的有效性,若签名信息失效,则还原被更改的动态链接库;否则不作处理。
2.根据权利要求1所述的一种对Android***动态链接库保护方法,其特征在于:所述步骤1中,所述经签名的信息保存在动态链接库中的尾部。
3.根据权利要求1所述的一种对Android***动态链接库保护方法,其特征在于:所述步骤2进一步具体为:
监控受保护的动态链接库,当受保护的动态链接库文件被修改、替代、删除、打开操作时,验证签名的有效性,若签名信息失效,记录动态链接库被非法操作,并从备份区还原被更改的动态链接库;否则不作处理。
4.根据权利要求1或3所述的一种对Android***动态链接库保护方法,其特征在于:所述步骤2中所述监控受保护的动态链接库为通过Inotify机制进行监控。
5.一种对Android***动态链接库保护***,其特征在于:包括如下步骤:
签名处理模块,对动态链接库文件进行数字摘要提取,并且对数字摘要进行签名,将经签名的信息保存在动态链接库中;
监控处理模块,监控受保护的动态链接库,当受保护的动态链接库文件被改动时,验证签名的有效性,若签名信息失效,则还原被更改的动态链接库;否则不作处理。
6.根据权利要求5所述的一种对Android***动态链接库保护***,其特征在于:所述签名处理模块中,所述经签名的信息保存在动态链接库中的尾部。
7.根据权利要求5所述的一种对Android***动态链接库保护***,其特征在于:所述监控处理模块进一步具体为:
监控受保护的动态链接库,当受保护的动态链接库文件被修改、替代、删除、打开操作时,验证签名的有效性,若签名信息失效,记录动态链接库被非法操作,并从备份区还原被更改的动态链接库;否则不作处理。
8.根据权利要求5或7所述的一种对Android***动态链接库保护***,其特征在于:所述监控处理模块中所述监控受保护的动态链接库为通过Inotify机制进行监控。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410497362.6A CN104268468B (zh) | 2014-09-25 | 2014-09-25 | 一种对Android***动态链接库保护方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410497362.6A CN104268468B (zh) | 2014-09-25 | 2014-09-25 | 一种对Android***动态链接库保护方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104268468A true CN104268468A (zh) | 2015-01-07 |
CN104268468B CN104268468B (zh) | 2018-08-24 |
Family
ID=52159989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410497362.6A Active CN104268468B (zh) | 2014-09-25 | 2014-09-25 | 一种对Android***动态链接库保护方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268468B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105844150A (zh) * | 2016-03-23 | 2016-08-10 | 青岛海信传媒网络技术有限公司 | 一种应用程序的数据保护方法和装置 |
CN105956456A (zh) * | 2016-04-26 | 2016-09-21 | 南京邮电大学 | 一种对Android***进行四重联合签名验证的实现方法 |
CN106022098A (zh) * | 2016-05-10 | 2016-10-12 | 青岛海信传媒网络技术有限公司 | 一种应用程序的签名验证方法和装置 |
CN107256349A (zh) * | 2017-06-13 | 2017-10-17 | 广州阿里巴巴文学信息技术有限公司 | 动态库防盗用方法、装置、电子设备及可读存储介质 |
CN107870793A (zh) * | 2017-12-22 | 2018-04-03 | 上海众人网络安全技术有限公司 | 一种应用程序中加载so文件的方法及装置 |
CN109472163A (zh) * | 2018-09-03 | 2019-03-15 | 中新网络信息安全股份有限公司 | 一种Linux下基于Inotify的网页篡改事件的检测方法 |
CN109510825A (zh) * | 2018-11-13 | 2019-03-22 | 许昌许继软件技术有限公司 | 动态库加密方法和装置及动态库防劫持方法和装置 |
CN109635522A (zh) * | 2018-11-13 | 2019-04-16 | 许继集团有限公司 | 一种动态库的防篡改方法及装置 |
CN112166427A (zh) * | 2018-05-30 | 2021-01-01 | 日本电信电话株式会社 | 保护装置及保护方法 |
WO2021098293A1 (zh) * | 2019-11-18 | 2021-05-27 | 许继集团有限公司 | 一种数据库的安全保护方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102110198A (zh) * | 2009-12-28 | 2011-06-29 | 北京安码科技有限公司 | 一种网页防伪的方法 |
WO2014010847A1 (ko) * | 2012-07-09 | 2014-01-16 | 주식회사 안랩 | 악성 애플리케이션 진단장치 및 방법 |
CN103886260A (zh) * | 2014-04-16 | 2014-06-25 | 中国科学院信息工程研究所 | 一种基于二次签名验签技术的应用程序管控方法 |
CN103944903A (zh) * | 2014-04-23 | 2014-07-23 | 福建联迪商用设备有限公司 | 一种多方授权的apk签名方法及*** |
CN104050423A (zh) * | 2014-06-20 | 2014-09-17 | 宇龙计算机通信科技(深圳)有限公司 | 一种组件调用方法、***及终端 |
-
2014
- 2014-09-25 CN CN201410497362.6A patent/CN104268468B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102110198A (zh) * | 2009-12-28 | 2011-06-29 | 北京安码科技有限公司 | 一种网页防伪的方法 |
WO2014010847A1 (ko) * | 2012-07-09 | 2014-01-16 | 주식회사 안랩 | 악성 애플리케이션 진단장치 및 방법 |
CN103886260A (zh) * | 2014-04-16 | 2014-06-25 | 中国科学院信息工程研究所 | 一种基于二次签名验签技术的应用程序管控方法 |
CN103944903A (zh) * | 2014-04-23 | 2014-07-23 | 福建联迪商用设备有限公司 | 一种多方授权的apk签名方法及*** |
CN104050423A (zh) * | 2014-06-20 | 2014-09-17 | 宇龙计算机通信科技(深圳)有限公司 | 一种组件调用方法、***及终端 |
Non-Patent Citations (2)
Title |
---|
温敏 等: ""Android智能手机***中文件实时监控的研究与实现"", 《科学技术与工程》 * |
阮建峰: ""PDM中数字签名技术的研究与应用"", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105844150A (zh) * | 2016-03-23 | 2016-08-10 | 青岛海信传媒网络技术有限公司 | 一种应用程序的数据保护方法和装置 |
CN105956456A (zh) * | 2016-04-26 | 2016-09-21 | 南京邮电大学 | 一种对Android***进行四重联合签名验证的实现方法 |
CN105956456B (zh) * | 2016-04-26 | 2019-02-19 | 南京邮电大学 | 一种对Android***进行四重联合签名验证的实现方法 |
CN106022098A (zh) * | 2016-05-10 | 2016-10-12 | 青岛海信传媒网络技术有限公司 | 一种应用程序的签名验证方法和装置 |
CN107256349A (zh) * | 2017-06-13 | 2017-10-17 | 广州阿里巴巴文学信息技术有限公司 | 动态库防盗用方法、装置、电子设备及可读存储介质 |
CN107870793A (zh) * | 2017-12-22 | 2018-04-03 | 上海众人网络安全技术有限公司 | 一种应用程序中加载so文件的方法及装置 |
CN107870793B (zh) * | 2017-12-22 | 2021-03-23 | 上海众人网络安全技术有限公司 | 一种应用程序中加载so文件的方法及装置 |
CN112166427A (zh) * | 2018-05-30 | 2021-01-01 | 日本电信电话株式会社 | 保护装置及保护方法 |
CN109472163A (zh) * | 2018-09-03 | 2019-03-15 | 中新网络信息安全股份有限公司 | 一种Linux下基于Inotify的网页篡改事件的检测方法 |
CN109510825A (zh) * | 2018-11-13 | 2019-03-22 | 许昌许继软件技术有限公司 | 动态库加密方法和装置及动态库防劫持方法和装置 |
CN109635522A (zh) * | 2018-11-13 | 2019-04-16 | 许继集团有限公司 | 一种动态库的防篡改方法及装置 |
WO2021098293A1 (zh) * | 2019-11-18 | 2021-05-27 | 许继集团有限公司 | 一种数据库的安全保护方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104268468B (zh) | 2018-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104268468A (zh) | 一种对Android***动态链接库保护方法及*** | |
US9514309B1 (en) | Systems and methods for protecting files from malicious encryption attempts | |
CN105453102B (zh) | 用于识别已泄漏的私有密钥的***和方法 | |
US10079835B1 (en) | Systems and methods for data loss prevention of unidentifiable and unsupported object types | |
US10104063B2 (en) | Android-based mobile equipment security protection method, and device | |
KR101641697B1 (ko) | 안전 박스 | |
CN104956374A (zh) | 用于软件防回滚恢复的方法 | |
CN107688463B (zh) | 一种嵌入式设备版本文件打包的方法 | |
CN111131221B (zh) | 接口校验的装置、方法及存储介质 | |
CN107563192B (zh) | 一种勒索软件的防护方法、装置、电子设备及存储介质 | |
CN107944292B (zh) | 一种隐私数据保护方法及*** | |
CN102968595A (zh) | 虚拟机***的保护方法和装置 | |
CN103649964A (zh) | 安全寄存执行体系架构 | |
CN104461594A (zh) | 嵌入式操作***的升级方法及装置 | |
US20150074820A1 (en) | Security enhancement apparatus | |
CN109784051B (zh) | 信息安全防护方法、装置及设备 | |
KR101002754B1 (ko) | 파일에 대한 무결성 검증 방법 및 시스템 | |
KR101889503B1 (ko) | 비행자료 보호 장치 및 비행자료 보호 방법 | |
US9454660B2 (en) | Security verification device and a security verification method | |
CN104361280A (zh) | 一种通过smi中断实现对usb存储设备进行可信认证的方法 | |
US20230216878A1 (en) | Threat prevention by selective feature deprivation | |
CN106295263A (zh) | 一种实现应用加固的方法及装置 | |
CN105975860B (zh) | 一种信任文件管理方法、装置及设备 | |
WO2018053988A1 (zh) | 安全输入***、方法及智能终端、存储介质 | |
Msgna et al. | Secure application execution in mobile devices |
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 |