CN110058903B - 一种程序接入方法 - Google Patents
一种程序接入方法 Download PDFInfo
- Publication number
- CN110058903B CN110058903B CN201910302392.XA CN201910302392A CN110058903B CN 110058903 B CN110058903 B CN 110058903B CN 201910302392 A CN201910302392 A CN 201910302392A CN 110058903 B CN110058903 B CN 110058903B
- Authority
- CN
- China
- Prior art keywords
- program
- access
- access control
- target object
- loading
- 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
Classifications
-
- 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
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种程序接入方法,所述方法包括:步骤S1:当开启条件符合时开启程序接入控制;步骤S2:预加载接入控制程序以开启接入控制;步骤S3:对目标对象进行接入控制;步骤S4:基于接入控制指令进行程序加载。本发明能够在资源受限的移动终端中高效的进行程序接入,保证程序的接入和后续的切换效率;与此同时,通过渐进式的程序接入时检查保证了接入效率,通过提前的安全性检查使得安全性检查不会降低程序接入控制的效率。通过和接入控制结合的基于有向加权图的调用路径检查避免了恶意程序修改。
Description
【技术领域】
本发明属于计算机技术领域,尤其涉及一种程序接入方法。
【背景技术】
我国移动互联网人均上网时长首次超过PC互联网,并且PC互联网用户继续保持向移动端迁移的趋势。随着移动互联网的大规模普及,移动智能终端产业也引发了整个ICT产业的剧烈变革。移动互联网应用软件的安全问题主要有两类:一类是直接的恶意应用,专门进行恶意扣费、系统破坏、隐私窃取、访问不良信息等恶意行为;另一类是带有敏感行为的应用,如自动网络连接、自动发短信、提取位置信息,这些敏感行为不一定会对用户造成直接损失,但一旦被利用,就会对用户信息安全或经济利益造成间接威胁。总而言之,处于移动互联网中的计算终端有其新的特点:资源受限和安全薄弱两个特点,这两个特点都对程序接入提出了新的挑战,如何在资源受限的情况下提高程序接入的效率并保证安全性,是急需解决的问题。目前,我国的移动应用软件的发展正处于爆发期,但是对对于程序接入效率和安全性还不高,市场上迫切需要一种有效的程序接入方法。本发明提出一种程序接入方法,能够在资源受限的移动终端中高效的进行程序接入,保证程序的接入和后续的切换效率;与此同时,通过渐进式的程序接入时检查保证了接入效率,通过提前的安全性检查使得安全性检查不会降低程序接入控制的效率。通过和接入控制结合的基于有向加权图的调用路径检查避免了恶意程序修改。
【发明内容】
为了解决现有技术中的上述问题,本发明提出了一种程序接入方法,所述方法包含:
步骤S1:当开启条件符合时开启程序接入控制;
步骤S2:预加载接入控制程序以开启接入控制;
步骤S3:对目标对象进行接入控制;
步骤S4:基于接入控制指令进行程序加载。
进一步的,所述步骤S1具体为:通过检测装置进行开启条件的检测,开启条件满足时,触发中断程序以开启接入控制。
进一步的,开启条件为当移动终端出现响应变缓和/或资源有限时。
进一步的,所述步骤S2具体为:将接入控制程序预加载入内存中,并将接入控制程序和目标对象关联,经过关联操作后,接入控制程序能够对目标对象的发生的新接入和因目标操作导致状态改变的目标对象进行接入控制;关联的方式为使目标对象的新接入和/或目标操作触发接入控制程序的唤醒。
进一步的,将加载完毕后的接入控制程序转入睡眠模式,但是并不将接入控制程序载出,从而保持接入控制程序能够占用存储资源而释放计算资源。
进一步的,所述目标操作为将应用程序从后台切换为前台、将应用程序聚焦而成为焦点。
进一步的,所述步骤S3具体为:在接入控制程序被唤醒后,获取目标对象的有向加权图,基于所述有向加权图、允许的接入量、目标对象的接入现场进行目标对象的接入控制;
所述有向加权图中的点为目标对象中的程序,边为程序之间的存在的调用关系,边的起点为调用主体,边的终点为被调用目标;程序之间的边具有权重,所述权重为在起点已经被接入的情况下接入终点所需要的接入量;
根据目标对象的重要程度、移动终端的可用资源状况来动态设置所述所允许的接入量,重要程度越高、可用资源越多则所允许的接入量越大,反之,则越小。
进一步的,根据接入程序的类型、程序所需要的计算量/存储量、程序所在调用路径所完成的功能类型等来设置目标对象的有向加权图。
进一步的,所述步骤S4具体为:所述接入控制为允许程序接入时,则加载所述程序,否则,不允许所述程序的加载。
进一步的,加载所述程序为将所述程序加载入操作系统的程序执行空间中、将程序指令从内存空间加载入高速缓存空间中。
本发明的有益效果包括:能够在资源受限的移动终端中高效的进行程序接入,保证程序的接入和后续的切换效率;与此同时,通过渐进式的程序接入时检查保证了接入效率,通过提前的安全性检查使得安全性检查不会降低程序接入控制的效率。通过和接入控制结合的基于有向加权图的调用路径检查避免了恶意程序修改。
【附图说明】
此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
图1为本发明的程序接入方法示意图。
图2为本发明的有向加权图的示意图。
【具体实施方式】
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
对本发明所应用的一种程序接入方法进行详细说明,如附图1所示,所述方法包含:
步骤S1:当开启条件符合时,开启程序接入控制;具体的:通过检测装置进行开启条件的检测,开启条件满足时,触发中断程序以开启接入控制;
程序接入控制所针对的目标对象为应用程序等,应用程序包含一个或者多个存在调用关系的程序;
所述开启条件为当移动终端出现响应变缓和/或资源有限时,例如:用户点击的响应速度小于第一响应时间、移动终端可用缓存空间小于第一大小阈值、和/或待处理指令队列的长度大于第一长度阈值的时间长度超过第一时间阈值时等;需要基于开启条件设置所需检测装置及其基于检测结果的运算逻辑,检测装置实时的进行检测,当检测装置的检测结果或其运算结果满足开启条件时,触发中断程序以开启接入控制;这里的开启条件需要比用户能够忍受响应底线高,避免因为接入控制加剧本来就很差的响应状况;触发中断的方式使得在条件满足时及时且断言开启接入控制;接入控制用于对目标对象的的新接入以及程序/子程序的新调用进行接入控制,从而控制接入目标程序的大小和时间;
优选的:检测装置周期性的进行检测,并将检测结果存入指定存储器空间中,例如:寄存器中;以定时查询的方式查询检测装置写入的检测数据以判断开启条件是否满足;可以通过操作系统更新来修改中断程序所开启的接入控制程序或触发的接入控制模块以进行接入控制更新;考虑到不同用户的忍受程度之间存在差异,接入控制的开启时机可以根据用户画像来进行动态调整;
步骤S2:预加载接入控制程序以开启接入控制;具体的:将接入控制程序预加载入内存中,并将接入控制程序和目标对象关联,经过关联操作后,接入控制程序能够对目标对象的发生的新接入和因目标操作导致状态改变的目标对象进行接入控制。关联的方式为使目标对象的新接入和/或目标操作触发接入控制程序的唤醒;
优选的:将加载完毕后的接入控制程序转入睡眠模式,但是并不将接入控制程序载出,从而保持接入控制程序能够占用存储资源而释放计算资源;
优选的:通过操作系统将接入控制程序的优先级设置为较高的优先级。接入程序以常驻进程的方式运行于操作系统;
优选的:所述目标操作为将应用程序从后台切换为前台、将应用程序聚焦等;
步骤S3:对目标对象进行接入控制;具体为:在接入控制程序被唤醒后,获取目标对象的有向加权图,基于所述有向加权图、允许的接入量、目标对象的接入现场进行目标对象的接入控制;
优选的:当出现目标对象的新接入以及程序/子程序的新调用时进行接入控制;此时,唤醒所述接入控制程序以进行接入控制;在进行接入控制前,获取所述目标对象的接入现场,接入现场中包含目标对象已经接入程序;接入现场保存在接入控制程序所在的进程中;通过接入控制仅仅将必须的程序加载入执行环境中,有些目标对象中不会使用到的程序可能在目标对象被关闭后都不会被载入;
所述有向加权图中的点为目标对象中的程序,边为程序之间的存在的调用关系,边的起点为调用主体,边的终点为被调用目标;程序之间的边具有权重,所述权重为在起点已经被接入的情况下接入终点所需要的接入量;接入量为接入程序的优先程度进行量化;接入量越小,优先程序越高;通过接入量使得在当前的接入现场下,以所允许的接入量为步长在有向加权图上进行渐进式程序接入;
如附图2所示,程序A和B之间的边ab具有权重Wab,权重Wab表示从程序A已接入的情况下接入程序B所需要的接入量;当权重Wab越大时,表示在程序A已经接入的情况下接入程序B所需要的接入量越大,那么在当前状态下,程序A已经接入而程序B未接入时,如果允许的接入量小于所需要的接入量,则不允许接入程序B;当程序A已接入而程序B未接入时,如果不允许由程序A出发的程序B接入,则将权重Wab设置为较大的值;而Wba的设置则一般情况下和权重Wab的设置是无关的;类似的,若Wab=2,Wbc=1,所允许的接入量为3,当前接入程序为A时,则基于所述所允许的接入量而允许程序B和C的接入;因此,路径ABC上的三个节点都被接入允许;可以看出,随着路径的深入而减少所允许的接入量,直到所允许的接入量小于所需要的接入量时,接入允许被停止;又如Wec=25536,则表示在程序E已接入时,基于程序W的接入来接入程序C是很难的,虽然两者之间存在调用关系;通过这样的方式,允许了基于调用路径的接入控制;使得能够基于调用路径所完成的功能类型来进行接入控制;优选的:和目标对象相关的有向加权图在接入控制程序预加载时保存在内存等存储空间中并保持占用状态,一旦接入控制被唤醒则可以很快的获取所述有向加权图;
优选的:根据目标对象的重要程度、移动终端的可用资源状况来动态设置所述所允许的接入量,重要程度越高、可用资源越多则所允许的接入量越大,反之,则越小;所述重要程度和用户的使用习惯相关,例如:当目标对象涉及使用频率较高的程序时,重要程序则被设置较大。可以根据接入程序的类型、程序所需要的计算量/存储量、程序所在调用路径所完成的功能类型等来设置目标对象的有向加权图;例如:在目标对象已加载的情况下,调用路径ABE完成必要的主界面现实操作,通过将Wab、Wbe设置为较小的值来允许程序ABE很容易的接入,虽然E已经被接入了,但是和E之间存在调用关系的C并不会因为E的接入而被接入。
步骤S4:基于接入控制指令进行程序加载;具体的:当所述接入控制为允许程序接入时,则加载所述程序,否则,不允许所述程序的加载;
优选的:加载所述程序为将所述程序加载入操作系统的程序执行空间中、将程序指令从内存空间加载入高速缓存空间中;所述不允许所述程序的加载为保持程序当前状态不改变、将程序从固态存储空间中加载入内存中、和/或开放程序的部分功能使得程序资源使用受限等;
优选的:加载所述程序之前执行渐进式的程序接入时检查;具体为:当确定加载程序时,先对所述程序进行安全性检查然后再进行程序的加载;通过这样的方式,使得随着程序接入控制而渐进的进行安全性检查,从而提高了程序接入和安全性检查的融合度和执行效率;
优选的:基于目标对象的有向加权图进行程序的提前检查;具体为:在完成当前程序接入后,基于当前目标对象的接入现场和目标对象的有向加权图确定下一次所允许接入的程序集合,对所述程序集合中的程序进行提前检查;所述提前检查具体为:提取程序的特征,将所述特征和恶意程序特征列表中的恶意特征进行比较,如果两者的相似度大于相似度阈值,则确定所述程序未通过安全性检查;提前进行常规的安全性检查,提高了程序接入时的响应效率;对于提前进行的安全性检查,可以采用在闲时来完成;
对于已确定的恶意程序,先进行特征分析与提取,然后进行特征描述,最后进行特征筛选后得到所述恶意程序特征列表;所述进行特征分析与提取,具体为:对给定的己知恶意软件进行反编译,得到源代码,对源代码进行分析,得到源代码中实现恶意行为的代码片段;所述进行特征描述,具体为:对具有恶意特征的代码片段进行形式化描述,得到对应的指令序列并记为备选特征;所述特征筛选,具体为:通过实验从备选特征剔除掉正常软件具有的特征以得到对检测这一族恶意软件的有效特征作为恶意特征;通过该提取方式能够更有效地提取恶意代码的本质特征,对恶意代码变种进行准确;
优选的:还包括基于接入现场和有向加权图的安全性检查;具体为:基于当前的接入现场,遍历已加载程序以确定从所述已加载程序出发的程序调用关系是否符合(一致)有向加权图的连接关系,如果符合,则通过安全性检查,否则,未通过安全性检查。在进行调用关系检查时包括对调用主体和被调用主体的程序大小的检查,当程序大小发生改变时,必然出现了程序的篡改而直接确定未通过安全性检查;
优选的:基于默认接入量进行所述基于接入现场和有向加权图的安全性检查;具体的:对于和已加载程序之间的路径长度小于默认接入量的程序进行所述基于接入现场和有向加权图的安全性检查;
以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。
Claims (8)
1.一种程序接入方法,其特征在于,所述方法包含:
步骤S1:当开启条件符合时开启程序接入控制;
步骤S2:预加载接入控制程序以开启接入控制;
所述步骤S2具体为:将接入控制程序预加载入内存中,并将接入控制程序和目标对象关联,经过关联操作后,接入控制程序能够对目标对象的发生的新接入和因目标操作导致状态改变的目标对象进行接入控制;关联的方式为使目标对象的新接入和/或目标操作触发接入控制程序的唤醒;
步骤S3:对目标对象进行接入控制;
所述步骤S3具体为:在接入控制程序被唤醒后,获取目标对象的有向加权图,基于所述有向加权图、允许的接入量、目标对象的接入现场进行目标对象的接入控制;
所述有向加权图中的点为目标对象中的程序,边为程序之间的存在的调用关系,边的起点为调用主体,边的终点为被调用目标;程序之间的边具有权重,所述权重为在起点已经被接入的情况下接入终点所需要的接入量;
根据目标对象的重要程度、移动终端的可用资源状况来动态设置所述允许的接入量,重要程度越高、可用资源越多则所允许的接入量越大,反之,则越小;
步骤S4:基于接入控制指令进行程序加载。
2.根据权利要求1所述的程序接入方法,其特征在于,所述步骤S1具体为:通过检测装置进行开启条件的检测,开启条件满足时,触发中断程序以开启接入控制。
3.根据权利要求2所述的程序接入方法,其特征在于,开启条件为当移动终端出现响应变缓和/或资源有限时。
4.根据权利要求3所述的程序接入方法,其特征在于,将加载完毕后的接入控制程序转入睡眠模式,但是并不将接入控制程序载出,从而保持接入控制程序能够占用存储资源而释放计算资源。
5.根据权利要求4所述的程序接入方法,其特征在于,所述目标操作为将应用程序从后台切换为前台、将应用程序聚焦而成为焦点。
6.根据权利要求1所述的程序接入方法,其特征在于,根据接入程序的类型、程序所需要的计算量/存储量、程序所在调用路径所完成的功能类型等来设置目标对象的有向加权图。
7.根据权利要求6所述的程序接入方法,其特征在于,所述步骤S4具体为:所述接入控制为允许程序接入时,则加载所述程序,否则,不允许所述程序的加载。
8.根据权利要求7所述的程序接入方法,其特征在于,加载所述程序为将所述程序加载入操作系统的程序执行空间中、将程序指令从内存空间加载入高速缓存空间中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910302392.XA CN110058903B (zh) | 2019-04-16 | 2019-04-16 | 一种程序接入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910302392.XA CN110058903B (zh) | 2019-04-16 | 2019-04-16 | 一种程序接入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110058903A CN110058903A (zh) | 2019-07-26 |
CN110058903B true CN110058903B (zh) | 2019-12-31 |
Family
ID=67317674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910302392.XA Active CN110058903B (zh) | 2019-04-16 | 2019-04-16 | 一种程序接入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110058903B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106104468B (zh) * | 2013-12-13 | 2020-03-10 | 起元技术有限责任公司 | 动态地确定数据处理应用程序的模式 |
CN105117233B (zh) * | 2015-09-14 | 2019-05-28 | 百度在线网络技术(北京)有限公司 | Api调用方法及装置 |
CN106293805A (zh) * | 2016-07-26 | 2017-01-04 | 深圳天珑无线科技有限公司 | 程序加载的方法及装置 |
-
2019
- 2019-04-16 CN CN201910302392.XA patent/CN110058903B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110058903A (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101174751B1 (ko) | 커널 콜백 매커니즘을 이용한 악성코드 자동 분석 방법 | |
CN106681811B (zh) | 基于线程池的多线程调度方法及装置 | |
CN105912370B (zh) | 移动终端的后台应用程序的控制方法、装置及移动终端 | |
US20140143791A1 (en) | System, method, and apparatus for improving application-launch latencies | |
KR20140144250A (ko) | 단말 디바이스 및 이를 동작시키는 방법 | |
CN113051034B (zh) | 一种基于kprobes的容器访问控制方法与系统 | |
CN104503828A (zh) | 一种进程管理方法及终端 | |
CN107615250B (zh) | 一种针对应用的处理方法、装置及智能终端 | |
CN110704184A (zh) | 一种应用内存优化方法、装置和移动终端 | |
EP3113019A1 (en) | Policy-based compression of machine code generated by a virtual machine | |
CN108830078B (zh) | 一种针对工控设备的恶意代码发现方法 | |
JP2008108075A (ja) | タスク切替え制御方法及びコンピュータシステム | |
CN110058903B (zh) | 一种程序接入方法 | |
CN114184885A (zh) | 一种故障检测方法、装置及存储介质 | |
US9141803B2 (en) | Self-healing of operating system components | |
CN109918276B (zh) | 基于app应用程序的曝光埋点处理方法及相关设备 | |
TWI697776B (zh) | 電腦系統、其更新方法及電腦程式產品 | |
WO2013159621A1 (en) | Method and system for speeding up computer program | |
CN110928630A (zh) | 应用程序窗口的激活控制方法、装置、设备及存储介质 | |
US20150212569A1 (en) | User space based performance state switching of a processor of a data processing device | |
CN115659340A (zh) | 一种仿冒小程序识别方法、装置、存储介质及电子设备 | |
CN115033459A (zh) | 一种cpu使用率监测方法、装置及存储介质 | |
KR20110057297A (ko) | 악성 봇 동적 분석 시스템 및 방법 | |
CN110442380B (zh) | 一种数据预热方法及计算设备 | |
JP2023541707A (ja) | プロセス制御方法及び装置 |
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 |