一种识别下载文件来源的方法及装置
技术领域
本发明涉及网络安全技术领域,尤其涉及一种识别下载文件来源的方法及装置。
背景技术
随着计算机技术的飞速发展,信息网络已经成为社会发展的重要保证。通过网络人们能够获取到所需的信息内容。然而,在网络中浏览信息或网络文件时,一般是将这些文件暂时缓存在本地的内存中,在用户确定需要下载时,在从内存中将用户所需的文件信息保存至本地。在这一过程中,由于内存并不会对所缓存的内容进行标记,并且,在内存中往往会缓存有大量用户访问不同网址的数据信息,因此,在将内存中的数据信息保存至本地时,用户就很难判断所保存的数据信息的文件来源。这对于缺少安全防护的设备以及***将形成巨大的安全隐患。
发明内容
有鉴于此,本发明提供一种识别下载文件来源的方法及装置,通过对访问的网路文件进行采样和标记信息来源,并对写入本地存储的文件进行匹配以确定该文件的信息来源。
依据本发明的一个方面,提出了一种识别下载文件来源的方法,该方法包括:
对所访问的网络文件进行流量监控,提取所述网络文件的部分数据流,得到验证数据;
将所述网络文件的链接地址与所述验证数据进行关联;
监控本地存储中的写入文件的数据流,匹配所述数据流中含有的验证数据;
根据匹配成功的验证数据,将所述验证数据关联的链接地址标注在所述写入文件中。
优选的,所述提取所述网络文件的部分数据流,得到验证数据包括:
随机提取所述网络文件中固定大小的一段数据流,生成验证数据;
或者,提取所述网络文件中的多段数据流,生成含有多个数据流文件的验证数据。
优选的,所述提取所述网络文件的部分数据流,得到验证数据包括:
当所访问的网络文件为加密文件时,调用所述加密文件的解密函数;
提取所述解密函数输出的明文数据流中的部分数据流,得到所述验证数据。
优选的,所述将所述网络文件的链接地址与所述验证数据进行关联包括:
获取所述网络文件的链接地址;
利用关联数组KEY-VALUE键值对关联所述链接地址与所述验证数据,KEY保存所述链接地址,VALUE保存所述验证数据。
优选的,所述方法还包括:
将所述关联数组上报云服务器,以便所述云服务器根据所述关联数组中的链接地址判断所述网络文件是否安全;
根据所述云服务器反馈的信息确定是否能够将所述网络文件保存至本地存储中。
优选的,所述方法还包括:
根据写入文件中所标记的链接地址判断所述链接地址是否为安全链接;
若不是,则对所述写入文件提示报警信息,执行隔离或删除操作。
依据本发明的另一个方面,提出了一种识别下载文件来源的装置,该装置包括:
提取单元,用于对所访问的网络文件进行流量监控,提取所述网络文件的部分数据流,得到验证数据;
关联单元,用于将所述网络文件的链接地址与所述提取单元提取得到的验证数据进行关联;
匹配单元,用于监控本地存储中的写入文件的数据流,匹配所述数据流中含有的验证数据;
标注单元,用于根据所述匹配单元匹配成功的验证数据,将所述验证数据关联的链接地址标注在所述写入文件中。
优选的,所述提取单元包括:
第一提取模块,用于随机提取所述网络文件中固定大小的一段数据流,生成验证数据;
第二提取模块,用于提取所述网络文件中的多段数据流,生成含有多个数据流文件的验证数据。
优选的,所述提取单元还包括:
调用模块,用于当所访问的网络文件为加密文件时,调用所述加密文件的解密函数;
第三提取模块,用于提取所述调用模块调取的解密函数对加密文件解密后输出的明文数据流中的部分数据流,得到所述验证数据。
优选的,所述关联单元包括:
获取模块,用于获取所述网络文件的链接地址;
关联模块,用于利用关联数组KEY-VALUE键值对关联所述链接地址与所述验证数据,KEY保存所述链接地址,VALUE保存所述验证数据。
优选的,所述装置还包括:
发送单元,用于将所述关联单元得到的关联数组上报云服务器,以便所述云服务器根据所述关联数组中的链接地址判断所述网络文件是否安全;
确定单元,用于根据所述云服务器反馈的信息确定是否能够将所述网络文件保存至本地存储中。
优选的,所述装置还包括:
判断单元,用于根据所述标注单元在写入文件中所标记的链接地址判断所述链接地址是否为安全链接;
处理单元,当所述判断单元判断所述链接地址不是安全链接时,对所述写入文件提示报警信息,执行隔离或删除操作。
本发明所采用的一种识别下载文件来源的方法及装置,主要用于对下载的文件进行来源标注,以便于根据文件来源判断文件的安全性。在识别过程中,通过在文件缓存过程中提取其中的部分数据作为验证数据,同时记录访问该文件的链接地址,并与对应的验证数据进行关联,之后在将缓存中的文件向本地存储中保存时,监控写入文件的数据流,匹配出数据流中含有的验证数据,将与该验证数据关联的链接地址标注在写入文件中,完成对下载文件来源的标注。通过对文件来源的标注可以在无法识别文件内容的情况下,通过对文件来源的判断识别该文件是否为安全文件,从而提高***对文件识别的能力。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提出的一种识别下载文件来源的方法流程图;
图2示出了本发明实施例提出的另一种识别下载文件来源的方法流程图;
图3示出了本发明实施例提出的一种识别下载文件来源的装置的组成框图;
图4示出了本发明实施例提出的另一种识别下载文件来源的装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种识别下载文件来源的方法,该方法主要用于对下载文件进行来源标注,通过将文件下载的过程分为两个阶段来实现对来源信息的确认与标注。这两阶段分别为文件的缓存阶段与保存阶段,其中,缓存阶段是用户在进行网络文件浏览时对文件进行缓存的过程,在该过程中将文件与其网络地址建立关联并保存,而在保存阶段,即将缓存中的文件保存至本地存储的过程,将与该文件对应的网路地址标注在该文件中。由于用户所查看的网络文件大多数都无需保存,因此,设备缓存中一般会存储有大量的用户已浏览的网络文件,而现有的文件保存方式中,只是在用户需要将缓存中的文件保存至本地时执行相应的文件移动的操作,而无法再追溯该文件的来源信息。但是,对于一个未知文件而言,其安全性在很大程度上可以通过其来源进行判断。因此,本发明实施例所提供的下载文件来源的识别方法正是针对该问题所提出一种解决方案,其具体步骤如图1所示,包括:
101、对所访问的网络文件进行流量监控,提取该网络文件的部分数据流,得到验证数据。
该步骤是在用户通过互联网查看网络文件时,将该网络文件缓存至本地设备的内存或缓存区域中的过程。其中,网络文件的类型不限定是文本、图片、视频等格式的文件。在该过程中,本地设备通过网络接口获取网络数据,而目前的网络请求与响应都是通过网络数据流的方式来发送与传输数据的,而数据流是传输中所使用的信息的数字编码信号序列。而通过对这些数据流的监控,也就是对访问网络文件的流量监控,就可以实时地获取保存至缓存中的网络文件的数据内容。由于数据流所具有的序列性质,不同的网络文件中就具有着不同的数据序列,因此,通过提取写入到缓存中的网络文件的部分数据流与该网路文件就具有着唯一的对应关系,通过所提取部分数据流,就可以用于后续向本地存储中写入缓存中的文件进行数据验证。
所以,该步骤就是在用户浏览每个网络文件时,都会在将该网络文件的流数据下载到缓存中时,从数据流中提取部分数据流作为该网络文件的验证数据。其中,对于提取部分数据流的方式本发明实施例中并不限定是采用随机采样的方式提取或者是采用对固定位置进行提取的方式。将所提取的部分数据流与网络文件建立关联关系,并保存在本地,以供后续匹配步骤的调用。
102、将网络文件的链接地址与验证数据进行关联。
根据步骤101中所提取的部分数据流,即验证数据,在保存时,除了需要建立验证数据与网络文件的关联关系,还需要建立与该网络文件来源的关联关系,也就是获取该网络文件的链接地址。为此,在提取验证数据的同时,还需要记录当前接收数据流的链接地址,并将该链接地址一同保存在本地,具体的,可以将这些具有关联关系的数据以数据表的形式加以保存,该数据表中记录有每个缓存的网络文件的文件名、提取的验证数据以及对应的链接地址。通过在该数据表中查询文件名或验证数据亦或链接地址,就可以匹配出于查询内容相关联的其他两项内容。
103、监控本地存储中的写入文件的数据流,匹配该数据流中含有的验证数据。
其中,该步骤中所监控的存储在本地存储中的写入文件是指将缓存中的网络文件保存至本地存储中的网络文件。由于这些网络文件可能并不是当前浏览的网络内容,因此,要判断这些网络内容的来源,就需要在将这些网络文件向本地存储中写入时,实时的监控所写入的内容,判断该内容中是否含有上述步骤中所保存的验证数据。
由于缓存中的每个网络文件在进行缓存时都进行了验证数据的提取,并且,这些验证数据与网络文件存在着唯一的对应关系,因此,在匹配写入本地存储中的网络文件时,必然会匹配到一个验证数据,当匹配到对应的验证数据后,就执行步骤104。而对于未匹配出验证数据的情况,其原因可能存在两种:一种是该网络文件是在执行提取验证数据操作之前就存储在缓存中的情况,导致缓存的该网络文件没有对应的验证数据。另一种是在从缓存向本地存储写入的过程中或写入操作之前,该网络文件被改写,从而导致的无法匹配出对应的验证数据。
对于以上两种情况,所写入的网络文件由于无法得到其对应的链接地址,从而无法判断该文件的安全性。此时,可以通过提示页面告知用户,所保存的当前网络文件存在风险,要求用户确定是继续执行写入操作或者是终止该操作。
104、根据匹配成功的验证数据,将该验证数据关联的链接地址标注在写入文件中。
当监控的写入文件中含有对应的验证数据时,***将利用该验证数据查找其对应的链接地址,并将该链接地址标注在该写入文件中。本发明实施例中具体的标注方式是以标签的形式将链接地址添加到文件的属性中,或者是将链接地址增加到该写入文件的文件名称中。
上述本发明实施例提供的一种识别下载文件来源的方法,主要用于对下载的文件进行来源标注,以便于根据文件来源判断文件的安全性。在识别过程中,通过在文件缓存过程中提取其中的部分数据作为验证数据,同时记录访问该文件的链接地址,并与对应的验证数据进行关联,之后在将缓存中的文件向本地存储中保存时,监控写入文件的数据流,匹配出数据流中含有的验证数据,将与该验证数据关联的链接地址标注在写入文件中,完成对下载文件来源的标注。通过对文件来源的标注可以在无法识别文件内容的情况下,通过对文件来源的判断识别该文件是否为安全文件,从而提高***对文件识别的能力。
进一步的,为了更加详细的说明上述的识别下载文件来源的方法在实际应用中的具体实现,特别是在网络文件的缓存阶段,从缓存网络文件的数据流中提取验证数据以及保存验证数据的具体方式,将在以下实施例中将进行详细说明,具体如图2所示,包括:
201、提取缓存的网络文件的部分数据流,得到验证数据。
该步骤中提取网络文件的部分数据流的方式在本发明实施例中可以是在网络文件中随机地提取一段固定大小的数据流,其中,固定大小的数据流为了确保具有与网络文件的唯一对应关系,该数据流的大小应具有足够的数据内容,从而生成验证数据。此外,还可以在该网络文件中提取多段的数据流,有多段的数据流组合成一个验证数据,如此,在进行验证数据的匹配时,只有在各段数据流都匹配成功的情况下才确定写入文件与该验证数据对应的网络文件为同一个文件。
进一步的,对于用户所访问的网络文件为加密文件时,此时,在缓存该加密文件时,***将根据该加密文件的加密格式调用对应的解密函数对该加密文件进行解密,并且在解密得到的明文数据中提取部分数据流从而得到对应的验证数据。
202、将网络文件的链接地址与验证数据进行关联。
该步骤是在获取到验证数据的基础上,将网络文件的链接地址与该验证数据建立关联关系。在本发明实施例中,该关联关系是采用关联数组的形式表达的,具体的,该关联数据的表现形式为KEY-VALUE键值对,其中,KEY保存链接地址,VALUE保存验证数据。通过判断写入文件中是否所含有相同的VALUE值,若相同,则证明该写入文件为提取出该验证数据的网络文件,也就是该写入文件的来源为KEY值中所保存的链接地址。
以上两个步骤就是用户在浏览网络文件过程中将网络文件缓存在本地设备的内存或指定的缓存区中所进行的处理操作,主要包括验证数据的提取以及关联关系的建立。所对应的处理结果就是为缓存中的所有网络文件建立一个验证数据,并将该验证数据与网络文件对应的链接地址相关联,从而得到一个关联关系的列表,在该列表中分别存储着上述的关联数组。在此基础上,本发明实施例还可以将该列表上报给云服务器,由云服务器对该列表中的关联数据进行解析,并对其中所记载的链接地址进行识别,判断链接地址是否为恶意网址或者是安全网址,通过云服务器的识别判断,将向本地反馈对应的信息。据此,本地设备可将缓存中被识别为恶意网址所对应的网络文件进行删除,或者设置这些网络文件为禁止向本地存储中执行写操作的数据文件。
203、监控本地存储中的写入文件的数据流,匹配该数据流中含有的验证数据。
204、根据匹配成功的验证数据,将该验证数据关联的链接地址标注在写入文件中。
以上的两个步骤是与上述的步骤103和步骤104相同,都是在网络文件的保存阶段所进行的具体操作,即对所写入的数据流进行实时的监控,匹配对应的验证数据,该验证数据即为步骤201中所提取出的验证数据,并根据对应的验证数据在写入文件中标注其来源,即标注步骤202中所关联的链接地址。
通过以上的步骤就完成了对写入文件的来源识别的过程,在该过程中需要特别说明的是,写入文件的过程是从本地的缓存中向本地存储进行保存的过程,例如,从内存向硬盘写入文件的过程。该过程是用户缓存中的多个文件中选择的一个数据文件,通过本发明实施例提供的方法对该数据文件标注来源信息。这样做的主要目的在于用户无需在本地执行该数据文件的情况下判断该数据文件的安全性,从而避免因执行该数据文件而对本地设备或***所造成的危害以及损失。针对标注来源信息的网络文件如何进行安全性的识别可参考步骤205。
205、根据写入文件所标注的链接地址确定该写入文件是否可以保存在本地存储中。
当确定了写入文件中的来源标识,即链接地址后,本地设备就可以通过本地***中的防御软件对该链接地址进行识别判断,以确定该链接地址是否为恶意网址。在本地种的防御软件无法确定出是否安全时,此时可以进一步地通过网络,向云服务器发送这些链接地址,借助云服务器判断链接地址是否为恶意网址或者是安全网址。
进一步的,当确定写入文件的链接地址为非安全网址时,***将向用户输出报警信息,该报警信息将根据链接地址性质向用户显示不同级别的处理意见,例如,对于恶意网址,输出的报警信息将建议用户删除该写入文件,而对于无法确定安全性的链接地址,所输出的报警信息为提示用户该写入文件存在风险,建议对该写入文件进行隔离。此外,通过向用户输出的报警信息还用于获取用户的操作指令,例如,在报警信息中,用户还可以选择保存该写入文件,或者是删除该写入文件的操作指令。
通过上述实施例中所提出的识别下载文件来源的方法可见,将缓存中的未知文件保存至本地存储时,对该文件进行链接地址的标注不仅可以有助于用户了解该文件的相关信息,更加可以通过链接地址来判断文件的安全性,从而提高了网络文件在本地应用的安全性。
以上详细说明了识别下载文件来源的方法在实际应用中的具体实现,作为实现上述方法的具体装置,本发明实施例还提供了一种识别下载文件来源的装置,如图3所示,该装置包括:
提取单元31,用于对所访问的网络文件进行流量监控,提取所述网络文件的部分数据流,得到验证数据;
关联单元32,用于将所述网络文件的链接地址与所述提取单元31提取得到的验证数据进行关联;
匹配单元33,用于监控本地存储中的写入文件的数据流,匹配所述数据流中含有的所述提取单元31提取的验证数据;
标注单元34,用于根据所述匹配单元33匹配成功的验证数据,将所述验证数据关联的链接地址标注在所述写入文件中。
进一步的,如图4所示,所述提取单元31包括:
第一提取模块311,用于随机提取所述网络文件中固定大小的一段数据流,生成验证数据;
第二提取模块312,用于提取所述网络文件中的多段数据流,生成含有多个数据流文件的验证数据。
进一步的,如图4所示,所述提取单元31还包括:
调用模块313,用于当所访问的网络文件为加密文件时,调用所述加密文件的解密函数;
第三提取模块314,用于提取所述调用模块313调取的解密函数对加密文件解密后输出的明文数据流中的部分数据流,得到所述验证数据。
进一步的,如图4所示,所述关联单元32包括:
获取模块321,用于获取所述网络文件的链接地址;
关联模块322,用于利用关联数组KEY-VALUE键值对关联所述获取模块321获取的链接地址与所述验证数据,KEY保存所述链接地址,VALUE保存所述验证数据。
进一步的,如图4所示,所述装置还包括:
发送单元35,用于将所述关联单元32得到的关联数组上报云服务器,以便所述云服务器根据所述关联数组中的链接地址判断所述网络文件是否安全;
确定单元36,用于根据所述云服务器反馈的信息确定是否能够将所述网络文件保存至本地存储中。
进一步的,如图4所示,所述装置还包括:
判断单元37,用于根据所述标注单元34在写入文件中所标记的链接地址判断所述链接地址是否为安全链接;
处理单元38,当所述判断单元37判断所述链接地址不是安全链接时,对所述写入文件提示报警信息,执行隔离或删除操作。
综上所述,本发明实施例所提供的一种识别下载文件来源的方法及装置,主要用于对下载的文件进行来源标注,以便于根据文件来源判断文件的安全性。在识别过程中,通过在文件缓存过程中提取其中的部分数据作为验证数据,同时记录访问该文件的链接地址,并与对应的验证数据进行关联,之后在将缓存中的文件向本地存储中保存时,监控写入文件的数据流,匹配出数据流中含有的验证数据,将与该验证数据关联的链接地址标注在写入文件中,完成对下载文件来源的标注。通过对文件来源的标注可以在无法识别文件内容的情况下,帮助用户对该文件的内容提供相关信息,以便用户能够判断该文件是否为所需下载的文件,而更为重要的是,通过对文件来源的判断识别该文件是否为安全文件,从而提高***对文件识别的能力。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述云端服务器及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述云端服务器实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的云端服务器、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的云端服务器解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何云端服务器或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的发明名称(如确定网站内连接等级的装置)中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的云端服务器的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。