发明内容
鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的阻止计算机辅助设计CAD病毒感染的方法及相应的阻止计算机辅助设计CAD病毒感染的装置。
依据本发明的一个方面,提供了阻止计算机辅助设计CAD病毒感染的方法,包括:
对CAD进程的脚本文件操作请求进行监控;
当监控到CAD进程发起所述脚本文件操作请求时,拦截所述脚本文件操作请求;
检测所述脚本文件操作请求的操作信息;所述操作信息包括:所述脚本文件操作请求的请求类型以及操作请求的目标目录;
根据所述操作信息确定所述脚本文件操作请求是否合法;
当确定所述脚本文件操作请求不合法时,阻止CAD进程的所述脚本文件操作请求。
可选的,所述请求类型包括读操作请求;
所述根据所述操作信息确定所述脚本文件操作请求是否合法,包括:
获取所述读操作请求的操作对象的特征;
将所述操作对象的特征与预置的脚本识别库中的脚本文件特征进行比对,获取所述操作对象的合法性信息;所述预置的脚本识别库中保存有脚本文件特征以及对应的合法性信息;
根据所述操作对象的合法性信息,确定所述脚本文件操作请求是否合法。
可选的,还包括:
如果经所述比对未能获取所述操作对象的合法性信息,则对所述操作对象进行分析;
根据分析结果,对所述脚本识别库进行更新,以便加载更新后的脚本识别库。
可选的,所述获取所述读操作请求的操作对象的特征,包括:
获取所述操作对象的唯一性验证值;
所述将所述操作对象的特征与预置的脚本识别库中的脚本文件特征进行比对,获取所述操作对象的合法性信息,包括:
将所述操作对象的唯一性验证值与所述的脚本识别库中的脚本文件特征进行比对,获取所述操作对象的合法性信息。
可选的,所述脚本识别库包括保存有脚本文件特征以及对应的合法性信息的白名单,和/或保存有脚本文件特征以及对应的合法性信息的黑名单;
所述将所述操作对象的特征与预置的脚本识别库中的脚本文件特征进行比对,获取所述操作对象的合法性信息,包括:
将所述操作对象的特征与所述白名单,和/或所述黑名单中的所述脚本文件特征进行比对,获取所述操作对象相关的合法性信息。
可选的,还包括:
如果确定所述脚本文件操作请求不合法时,则对所述操作对象进行删除。
可选的,所述请求类型包括写操作请求;
所述方法还包括:读取注册表,获取CAD应用程序的安装目录信息、或CAD应用程序的用户配置目录信息、或CAD应用程序的第三方插件的配置目录信息;
所述根据所述操作信息确定所述脚本文件操作请求是否合法,包括:
如果所述写操作请求的操作请求的目标目录为所述CAD应用程序的安装目录、或CAD应用程序的用户配置目录、或CAD应用程序的第三方插件的配置目录,则确定所述脚本文件操作请求不合法。
可选的,还包括:
在CAD进程修改注册表后,重新读取注册表,获取CAD应用程序的安装目录信息、或CAD应用程序的用户配置目录信息、或CAD应用程序的第三方插件的配置目录信息。
根据本发明的另一方面,提供了阻止计算机辅助设计CAD病毒感染的装置,包括:
监控单元,用于对CAD进程的脚本文件操作请求进行监控;
拦截单元,用于当监控到CAD进程发起所述脚本文件操作请求时,拦截所述脚本文件操作请求;
检测单元,用于检测所述脚本文件操作请求的操作信息;所述操作信息包括:所述脚本文件操作请求的请求类型以及操作请求的目标目录;
合法性确定单元,用于根据所述操作信息确定所述脚本文件操作请求是否合法;
请求阻止单元,用于当确定所述脚本文件操作请求不合法时,阻止CAD进程的所述脚本文件操作请求。
可选的,所述请求类型包括读操作请求;
所述合法性确定单元,包括:
特征获取子单元,用于获取所述读操作请求的操作对象的特征;
比对子单元,用于将所述操作对象的特征与预置的脚本识别库中的脚本文件特征进行比对,获取所述操作对象的合法性信息;所述预置的脚本识别库中保存有脚本文件特征以及对应的合法性信息;
合法性确定子单元,用于根据所述操作对象的合法性信息,确定所述脚本文件操作请求是否合法。
可选的,还包括:
分析单元,用于如果经所述比对未能获取所述操作对象的合法性信息,则对所述操作对象进行分析;
识别库更新单元,用于根据分析结果,对所述脚本识别库进行更新,以便加载更新后的脚本识别库。
可选的,所述特征获取子单元,包括:
验证值获取单元,用于获取所述操作对象的唯一性验证值;
所述比对子单元,包括:
第一比对子单元,用于将所述操作对象的唯一性验证值与所述的脚本识别库中的脚本文件特征进行比对,获取所述操作对象的合法性信息。
可选的,所述脚本识别库包括保存有脚本文件特征以及对应的合法性信息的白名单,和/或保存有脚本文件特征以及对应的合法性信息的黑名单;
所述比对子单元,包括:
第二比对子单元,用于将所述操作对象的特征与所述白名单,和/或所述黑名单中的所述脚本文件特征进行比对,获取所述操作对象相关的合法性信息。
可选的,还包括:
删除单元,用于如果确定所述脚本文件操作请求不合法时,则对所述操作对象进行删除。
可选的,所述请求类型包括写操作请求;
所述装置还包括:目录信息获取单元,用于读取注册表,获取CAD应用程序的安装目录信息、或CAD应用程序的用户配置目录信息、或CAD应用程序的第三方插件的配置目录信息;
所述合法性确定单元,具体用于:
如果所述写操作请求的操作请求的目标目录为所述CAD应用程序的安装目录、或CAD应用程序的用户配置目录、或CAD应用程序的第三方插件的配置目录,则确定所述脚本文件操作请求不合法。
可选的,还包括:
目录信息重获取单元,用于在CAD进程修改注册表后,重新读取注册表,获取CAD应用程序的安装目录信息、或CAD应用程序的用户配置目录信息、或CAD应用程序的第三方插件的配置目录信息。
根据本发明的阻止计算机辅助设计CAD病毒感染的方法,可以对CAD进程的脚本文件操作请求进行监控;当监控到CAD进程发起所述脚本文件操作请求时,拦截所述脚本文件操作请求;然后检测所述脚本文件操作请求的操作信息;进而可以根据所述操作信息确定所述脚本文件操作请求是否合法;当确定所述脚本文件操作请求不合法时,阻止CAD进程的所述脚本文件操作请求。通过以上步骤可以对CAD进程的访问脚本文件的行为进行拦截,并根据脚本文件操作请求的请求类型以及操作请求的目标目录等操作信息,有效的判断脚本文件操作请求的合法性,进而对判断为不合法的操作请求进行拦截,由此解决了CAD软件在启动、打开图纸文件等情况下,会因访问恶意的脚本文件而感染CAD病毒的问题。取得了阻止至少部分CAD病毒,特别是依靠脚本文件传播的CAD病毒感染用户计算机设备的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先需要说明的是,发明人在实现本发明的过程中发现,一些CAD病毒为实现广泛传播的目的,在其传播过程中利用了CAD软件自身的一些特点,例如,CAD软件启动时,会自动执行一些特定名称和后缀名的脚本文件,以及,在CAD软件打开图纸文件时,也会加载与当前图纸文件同目录的特定名称和后缀名的脚本文件,包括以acad、acet、scriptproinit、acad2008等为文件名称,并以lsp、mnl、vlx、fas等为后缀名的文件,例如acad.lsp,acet.lsp等,其中针对不同版本的CAD软件,脚本文件的名称可能会略有不同,以软件AutoCAD的2008版为例,可能会加载与当前图纸文件同目录的特定名称和后缀名的脚本文件包括acad2008.lsp,以及acad2008doc.lsp等,而AutoCAD的2004版,对应的脚本文件可能为acad2004.lsp,以及acad2004doc.lsp等,如果这些CAD进程加载的脚本文件中存在恶意代码或者病毒,在加载这些脚本文件时,CAD软件就会感染CAD病毒。此外,某些感染CAD病毒的CAD软件会向特定的目录,如图纸文件保存目录内写入保存有恶意代码或者CAD病毒的脚本文件,当这些图纸文件保存目录被拷贝到其他计算机设备上,其中的图纸文件被打开时,目录中的脚本文件就有机会被加载,从而使CAD病毒达到了传播的目的。针对上述的CAD病毒的传播特点,本发明实施例提出了阻止计算机辅助设计CAD病毒感染的方法,请参见图1,本发明实施例提供的阻止计算机辅助设计CAD病毒感染的方法可以包括以下步骤:
S101:对CAD进程的脚本文件操作请求进行监控;
首先,可以对CAD进程的脚本文件操作请求进行监控,CAD进程对脚本文件的操作请求,可以包括读取脚本文件的操作请求,写入脚本文件的操作请求,以及改写脚本文件的请求等,其中,改写脚本文件的操作请求也可以认为是写入脚本文件的操作请求的一种。具体实现对CAD进程的脚本文件操作请求进行监控时,可以通过在计算机设备中安装监控程序来实现,例如可以通过在计算机设备中安装能够实现监控功能的驱动程序,来实现对CAD进程的脚本文件操作请求进行监控。
S102:当监控到CAD进程发起所述脚本文件操作请求时,拦截所述脚本文件操作请求;
如果监控到CAD进程发起脚本文件操作请求,可以对CAD发起的脚本文件操作请求进行拦截。CAD进程发起的脚本文件操作请求对应的脚本文件对象,可能是不安全的脚本文件,如果CAD进程加载了不安全的脚本文件,就有可能感染CAD病毒;另一方面,如果CAD软件已经感染了病毒,在CAD进程启动后,或在某些触发条件下,比如在打开图纸文件时,感染了病毒的CAD软件会向某些特定的目录,如CAD软件安装目录、存储图纸文件的目录、用户设置的支持目录等,写入恶意的程序或者代码,以实现传播病毒等目的。而在监控到CAD进程发起脚本文件操作请求时对请求进行拦截,可以达到暂停CAD对脚本文件的访问的效果,以便进一步采取其他措施。具体在拦截CAD进程发起的脚本文件操作请求时,可以通过在计算机中安装一定的程序来实现,例如通过在计算机设备中安装能够实现文件访问监控的驱动程序来实现,通过文件访问监控的驱动程序,可以对软件进程对文件的操作行为进行监控,包括CAD进程发起的脚本文件操作请求进行监控,进而在CAD进程访问CAD脚本文件时,先于操作系统对进程发起的脚本文件操作请求予以响应。
S103:检测所述脚本文件操作请求的操作信息;所述操作信息包括:所述脚本文件操作请求的请求类型以及操作请求的目标目录;
可以对CAD进程对脚本文件的操作请求的操作信息进行检测,具体检测时,可以获取脚本文件操作请求中包含的信息作为操作信息来检测,检测的目标可以是脚本文件操作请求的请求类型,如CAD进程对对脚本文件的读操作请求,以及对脚本文件的写操作请求等,计算机对文件的基本操作包括读操作和写操作,其他的文件操作基本上都是由这两种操作衍生而来,例如对文件的修改,复制,重命名等,以复制一个文件为例,实际上是一个先对目标文件进行读操作,然后将读取的数据写入到另一个位置的过程,因此,可以对CAD进程对对脚本文件的读/写操作请求等请求类型进行检测。此外,还可以对操作请求对应的目标目录进行检测,例如,检测CAD进程读取的是哪个目录中的文件,或者向哪个目录中写文件等等。当然在实际应用中,还可以根据实际对其他的脚本文件操作请求的操作信息进行检测,以实现获得判断脚本文件操作请求合法性的有效依据等目的。
S104:根据所述操作信息确定所述脚本文件操作请求是否合法;
通过前文对CAD病毒,特别是依靠脚本文件传播的CAD病毒的感染原理的分析可知,CAD进程对脚本文件的访问行为可能是有害的,计算机设备可能会因为访问了有害的脚本文件而感染CAD病毒,例如如果CAD进程在打开图纸文件的过程中自动加载了特定名称或后缀名的恶意脚本文件,就可能会感染CAD病毒,特定名称或后缀名的恶意脚本文件包括当CAD进程在打开图纸文件的过程中可能自动加载的以acad、acet、scriptproinit、acad2008等为文件名称,并以lsp、mnl、vlx、fas等为后缀名的文件,例如acad.lsp,acet.lsp等脚本文件,其中针对不同版本的CAD软件,脚本文件的名称可能会略有不同,以软件AutoCAD的2008版为例,可能会加载与当前图纸文件同目录的特定名称和后缀名的脚本文件包括acad2008.lsp,以及acad2008doc.lsp等,而软件AutoCAD的2004版,对应的脚本文件可能为acad2004.lsp,以及acad2004doc.lsp等;又如,如果CAD进程向不该写入脚本文件的目录发起了写入脚本的操作请求,这种行为很可能是一种病毒行为。所以根据包括脚本文件操作请求的请求类型,以及操作对象所在的目录等在内的操作信息,可以确定CAD进程对脚本文件的操作请求是否合法。具体实现时,针对不同的请求类型,判断其是否合法的方法会有所不同,下面分别进行介绍。
当CAD进程发起的脚本文件操作请求为读操作请求时,可以根据读操作请求对应的脚本文件所在的目录确定脚本文件操作请求是否合法,例如CAD进程所请求的文件如果是位于CAD软件的安装目录,则认为该操作请求合法,因为一般情况下,位于CAD软件安装目录下的脚本文件,是CAD软件运行所必需的支持性的脚本文件,CAD进程读取这些脚本文件的请求可以确定为合法;而如果CAD进程所请求的脚本文件位于图纸文件所在目录或者其他用户创建的目录,则认为该操作请求非法,这是因为,在图纸文件目录或其它用户创建的下存在的脚本文件,可能是恶意的脚本文件,例如前述的以特定的文件名和后缀名命名的可能被CAD进程自动加载的脚本文件,CAD进程加载这些脚本文件时,可能会导致计算机设备感染CAD病毒。
此外,为了进一步验证CAD进程发起读操作请求时所加载的脚本文件的合法性,还可以获取读操作请求的操作对象的特征,将操作对象的特征与预置的脚本识别库中的脚本文件特征进行比对,获取操作对象的合法性信息,并根据操作对象的合法性信息,来确定脚本文件操作请求是否合法。如果经过比对,操作请求的操作对象是合法的,则可以确定对应的脚本文件操作请求是合法的,否则可以确定对应的脚本文件操作请求非法。进一步的,如果经过比对未能获取到操作对象的合法性信息,还可以对操作对象进行分析,通过分析来确定操作对象的合法性,进而根据分析结果,对脚本识别库进行更新,以便加载更新后的脚本识别库,并根据更新后的脚本识别库中的信息对操作对象的合法性进行确定。其中分析的工作可以由服务器来统一完成,服务器可以对由客户端上传的,通过对未能获取到合法性信息的操作对象相关的脚本文件进行分析,确定其合法性,再将其合法性信息发送到各个客户端,以便客户端对脚本识别库进行更新。
为了提高通过将操作对象的特征与预置的脚本识别库中的脚本文件特征进行比对,获取操作对象的合法性信息的效率以及准确性,在具体实现时,可以获取操作对象的唯一性验证值,再将操作对象的唯一性验证值与脚本识别库中的脚本文件特征进行比对,进而获取操作对象的合法性信息。操作对象的唯一性验证值,包括能够体现操作对象相关文件的唯一性的,可以验证其区别于其他文件的值,例如文件的MD5值,MD5(Message-Digest Algorithm5,信息摘要算法5)是计算机广泛使用的散列算法之一(又译摘要算法、哈希算法),目前主流编程语言普遍已有MD5实现,可以用于验证信息或文件完整性和一致性,这里可以将文件的MD5值作为验证操作对象唯一性的验证值。通过将操作对象的唯一性验证值与脚本文件识别库中的脚本文件特征进行比对,可以提高比对的效率以及准确性,从而可以提高获取操作对象的合法性信息的效率以及准确性。
另外,在通过将操作对象的特征与预置的脚本识别库中的脚本文件特征进行比对,获取操作对象的合法性信息的过程中,还可以使用黑/白名单策略。黑/白名单策略是计算机领域中广泛使用的技术策略,黑名单策略与白名单策略是相对的,其实现机制可以概括为:被黑名单记载的是不可以访问或不可以通过的,不被黑名单记载的则可以访问或可以通过,或者对相关的文件或操作进行进一步的分析和判断;白名单机制则恰好相反。具体在本发明实施例中应用黑/白名单策略时,可以在脚本识别库中保存脚本文件特征以及对应的合法性信息的黑/白名单,在将操作对象的特征与预置的脚本识别库中的脚本文件特征进行比对,获取操作对象的合法性信息时,可以将操作对象的特征与黑/白名单的脚本文件特征进行比对,从而获取操作对象相关的合法性信息。
例如当应用白名单策略时,根据白名单的定义可知,白名单中保存信息包括合法的脚本文件的特征,可以在获取操作对象的特征后,将操作对象特征与白名单中的合法的脚本文件特征进行比对,如果操作对象的特征出现在白名单的合法脚本文件特征中,则确定相应脚本文件操作请求合法,如果经过比对操作对象的特征未出现在白名单的合法脚本文件特征中,则确定相应脚本文件操作请求为可疑操作请求。又例如当应用黑名单策略时,根据黑名单的定义,黑名单中保存的信息包括非法的脚本文件的特征,可以在获取操作对象的特征后,将操作对象的特征与黑名单中的非法的脚本文件特征进行对比,如果操作对象的特征出现在黑名单的非法脚本文件特征中,则确定相应的脚本文件操作非法,如果操作对象的特征未出现在黑名单的非法脚本文件特征中,则确定相应的脚本文件操作请求为可疑操作请求。对于确定为可疑操作请求的对应的相关文件还可以做进一步的分析,如将相关的文件上传至服务器并由服务器端对相关的文件进行分析,例如,可以查询服务器数据库存储的文件的安全等级,以确定操作请求的合法性。
在实际应用中,还可以结合使用黑名单和白名单,例如在获取操作对象的特征后,先将操作对象的特征与白名单中的合法的脚本文件特征进行比对,如果操作对象的特征出现在白名单的合法脚本文件特征中,则确定相应脚本文件操作请求合法,如果经过比对操作对象的特征未出现在白名单的合法脚本文件特征中,再将操作对象的特征与黑名单中的非法的脚本文件特征进行对比,如果操作对象的特征出现在黑名单的非法脚本文件特征中,则确定相应的脚本文件操作非法,如果操作对象的特征未出现在黑名单的非法脚本文件特征中,可以对操作对象相关的文件做进一步的分析,如将相关的文件上传至服务器,通过查询服务器数据库存储的文件的安全等级,并由服务器端对相关的文件进行分析,确定其合法性,进而将其合法性信息发送到各个客户端,以便客户端对脚本识别库中的黑/白名单进行更新。
当CAD进程发起的脚本文件操作请求为写操作请求时,可以根据写操作请求写入脚本文件的目录信息确定脚本文件操作请求是否合法,例如CAD进程所请求写入脚本文件的目录如果是CAD应用程序的安装目录信息、或CAD应用程序的用户配置目录信息、或CAD应用程序的第三方插件的配置目录,则认为该操作请求非法,因为一般情况下,位于这些目录下的脚本文件,是CAD软件运行所必需的支持性的脚本文件,CAD进程启动时会自动加载这些脚本文件,如CAD应用程序的用户配置目录所包括的用户设置的支持目录,具体示例的如某用户配置的目录:
C:\Documents and Settings\new\Application Data\Autodesk\AutoCAD2004\R16.2\chs\support\,
而CAD进程一般不会向这些目录写入脚本文件。上述的CAD应用程序的安装目录信息、CAD应用程序的用户配置目录信息、以及CAD应用程序的第三方插件的配置目录等目录,可以通过读取注册表的方式获取,因为在CAD软件安装时,上述目录的信息通常会写入到注册表里。如:
HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R16.2\ACAD-4001:804\Profiles\...\General;
HKLM\Software\Hongye\Fps\8.0\Fps-155;
HKLM\Software\Wow6432Node\Hongye\Fps\8.0\Fps-155;
HKLM\Software\Tangent\Tarch\6.0;
HKLM\Software\Tangent\Tarch\6.5
等,可以通过读取这些注册表中的键相关的键值或子键的键值,来获取CAD应用程序的安装目录信息、CAD应用程序的用户配置目录信息、以及CAD应用程序的第三方插件的配置目录等目录的信息。此外,还可以在CAD进程修改注册表后,重新读取注册表,获取CAD应用程序的安装目录信息、或CAD应用程序的用户配置目录信息、或CAD应用程序的第三方插件的配置目录等目录的信息,以便在某些CAD软件或其插件在其启动后,才将上述的目录信息写入注册表时,更加准确的获取上述目录信息,作为判断写操作请求合法性的依据。
如果确定脚本文件操作请求不合法时,还可以对操作对象进行进一步操作,以防止病毒文件被加载,或者被写入其他目录造成CAD病毒的传播。在对操作对象做进一步处理时,可以选择对操作对象进行删除操作,当然在实际应用中,还可以对操作对象进行隔离,即暂时禁止对操作对象的访问权限,例如,禁止写入,修改,删除等,直到用户或管理员等做出选择,例如由用户或管理员等选择对对象进行删除,或恢复等操作,同时提示用户选择处理手段等处理方式。
S105:当确定所述脚本文件操作请求不合法时,阻止CAD进程的所述脚本文件操作请求。
在确定了CAD进程对脚本文件的操作请求不合法时,可以对所述的操作请求进行阻止,以防止计算机系统因CAD进程访问了恶意脚本文件而感染CAD病毒,从而达到了阻止计算机辅助设计CAD病毒感染的目的。在阻止CAD进程的脚本文件操作请求之后,还可以给用户以信息提示,如通过弹出提示框的方式提示用户当前阻止的相关脚本文件信息,已经为用户阻止脚本文件操作请求的次数等,以方便用户获知相关的信息。
综上可见,本发明实施例的阻止计算机辅助设计CAD病毒感染的方法,可以对CAD进程的脚本文件操作请求进行监控;当监控到CAD进程发起脚本文件操作请求时,拦截脚本文件操作请求;然后检测脚本文件操作请求的操作信息;进而可以根据所述操作信息确定所述脚本文件操作请求是否合法;当确定所述脚本文件操作请求不合法时,阻止CAD进程的所述脚本文件操作请求。通过以上步骤可以对CAD进程的访问脚本文件的行为进行拦截,并根据脚本文件操作请求的请求类型以及操作请求的目标目录等操作信息,有效的判断脚本文件操作请求的合法性,进而对判断为不合法的操作请求进行拦截,由此解决了CAD软件在启动、打开图纸文件等情况下,会因访问恶意的脚本文件而感染CAD病毒的问题。
与本发明实施例提供的阻止计算机辅助设计CAD病毒感染的方法相对应,本发明实施例还提供了阻止计算机辅助设计CAD病毒感染的装置,请参见图2,该装置可以包括:
监控单元201,用于对CAD进程的脚本文件操作请求进行监控;
拦截单元202,用于当监控到CAD进程发起所述脚本文件操作请求时,拦截所述脚本文件操作请求;
检测单元203,用于检测所述脚本文件操作请求的操作信息;所述操作信息包括:所述脚本文件操作请求的请求类型以及操作请求的目标目录;
合法性确定单元204,用于根据所述操作信息确定所述脚本文件操作请求是否合法;
请求阻止单元205,用于当确定所述脚本文件操作请求不合法时,阻止CAD进程的所述脚本文件操作请求。
其中,请求类型可以包括读操作请求;
相应的,合法性确定单元204,可以包括:
特征获取子单元,用于获取读操作请求的操作对象的特征;
比对子单元,用于将所述操作对象的特征与预置的脚本识别库中的脚本文件特征进行比对,获取所述操作对象的合法性信息;所述预置的脚本识别库中保存有脚本文件特征以及对应的合法性信息;
以及,
合法性确定子单元,用于根据所述操作对象的合法性信息,确定所述脚本文件操作请求是否合法。
相应的,阻止计算机辅助设计CAD病毒感染的装置,还可以包括:
分析单元,用于如果经所述比对未能获取所述操作对象的合法性信息,则对所述操作对象进行分析;
识别库更新单元,用于根据分析结果,对所述脚本识别库进行更新,以便加载更新后的脚本识别库。
特征获取子单元,可以包括:
验证值获取单元,用于获取所述操作对象的唯一性验证值;
相应的,比对子单元,可以包括:
第一比对子单元,用于将所述操作对象的唯一性验证值与所述的脚本识别库中的脚本文件特征进行比对,获取所述操作对象的合法性信息。
脚本识别库还可以包括保存有脚本文件特征以及对应的合法性信息的白名单,和/或保存有脚本文件特征以及对应的合法性信息的黑名单;
相应的,比对子单元,可以包括:
第二比对子单元,用于将所述操作对象的特征与所述白名单,和/或所述黑名单中的所述脚本文件特征进行比对,获取所述操作对象相关的合法性信息。
阻止计算机辅助设计CAD病毒感染的装置,还可以包括:
删除单元,用于如果确定所述脚本文件操作请求不合法时,则对所述操作对象进行删除。
请求类型还可以包括写操作请求;
相应的,阻止计算机辅助设计CAD病毒感染的装置还可以包括:目录信息获取单元,用于读取注册表,获取CAD应用程序的安装目录信息、或CAD应用程序的用户配置目录信息、或CAD应用程序的第三方插件的配置目录信息;
在这种实现方式下,合法性确定单元204,具体可以用于:
如果写操作请求的操作请求的目标目录为所述CAD应用程序的安装目录、或CAD应用程序的用户配置目录、或CAD应用程序的第三方插件的配置目录,则确定所述脚本文件操作请求不合法。
相应的,阻止计算机辅助设计CAD病毒感染的装置,还可以包括:
目录信息重获取单元,用于在CAD进程修改注册表后,重新读取注册表,获取CAD应用程序的安装目录信息、或CAD应用程序的用户配置目录信息、或CAD应用程序的第三方插件的配置目录信息。
请参见图3,本发明实施例还提供了阻止计算机辅助设计CAD病毒感染的系统,该系统可以包括客户端310和服务器端320,其中,客户端310可以包括:
监控器311,被配置为对CAD进程的脚本文件操作请求进行监控;例如通过监控器311对CAD进程对脚本文件的读操作请求,写入脚本文件的操作请求,以及改写脚本文件的操作请求等进行监控。
监控器311可以与拦截器312相连接,在监控器311监控到CAD进程的脚本文件操作请求时,可以将相关的数据传送给拦截器312,拦截器312,被配置为当监控到CAD进程发起脚本文件操作请求时,拦截脚本文件操作请求;
检测器313,被配置为检测脚本文件操作请求的操作信息;其中的操作信息可以包括但不限于:脚本文件操作请求的请求类型以及操作请求的目标目录;
判断器314,被配置为根据操作请求的操作信息以及客户端的脚本识别库确定脚本文件操作请求是否合法;其中,客户端的脚本识别库中保存有脚本文件特征以及对应的合法性信息;在实际应用中,操作请求的操作信息可以包括操作请求的请求类型,例如读或写入等操作请求,还可以包括操作请求相关文件所在的目录路径等信息。可以通过这些信息,并结合客户端的脚本识别库中保存的脚本文件特征以及对应的合法性信息,确定脚本文件操作请求的合法性。
判断器可以与阻止器315相连,阻止器315,被配置为当确定脚本文件操作请求不合法时,阻止CAD进程的脚本文件操作请求;
在客户端未能获取操作对象的合法性信息时,该系统还可以包括样本发送器316,样本发送器316被配置为将未能获取操作对象的合法性信息的对应操作对象发送至服务器端进行分析;
识别库更新器317,被配置为根据服务器发送的脚本识别库更新数据更新客户端的脚本识别库;
另外,服务器端320,可以包括:
分析器321,被配置为接收并分析客户端未能获取操作对象的合法性信息的对应操作对象;
数据更新器322,被配置为根据分析结果,生成脚本识别库更新数据,并将脚本识别库更新数据发送至客户端。
综上所述,通过本方面实施例提供的阻止计算机辅助设计CAD病毒感染的方法及装置,或系统,可以根据包括脚本文件操作请求的请求类型以及操作请求的目标目录等在内的操作信息,有效的判断脚本文件操作请求的合法性,进而对判断为不合法的操作请求进行拦截,能够阻止至少部分CAD病毒,特别是依靠脚本文件传播的CAD病毒感染用户计算机。
本申请可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的阻止计算机辅助设计CAD病毒感染的方法及装置,或系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。