[go: up one dir, main page]

CN109740303B - 一种使用外部sdk时提升安全性的方法 - Google Patents

一种使用外部sdk时提升安全性的方法 Download PDF

Info

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
Application number
CN201811041322.5A
Other languages
English (en)
Other versions
CN109740303A (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.)
Tianyi Payment Technology Co ltd
Original Assignee
China Telecom Bestpay 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 China Telecom Bestpay Co Ltd filed Critical China Telecom Bestpay Co Ltd
Priority to CN201811041322.5A priority Critical patent/CN109740303B/zh
Publication of CN109740303A publication Critical patent/CN109740303A/zh
Application granted granted Critical
Publication of CN109740303B publication Critical patent/CN109740303B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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方法执行完后,程序将这些隐藏了的方法指针重新指向原始内存地址,使这些受保护的方法恢复正常。
所述的使用外部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、自有程序可正常调用方法。
CN201811041322.5A 2018-09-07 2018-09-07 一种使用外部sdk时提升安全性的方法 Active CN109740303B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010855B (zh) * 2019-12-18 2022-05-10 武汉斗鱼鱼乐网络科技有限公司 一种获取数据的方法、装置、介质及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 中国人民解放军战略支援部队信息工程大学 一种内存数据保护方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
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