专利名称:保护用户不受恶意弹出广告的危害的制作方法
技术领域:
本发明一般地涉及避免因特网上广告的不良影响。具体地说,本发明
涉及检测在联机会活期间由选择Web浏览器中弹出广告窗口上的命令按 钮而可能触发的任何不良后续操作。更具体地说,本发明涉及阻止由关闭 此类弹出窗口而触发的不良后续操作。
背景技术:
在通常的因特网联机会话中,用户会遇到宣传所有可能的产品和服务 种类的弹出窗口。这些广告通常作为独立的窗口在当前Web浏览器窗口的 顶部"弹出,,。有些弹出广告是无害的并且可以通过单击作为弹出窗口一 部分提供的命令按钮而容易地关闭。但是,另外一些弹出窗口可能带有欺 骗命令按钮。这些欺骗命令按钮可能触发隐藏的操作(如安装间谍软件、 广告软件,窃取计算机周期,通过用户的计算机发送垃圾邮件)或其他不 良应用。图3是似乎警告广告软件和间谍软件的弹出窗口的实例,但是该 窗口本身可能具有无论选择"是"还是"否"按钮,都会安装恶意程序的
欺骗按钮。尽管弹出广告可能具有由系统提供的无法进行欺骗的"取消" 按钮,即窗口角落上的"X"按钮,但是此类由系统提供的按钮可能处于 灰显、隐藏或禁用状态。某些用户可能不知道显式命令按钮和系统提供的 "取消"按钮之间的区别。另外还有一些弹出窗口除了诸如"是"或"确 认,,按钮之类的肯定命令a以夕卜,不提供任何关闭弹出窗口的命令按钮。 图4是此类弹出窗口的实例。这限制了用户关闭弹出窗口的选择,其不可 避免地触发用户未知的潜在不良后续操作。在尝试关闭此类恶意弹出窗口 时,计算机用户面临着授权恶意操作的危险,计算机会将此恶意操作视为由用户有意做出的操作。
当前提供了避免恶意弹出窗口的方法,例如在用户明确给出下载程序 的命令时扫描恶意程序代码,其中通过在下载程序代码之前与现有的程序 集进行比较来执行扫描操作。另外还提供了 一种通过将用户输入从错误的
Java小程序转向主浏览器循环,并接收用户,命令以关闭窗口来避开由 该小程序生成的显示模型对话框的方法。此现有技术涉及使用Java编程语 言创建的模型对话框。
因此,需要克服相关技术中的至少一种上述缺点和/或限制。
发明内容
本发明提供了 一种用于检测弹出窗口中的欺骗命令按钮和/或预先警 告用户在选择欺骗命令按钮以关闭弹出窗口时的潜在危害的方法、系统和 计算机程序产品。
本发明的第 一方面提供了 一种用于检测欺骗命令按钮的方法,所述方 法包括下列步骤跟踪弹出窗口创建过程;检测在所述弹出窗口中创建的 命令按钮;检查所述命令按钮的赋值;以及确定在选择所述命令按钮时生 成的后续操作。
优选地,本发明提供了一种方法,其中所述检测步骤包括执行后台源 代码验证。
优选地,本发明提供了一种方法,所述方法还包括以下步骤验证所 生成的后续操作将关闭所述弹出窗口。
优选地,本发明提供了一种方法,所述方法还包括以下步骤当选择 所述命令按钮后的后续操作为关闭所述弹出窗口以外的其他操作时,警告 用户所述弹出窗口可能导致潜在危险。
优选地,本发明提供了一种方法,所述方法还包括以下步骤当所述 命令按钮的赋值限制用户选择时,警告用户谨慎继续。
本发明的第二方面提供了 一种用于检测欺骗命令按钮的方法,所述方 法包括根据关闭窗口的Web浏览器应用程序接口 (API)来發汪弹出窗
5口的关闭操作以检测异常;以及在检测到用户选择所述命令按钮之后所生 成的后续操作无法与所述Web浏览器API通信时向用户发出警告。
优选地,本发明提供了一种方法,所述方法还包括以下步骤在警告 用户时关闭所述弹出窗口。
本发明的第三方面提供了一种用于检测欺骗命令按钮的系统,所述系 统包括用于跟踪弹出窗口创建过程的组件;用于检测在所述弹出窗口中 创建命令按钮的组件;用于检查所述命令按钮的赋值的组件;以及用于确 定在选择所述命令按钮时生成的后续操作的组件。所述系统是可以作为插 件、扩展、代理或任何可以与Web浏览器一起应用的装置而添加到现有计 算机程序的计算机程序。
优选地,本发明提供了一种系统,其中用于检测的组件执行后台源代
优选地,本发明提供了一种系统,所述系统还包括用于验证所生成的 后续操作将关闭所述弹出窗口的组件。
优选地,本发明提供了一种系统,所述系统还包括用于当所述后续操 作执行关闭所述弹出窗口以外的其他操作时,警告用户所述弹出窗口可能 导致潜在危险的组件。
优选地,本发明提供了一种系统,所述系统还包括用于当所述命令按 钮的赋值限制用户选择时,警告用户谨慎继续的组件。
优选地,本发明提供了一种系统,所述系统还包括用于根据关闭窗 口的Web浏览器应用程序接口 (API)来發汪所述弹出窗口的组件;用于 在检测到用户选择所述命令按钮之后所生成的后续操作无法与所述Web 浏览器API通信时向用户发出警告的组件;以及用于关闭所述弹出窗口的 组件。
本发明的第四方面提供了 一种存储在机器可读介质中的用于检测欺骗 命令按钮的计算机程序,所述计算机可读程序执行下列操作跟踪弹出窗 口创建过程;检测在所述弹出窗口中创建的命令按钮;检查所述命令按钮 的赋值;以及确定在选择所述命令按钮时生成的后续操作。本发明的第五方面提供了一种部署用于检测欺骗命令按钮的应用的方
法,所述方法包括提供可执行下列操作的计算机基础结构跟踪弹出窗 口创建过程;检测在所述弹出窗口中创建的命令按钮;检查所述命令按钮 的赋值;以及确定在选择所述命令按钮时生成的后续操作。
附图是示出本发明的典型实施例的示意表示,其并非旨在限制本发明 的原理。在附图中,相同的标号表示各个图中的相同元素
图l是示出本发明的一个实施例的算法的流程图2是示出本发明的备选实施例的算法的流程图3是示出提供命令按钮以供用户选择以关闭弹出窗口的常见广告的 示例弹出窗口;
图4是示出限制关闭弹出窗口的用户选择的另一示例弹出窗口 ;
图5是示出本发明的另一实施例的算法的流程图6示出了用于实现本发明的一个或多个实施例的示例性计算机系统。
具体实施例方式
已采用各种方法来防止恶意代码执行各种操作,但是仍需要提供一种 方法来检测恶意代码并警告用户如果用户发出关闭弹出窗口的命令,可 能将恶意代码安装到计算机内。
现在参考附图,图1示出了用于检测带有欺骗命令按钮的弹出窗口的 算法100的过程流。欺骗按钮是单击按钮之后所产生的结果不会返回预期 结果的按钮。欺骗命令按钮的外观与常见命令按钮的外观相同,通常在弹 出窗口中成对出现(例如,图3中示出的"是"和"否")。用户净皮诱导 相信此类命令按钮提供了仅通过单击按钮便可发出所需命令的途径。但是, 单击弹出窗口上的命令按钮可能触发其他操作。开始108之后,当通过 Web浏览器连接到因特网IIO时,算法100处于备用状态。当用户在因特网的联机会话期间执行操作112时,算法100跟踪打开窗口 (例如Java 中的"window.叩en")的调用以判定114是否正在创建弹出窗口。算法 100包括步骤116以通过执行后台页面源代码^来检测是否作为弹出窗 口的一部分来创建命令按钮。将命令按钮的值与"否"或"取消"按钮的 值进行比较。当值匹配时,将执行进一步的检查118来判定单击命令按钮 之后的后续操作是否只是"返回假(False)"(例如,在不执行任何其他 操作的情况下关闭窗口)。如果是,将在没有任何中断的情况下处理122 后续操作。但是,如果后续操作不是"返回假",将会警告用户注意欺骗 命令按钮,并由系统自动关闭弹出窗口 120。这可防止用户单击欺骗按钮, 从而最大程度上减小触发与单击欺骗按钮关联的恶意后续操作的风险。算 法100然后被再次重置为备用以等待触发新弹出窗口创建的另一用户操 作。如果判定114未创建弹出窗口 ,则算法100在Web浏览器如期望的那 样处理用户命令122时返回备用模式。如果用户选择退出联机会话,则算 法100将对命令进行注册并停止检测弹出窗口的创建124。
在图2中,除了图1内的算法100中列出的过程流之外,算法200还 具有在逻辑步骤116之后的额外过程流202以解决弹出窗口未提供"取消,, 按钮的情况。这实质上意味着未使用可以与关闭弹出窗口的"否"或"取 消"按钮的值比较的值来创建命令按钮。但是,弹出窗口可能包括限制用 户选择的命令按钮,从而导致必须遵从并增加触发恶意或不希望出现的后 续操作的风险。尽管未向用户提供选择以使用专门执行弹出窗口关闭操作 的命令按钮来关闭弹出窗口 ,但是Web浏览器将通过类似如下的消息预先 警告用户的禪A穿口不类才初应的取^^然,请谨镇逖參"。 但是,Web浏览器将不采取额外操作来最大程度上减小处理用户发出的命 令时的风险。备选地,将在不对用户进行警告的情况下处理命令。
图5示出了本发明的另一实施例,其中提供了用于在过程流中根据关 闭窗口的标准操作系统(OS )或Web浏览器应用程序接口 ( API)来^ 关闭操作的算法300。从步骤116或步骤118到步骤122的过程流还包括 另一步骤302,该步骤根据API的OS验证由命令按钮发出的关闭操作以检测任何异常。当关闭弹出窗口的命令按钮未调用Web浏览器API时, 则将此情况检测为异常。算法300然后向用户发送警告消息并自动关闭弹 出窗口 120。该备选步骤302可以作为上述算法100或200的替代算法独 立应用或者作为防止任何意外选择欺骗命令按钮的防护措施独立应用。作 为防护措施,可以在逻辑步骤122之前立即实现此算法300,以确保即使 命令按钮似乎没有欺骗迹象,但是假如后续操作的行为未遵循预期的操作 模式,则将对用户发出警告并且Web浏览器将立即关闭弹出窗口 。
因此,需要一种使得Web浏览器能够阻止弹出广告窗口中的按钮欺骗 的方法。还需要一种能够添加到现有因特网Web浏览器程序中的可执行系 统,以检测当用户选择作为弹出窗口的一部分提供的欺骗命令按钮时执行 的恶意代码。进一步需要一种可以预先警告用户选择弹出窗口上的欺骗命 令按钮之后可能的意外操作的可执行系统。
图6示出了根据本发明的一个或多个实施例的用于检测弹出窗口中的 欺骗命令按钮并当选择欺骗命令按钮时预先警告用户潜在危害的示例性系 统400。在此方面,系统400包括可以执行此处所述的用于检测欺骗命令 按钮的各种过程的计算机基础结构402。具体地说,计算机基础结构402 被示为包括计算机系统404,计算机系统404包括欺骗命令按叙险测系统 430,其使得计算机系统404能够通过执行本发明的过程步骤在创建弹出窗 口时检测欺骗命令按钮的创建。
所示的计算机系统404包括处理单元408、存储器410、至少一个输入 /输出(I/O)接口 414以及总线412。进而,计算机系统404被示为与至少 一个外部设备416和存储系统418通信。通常,处理单元408执行诸如欺 骗命令按钮检测系统430之类的存储在存储器410和/或存储系统418中的 计算机程序代码。在执行计算机程序代码时,处理单元408可以从存储器 410、存储系统418和/或I/O接口 414读取数据和/或将数据写入上述元件。 总线412提供计算机系统404中的各个组件之间的通信链路。至少一个外 部设备416可以包括允许用户(未示出)与计算机系统404交互的任何设 备(例如显示器420)或允许计算机系统404与一个或多个其他计算机系统通信的任何设备。
在任何情况下,计算机系统404都可以包括能够执行由用户安装的计 算机程序代码的任何通用计算制品(例如,个人计算机、服务器、手持设 备等)。但是可以理解,计算机系统404和欺骗命令按铜企测系统430只 是可以执行本发明的各个过程步骤的各种可能计算机系统的代表。在此方 面,在其他实施例中,计算机系统404可以包括包含用于执行特定功能的 硬件和/或计算机程序代码的任何专用计算制品、包括专用和通用硬件/软件 的组合任何计算制品等。在每种情况下,都可以使用标准编程和工程技术 分别创建程序代码和硬件。
类似地,计算机基础结构402只是可用于实现本发明的各类计算机基 础结构的示例。例如,在一个实施例中,计算机基础结构402包括通过诸 如网络、共享存储器之类的任意类型的有线和/或无线通信链路通信以执行
本发明的各个过程步骤的两个或更多计算机系统(例如,服务器群集)。 当通信链路包括网络时,所述网络可以包括一个或多个网络类型(例如, 因特网、广域网、局域网、虛拟专用网等)的任意组合。无论如何,计算 机系统之间的通信都可以利用各种类型的传输技术的任意组合。
如上所述,当用户选择弹出窗口 434的命令按钮时,欺骗命令按旨 测系统430使得计算机系统404能够执行返回"假,,操作检查432。所述 弹出窗口在Web浏览器440内"弹出"。在此方面,欺骗命令按 会测系 统430被示为包括用于检测Web浏览器440上弹出窗口 434的生成的弹出 窗口创建检测系统436,以及包括用于根据命令按钮的赋值,针对弹出窗 口 434中的每个命令M执行返回"假"操作检查432的命令按钮创建系 统438。上面讨论了这些系统中的每个系统的操作。可以理解,图6中示 出的各种系统中的某些系统可以针对通过网络通信的 一个或多个单独计算 机系统404而单独实现、组合实现和/或存储在存储器中。进而可以理解, 可以不实现某些系统和/或功能,或者可以将其他系统和/或功能包括为系统 400的一部分。
尽管在此示出和描述为用于检测弹出窗口中的命令按钮是否为欺骗按
10钮的方法和系统,但是可以理解,本发明还提供了各种备选实施例。例如, 在一个实施例中,本发明提供了 一种包括计算机程序代码的计算机可读介 质,所述计算机程序代码使得计算机基础结构能够确定在选择弹出窗口的 命令按钮时触发的后续操作。在此方面,所述计算机可读介质包括诸如欺
骗命令按旨测系统430之类的实现本发明的各个过程步骤中每个步骤的 程序代码。可以理解,术语"计算机可读介质"包括一个或多个任意类型 的程序代码的物理实施例。具体地说,所述计算机可读介质包括包含在一 个或多个便携存储制品(例如,光盘、磁盘、磁带等)、诸如存储器410 和/或存储系统418 (例如,硬盘、只读存储器、随才4取存储器、高速緩 冲存储器等)之类的一个或多个计算机系统数据存储部分上的程序代码, 和/或包括为通过网络传输的数据信号(例如,在程序代码的有线/无线电子 分发期间)的程序代码。
在另一实施例中,本发明提供了一种在订阅、广告和/或收费的基础上 执行本发明的过程步骤的商业方法。也就是说,服务提供商可以提供服务 以判定弹出窗口是否带有当用户选择命令按钮时会触发恶意操作的欺骗命 令按钮。在此情况下,服务器提供商可以为一个或多个客户创建、维护、 支持诸如计算机基础结构402之类的执行本发明的过程步骤的计算机_^ 出 结构。作为回报,服务器提供商可以根据订阅和/或收费协议向客户(多个) 收费,以^/或者^^务器提供商可以通过向 一个或多个第三方销售广告空间 来收费。
在另 一实施例中,本发明提供了 一种用于检测弹出窗口的欺骗命令按 钮的方法。在这种情况下,可以获取(例如,创建、维护、提供等)诸如 计算机基础结构402之类的计算机基础结构并且可以获取(例如,创建、 购买、使用、修改等) 一个或多个用于执行本发明的过程步骤的系统并将 所述系统部署到计算机1^出结构。在此方面,每个系统的部署可以包括下 列 一个或多个操作(1)从计算机可读介质将程序代码安装在诸如计算机 系统404之类的计算机系统中;(2)将一个或多个计算机系统添加到计算 机基础结构;以及(3)结合和/或修改计算机基础结构的一个或多个现有系统以使得所述计算机基础结构能够执行本发明的过程步骤。
如此处使用的,可以理解术语"程序代码"和"计算机程序代码"为 同义词并表示一组指令的以任何语言、代码或符号表示的任何表达,所述 指令旨在使具有信息处理功能的计算机系统直接执行特定功能,或者执行
以下两者之一或全部后执行特定功能a)转换为另一种语言、代码或符号; 以及b)以不同的材料形式再现。在此方面,程序代码可以体现为一种或 多种类型的程序产品,例如应用程序/软件程序、组件软件/功能库、操作系 统、用于特定计算的基本I/O系统/驱动器和/或I/O设备等。
尽管此处描述了本发明的优选实施例,但是上述描述只是示例性的。 其并非旨在是穷举的或将本发明限于所公开的精确形式。显而易见,许多 修改和变化都是可能的。相应领域中的技术人员可想到对此处描述的本发 明的进一步修改,并且所有此类修改都被视为在所附权利要求限定的本发 明的范围之内。
权利要求
1. 一种用于检测欺骗命令按钮的方法,所述方法包括以下步骤跟踪弹出窗口的创建过程;检测在所述弹出窗口中创建的命令按钮;检查所述命令按钮的赋值;以及确定在选择所述命令按钮时生成的后续操作。
2. 根据权利要求l的方法,其中检测步骤包括执行后台源代码验证。
3. 根据权利要求l的方法,还包括以下步骤验证所生成的后续操作 将关闭所述弹出窗口。
4. 根据权利要求3的方法,还包括以下步骤当选择所述命令按钮后 的后续操作为关闭所述弹出窗口以外的其他操作时,警告用户所述弹出窗 口可能导致潜在危险。
5. 根据权利要求2的方法,还包括以下步骤当所述命令按钮的赋值 限制用户选择时,警告用户谨慎继续。
6. —种用于检测欺骗命令按钮的系统,所述系统包括 用于跟踪弹出窗口的创建过程的组件;用于检测在所述弹出窗口中创建的命令按钮的組件;用于检查所述命令按钮的赋值的组件;以及用于确定在选择所述命令按钮时生成的后续操作的组件。
7. 根据权利要求6的系统,其中用于检测的组件执行后台源代码^t。
8. 根据权利要求6的系统,还包括用于验证所生成的后续操作将关闭 所述弹出窗口的组件。
9. 根据权利要求6的系统,还包括用于当所述后续操作执行关闭所述 弹出窗口以外的其他操作时,警告用户所述弹出窗口可能导致潜在危险的 组件。
10. 根据权利要求6的系统,还包括用于当所述命令按钮的赋值限制 用户选择时,警告用户谨慎继续的组件。
11. 根据权利要求6的系统,还包括用于根据关闭窗口的Web浏览器应用程序接口 (API)来發汪所述弹 出窗口的组件;用于在检测到用户选择所述命令按钮之后所生成的后续操作无法与所 述Web浏览器API通信时向用户发出警告的组件;以及 用于关闭所述弹出窗口的组件。
12. —种可加载到数字计算机的内部存储器中的计算机程序产品,所 述计算机程序产品包括当所述产品在计算机上运行时,用于执行如权利要求1至5所要求保护的本发明的软件代码部分。
全文摘要
本发明是用于检测弹出窗口中的欺骗命令按钮的解决方案。所述解决方案跟踪所述弹出窗口的创建过程,检测所述弹出窗口中命令按钮的存在,检验所述弹出窗口中的每个命令按钮上所标记的值,以及确定选择所述弹出窗口上的命令按钮后所生成的后续操作。
文档编号G06F21/00GK101490691SQ200780027306
公开日2009年7月22日 申请日期2007年8月3日 优先权日2006年8月15日
发明者G·J·博斯, G·陈, J·S·兰福德, R·A·哈密尔顿二世 申请人:国际商业机器公司