CN109740303B - 一种使用外部sdk时提升安全性的方法 - Google Patents
一种使用外部sdk时提升安全性的方法 Download PDFInfo
- Publication number
- CN109740303B CN109740303B CN201811041322.5A CN201811041322A CN109740303B CN 109740303 B CN109740303 B CN 109740303B CN 201811041322 A CN201811041322 A CN 201811041322A CN 109740303 B CN109740303 B CN 109740303B
- Authority
- CN
- China
- Prior art keywords
- protected
- sdk
- external
- external sdk
- methods
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种使用外部SDK时提升安全性的方法。在调用外部SDK方法前,将需要保护的方法的内存地址进行存储,然后将这些需要保护的方法名的指针更改指向,通过这种方式将需要保护的方法体给隐藏起来;当执行外部SDK方法时,如果外部SDK调用了这些已经隐藏的方法时,则不会得到期望的返回,因为这些方法的指向已经被改写;在外部SDK方法执行完后,程序将这些隐藏了的方法指针重新指向原始内存地址,使这些受保护的方法恢复正常。本发明主要解决现有技术中,在软件中引入外部SDK时,SDK可能会进行越权操作,危害用户信息安全的技术问题,它可以限制外部SDK能力,以防外部SDK越权。
Description
技术领域
本发明涉及信息安全,软件开发工具包(SDK)调用方法,特别是一种使用外部SDK时提升安全性的方法。
背景技术
目前的软件开发过程中,或多或少的引用了外部SDK,由于商业机密,有时不能查看到外部SDK的源码,从而给安全带来隐患。要是外部SDK的方法在执行过程中,偷偷做了超过自身功能实现所需的事情,便有可能导致信息安全问题的发生。
比如在网页开发领域,如果用户收货地址填写页引用了第三方提供的一个SDK来展示消息弹框,要是这个外部SDK在被调用时除了消息弹框外,还获取了页面上输入的信息,并且将用户输入的信息往自已的服务器发送,就会导致所有用户地址的泄漏。
发明内容
本发明的目的在于提供一种使用外部SDK时提升安全性的方法,解决现有技术中,在软件中引入外部SDK时,SDK可能会进行越权操作,危害用户信息安全的技术问题,它可以限制外部SDK能力,以防外部SDK越权。
为解决上述技术问题,本发明采用如下技术方案:
一种使用外部SDK时提升安全性的方法,其特征在于:
在调用外部SDK方法前,将需要保护的方法的内存地址进行存储,然后将这些需要保护的方法名的指针更改指向,通过这种方式将需要保护的方法体给隐藏起来;
当执行外部SDK方法时,如果外部SDK调用了这些已经隐藏的方法时,则不会得到期望的返回,因为这些方法的指向已经被改写。
在外部SDK方法执行完后,程序将这些隐藏了的方法指针重新指向原始内存地址,使这些受保护的方法恢复正常。
所述的使用外部SDK时提升安全性的方法,其特征在于:具体方法步骤包括:
步骤1、确定要保护的程序方法名;
步骤2、通过接口隐藏程序将要保护的方法名的指针指向进行改写,达到隐藏的目的;
步骤3、当外部SDK方法调用要保护的方法名时,实际被执行的是另一方法,外部SDK没能对已保护的方法调用成功;
步骤4、通过重要接口恢复程序,将要保护的方法名重新指回该方法体,被保护的方法恢复正常;
步骤5、自有程序可正常调用方法。
藉由上述结构,本发明具有如下优点:
与现有技术相比,本发明方法可以在不查看SDK源代码或解析SDK源代码的情况下,将需要保护的方法体给“隐藏”起来;当调用外部SDK时,限制外部SDK能力,以防外部SDK越权;当调用完毕后,被保护的方法体恢复正常。
附图说明
图1是本发明方法的流程示意图。
图2是本发明方法步骤1的流程示意图。
图3是本发明方法步骤2的流程示意图。
图4是本发明方法步骤3的流程示意图。
图5是本发明方法步骤4的流程示意图。
图6是本发明方法步骤5的流程示意图。
具体实施方式
请参阅图1,本发明公开了一种使用外部SDK时提升安全性的方法。
在调用外部SDK方法前,将需要保护的方法的内存地址进行存储,然后将这些需要保护的方法名的指针更改指向,通过这种方式将需要保护的方法体给隐藏起来。
当执行外部SDK方法时,如果外部SDK调用了这些已经隐藏的方法时,则不会得到期望的返回,因为这些方法的指向已经被改写。
在外部SDK方法执行完后,程序将这些隐藏了的方法指针重新指向原始内存地址,使这些受保护的方法恢复正常。
具体方法步骤包括:
步骤1、确定要保护的程序方法名;
步骤2、通过接口隐藏程序将要保护的方法名的指针指向进行改写,达到隐藏的目的;
步骤3、当外部SDK方法调用要保护的方法名时,实际被执行的是另一方法,外部SDK没能对已保护的方法调用成功;
步骤4、通过重要接口恢复程序,将要保护的方法名重新指回该方法体,被保护的方法恢复正常;
步骤5、自有程序可正常调用方法。
结合以下附图和实施例,进一步详细描述本发明一种使用外部SDK时提升安全性的方法的详细步骤。
以需要保护的是方法B为例:
步骤1:自有程序正常调用要保护的方法B,方法B的方法名指针指向正确,如图2。
步骤2:重要接口隐藏程序将要保护的方法名B的指针指向进行改写,达到隐藏的目的,如图3。
步骤3:外部SDK方法调用要保护的方法名B时,实际被执行的是方法C,外部SDK没能对已保护的方法B调用成功,如图4。
步骤4:重要接口恢复程序,将要保护的方法名B重新指回B的方法体,被保护的B方法恢复正常,如图5。
步骤5:自有程序可正常调用方法B,如图6。
以web开发为例,页面有时会将敏感信息存放于本地存储里。如果外部SDK在执行时,越权访问本地存储,则会将敏感信息获取到。本方法是在调用外部SDK前,将访问本地存储的系统方法给改写,使外部SDK无法正常获取到本地存储。调用结束后,将访问本地存储的系统方法给恢复。
示例代码(Javascript):
//将系统的获取本地存储方法内存地址进行存储
window._getItem=localStorage.getItem;
//改写系统的获取本地存储方法
localStorage.getItem=function(){
return"fobbiden";
}
//执行外部SDK方法
externalSDK.fun();
//执行完外部SDK方法后,恢复系统的获取本地存储方法
localStorage.getItem=window._getItem。
以上对本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中;在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
Claims (2)
1.一种使用外部SDK时提升安全性的方法,其特征在于:
在调用外部SDK方法前,将需要保护的方法的内存地址进行存储,然后将这些需要保护的方法名的指针更改指向,通过这种方式将需要保护的方法体给隐藏起来;
当执行外部SDK方法时,如果外部SDK调用了这些已经隐藏的方法时,则不会得到期望的返回,因为这些方法的指向已经被改写;
在外部SDK方法执行完后,程序将这些隐藏了的方法指针重新指向原始内存地址,使这些受保护的方法恢复正常。
2.根据权利要求1所述的使用外部SDK时提升安全性的方法,其特征在于:具体方法步骤包括:
步骤1、确定要保护的程序方法名;
步骤2、通过接口隐藏程序将要保护的方法名的指针指向进行改写,达到隐藏的目的;
步骤3、当外部SDK方法调用要保护的方法名时,实际被执行的是另一方法,外部SDK没能对已保护的方法调用成功;
步骤4、通过重要接口恢复程序,将要保护的方法名重新指回该方法体,被保护的方法恢复正常;
步骤5、自有程序可正常调用方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811041322.5A CN109740303B (zh) | 2018-09-07 | 2018-09-07 | 一种使用外部sdk时提升安全性的方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811041322.5A CN109740303B (zh) | 2018-09-07 | 2018-09-07 | 一种使用外部sdk时提升安全性的方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN109740303A CN109740303A (zh) | 2019-05-10 |
| CN109740303B true CN109740303B (zh) | 2020-12-22 |
Family
ID=66354325
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201811041322.5A Active CN109740303B (zh) | 2018-09-07 | 2018-09-07 | 一种使用外部sdk时提升安全性的方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN109740303B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113010855B (zh) * | 2019-12-18 | 2022-05-10 | 武汉斗鱼鱼乐网络科技有限公司 | 一种获取数据的方法、装置、介质及计算机设备 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102810143A (zh) * | 2012-04-28 | 2012-12-05 | 天津大学 | 基于Android平台手机应用程序的安全检测系统及方法 |
| CN105264491A (zh) * | 2013-03-07 | 2016-01-20 | 微软技术许可有限责任公司 | 标识与软件产品相关联的隐含假设 |
| CN105653979A (zh) * | 2015-12-29 | 2016-06-08 | 银江股份有限公司 | 一种基于代码注入的隐私信息保护方法 |
| CN105760794A (zh) * | 2014-12-15 | 2016-07-13 | 阿里巴巴集团控股有限公司 | 一种显示隐私信息的方法、装置及终端设备 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3560441B2 (ja) * | 1997-04-07 | 2004-09-02 | 日本アイ・ビー・エム株式会社 | 複数フレーム・データ・ハイディング方法及び検出方法 |
| CN100461200C (zh) * | 2006-12-22 | 2009-02-11 | 北京飞天诚信科技有限公司 | 一种在软件保护装置中实现软件保护的方法与装置 |
| US20080263103A1 (en) * | 2007-03-02 | 2008-10-23 | Mcgregor Lucas | Digital asset management system (DAMS) |
| US20090070873A1 (en) * | 2007-09-11 | 2009-03-12 | Yahoo! Inc. | Safe web based interactions |
| CN103745138B (zh) * | 2013-11-28 | 2016-09-07 | 福建天晴数码有限公司 | 一种隐藏dll模块导出函数的方法 |
| CN103679032B (zh) * | 2013-12-13 | 2017-05-17 | 北京奇虎科技有限公司 | 防御恶意软件的方法和装置 |
| CN104504311A (zh) * | 2015-01-19 | 2015-04-08 | 炫彩互动网络科技有限公司 | 一种安全的sdk制作和运行方法 |
| CN108363930B (zh) * | 2018-03-21 | 2020-06-12 | 中国人民解放军战略支援部队信息工程大学 | 一种内存数据保护方法及系统 |
-
2018
- 2018-09-07 CN CN201811041322.5A patent/CN109740303B/zh active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102810143A (zh) * | 2012-04-28 | 2012-12-05 | 天津大学 | 基于Android平台手机应用程序的安全检测系统及方法 |
| CN105264491A (zh) * | 2013-03-07 | 2016-01-20 | 微软技术许可有限责任公司 | 标识与软件产品相关联的隐含假设 |
| CN105760794A (zh) * | 2014-12-15 | 2016-07-13 | 阿里巴巴集团控股有限公司 | 一种显示隐私信息的方法、装置及终端设备 |
| CN105653979A (zh) * | 2015-12-29 | 2016-06-08 | 银江股份有限公司 | 一种基于代码注入的隐私信息保护方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109740303A (zh) | 2019-05-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104090790B (zh) | 一种安全终端的双芯片方案的固件更新方法 | |
| US8775923B1 (en) | Web page restoration | |
| CN111026392B (zh) | 一种引导页面生成方法、装置及电子设备 | |
| CN109740303B (zh) | 一种使用外部sdk时提升安全性的方法 | |
| CN111767086A (zh) | 一种浏览器数据的迁移方法及设备 | |
| CN108037932B (zh) | Spi-nand的配置文件获取方法和装置 | |
| CN114996773B (zh) | 一种soc芯片启动方法、装置及可读存储介质 | |
| US8898625B2 (en) | Optimized storage of function variables | |
| CN105468974B (zh) | 一种文件访问方法、装置及移动终端 | |
| CN119094583B (zh) | 一种物联网数字化连接方法、平台、电子设备及存储介质 | |
| WO2016119432A1 (zh) | 控制应用访问的方法和装置 | |
| JP2009199529A (ja) | 情報機器、プログラム及び不正なプログラムコードの実行防止方法 | |
| CN109522174B (zh) | 控制adb使能的方法、装置、终端及存储介质 | |
| CN111143879A (zh) | 一种Android平台SD卡文件保护方法、终端设备及存储介质 | |
| CN112527413B (zh) | 一种页面加载方法、装置、设备及存储介质 | |
| CN117521103A (zh) | 一种基于vuex的前端安全存储方法 | |
| WO2009029450A1 (en) | Method of restoring previous computer configuration | |
| CN109214184A (zh) | 一种Android加固应用程序通用自动化脱壳方法和装置 | |
| CN116610885A (zh) | Ui样式渲染方法、装置、设备及存储介质 | |
| CN108197010A (zh) | 分布式文件系统的容量统计方法、系统、装置及存储介质 | |
| CN114138188A (zh) | 一种数据卷的缩容方法、系统、装置及可读存储介质 | |
| CN119336715B (zh) | 网络文件系统中删除操作的处理方法及电子设备 | |
| CN114443179B (zh) | 一种提取自定义脚本print函数输出内容的方法 | |
| CN111045650A (zh) | Mocker联调工具的设计方法、装置及计算机设备 | |
| CN119676169A (zh) | 一种接口限流方法、系统、电子设备和存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| CP03 | Change of name, title or address | ||
| CP03 | Change of name, title or address |
Address after: 100037 No. 31, Fuchengmenwai Street, Xicheng District, Beijing 4th Floor, Room 429D Patentee after: Tianyi Payment Technology Co.,Ltd. Country or region after: China Address before: 429D, 4th Floor, No. 31 Fuchengmenwai Street, Xicheng District, Beijing Patentee before: TIANYI ELECTRONIC COMMERCE Co.,Ltd. Country or region before: China |