CN103916402B - 对浏览器下载文件的保护方法及装置 - Google Patents

对浏览器下载文件的保护方法及装置 Download PDF

Info

Publication number
CN103916402B
CN103916402B CN201410158238.7A CN201410158238A CN103916402B CN 103916402 B CN103916402 B CN 103916402B CN 201410158238 A CN201410158238 A CN 201410158238A CN 103916402 B CN103916402 B CN 103916402B
Authority
CN
China
Prior art keywords
file
window
download
browser
user
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
Application number
CN201410158238.7A
Other languages
English (en)
Other versions
CN103916402A (zh
Inventor
秦光远
张聪
潘剑锋
董杰
吴鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410158238.7A priority Critical patent/CN103916402B/zh
Publication of CN103916402A publication Critical patent/CN103916402A/zh
Application granted granted Critical
Publication of CN103916402B publication Critical patent/CN103916402B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种对浏览器下载文件的保护方法及装置。其中方法包括:截获浏览器进程创建下载窗口的行为;接管下载窗口对应的窗口过程,并在浏览器进程根据用户在下载窗口中触发的命令将文件下载到缓存文件夹之后,将缓存文件夹的文件复制到指定的本地文件夹或运行缓存文件夹中的文件。由于浏览器是基于沙箱技术而运行,通过截获浏览器进程创建下载窗口的行为并接管下载窗口对应的窗口可以使本发明提供的装置准确获知用户的操作,在用户在下载窗口中触发的命令将文件下载到缓存文件夹之后,将缓存文件夹的文件复制到指定的本地文件夹或运行缓存文件夹中的文件,这样在浏览器程序退出后,下载文件也会永久保存在本地文件夹中或者在真实系统上运行。

Description

对浏览器下载文件的保护方法及装置
技术领域
本发明涉及互联网领域,具体涉及一种对浏览器下载文件的保护方法及装置。
背景技术
随着网络安全问题的日益突出,更多的将沙箱(SandBox)技术应用于网页安全访问方面。所谓的沙箱技术,从技术实现角度而言,就是从原有的阻止可疑程序对系统访问,转变成将可疑程序对磁盘、注册表等的访问重定向到指定文件夹下,从而消除对系统的危害。对于浏览器而言,沙箱系统构建了一个安全的虚拟执行环境。通过浏览器所作的任何写磁盘操作,都将重定向到一个特定的临时文件夹中。这样,即使网页中包含病毒、木马、广告等恶意程序,即使被强行安装,也都只是安装到了临时文件夹中,不会对用户的实际系统造成危害。
这种技术的使用,提高了用户系统的安全性,但同时也带来了一些限制。例如,用户有时可能需要通过浏览器真实的下载网络上的文件,这时由于沙箱的限制,文件只能下载到虚拟目录下,并且在浏览器程序退出后,沙箱会自动删除这些临时文件,造成文件不能永久保存。可见,必须对现有沙箱技术的使用作出必要的调整,才能满足浏览器的需要。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的对浏览器下载文件的保护方法和相应的对浏览器下载文件的保护装置。
根据本发明的一个方面,提供了一种对浏览器下载文件的保护方法,所述浏览器基于沙箱技术而运行,所述方法包括:
截获浏览器进程创建下载窗口的行为;
接管所述下载窗口对应的窗口过程,并在所述浏览器进程根据用户在所述下载窗口中触发的命令将文件下载到缓存文件夹之后,将所述缓存文件夹的所述文件复制到指定的本地文件夹或运行所述缓存文件夹中的文件。
可选地,将所述缓存文件夹的所述文件复制到指定的本地文件夹具体包括:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的下载文件的命令;根据所述下载文件的命令,将所述缓存文件夹的所述文件复制到指定的本地文件夹。
可选地,所述运行所述缓存文件夹中的文件具体包括:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的运行文件的命令;根据所述运行文件的命令,运行所述缓存文件夹中的文件。
可选地,所述运行所述缓存文件夹中的文件具体为:调用非自保进程运行所述缓存文件夹中的文件。
可选地,在将所述缓存文件夹的所述文件复制到指定的本地文件夹之后进一步包括:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的运行文件的命令;调用非自保进程运行所述本地文件夹中的文件。
可选地,所述截获浏览器进程创建下载窗口的行为进一步包括:截获浏览器进程创建对话窗口的行为,根据所述对话窗口的资源标识确定所述对话窗口是否为下载窗口。
可选地,在所述截获浏览器进程创建对话窗口的行为之前还包括:判断系统是否启用下载文件的保护功能;
在判断出系统启用下载文件的保护功能的情况下,进行截获浏览器进程创建对话窗口的行为。
可选地,在将所述缓存文件夹的所述文件复制到指定的本地文件夹之前还包括:判断所述文件在本地文件夹中是否存在,若是则提示用户是否覆盖所述本地文件夹中存在的文件;
在用户选择覆盖所述本地文件夹中存在的文件之后,执行将所述缓存文件夹的所述文件复制到指定的本地文件夹的步骤。
根据本发明的另一方面,提供了一种对浏览器下载文件的保护装置,所述浏览器基于沙箱技术而运行,所述装置包括:
截获模块,适于截获浏览器进程创建下载窗口的行为;
接管模块,适于接管所述下载窗口对应的窗口过程,所述浏览器进程根据用户在所述下载窗口中触发的命令将文件下载到缓存文件夹之后,将所述缓存文件夹的所述文件复制到指定的本地文件夹;
运行模块,适于根据用户在所述下载窗口中触发的命令运行所述缓存文件夹中的文件。
可选地,所述接管模块具体适于:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的下载文件的命令;根据所述下载文件的命令,将所述缓存文件夹的所述文件复制到指定的本地文件夹。
可选地,所述接管模块具体适于:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的运行文件的命令。
可选地,运行模块具体适于:在所述接管模块的调用下,启动非自保进程运行所述缓存文件夹中的文件。
可选地,所述接管模块进一步适于:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的运行文件的命令;
所述运行模块还适于在所述接管模块的调用下,启动非自保进程运行所述本地文件夹中的文件。
可选地,所述截获模块具体用于:截获浏览器进程创建对话窗口的行为,根据所述对话窗口的资源标识确定所述对话窗口是否为下载窗口。
可选地,该装置还包括:第一判断模块,用于判断系统是否启用下载文件的保护功能,在判断出系统启用下载文件的保护功能的情况下,触发所述截获模块进行截获浏览器进程创建对话窗口的行为。
可选地,该装置还包括:第二判断模块,适于判断所述文件在本地文件夹中是否存在;
提示模块,适于在所述判断模块判定所述文件在本地文件夹存在的情况下,提示用户是否覆盖所述本地文件夹中存在的文件;
所述接管模块进一步适于在用户选择覆盖后,将所述缓存文件夹的所述文件复制到所述本地文件夹。
根据本发明的方案,在截获浏览器进程创建下载窗口的行为之后,接管所述下载窗口对应的窗口过程,并在所述浏览器进程根据用户在所述下载窗口中触发的命令将文件下载到缓存文件夹之后,将所述缓存文件夹的所述文件复制到指定的本地文件夹或运行所述缓存文件夹中的文件。由于浏览器是基于沙箱技术而运行,通过截获浏览器进程创建下载窗口的行为并接管下载窗口对应的窗口过程可以使本发明提供的装置准确获知用户的操作,在用户在下载窗口中触发的命令将文件下载到缓存文件夹之后,将缓存文件夹的文件复制到指定的本地文件夹或运行缓存文件夹中的文件,这样在浏览器程序退出后,下载文件也会永久保存在本地文件夹中或者在真实系统上运行,而且也不会影响浏览器在沙箱中运行的原有机制。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的对浏览器下载文件的保护方法的流程图;
图2示出了根据本发明另一个实施例的对浏览器下载文件的保护方法的流程图;
图3示出了根据本发明又一个实施例的对浏览器下载文件的保护方法的流程图;
图4示出了根据本发明一个实施例的对浏览器下载文件的保护装置的结构框图;
图5示出了根据本发明另一个实施例的对浏览器下载文件的保护装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在本发明中,浏览器是基于沙箱技术而运行。具体实现时,可以是默认为只要启动浏览器,就需要在沙箱内进行网页浏览,此时,只要接收到启动浏览器的指令,就相当于接收到在沙箱内进行网页浏览的指令。
图1示出了根据本发明一个实施例的对浏览器下载文件的保护方法的流程图。如图1所示,该方法包括以下步骤:
步骤S100,截获浏览器进程创建下载窗口的行为。
下载窗口指用户在浏览网页时点击下载链接时弹出的窗口。以chrome浏览器为例,浏览器会集成一个下载组件,用于实现在浏览器中发起的网页资源类型是文件类型的下载。对于网页中一个普通的链接,当用户点击以后,渲染进程会立即调用相应的接口加载资源,该接口通过发IPC消息到浏览器主进程,由浏览器主进程统一进行网络请求。当浏览器进程接收到数据后,判定是否应对资源进行下载处理,若是则浏览器进程启动下载组件创建下载窗口。
本发明利用钩子(hook)函数进行截获浏览器进程创建窗口。hook是一种回调函数,也可以说是系统提供的一种机制,可以在信息到达其他进程之前将信息拦截和处理。hook机制允许应用程序截获并处理发往指定窗口的消息或特定事件。本发明的保护装置利用hook机制,用于截获浏览器进程创建窗口。
步骤S110,接管下载窗口对应的窗口过程,并在浏览器进程根据用户在下载窗口中触发的命令将文件下载到缓存文件夹之后,将缓存文件夹的文件复制到指定的本地文件夹或运行缓存文件夹中的文件。
在现有技术中,浏览器进程根据用户下载文件的命令将文件下载到缓存文件夹,而本发明通过接管下载窗口对应的窗口过程,可以获知用户通过下载窗口执行的任何操作,并在浏览器进程根据用户下载文件的命令将文件下载到缓存文件夹之后,将缓存文件夹的文件复制到指定的本地文件夹或运行缓存文件夹中的文件,从而实现将文件保存到真实系统上或在真实系统上运行。
根据本发明上述实施例提供的方法,截获浏览器进程创建下载窗口的行为;接管下载窗口对应的窗口过程,浏览器进程根据用户在下载窗口中触发的命令将文件下载到缓存文件夹之后,将缓存文件夹的文件复制到指定的本地文件夹或运行缓存文件夹中的文件。由于浏览器是基于沙箱技术而运行,通过截获浏览器进程创建下载窗口的行为并接管下载窗口对应的窗口过程可以准确获知用户的操作,在用户在下载窗口中触发的命令将文件下载到缓存文件夹之后,将缓存文件夹的文件复制到指定的本地文件夹或运行缓存文件夹中的文件,这样在浏览器程序退出后,下载文件也会永久保存在本地文件夹中或者在真实系统上运行,而且也不会影响浏览器在沙箱中运行的原有机制。
图2示出了根据本发明另一个实施例的对浏览器下载文件的保护方法的流程图。如图2所示,该方法包括以下步骤:
步骤S200,判断系统是否启用下载文件的保护功能,若是,则执行步骤S210。
本发明提供的对浏览器下载文件的保护功能是一种用户可以选择是否启用的功能,在用户选择启用的前提下,执行本实施例提供的方法。
本发明基于上网沙箱进行网页浏览。上网沙箱用来隔离上网环境,可以指定一个目录是下载目录,在这个目录当中的内容会漏沙,其他的本地文档文件都是默认不可访问的(主要根据后缀进行判定,也可以根据需要进行配置),该沙箱可以联网,允许访问网络。
沙箱部分需要一个配置界面来对程序开启沙箱支持,并可以配置沙箱的参数。内容记录在一个配置文件当中,由沙箱引擎读取、解析和使用。
步骤S210,截获浏览器进程创建对话窗口的行为。
创建对话窗口的行为指用户除了浏览网页之外进行的点击操作而弹出窗口的行为。例如,用户在使用浏览器浏览网页时,想要观看浏览的网页中存在一个视频,而如果要播放该视频,需要首先下载并安装一个插件之后才可以,此时,浏览器进程就可能会产生创建对话窗口的行为。
在浏览器进程中,具体通过执行CreateDialogParam函数用于创建对话窗口,并且CreateDialogParam函数可向浏览器进程传输资源标识。CreateDialogParam函数根据对话框模板资源创建一个无模式的对话框,在显示对话框之前,函数把一个应用程序定义的值作为WM_INITDIALOG消息IParam参数传到对话框过程,应用程序可用此值来初始化对话框控制。
在启动浏览器进程后,本发明向沙箱中注入名为SXIN.dll的进程,用于监控浏览器进程中创建对话窗口的行为。具体地,SXIN.dll进程hook上述CreateDialogParam函数,并根据CreateDialogParam函数传输的参数得到对话窗口的资源标识。
步骤S220,根据对话窗口的资源标识确定对话窗口是否为下载窗口,若是,则执行步骤S230;否则执行步骤S210。
下载窗口指用户在浏览网页时点击下载链接时弹出的窗口。具体地,用户点击下载该插件的下载链接,浏览器会弹出一个下载窗口,在chrome浏览器中该下载窗口为下载资源管理器。在步骤S210之后,截获一对话窗口,通过判定所截获的对话窗口的资源标识是否与chrome浏览器的下载窗口的资源标识一致,来确定对话窗口是否为下载窗口。其中,该下载窗口的资源标识可以是但不限于ID。
步骤S230,接管下载窗口对应的窗口过程,截获用户在下载窗口中触发的下载文件的命令。
由于系统开启了盾甲保护功能,在判定步骤S220中的对话窗口为下载窗口之后,实现盾甲保护功能的装置接管下载窗口对应的窗口过程,用户通过下载窗口执行的任何操作都被接管。这样,若用户点击下载按钮,装置获知用户下载文件的命令。
步骤S240,浏览器进程根据下载文件的命令将文件下载到缓存文件夹。
步骤S250,判断文件在本地文件夹中是否存在,若是则执行步骤S260,若否则执行步骤S270。
通过查询比对本地文件夹中的文件名与下载到缓存文件夹中的文件名是否相同来判断文件在本地文件夹中是否存在。
步骤S260,提示用户是否覆盖本地文件夹中存在的文件,若用户选择覆盖本地文件夹中存在的文件,则执行步骤S270;若用户选择不覆盖本地文件夹中存在的文件,则方法结束。
若步骤S250中判断本地文件夹中存在该文件,则以弹出框的形式提示用户是否覆盖本地文件夹中文件。
步骤S270,将缓存文件夹的文件复制到指定的本地文件夹。
举例来说,将保存在缓存文件夹的下载插件复制到指定的本地文件夹。
步骤S280,通过接管下载窗口对应的窗口过程,截获用户在下载窗口中触发的运行文件的命令。
下载完成后会继续以下载窗口的形式提示用户下载已完成,用户根据提示可以选择运行该文件。当用户选择运行文件时,SXIN.dll进程可以截获用户运行文件的命令。
步骤S290,调用非自保进程运行本地文件夹中的文件。
在本步骤中,用户运行文件的命令包括但不限于安装文件。若用户点击运行文件,则启动非自保进程,即第三方程序,将安装参数传给第三方程序,由第三方程序来运行。本方法利用非自保进程而不是自保进程执行运行文件的操作,这是因为自保进程是实现盾甲保护功能的装置的一个核心模块,为了避免装置及整个计算机系统受到病毒或恶意程序的侵害,在实现盾甲保护功能的装置中添加了非自保进程。本方法在启动非自保进程运行文件的过程中,可以同时监控文件的运行过程,一旦发现用户点击运行的文件是恶意程序,则直接中断运行,并对复制到本地文件夹的文件进行查杀处理,从而不会对装置及计算机系统产生影响,避免自保进程根据其监控规则而放行一些文件。
举例来说,实现盾甲保护功能的装置将浏览器缓存文件中的插件复制到本地文件夹之后,用户点击安装该插件,此时装置启动第三方程序,并将安装参数传给第三方程序,由第三方程序安装该插件。
可选地,在将缓存文件中的文件复制到指定的本地文件夹之后,本发明实施例还可以截获用户在下载窗口执行的打开文件夹的窗口行为,执行打开本地文件夹的操作。
在上述实施例中,SXIN.dll进程用于截获创建对话窗口的行为,在截获创建对话窗口的行为之后,由接管进程接管窗口过程,接管进程可以通过调用来启动非自保进程实现浏览器保护。可选地,SXIN.dll进程也可直接与非自保进程之间进行一定的通讯交互。
根据本发明上述实施例提供的方法,判断系统是否启用下载文件的保护功能,若是,则截获浏览器进程创建对话窗口的行为,根据对话窗口的资源标识确定对话窗口是否为下载窗口,若是则进行接管下载窗口对应的窗口过程,截获用户在下载窗口中触发的下载文件的命令,浏览器进程根据用户在下载窗口中触发的下载文件的命令将文件下载到缓存文件夹之后,判断文件在本地文件夹中是否存在,在判定文件在本地文件夹中存在的情况下,提示用户是否覆盖本地文件夹中存在的文件,在用户选择覆盖本地文件夹中的文件后,将缓存文件夹的文件复制到指定的本地文件夹,调用非自保进程运行本地文件夹中的文件。通过启用下载文件的保护功能,可以防止漏洞对系统造成损害,截获浏览器进程创建下载窗口的行为并接管下载窗口对应的窗口过程可以使本发明提供的装置准确获知用户的操作,根据用户在下载窗口中触发的下载文件的命令将文件下载到缓存文件夹之后,本实施例将缓存文件夹的文件复制到指定的本地文件夹,这样在浏览器程序退出后,下载文件也会永久保存在本地文件夹中,而且也不会影响浏览器在沙箱中运行的原有机制。采用非自保进程运行复制到本地文件夹的文件使得启用的下载文件的保护功能的装置免于恶意程序的攻击,来保证整个计算机系统的安全。
图3示出了根据本发明又一个实施例的对浏览器下载文件的保护方法的流程图。图3所示实施例与图2所示实施例不同之处在于,该方法针对运行文件的命令进行浏览器下载文件的保护,该方法包括如下步骤:
步骤S300,判断系统是否启用下载文件的保护功能,若是,则执行步骤S310。
步骤S310,截获浏览器进程创建对话窗口的行为。
步骤S320,根据对话窗口的资源标识确定对话窗口是否为下载窗口,若是,则执行步骤S330;否则执行步骤S310。
其中,步骤S300-步骤S320的具体执行方式与图2所示实施例的步骤S200-S220相同,在此不再赘述。
步骤S330,接管下载窗口对应的窗口过程,截获用户在下载窗口中触发的运行文件的命令。
由于系统开启了盾甲保护功能,在判定步骤S320中的对话窗口为下载窗口之后,实现盾甲保护功能的装置接管下载窗口对应的窗口过程,用户通过下载窗口执行的任何操作都被接管。这样,若用户点击运行按钮,装置获知用户运行文件的命令。
在截获用户在下载窗口中触发的运行文件的命令之后,浏览器进程根据用户在下载窗口中触发的命令将文件下载到缓存文件夹。
步骤S340,根据运行文件的命令,调用非自保进程运行缓存文件夹中的文件。
本步骤与图2所示实施例的步骤S290类似,再此不再赘述。
根据本发明上述实施例提供的方法,判断系统是否启用下载文件的保护功能,若是,则截获浏览器进程创建对话窗口的行为,根据对话窗口的资源标识确定对话窗口是否为下载窗口,若是则接管下载窗口对应的窗口过程,截获用户在下载窗口中触发的运行文件的命令,根据运行文件的命令,调用非自保进程运行缓存文件夹中的文件。通过启用下载文件的保护功能,可以防止漏洞对系统造成损害,接管下载窗口对应的窗口过程可以使本发明提供的装置准确获知用户的操作,运行的文件包括但不限于.exe文件,通过启动非自保进程在真实系统上运行缓存文件夹中的文件,而且也不会影响浏览器在沙箱中运行的原有机制,采用非自保进程运行文件使得启用的下载文件的保护功能的装置免于恶意程序的攻击,来保证整个计算机系统的安全。
图4示出了根据本发明一个实施例的对浏览器下载文件的保护装置的结构图。如图4所示,该装置包括:第一判断模块400、截获模块410、接管模块420、运行模块430。
第一判断模块400,适于判断系统是否启用下载文件的保护功能,在判断出系统启用下载文件的保护功能的情况下,触发截获模块进行截获浏览器进程创建对话窗口的行为。该第一判断模块400为本实施例的可选模块。
本发明中对浏览器下载文件的保护功能可以是盾甲保护中的一个子功能。盾甲保护具有程序加固引擎、补天热补丁引擎、关键程序隔离引擎功能,程序加固引擎具体包括:设置界面,主要负责产品配置;常驻模块,主要负责弹窗、程序初始化等;安装打包,主要负责安装程序。程序加固引擎主要使用内置的主动防御引擎加固敏感应用程序,防止漏洞攻击。补天热补丁引擎主要提供最全面的热补丁防护。关键程序隔离引擎可以对重要程序和数据进行隔离,防止漏洞对系统造成损害。盾甲保护的三个功能是相互独立的,本发明主要涉及关键程序隔离引擎功能。关键程序隔离引擎功能结合沙箱技术,对关键进程进行隔离。
本发明基于上网沙箱进行网页浏览。上网沙箱用来隔离上网环境,可以指定一个目录是下载目录,在这个目录当中的内容会漏沙,其他的本地文档文件都是默认不可访问的(主要根据后缀进行判定,也可以根据需要进行配置),该沙箱可以联网,允许访问网络。
沙箱部分需要一个配置界面来对程序开启沙箱支持,并可以配置沙箱的参数。内容记录在一个配置文件当中,由沙箱引擎读取、解析和使用。
截获模块410,适于截获浏览器进程创建下载窗口的行为。
创建对话窗口的行为指用户除了浏览网页之外进行的点击操作而弹出窗口的行为。例如,用户在使用浏览器浏览网页时,想要观看浏览的网页中存在一个视频,而如果要播放该视频,需要首先下载并安装一个插件之后才可以,此时,浏览器进程就可能会产生创建对话窗口的行为。
在浏览器进程中,具体通过执行CreateDialogParam函数用于创建对话窗口,并且CreateDialogParam函数可向浏览器进程传输资源标识。该CreateDialogParam函数根据对话框模板资源创建一个无模式的对话框,在显示对话框之前,函数把一个应用程序定义的值作为WM_INITDIALOG消息IParam参数传到对话框过程,应用程序可用此值来初始化对话框控制。
在启动浏览器进程后,本发明向沙箱中注入名为SXIN.dll的进程,即截获模块对应的进程,用于监控浏览器进程中创建对话窗口的行为。具体地,SXIN.dll进程hook上述CreateDialogParam函数,并根据CreateDialogParam函数传输的参数得到对话窗口的资源标识。
具体地,截获模块410适于截获浏览器进程创建对话窗口的行为,根据对话窗口的资源标识确定对话窗口是否为下载窗口。
下载窗口指用户在浏览网页时点击下载链接时弹出的窗口。具体地,用户点击下载该插件的下载链接,浏览器会弹出一个下载窗口,在chrome浏览器中该下载窗口为下载资源管理器。截获模块410截获了一对话窗口,通过判定所截获的对话窗口的资源标识是否与chrome浏览器的下载窗口的资源标识一致,来确定对话窗口是否为下载窗口。其中,该下载窗口的资源标识可以是但不限于ID。
接管模块420,适于接管下载窗口对应的窗口过程,并在浏览器进程根据用户在下载窗口中触发的命令将文件下载到缓存文件夹之后,将缓存文件夹的文件复制到指定的本地文件夹。
接管模块420具体适于通过接管下载窗口对应的窗口过程,截获用户在下载窗口中触发的下载文件的命令;根据下载文件的命令,将缓存文件夹的文件复制到指定的本地文件夹。
由于系统开启了盾甲保护功能,在截获模块410截获的的对话窗口为下载窗口之后,实现盾甲保护功能的装置接管下载窗口对应的窗口过程,用户通过下载窗口执行的任何操作都被接管。这样,若用户点击下载按钮,装置获知用户下载文件的命令。
接管模块420进一步适于通过接管下载窗口对应的窗口过程,截获用户在下载窗口中触发的运行文件的命令。
运行模块430,适于在接管模块的调用下,启动非自保进程运行本地文件夹中的文件。
在本模块中,用户运行文件的命令包括但不限于安装文件。若用户点击运行文件,则启动非自保进程,即第三方程序,将安装参数传给第三方程序,由第三方程序来运行。
举例来说,实现盾甲保护功能的装置将浏览器缓存文件中的插件复制到本地文件夹之后,用户点击安装该插件,此时装置启动第三方进程,并将安装参数传给第三方程序,由第三方程序安装该插件。
有时用户已经下载了某文件,但忘记已下载过该文件,为了提示用户已经下载该文件是否覆盖本地文件夹中的文件,该装置还包括:第二判断模块440、提示模块450。
第二判断模块430,适于判断文件在本地文件夹中是否存在。
通过查询比对本地文件夹中的文件名与下载到缓存文件夹中的文件名是否相同来判断文件在本地文件夹中是否存在。
提示模块440,适于在第二判断模块430判定文件在本地文件夹存在的情况下,提示用户是否覆盖本地文件夹中存在的文件。
若第二判断模块430判断本地文件夹中存在该文件,则以弹出框的形式提示用户是否覆盖本地文件夹中文件。
接管模块420进一步适于在用户选择覆盖后,将缓存文件夹的文件复制到本地文件夹。
根据本发明上述实施例提供的装置,判断系统是否启用下载文件的保护功能,若是,则由截获模块截获浏览器进程创建对话窗口的行为,根据对话窗口的资源标识确定对话窗口是否为下载窗口,若是则由接管模块接管下载窗口对应的窗口过程,并在浏览器进程根据用户在下载窗口中触发的命令将文件下载到缓存文件夹之后,第二判断模块判断文件在本地文件夹中是否存在,在判定文件在本地文件夹中存在的情况下,提示用户是否覆盖本地文件夹中存在的文件,在用户选择覆盖后,接管模块将缓存文件夹的文件复制到指定的本地文件夹。通过启用下载文件的保护功能,可以防止漏洞对系统造成损害,截获浏览器进程创建下载窗口的行为并接管下载窗口的对应的窗口过程可以使本发明提供的装置准确获知用户的操作,根据用户在下载窗口中触发的下载文件的命令将文件下载到缓存文件夹之后,本实施例将缓存文件夹的文件复制到指定的本地文件夹,这样在浏览器程序退出后,下载文件也会永久保存在本地文件夹中,而且也不会影响浏览器在沙箱中运行的原有机制,采用非自保进程运行复制到本地文件夹的文件使得启用的下载文件的保护功能的装置免于恶意程序的攻击,来保证整个计算机系统的安全。
图5示出了根据本发明另一个实施例的对浏览器下载文件的保护装置的结构图。图5所示的实施例与图4所示的实施例的不同之处在于,该装置针对运行文件的命令进行浏览器下载文件的保护。该装置包括:第一判断模块500、截获模块510、接管模块520、运行模块530。
第一判断模块500,适于判断系统是否启用下载文件的保护功能,在判断出系统启用下载文件的保护功能的情况下,触发截获模块进行截获浏览器进程创建对话窗口的行为。其中第一判断模块500为本实施例的可选模块。
截获模块510,适于截获浏览器进程创建下载窗口的行为。
接管模块520,适于接管下载窗口对应的窗口过程。
接管模块520具体适于:通过接管下载窗口对应的窗口过程,截获用户在下载窗口中触发的运行文件的命令。
在浏览器进程根据用户在下载窗口中触发的命令将文件下载到缓存文件夹之后,接管模块520调用运行模块530。
运行模块530,适于在接管模块520的调用下,启动非自保进程运行缓存文件夹中的文件。
根据本发明上述实施例提供的装置,判断系统是否启用下载文件的保护功能,若是,则由截获模块截获浏览器进程创建对话窗口的行为,根据对话窗口的资源标识确定对话窗口是否为下载窗口,若是则接管下载窗口对应的窗口过程,在接管模块的调用下,启动非自保进程运行缓存文件夹中的文件。通过启用下载文件的保护功能,可以防止漏洞对系统造成损害,接管下载窗口对应的窗口可以使本发明提供的装置准确获知用户的操作,运行的文件包括但不限于.exe文件,通过启动非自保进程在真实系统上运行缓存文件夹中的文件,而且也不会影响浏览器在沙箱中运行的原有机制,采用非自保进程运行文件使得启用的下载文件的保护功能的装置免于恶意程序的攻击,来保证整个计算机系统的安全。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的对浏览器下载文件的保护设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:A1、一种对浏览器下载文件的保护方法,所述浏览器基于沙箱技术而运行,所述方法包括:
截获浏览器进程创建下载窗口的行为;
接管所述下载窗口对应的窗口过程,并在所述浏览器进程根据用户在所述下载窗口中触发的命令将文件下载到缓存文件夹之后,将所述缓存文件夹的所述文件复制到指定的本地文件夹或运行所述缓存文件夹中的文件。
A2、根据A1所述的方法,其中,将所述缓存文件夹的所述文件复制到指定的本地文件夹具体包括:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的下载文件的命令;根据所述下载文件的命令,将所述缓存文件夹的所述文件复制到指定的本地文件夹。
A3、根据A1所述的方法,其中,所述运行所述缓存文件夹中的文件具体包括:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的运行文件的命令;根据所述运行文件的命令,运行所述缓存文件夹中的文件。
A4、根据A3所述的方法,其中,所述运行所述缓存文件夹中的文件具体为:调用非自保进程运行所述缓存文件夹中的文件。
A5、根据A2所述的方法,其中,在将所述缓存文件夹的所述文件复制到指定的本地文件夹之后进一步包括:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的运行文件的命令;调用非自保进程运行所述本地文件夹中的文件。
A6、根据A1-A5任一项所述的方法,其中,所述截获浏览器进程创建下载窗口的行为进一步包括:截获浏览器进程创建对话窗口的行为,根据所述对话窗口的资源标识确定所述对话窗口是否为下载窗口。
A7、根据A1-A6任一项所述的方法,其中,在所述截获浏览器进程创建对话窗口的行为之前还包括:判断系统是否启用下载文件的保护功能;
在判断出系统启用下载文件的保护功能的情况下,进行截获浏览器进程创建对话窗口的行为。
A8、根据A1所述的方法,其中,在将所述缓存文件夹的所述文件复制到指定的本地文件夹之前还包括:判断所述文件在本地文件夹中是否存在,若是则提示用户是否覆盖所述本地文件夹中存在的文件;
在用户选择覆盖所述本地文件夹中存在的文件之后,执行将所述缓存文件夹的所述文件复制到指定的本地文件夹的步骤。
本发明还公开了:B9、一种对浏览器下载文件的保护装置,所述浏览器基于沙箱技术而运行,所述装置包括:
截获模块,用于截获浏览器进程创建下载窗口的行为;
接管模块,用于接管所述下载窗口对应的窗口过程,并在所述浏览器进程根据用户在所述下载窗口中触发的命令将文件下载到缓存文件夹之后,将所述缓存文件夹的所述文件复制到指定的本地文件夹;
运行模块,适于根据用户在所述下载窗口中触发的命令运行所述缓存文件夹中的文件。
B10、根据B9所述的装置,其中,所述接管模块具体适于:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的下载文件的命令;根据所述下载文件的命令,将所述缓存文件夹的所述文件复制到指定的本地文件夹。
B11、根据B9所述的装置,其中,所述接管模块具体适于:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的运行文件的命令。
B12、根据B11所述的装置,其中,运行模块具体适于:在所述接管模块的调用下,启动非自保进程运行所述缓存文件夹中的文件。
B13、根据B12所述的装置,其中,所述接管模块进一步适于:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的运行文件的命令;
所述运行模块还适于在所述接管模块的调用下,启动非自保进程运行所述本地文件夹中的文件。
B14、根据B9-B13任一项所述的装置,其中,所述截获模块具体用于:截获浏览器进程创建对话窗口的行为,根据所述对话窗口的资源标识确定所述对话窗口是否为下载窗口。
B15、根据B9-B14任一项所述的装置,其中,还包括:第一判断模块,用于判断系统是否启用下载文件的保护功能,在判断出系统启用下载文件的保护功能的情况下,触发所述截获模块进行截获浏览器进程创建对话窗口的行为。
B16、根据B9所述的装置,其中,还包括:第二判断模块,适于判断所述文件在本地文件夹中是否存在;
提示模块,适于在所述第二判断模块判定所述文件在本地文件夹存在的情况下,提示用户是否覆盖所述本地文件夹中存在的文件;
所述接管模块进一步适于在用户选择覆盖后,将所述缓存文件夹的所述文件复制到所述本地文件夹。

Claims (14)

1.一种对浏览器下载文件的保护方法,所述浏览器基于沙箱技术而运行,所述方法包括:
截获浏览器进程创建对话窗口的行为,判断所截获的对话窗口的资源标识与浏览器的下载窗口的资源标识是否一致,若是,则确定所述对话窗口为下载窗口;
接管所述下载窗口对应的窗口过程,并在所述浏览器进程根据用户在所述下载窗口中触发的命令将文件下载到缓存文件夹之后,将所述缓存文件夹的所述文件复制到指定的本地文件夹或运行所述缓存文件夹中的文件,以将文件保存到真实系统上或在真实系统上运行。
2.根据权利要求1所述的方法,其中,将所述缓存文件夹的所述文件复制到指定的本地文件夹具体包括:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的下载文件的命令;根据所述下载文件的命令,将所述缓存文件夹的所述文件复制到指定的本地文件夹。
3.根据权利要求1所述的方法,其中,所述运行所述缓存文件夹中的文件具体包括:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的运行文件的命令;根据所述运行文件的命令,运行所述缓存文件夹中的文件。
4.根据权利要求3所述的方法,其中,所述运行所述缓存文件夹中的文件具体为:调用非自保进程运行所述缓存文件夹中的文件。
5.根据权利要求2所述的方法,其中,在将所述缓存文件夹的所述文件复制到指定的本地文件夹之后进一步包括:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的运行文件的命令;调用非自保进程运行所述本地文件夹中的文件。
6.根据权利要求1所述的方法,其中,在所述截获浏览器进程创建对话窗口的行为之前还包括:判断系统是否启用下载文件的保护功能;
在判断出系统启用下载文件的保护功能的情况下,进行截获浏览器进程创建对话窗口的行为。
7.根据权利要求1所述的方法,其中,在将所述缓存文件夹的所述文件复制到指定的本地文件夹之前还包括:判断所述文件在本地文件夹中是否存在,若是则提示用户是否覆盖所述本地文件夹中存在的文件;
在用户选择覆盖所述本地文件夹中存在的文件之后,执行将所述缓存文件夹的所述文件复制到指定的本地文件夹的步骤。
8.一种对浏览器下载文件的保护装置,所述浏览器基于沙箱技术而运行,所述装置包括:
截获模块,用于截获浏览器进程创建对话窗口的行为,判断所截获的对话窗口的资源标识与浏览器的下载窗口的资源标识是否一致,若是,则确定所述对话窗口为下载窗口;
接管模块,用于接管所述下载窗口对应的窗口过程,并在所述浏览器进程根据用户在所述下载窗口中触发的命令将文件下载到缓存文件夹之后,将所述缓存文件夹的所述文件复制到指定的本地文件夹,以将文件保存到真实系统上;
运行模块,适于根据用户在所述下载窗口中触发的命令运行所述缓存文件夹中的文件,以在真实系统上运行。
9.根据权利要求8所述的装置,其中,所述接管模块具体适于:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的下载文件的命令;根据所述下载文件的命令,将所述缓存文件夹的所述文件复制到指定的本地文件夹。
10.根据权利要求8所述的装置,其中,所述接管模块具体适于:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的运行文件的命令。
11.根据权利要求10所述的装置,其中,运行模块具体适于:在所述接管模块的调用下,启动非自保进程运行所述缓存文件夹中的文件。
12.根据权利要求11所述的装置,其中,所述接管模块进一步适于:通过接管所述下载窗口对应的窗口过程,截获用户在所述下载窗口中触发的运行文件的命令;
所述运行模块还适于在所述接管模块的调用下,启动非自保进程运行所述本地文件夹中的文件。
13.根据权利要求8所述的装置,其中,还包括:第一判断模块,用于判断系统是否启用下载文件的保护功能,在判断出系统启用下载文件的保护功能的情况下,触发所述截获模块进行截获浏览器进程创建对话窗口的行为。
14.根据权利要求8所述的装置,其中,还包括:第二判断模块,适于判断所述文件在本地文件夹中是否存在;
提示模块,适于在所述第二判断模块判定所述文件在本地文件夹存在的情况下,提示用户是否覆盖所述本地文件夹中存在的文件;
所述接管模块进一步适于在用户选择覆盖后,将所述缓存文件夹的所述文件复制到所述本地文件夹。
CN201410158238.7A 2014-04-18 2014-04-18 对浏览器下载文件的保护方法及装置 Active CN103916402B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410158238.7A CN103916402B (zh) 2014-04-18 2014-04-18 对浏览器下载文件的保护方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410158238.7A CN103916402B (zh) 2014-04-18 2014-04-18 对浏览器下载文件的保护方法及装置

Publications (2)

Publication Number Publication Date
CN103916402A CN103916402A (zh) 2014-07-09
CN103916402B true CN103916402B (zh) 2018-07-24

Family

ID=51041809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410158238.7A Active CN103916402B (zh) 2014-04-18 2014-04-18 对浏览器下载文件的保护方法及装置

Country Status (1)

Country Link
CN (1) CN103916402B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446702B (zh) * 2015-08-11 2019-11-12 腾讯科技(北京)有限公司 缓存信息处理方法及客户端
CN109710867A (zh) * 2018-12-20 2019-05-03 贵阳朗玛信息技术股份有限公司 数据处理方法及装置
CN111367855B (zh) * 2020-02-08 2021-06-18 重庆节节高科技发展有限公司 下载文件的移出方法、装置、计算机设备和存储介质
CN114491231A (zh) * 2021-12-21 2022-05-13 上海日日峰信息科技有限公司 一种半结构化留存浏览器访问信息的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345603A (zh) * 2011-12-28 2013-10-09 北京奇虎科技有限公司 基于沙箱技术浏览网页的方法及装置
CN103646211A (zh) * 2013-12-05 2014-03-19 北京奇虎科技有限公司 浏览器中加载支付类网页的方法与装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102592086B (zh) * 2011-12-28 2015-04-15 奇智软件(北京)有限公司 在沙箱中浏览网页方法及装置
CN103648049B (zh) * 2013-12-20 2017-01-18 北京奇虎科技有限公司 一种实现安全播放视频的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345603A (zh) * 2011-12-28 2013-10-09 北京奇虎科技有限公司 基于沙箱技术浏览网页的方法及装置
CN103646211A (zh) * 2013-12-05 2014-03-19 北京奇虎科技有限公司 浏览器中加载支付类网页的方法与装置

Also Published As

Publication number Publication date
CN103916402A (zh) 2014-07-09

Similar Documents

Publication Publication Date Title
US10664592B2 (en) Method and system to securely run applications using containers
US10956184B2 (en) On-demand disposable virtual work system
US10291634B2 (en) System and method for determining summary events of an attack
US9846776B1 (en) System and method for detecting file altering behaviors pertaining to a malicious attack
US8458673B2 (en) Computer-implemented method and system for binding digital rights management executable code to a software application
Agten et al. JSand: complete client-side sandboxing of third-party JavaScript without browser modifications
US9208328B2 (en) Security system and method for operating systems
US20170346843A1 (en) Behavior processing method and device based on application program
CN104536981B (zh) 实现浏览器安全的方法、浏览器客户端和装置
US10440036B2 (en) Method and system for modeling all operations and executions of an attack and malicious process entry
US9699189B2 (en) Sandbox technology based webpage browsing method and device
JP2014238870A (ja) 挙動サンドボックスのためのシステム及び方法
JP6791134B2 (ja) 分析システム、分析方法、分析装置及び、コンピュータ・プログラム
CN103916402B (zh) 对浏览器下载文件的保护方法及装置
JP6306265B2 (ja) マルウェア検出方法、及びマルウェア検出装置
CN104036019B (zh) 网页链接的开启方法及装置
US11144642B2 (en) Deactivating evasive malware
CN103970574B (zh) office程序的运行方法及装置、计算机系统
Lee et al. Adlib: Analyzer for mobile ad platform libraries
EP1850260A1 (en) A computer-implemented method and system for binding digital rights management executable code to a software application
WO2012065547A1 (zh) 一种浏览器隔离使用的方法
CN110192195A (zh) 通过任何数据通道的安全数据访问
Xuan et al. DroidPill: Pwn Your Daily-Use Apps
Blochberger et al. State of the sandbox: Investigating macOS application security
CN108664253A (zh) 应用替换方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220801

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.