CN103955636A - 程序实现的安全实时动态加载技术 - Google Patents
程序实现的安全实时动态加载技术 Download PDFInfo
- Publication number
- CN103955636A CN103955636A CN201410160841.9A CN201410160841A CN103955636A CN 103955636 A CN103955636 A CN 103955636A CN 201410160841 A CN201410160841 A CN 201410160841A CN 103955636 A CN103955636 A CN 103955636A
- Authority
- CN
- China
- Prior art keywords
- program
- data
- time
- realizing
- cloud server
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 abstract description 5
- 238000004590 computer program Methods 0.000 abstract 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 206010010356 Congenital anomaly Diseases 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000004936 stimulating effect 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/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Abstract
程序实现的安全实时动态加载技术是一种能够解决代码保护以及快速更新部署的新方法,通过应用本方法,可以保护计算机程序无法被反向工程破译,保护代码安全和软件著作权。同时能够解决计算机程序在更新过程中的滞后性,保证运行中的***能够在更新程序发布后快速的部署最新的程序实现数据。程序实现的安全动态加载的逻辑思路如摘要附图一所示。程序实现数据更新的逻辑思路如摘要附图二所示。
Description
技术领域
目前软件行业由于盗版,每年有数百亿美元的收入损失。随着网络家电、移动代码的来临以及手机上网的普及,软件滥用问题将成为一个严重的威胁。然而盗版不再足唯一的问题,恶意软件篡改,还有许多威胁例如在终端用户***中种植特洛依木马。此外,移动代码通常以独立于机器的格式发布,它必然包含一些源代码信息,因而容易遭受反编译和逆向工程。
0day在网络安全界通常是指没有补丁的漏洞利用程序,或当天就被人破解的程序。提供该利用程序的人通常是该漏洞的首发者或是第一个公开该漏洞利用细节的人。 网络安全意思上的0day就是指一些没有公布补丁的漏洞,或者是还没有被漏洞发现者公布出来的漏洞利用工具。
背景技术
通常C、C++等编程语言开发的程序都被编译成目标代码,这些目标代码都是本机器的二进制可执行代码。通常所有的源文件被编译、链接成一个可执行文件。在这些可执行文件中,编译器删除了程序中的变量名称、方法名称等信息,这些信息往往是由内存地址表示,例如如果需要使用一个变量,往往是通过这个变量的地址来访问的。因此,反编译这些本地的目标代码就是非常困难的。
Java语言的出现,使得反编译变得非常容易而有效。原因如下:
1. 由于跨平台的需求,Java的指令集比较简单而通用,较容易得出程序的语义信息;
2. Java编译器将每一个类编译成一个单独的文件,这也简化了反编译的工作;
3. Java 的Class文件中,仍然保留所有的方法名称、变量名称,并且通过这些名称来访问变量和方法,这些符号往往带有许多语义信息。由于Java程序自身的特点,对于不经过处理的Java程序反编译的效果非常好。
目前,市场上有许多反编译工具,有免费的,也有商业使用的,还有的是开放源代码的。这些工具的反编译速度和效果都非常不错。好的反编译软件,能够反编译出非常接近源代码的程序。因此,通过反编译器,黑客能够对这些程序进行更改,或者复用其中的程序。因此,如何保护程序不被反编译,是非常重要的一个问题。
与此同时,信息价值的飞速提升,互联网在全球的普及,数字经济的广泛应用,这一切都刺激着信息安全市场的不断扩大,软件破解、口令解密、间谍软件、木马病毒全部都从早期的仅做研究和向他人炫耀的目的转化为纯商业利益的运作,并迅速地传播开来,从操作***到数据库,从应用软件到第三方程序和插件,再到遍布全球的漏洞发布中心,看看它们当中有多少0Day存在?可以毫不夸张的说,在安全补丁程序发布并成功部署之前,所有的漏洞信息都是0Day。
有人说:“每一个稍具规模的应用软件都可能存在0Day。”没错!从理论上讲,漏洞必定存在,只是尚未发现,而弥补措施永远滞后而已,就算漏洞补丁已经发布,在用户没有部署相关补丁前,用户的计算机***始终存在安全隐患。
只要用户方不独自开发操作***或应用程序,或者说只要使用第三方的软件,0Day的出现就是迟早的事,无论你是使用数据库还是网站管理平台,无论你是使用媒体播放器还是绘图工具,即便是专职安全防护的软件程序本身,都会出现安全漏洞,这已是不争的事实,但最可怕的不是漏洞存在的先天性,而是0Day的不可预知性。
发明内容
程序实现的安全实时动态加载技术是一种能够解决代码保护以及快速更新部署的新方法,应用本技术后,在计算机***中存储的是程序相关功能的描述性文档,包括方法/函数名称、输入数据格式、输出数据格式等信息,当计算机***需要调用程序时,程序加载器通过访问云端服务器,从云端获取对应程序的具体实现数据,通过加载器进行数据加载,数据加载完成后,进行相应的程序处理操作,完成用户的操作要求。如果计算机并没有连入互联网,无法访问云端服务器,程序加载器还提供从磁盘指定位置进行程序实现数据加载的功能,具体的程序实现数据经过加密,保存在计算机磁盘的指定位置。在整个程序数据加载及程序处理操作的过程中,程序的具体实现代码完全存在于计算机内存***中,并不存储在磁盘***上,能够有效的防止对程序实现源代码的反向工程,达到保护代码安全的目的。
程序加载器的逻辑实现如附图1所示。
在程序加载器的运行过程中,当云端的程序数据有新版本时,程序加载器可以定期到云端服务器获取程序实现数据的更新列表,或者由云端服务将程序实现数据的更新列表推送到程序加载器中,还可以应用其他方式完成程序实现数据更新列表的信息更新,当程序加载器收到程序实现数据的更新列表后,可以在程序下一次被调用时重新加载最新的程序实现数据,也可以在***空闲时预先对最新的程序实现数据进行预加载,提高程序调用时的响应速度。应用这种更新技术时,可以将程序实现数据的更新部署压缩到极短的时间内,只要云端数据更新完成,所有已经部署的应用即可使用最新的程序实现数据,完成更新的部署。当程序出现漏洞时,只要在最短的时间内将更新后的程序实现数据发布到云端,即可解决用户***中存在的安全隐患。
程序加载器的数据更新逻辑如附图2所示。
图1程序加载器的逻辑实现
图2程序加载器的数据更新逻辑
Claims (4)
1.一种保护程序代码的方法,其特征在于:本地仅记录程序的描述性文档,具体的程序实现数据,在请求调用时从云端服务器动态加载。
2.基于权利要求1所述,当计算机***无法连接云端服务器时,自动从本地磁盘加载经过加密后的程序实现数据。
3.一种保证程序能够实时动态部署的方法,其特征在于:通过定时获取云端服务器的更新数据列表或者接收云端服务器推送的更新数据列表,在程序调用时加载最新的程序实现数据。
4.基于权利要求3所述,在计算机***空闲时,可以预先加载最新的程序实现数据,提高在程序调用时的效率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410160841.9A CN103955636A (zh) | 2014-04-21 | 2014-04-21 | 程序实现的安全实时动态加载技术 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410160841.9A CN103955636A (zh) | 2014-04-21 | 2014-04-21 | 程序实现的安全实时动态加载技术 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103955636A true CN103955636A (zh) | 2014-07-30 |
Family
ID=51332911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410160841.9A Pending CN103955636A (zh) | 2014-04-21 | 2014-04-21 | 程序实现的安全实时动态加载技术 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103955636A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890758A (zh) * | 2012-10-11 | 2013-01-23 | 北京深思洛克软件技术股份有限公司 | 一种保护可执行文件的方法及*** |
CN103002445A (zh) * | 2012-11-08 | 2013-03-27 | 张维加 | 一种安全的提供应用服务的移动电子设备 |
CN103402194A (zh) * | 2013-08-02 | 2013-11-20 | 个信互动(北京)网络科技有限公司 | 一种在软件更新时推荐软件的方法及实现该方法的*** |
CN103530535A (zh) * | 2013-10-25 | 2014-01-22 | 苏州通付盾信息技术有限公司 | 一种Android平台应用程序保护的加脱壳方法 |
CN103544415A (zh) * | 2013-10-25 | 2014-01-29 | 苏州通付盾信息技术有限公司 | 一种移动平台应用软件的加固方法 |
-
2014
- 2014-04-21 CN CN201410160841.9A patent/CN103955636A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890758A (zh) * | 2012-10-11 | 2013-01-23 | 北京深思洛克软件技术股份有限公司 | 一种保护可执行文件的方法及*** |
CN103002445A (zh) * | 2012-11-08 | 2013-03-27 | 张维加 | 一种安全的提供应用服务的移动电子设备 |
CN103402194A (zh) * | 2013-08-02 | 2013-11-20 | 个信互动(北京)网络科技有限公司 | 一种在软件更新时推荐软件的方法及实现该方法的*** |
CN103530535A (zh) * | 2013-10-25 | 2014-01-22 | 苏州通付盾信息技术有限公司 | 一种Android平台应用程序保护的加脱壳方法 |
CN103544415A (zh) * | 2013-10-25 | 2014-01-29 | 苏州通付盾信息技术有限公司 | 一种移动平台应用软件的加固方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102760219B (zh) | 一种Android平台软件保护***、方法及设备 | |
US8549656B2 (en) | Securing and managing apps on a device | |
US8812868B2 (en) | Secure execution of unsecured apps on a device | |
WO2016206297A1 (zh) | Android***中保护dex文件不被反编译的方法 | |
WO2016078130A1 (zh) | 一种防逆向apk文件的动态加载方法 | |
CN105022936A (zh) | 一种类class文件加密解密方法和装置 | |
CN104463002A (zh) | 一种加固apk的方法和装置以及apk加固客户端和服务器 | |
US10171502B2 (en) | Managed applications | |
CN103067392A (zh) | 一种基于Android终端的安全访问控制方法 | |
CN103544434A (zh) | 用于确保应用程序安全运行的方法和终端 | |
US10223526B2 (en) | Generating packages for managed applications | |
CN101950339B (zh) | 一种电脑安全防护方法和*** | |
US9990493B2 (en) | Data processing system security device and security method | |
EP3298534B1 (en) | Creating multiple workspaces in a device | |
CN103186730A (zh) | 保护.net软件安全的方法和设备 | |
CN102622251A (zh) | 导航软件升级管理的方法及服务器 | |
CN103885784A (zh) | 具有安全模块可插拔功能的Android平台构建方法 | |
CN116910712A (zh) | 代码保护方法、***、电子设备及存储介质 | |
CN103955636A (zh) | 程序实现的安全实时动态加载技术 | |
CN104866740A (zh) | 一种防静态分析文件的方法及装置 | |
CN102262717B (zh) | 用于更改原始安装信息及检测安装信息的方法、装置及设备 | |
US11611570B2 (en) | Attack signature generation | |
US20170147798A1 (en) | Mobile Device And Method Of Operating Mobile Device | |
CN115994370B (zh) | 一种软件加密处理方法、装置、设备及介质 | |
Lee et al. | State of the Art of Anti-Screen Capture Protection Techniques. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140730 |