一种可执行文件安全运行方法技术

技术编号:17265545 阅读:65 留言:0更新日期:2018-02-14 13:06
本发明专利技术提供的可执行文件安全运行方法,可执行文件在运行前必须对其进行验证,通过验证后才能运行,该文件的运行者独立、运行者与发布者共同或运行者借助第三方支持下对其中所需要验证的文件的全部或仅一部分,依据该文件本身进行验证或是依据运行者与发布者的约定进行验证,验证其发布者、该文件本身及其发布者与该文件本身的适配关系等,较好的解决了可执行文件运行中的安全问题,可以防止未被认证的、非法的、被篡改的可执行文件被运行等;验证过程可包含加解密、校验、检索、请求查询及请求第三方验证过程等。本发明专利技术还提出了实现了可执行文件安全运行方法的程序运行器,可称为安全操作系统,还提炼出一种可执行文件验证方法。

A safe running method for executable files

The present invention provides executable method of safe operation, the executable file must be tested before running, running through to verify the file after the operation, and the operation of independent publishers together or run by third party support for the need to verify the file all or only a part. On the basis of the file itself is verified according to the validation or operators and publishers agreed to verify the publisher, the document itself and the publisher and the file itself the adaptation between, to solve the security problems in the operation of the executable file, can prevent is not authenticated or illegal, tampering with the executable file is run; the verification process can include encryption, verification, retrieval, query and request the third party verification process. The invention also proposes a program executor that implements the executable file's safe operation method, which can be called a secure operation system, and extracts an executable file verification method.

【技术实现步骤摘要】
一种可执行文件安全运行方法
本专利技术主要涉及一种可执行文件安全运行方法,同时还涉及一种实现了上述可执行文件安全运行方法的程序运行器及一种可执行文件验证方法。
技术介绍
可执行文件(executablefile)指的是可以由操作系统进行加载执行的文件。在不同的操作系统环境下,可执行程序的呈现方式不一样。在windows操作系统下,可执行程序可以是.exe文件.sys文件.com等类型文件。非windows操作系统文件类型会与之不同。不是所有的可执行文件,都只存有电脑能阅读的资料。以脚本语言撰写的脚本档案,都可以是可执行文件,而且内含的资料可被人类阅读,多数以ASCII文本存盘。原因是:脚本语言无需经过编译器预先编译,就可经过解释器(如Perl、Python、Shell)执行。计算机是不能理解高级语言,当然也就不能直接执行高级语言了。计算机只能直接理解机器语言,所以任何语言,都必须将其翻译成机器语言,计算机才能运行高级语言编写的程序。翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。编译型语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。脚本语言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等编程语言之间。HTML通常用于格式化和链结文本。而编程语言通常用于向机器发出一系列复杂的指令。脚本语言与编程语言也有很多相似地方,其函数与编程语言比较相象一些,其也涉及到变量。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些。脚本也是一种语言,其同样由程序代码组成。脚本语言一般都有相应的脚本引擎来解释执行。他们一般需要解释器才能运行。javascript,ASP,PHP,PERL都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。在计算机病毒中绝大部分是文件型。所谓文件型病毒是指此类病毒寄生在可执行文件上,并依靠可执行文件来传播。所以可执行文件在运行时可能发生风险。
技术实现思路
本专利技术提供的可执行文件安全运行方法,就是要解决目前可执行文件在运行时可能发生风险的安全问题,防止未被认证的、非法的、被篡改的可执行文件被运行等,其技术方案如下:可执行文件在运行前必须对其进行验证,通过验证后才能运行,如果直接运行,对于一些未被认证的、非法的、被篡改的可执行文件,运行时就很可能中招,所以要加入验证这个过程,通过验证后才能浏览以实现可执行文件运行的安全。这个验证可以是验证该文件的发布者(确定发布者,是哪个发布的,防止冒用)、可以是验证该文件本身(全部或部分内容是否正确、合理、有效-按一定规则进行判断,是否隐藏非法链接、诱导至非法链接、诱导执行恶意代码,等等),还可验证上述发布者与该文件本身的适配关系,比如该发布者是否具有发布该文件的权限(无修改操作的可执行文件一般无害或侵害可以控制,而有修改操作的可执行文件可能本身就是有害的,可以分别赋予权限)以及该文件是否符合该发布者确定的发布规则,等等。当然验证包括但不限于上述内容,还可以是其它方面的验证,比如验证该文件内容是否涉嫌色情、暴力或其它禁忌内容如法律禁止传播的内容等。验证可以是由运行者独立完成(可以借助所使用的操作系统和/或其它辅助工具完成,也可以在借助所使用的操作系统和/或其它辅助工具的同时辅以人工干预,还可以仅仅只有人工干预,后同),也可以是运行者与发布者共同完成,还可以是运行者借助第三方支持完成,发布者可以参与也可以不参与。该文件可以是全部或其中一部分需要验证,这个要验证的一部分或全部可以是采用特定符号进行指示或采用特定格式进行标记,也可由上述运行者自行判定,这种方式最为灵活,运行者有怀疑就可以主动进行验证。在该文件没有通过验证的情况下有时也可允许在特定条件下运行该文件(即继续运行),这个特定条件可为限制运行时的访问权限(如有些敏感信息禁止访问)、操作结果(如禁止出现信息被改动)、操作权限(如禁止某些可能修改信息的操作)以及或运行环境(如限制给予运行的内存、CPU及操作系统资源)。上述验证的方式可以是依据该文件本身进行验证,如是否不可解读、理解,不可解读、理解的可以认为是不能通过验证的,假如不是一个正确格式的可执行文件,那么显然是不能通过验证的;也可依据上述运行者与该文件的发布者的约定进行验证,包括以下几种情况:约定是事先由上述发布者提供只待上述运行者接受的约定,上述双方即时协商达成的约定,上述双方事先协商达成的约定,第三方提供上述双方共同接受的约定,上述验证的过程可以包含加密过程、解密过程、校验过程、变换过程、检索过程、请求查询过程以及请求第三方验证过程,上述验证的过程可以不包含交互过程也可以包含交互过程,还可进一步明确该所述交互过程中上述运行者只有明确表示认可所述验证的结果才算是通过验证或该所述交互过程中包含上述应用方的主观判断;上述情况可以结合起来进行说明,假设这个需要验证的内容是经过加密的,要运行必须在解密之后,那么这个解密密钥可以成为双方的一个约定,可以事先由上述发布者提供只待上述上述运行者接受以获取,比如以公钥方式公布由应用方自行获取(在本次应用中无需交互);也可通过上述双方通过即时交互协商达成使用某个解密密钥的约定并将此密钥交付给应用方,此时需要交互同时约定是通过交互即时达成的;也可是上述双方事先协商达成的约定,和第一种的区别是双方要事先协商,而第一种只待上述运行者接受即可,其它也类似,无需交互;还可是第三方(既不是上述发布者也不是上述运行者)提供上述双方共同接受的约定,即加解密密钥由第三方提供,发布者用加密密钥对内容进行加密而上述运行者通过解密密钥进行解密,具体怎么达成协议也可以参照前面只待双方接受也可以事先协商还可即时协商。在验证该文件本身的情况下,可以用校验过程进行校验,校验规则可以是一个MD5摘要检查,等等,校验规则事先要由上述运行者掌握,可由发布者提供也可由第三方提供,和前面密钥的提供类似。变换过程可以视作比较简单的加解密过程,不再详述。检索过程,在验证过程仅是检查有没有登记备案等情况下,可以直接到登记备案数据库去检索就可以了,检索到了就是有登记备案的,可以通过验证,而不会去访问没有备案的假冒网站;如果登记备案数据库不在本系统内,那么就需要一个请求查询过程,到相应的系统中去检索查询。还有可以请求第三方进行验证,具体怎么验证的不管,把这个验证全部交第三方完成,这就是请求第三方验证过程,可以把第三方(既不是上述发布者也不是上述运行者)作为一个认证方,发布者到第三方处进行认证,而上述运行者则以第三方的认证为准(通过请求第三方验证)。可以在具体的程序运行器中实现上述可执行文件安全运行方法,这样的程序运行器就可以加强运行中的安全,避免当前可执行文件运本文档来自技高网
...

【技术保护点】
一种可执行文件安全运行方法,其特征在于:所述可执行文件在运行前必须对其进行验证,通过验证后才能运行,或者进一步明确所述验证是验证该文件的发布者、该文件本身和/或上述发布者与该文件的适配关系或者进一步明确为上述发布者是否具有发布该文件的权限和/或该文件是否符合上述发布者确定的发布规则,同时/或者进一步明确所述验证是由该文件的运行者独立完成、该文件的运行者与发布者共同完成或该文件的运行者借助第三方支持完成,同时/或者进一步明确验证的是该文件的全部或其中一部分或者进一步在仅验证其中一部分时该部分采用特定符号进行指示或采用特定格式进行标记或由上述运行者自行判定,同时/或者在没有通过验证的情况下允许在特定条件下运行或者进一步明确该特定条件为限制运行时的访问权限、操作结果、操作权限和/或运行环境,同时/或者所述验证的方式是依据该文件本身进行验证或是依据上述该文件的运行者与该文件的发布者的约定进行验证或者还进一步明确所述约定是事先由上述发布者提供只待上述该文件的运行者接受的约定或上述双方即时协商达成的约定或上述双方事先协商达成的约定或第三方提供上述双方共同接受的约定,同时/或者所述验证的过程包含加密过程、解密过程、校验过程、变换过程、检索过程、请求查询过程和/或请求第三方验证过程,同时/或者所述验证的过程不包含交互过程或包含交互过程或者进一步明确该所述交互过程中上述该文件的运行者只有明确表示认可所述验证的结果才算是通过验证或该所述交互过程中包含上述运行者的主观判断。...

【技术特征摘要】
1.一种可执行文件安全运行方法,其特征在于:所述可执行文件在运行前必须对其进行验证,通过验证后才能运行,或者进一步明确所述验证是验证该文件的发布者、该文件本身和/或上述发布者与该文件的适配关系或者进一步明确为上述发布者是否具有发布该文件的权限和/或该文件是否符合上述发布者确定的发布规则,同时/或者进一步明确所述验证是由该文件的运行者独立完成、该文件的运行者与发布者共同完成或该文件的运行者借助第三方支持完成,同时/或者进一步明确验证的是该文件的全部或其中一部分或者进一步在仅验证其中一部分时该部分采用特定符号进行指示或采用特定格式进行标记或由上述运行者自行判定,同时/或者在没有通过验证的情况下允许在特定条件下运行或者进一步明确该特定条件为限制运行时的访问权限、操作结果、操作权限和/或运行环境,同时/或者所述验证的方式是依据该文件本身进行验证或是依据上述该文件的运行者与该文件的发布者的约定进行验证或者还进一步明确所述约定是事先由上述发布者提供只待上述该文件的运行者接受的约定或上述双方即时协商达成的约定或上述双方事先协商达成的约定或第三方提供上述双方共同接受的约定,同时/或者所述验证的过程包含加密过程、解密过程、校验过程、变换过程、检索过程、请求查询过程和/或请求第三方验证过程,同时/或者所述验证的过程不包含交互过程或包含交互过程或者进一步明确该所述交互过程中上述该文件的运行者只有明确表示认可所述验证的结果才算是通过验证或该所述交互过程中包含上述运行者的主观判断。2.一种实现了权利要求1所述的可执行文件安全运行方法的程序运行器,其特征在于:所述程序运行器在运行可执行文件前必须对其进行验证,通过验证后才能运行,或者进一步明确所述验证是验证该文件的发布者、该文件本身和/或上述发布者与该文件的适配关系或者进一步明确为上述发布者是否具有发布该文件的权限和/或该文件是否符合上述发布者确定的发布规则,同时/或者进一步明确所述验证是由该文件的运行者独立完成、该文件的运行者与该文件的发布者共同完成或该文件的运行者借助第三方支持完成,同时/或者进一步明确验证的是该文件的全部或其中一部分或者进一步在仅验证其中一部分时该部分采用特定符号进...

【专利技术属性】
技术研发人员:倪龙
申请(专利权)人:宁波保税区攀峒信息科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1