CN114282222A - 一种可信脚本加载及执行方法和装置 - Google Patents
一种可信脚本加载及执行方法和装置 Download PDFInfo
- Publication number
- CN114282222A CN114282222A CN202111543626.3A CN202111543626A CN114282222A CN 114282222 A CN114282222 A CN 114282222A CN 202111543626 A CN202111543626 A CN 202111543626A CN 114282222 A CN114282222 A CN 114282222A
- Authority
- CN
- China
- Prior art keywords
- script
- digital certificate
- loading
- trusted
- executing
- 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
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及一种可信脚本加载及执行方法和装置。其中,方法包括以下步骤:基于数字证书加载脚本;通过代理改造机制以及所述数字证书对所述脚本进行执行;收集所述脚本的执行输出结果,并通过所述数字证书对所述输出结果进行签名并记录脚本执行日志。本发明能够防止脚本代码被中间人篡改以及确保执行过程可回溯。
Description
技术领域
本发明涉及脚本执行技术领域,特别是涉及一种可信脚本加载及执行方法和装置。
背景技术
脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本形式保存,只在被调用时进行解释或编译。脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。虽然许多脚本语言都超越了计算机简单任务自动化的领域,成熟到可以编写精巧的程序,但仍然还是被称为脚本。动态脚本语言具有编码灵活适用性广的特色。但在实际应用中,脚本语言往往成为恶意代码进行漏洞注入的途径。一些恶意代码甚至还可能造成一些关键信息的泄漏,对信息安全产生影响。目前尚缺乏统一有效的方法保障可信的脚本代码加载与执行。
发明内容
本发明所要解决的技术问题是提供一种可信脚本加载及执行方法和装置,能够防止脚本代码被中间人篡改以及确保执行过程可回溯。
本发明解决其技术问题所采用的技术方案是:提供一种可信脚本加载及执行方法,包括以下步骤:
基于数字证书加载脚本;
通过代理改造机制以及所述数字证书对所述脚本进行执行;
收集所述脚本的执行输出结果,并通过所述数字证书对所述输出结果进行签名并记录脚本执行日志。
所述基于数字证书加载脚本具体为:
接收带有所述数字证书签名的脚本;
通过所述数字证书对所述脚本进行验证,确认所述脚本的来源,当所述脚本的来源为可信来源时,进入下一步。
当所述脚本的来源为可信来源时,还基于静态扫描检测所述脚本中是否带有可疑恶意代码的步骤,当所述脚本中未带有可疑恶意代码时,进入下一步。
所述通过代理改造机制以及所述数字证书对所述脚本进行执行具体为:
采用代理执行方式替换至少一个涉及安全的系统接口;
检测到所述脚本在执行时需要调用所述系统接口时,校验所述脚本的数字证书,确认所述脚本是否具备调用所述系统接口的授权;当所述脚本具备调用所述系统接口的授权时,继续执行,否则停止执行。
所述的可信脚本加载及执行方法还包括对每次系统接口的调用进行以所述脚本对应的数字证书对调用参数进行加签,并记录相应的系统调用日志。
在所述脚本执行时,当所述脚本出现异常,中断所述脚本的执行,并以所述脚本对应的数字证书对异常信息进行签名并记录相应的系统异常日志。
本发明解决其技术问题所采用的技术方案是:还提供一种可信脚本加载及执行装置,包括:
加载模块,用于基于数字证书加载脚本;
执行模块,用于通过代理改造机制以及所述数字证书对所述脚本进行执行;
结果输出模块,用于收集所述脚本的执行输出结果,并通过所述数字证书对所述输出结果进行签名并记录脚本执行日志。
所述加载模块包括:
接收单元,用于接收带有所述数字证书签名的脚本;
验证单元,用于通过所述数字证书对所述脚本进行验证,确认所述脚本的来源,当所述脚本的来源为可信来源时,送入所述执行模块。
所述执行模块包括:
替换单元,用于采用代理执行方式替换至少一个涉及安全的系统接口;
校验单元,用于在检测到所述脚本在执行时需要调用所述系统接口时,校验所述脚本的数字证书,确认所述脚本是否具备调用所述系统接口的授权;当所述脚本具备调用所述系统接口的授权时,继续执行,否则停止执行。
所述可信脚本加载及执行装置还包括异常处理模块,用于在所述脚本执行时,当所述脚本出现异常,中断所述脚本的执行,并以所述脚本对应的数字证书对异常信息进行签名并记录相应的系统异常日志。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明通过数字证书的校验确保脚本代码的来源可信并且防止脚本代码被中间人篡改。通过对系统调用的代理改造机制引入基于数字证书的访问授权并能够记录可信的系统调用日志记录用于可信执行的历史回溯以确保执行过程的安全可信。
附图说明
图1是本发明第一实施方式的流程图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明的第一实施方式涉及一种可信脚本加载及执行方法,如图1所示,包括以下步骤:
步骤1:加载可信脚本代码。具体包括:步骤1a,接收带有所述脚本代码,本实施方式中的脚本代码具有附加的数字签名证书,通过所述数字证书对所述脚本进行验证,确认脚本代码的来源可信且未经篡改;步骤1b,为防止可信脚本代码本身存在问题,本实施方式基于静态扫描检测所述脚本代码中是否带有可疑恶意代码,当所述脚本中未带有可疑恶意代码时,进入下一步,否则停止加载。
步骤2:执行可信脚本代码。具体包括:步骤2a,通过脚本执行引擎改造,采用代理执行方式替换至少一个涉及安全的系统接口;步骤2b,检测到所述可信脚本代码在执行时需要调用所述系统接口时,校验所述可信脚本代码所附的数字证书,确认所述可信脚本代码是否具备调用所述系统接口的授权;当所述脚本具备调用所述系统接口的授权时,继续执行,否则停止执行;步骤2c,对每次系统接口的调用进行以所述可信脚本代码对应的数字证书对调用参数进行加签,并记录相应的系统调用日志,以确保之后的可信执行溯源可以基于系统调用日志进行检验。
步骤3:可信执行脚本执行异常捕获。具体包括:步骤3a,当可信脚本代码执行出现异常时,将中断所述可信脚本代码的继续执行,由脚本引擎捕获异常并接管;步骤3b,脚本引擎捕获到异常抛出时,将以当前可信脚本代码所对应的数字证书对异常信息进行签名后,并记录相应的系统异常日志,以确保之后的可信执行溯源可以基于系统异常日志进行检验。
步骤4:可信脚本代码执行成功。具体为:脚本引擎收集可信脚本的执行输出结果并通过所述可信脚本代码所对应的数字证书对输出结果进行签名,并记录相应的脚本执行日志。
本发明的第二实施方式涉及一种可信脚本加载及执行装置,包括:加载模块,用于基于数字证书加载脚本;执行模块,用于通过代理改造机制以及所述数字证书对所述脚本进行执行;结果输出模块,用于收集所述脚本的执行输出结果,并通过所述数字证书对所述输出结果进行签名并记录脚本执行日志。
其中,所述加载模块包括:接收单元,用于接收带有所述数字证书签名的脚本;验证单元,用于通过所述数字证书对所述脚本进行验证,确认所述脚本的来源,当所述脚本的来源为可信来源时,送入所述执行模块。所述加载模块还包括恶意代码检测单元,所述恶意代码检测单元用于在所述脚本的来源为可信来源时,基于静态扫描检测所述脚本中是否带有可疑恶意代码,当所述脚本未带有可疑恶意代码时,送入所述执行模块。
所述执行模块包括:替换单元,用于采用代理执行方式替换至少一个涉及安全的系统接口;校验单元,用于在检测到所述脚本在执行时需要调用所述系统接口时,校验所述脚本的数字证书,确认所述脚本是否具备调用所述系统接口的授权;当所述脚本具备调用所述系统接口的授权时,继续执行,否则停止执行。所述执行模块还包括加签单元,所述加签单元用于对每次系统接口的调用进行以所述脚本对应的数字证书对调用参数进行加签,并记录相应的系统调用日志。
所述可信脚本加载及执行装置还包括异常处理模块,用于在所述脚本执行时,当所述脚本出现异常,中断所述脚本的执行,并以所述脚本对应的数字证书对异常信息进行签名并记录相应的系统异常日志。
不难发现,本发明通过数字证书的校验确保脚本代码的来源可信并且防止脚本代码被中间人篡改。通过对系统调用的代理改造机制引入基于数字证书的访问授权并能够记录可信的系统调用日志记录用于可信执行的历史回溯以确保执行过程的安全可信。
Claims (10)
1.一种可信脚本加载及执行方法,其特征在于,包括以下步骤:
基于数字证书加载脚本;
通过代理改造机制以及所述数字证书对所述脚本进行执行;
收集所述脚本的执行输出结果,并通过所述数字证书对所述输出结果进行签名并记录脚本执行日志。
2.根据权利要求1所述的可信脚本加载及执行方法,其特征在于,所述基于数字证书加载脚本具体为:
接收带有所述数字证书签名的脚本;
通过所述数字证书对所述脚本进行验证,确认所述脚本的来源,当所述脚本的来源为可信来源时,进入下一步。
3.根据权利要求2所述的可信脚本加载及执行方法,其特征在于,当所述脚本的来源为可信来源时,还基于静态扫描检测所述脚本中是否带有可疑恶意代码的步骤,当所述脚本中未带有可疑恶意代码时,进入下一步。
4.根据权利要求1所述的可信脚本加载及执行方法,其特征在于,所述通过代理改造机制以及所述数字证书对所述脚本进行执行具体为:
采用代理执行方式替换至少一个涉及安全的系统接口;
检测到所述脚本在执行时需要调用所述系统接口时,校验所述脚本的数字证书,确认所述脚本是否具备调用所述系统接口的授权;当所述脚本具备调用所述系统接口的授权时,继续执行,否则停止执行。
5.根据权利要求4所述的可信脚本加载及执行方法,其特征在于,还包括对每次系统接口的调用进行以所述脚本对应的数字证书对调用参数进行加签,并记录相应的系统调用日志。
6.根据权利要求1所述的可信脚本加载及执行方法,其特征在于,在所述脚本执行时,当所述脚本出现异常,中断所述脚本的执行,并以所述脚本对应的数字证书对异常信息进行签名并记录相应的系统异常日志。
7.一种可信脚本加载及执行装置,其特征在于,包括:
加载模块,用于基于数字证书加载脚本;
执行模块,用于通过代理改造机制以及所述数字证书对所述脚本进行执行;
结果输出模块,用于收集所述脚本的执行输出结果,并通过所述数字证书对所述输出结果进行签名并记录脚本执行日志。
8.根据权利要求7所述的可信脚本加载及执行装置,其特征在于,所述加载模块包括:
接收单元,用于接收带有所述数字证书签名的脚本;
验证单元,用于通过所述数字证书对所述脚本进行验证,确认所述脚本的来源,当所述脚本的来源为可信来源时,送入所述执行模块。
9.根据权利要求7所述的可信脚本加载及执行装置,其特征在于,所述执行模块包括:
替换单元,用于采用代理执行方式替换至少一个涉及安全的系统接口;
校验单元,用于在检测到所述脚本在执行时需要调用所述系统接口时,校验所述脚本的数字证书,确认所述脚本是否具备调用所述系统接口的授权;当所述脚本具备调用所述系统接口的授权时,继续执行,否则停止执行。
10.根据权利要求7所述的可信脚本加载及执行装置,其特征在于,还包括异常处理模块,用于在所述脚本执行时,当所述脚本出现异常,中断所述脚本的执行,并以所述脚本对应的数字证书对异常信息进行签名并记录相应的系统异常日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111543626.3A CN114282222B (zh) | 2021-12-16 | 2021-12-16 | 一种可信脚本加载及执行方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111543626.3A CN114282222B (zh) | 2021-12-16 | 2021-12-16 | 一种可信脚本加载及执行方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114282222A true CN114282222A (zh) | 2022-04-05 |
CN114282222B CN114282222B (zh) | 2023-03-24 |
Family
ID=80872525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111543626.3A Active CN114282222B (zh) | 2021-12-16 | 2021-12-16 | 一种可信脚本加载及执行方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114282222B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795276A (zh) * | 2010-02-09 | 2010-08-04 | 戴宇星 | 基于数字签名的静态网页防篡改系统及方法 |
US20110225420A1 (en) * | 2010-03-10 | 2011-09-15 | Eigler Frank Ch | Module signing for unprivileged users to create and load trustworthy kernel modules |
CN102414690A (zh) * | 2009-04-27 | 2012-04-11 | 高通股份有限公司 | 用特权签字创建安全网页浏览环境的方法和设备 |
CN106209886A (zh) * | 2016-07-22 | 2016-12-07 | 广州爱九游信息技术有限公司 | web接口数据加密加签方法、装置及服务器 |
US20190205555A1 (en) * | 2017-12-29 | 2019-07-04 | Niall Joseph Duffy | Method and System for Protecting Secure Computer Systems from Insider Threats |
CN110049041A (zh) * | 2019-04-17 | 2019-07-23 | 北京网聘咨询有限公司 | 招聘网站开放平台的接口调用方法和接口调用系统 |
CN111026667A (zh) * | 2019-12-09 | 2020-04-17 | 北京乐学帮网络技术有限公司 | 脚本执行方法、装置和电子设备 |
CN112860240A (zh) * | 2021-04-23 | 2021-05-28 | 武汉深之度科技有限公司 | 脚本验证方法、脚本签名方法及计算设备 |
-
2021
- 2021-12-16 CN CN202111543626.3A patent/CN114282222B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102414690A (zh) * | 2009-04-27 | 2012-04-11 | 高通股份有限公司 | 用特权签字创建安全网页浏览环境的方法和设备 |
CN101795276A (zh) * | 2010-02-09 | 2010-08-04 | 戴宇星 | 基于数字签名的静态网页防篡改系统及方法 |
US20110225420A1 (en) * | 2010-03-10 | 2011-09-15 | Eigler Frank Ch | Module signing for unprivileged users to create and load trustworthy kernel modules |
CN106209886A (zh) * | 2016-07-22 | 2016-12-07 | 广州爱九游信息技术有限公司 | web接口数据加密加签方法、装置及服务器 |
US20190205555A1 (en) * | 2017-12-29 | 2019-07-04 | Niall Joseph Duffy | Method and System for Protecting Secure Computer Systems from Insider Threats |
CN110049041A (zh) * | 2019-04-17 | 2019-07-23 | 北京网聘咨询有限公司 | 招聘网站开放平台的接口调用方法和接口调用系统 |
CN111026667A (zh) * | 2019-12-09 | 2020-04-17 | 北京乐学帮网络技术有限公司 | 脚本执行方法、装置和电子设备 |
CN112860240A (zh) * | 2021-04-23 | 2021-05-28 | 武汉深之度科技有限公司 | 脚本验证方法、脚本签名方法及计算设备 |
Non-Patent Citations (3)
Title |
---|
DAVID S.PLATT: "《COM精髓》", 31 January 2001, 人民邮电出版社 * |
朱建明等: "《电子商务安全 第2版》", 28 February 2021, 机械工业出版社 * |
林连进: "《软件测试技术》", 31 August 2018, 北京理工大学出版社 * |
Also Published As
Publication number | Publication date |
---|---|
CN114282222B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10031743B2 (en) | Method and apparatus for kernel repair and patching | |
CN111294345B (zh) | 一种漏洞检测方法、装置及设备 | |
CN103699480B (zh) | 一种基于java的web动态安全漏洞检测方法 | |
AU2018229557A1 (en) | Methods and apparatus for identifying and removing malicious applications | |
Baca et al. | Improving software security with static automated code analysis in an industry setting | |
CN104199654A (zh) | 开放平台的调用方法及装置 | |
CN109684795B (zh) | 应用程序反调试的方法、装置及电子设备 | |
CN104361285A (zh) | 移动设备应用程序的安全检测方法及装置 | |
CN112286828A (zh) | 一种区块链智能合约的测试方法和系统 | |
CN112035354A (zh) | 风险代码的定位方法、装置、设备及存储介质 | |
CN103914665A (zh) | 一种保护移动存储设备数据安全的方法和装置 | |
CN114282222B (zh) | 一种可信脚本加载及执行方法和装置 | |
CN109784051B (zh) | 信息安全防护方法、装置及设备 | |
CN106899593B (zh) | 一种app重打包验证方法和装置 | |
US8549631B2 (en) | Internet site security system and method thereto | |
Liu et al. | An automatically vetting mechanism for SSL error-handling vulnerability in android hybrid Web apps | |
Yang et al. | Execution enhanced static detection of android privacy leakage hidden by dynamic class loading | |
CN112632547A (zh) | 一种数据处理方法和相关装置 | |
CN112685745A (zh) | 一种固件检测方法、装置、设备及存储介质 | |
KR101626581B1 (ko) | 휴대통신 단말의 오류 애플리케이션 진단방법 | |
CN114238943A (zh) | 应用程序防护方法、装置、设备及存储介质 | |
CN109918297B (zh) | 一种终端模糊测试方法及装置 | |
Almotairy et al. | B-droid: a static taint analysis framework for android applications | |
US20100306844A1 (en) | Application information tampering monitoring apparatus and method | |
CN117435508B (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 |