CN102484647B - 用于保护计算机免于高速缓存中毒的系统和方法 - Google Patents

用于保护计算机免于高速缓存中毒的系统和方法 Download PDF

Info

Publication number
CN102484647B
CN102484647B CN201080040699.4A CN201080040699A CN102484647B CN 102484647 B CN102484647 B CN 102484647B CN 201080040699 A CN201080040699 A CN 201080040699A CN 102484647 B CN102484647 B CN 102484647B
Authority
CN
China
Prior art keywords
speed cache
data
entity
cache
arbitrary
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
CN201080040699.4A
Other languages
English (en)
Other versions
CN102484647A (zh
Inventor
R·黑
A·沙拉巴尼
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN102484647A publication Critical patent/CN102484647A/zh
Application granted granted Critical
Publication of CN102484647B publication Critical patent/CN102484647B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/145Detection or countermeasures against cache poisoning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

保护计算机免于高速缓存中毒,包含:高速缓存-实体表,其用于维护多个数据高速缓存与多个实体之间的多个关联,其中所述高速缓存中的每个高速缓存均与所述实体中的一个不同实体关联;以及高速缓存管理器,用于接收与所述实体中的任一实体关联的数据,并将所接收的数据存储在所述高速缓存中被所述高速缓存-实体表指示为与该实体关联的任一高速缓存内,以及接收与所述实体中的任一实体关联的数据请求,并从所述高速缓存中被所述高速缓存-实体表指示为与发出请求的实体关联的任一高速缓存取回所请求的数据,其中在计算机硬件和包含在计算机可读介质中的计算机软件两者之一中实现所述高速缓存-实体表和所述高速缓存管理器中的任一个。

Description

用于保护计算机免于高速缓存中毒的系统和方法
技术领域
本发明一般地涉及计算机安全,具体地说,涉及保护计算机以防止高速缓存中毒。 
许多计算机系统采用缓存机制以增进其性能,其中频繁存取的数据的副本存储在提供快速存取的临时存储区域,由此降低频繁从其原始位置取回数据所需的存取时间和/或成本。例如,作为超文本传输协议(HTTP)代理服务器的计算机缓存网页以降低网络业务及改善等待时间,而出于同样理由,用作将联网设备的名称映射至其数值网际协议(IP)地址的域名系统(DNS)解析器的计算机缓存设备名称-地址映射。 
然而,使用高速缓存的计算机容易受到一种称为高速缓存中毒的攻击,在此类攻击中,尝试将伪造的表项引入高速缓存。例如,在DNS高速缓存中毒中,在网络设备与其IP地址之间的缓存映射被改为指向由攻击者所提供的IP地址,此地址一般包含恶意的内容,例如计算机蠕虫或计算机病毒。其后请求网络设备地址的客户机将被给与错误的地址,潜在地使客户机暴露于恶意内容。不幸的是,在计算机维护由多个客户机共享的高速缓存的情况下,单个高速缓存中毒实例可能造成许多受害者上当。 
本发明的实施例揭露了用于保护计算机系统免于高速缓存中毒的新颖系统和方法。 
在本发明的一个方面中,提供了一种用于保护计算机免于高速缓存中毒的系统,所述系统包含:高速缓存-实体表,其用于维护多个数据高速缓存与多个实体之间的多个关联,其中所述高速缓存中的每个高速缓存均与所述实体中的一个不同实体关联;以及高速缓存管理器,用于接收与所述实体中的任一实体关联的数据并将所接收的数据存储在所述高速缓存中被所述高速缓存-实体表指示为与该实体关联的任一高速缓存内,以及接收与所述实体中的任一实体关联的数据请求并从所述高速缓存中被所述高速缓存-实体表指示为与发出请求的实体关联的任一高速缓存取回所请求的数据,其中在计算机硬件和包含在计算机可读介质中的计算机软件两者之一中实现所述高速缓存-实体表和所述高速缓存管理器中的任一个。 
在本发明的另一个方面中,所述系统还包含数据请求处理器,用于为所述高速缓存管理器提供所述数据中的任何数据。 
在本发明的又一个方面中,所述数据请求处理器用于从所述实体中的任一实体接收所述数据请求,并询问所述高速缓存管理器以判定是否可从所述高速缓存中的任一高速缓存获取所请求的数据。 
在本发明的再一个方面中,所述高速缓存管理器用于识别在至少预定数量的所述高速缓存中出现的任何表项、将所述表项从所述高速缓存移动至全局高速缓存、以及从所述全局高速缓存取回所请求的数据。 
在本发明的另一个方面中,提供了一种用于保护计算机免于高速缓存中毒的方法,所述方法包含:维护多个数据高速缓存与多个实体之间的多个关联,其中所述高速缓存中的每个高速缓存均与所述实体中的一个不同实体关联;接收与所述实体中的任一实体关联的数据;将所接收的数据存储在所述高速缓存中被高速缓存-实体表指示为与该实体关联的任一高速缓存内;接收与所述实体中的任一实体关联的数据请求;以及从所述高速缓存中被所述高速缓存-实体表指示为与发出请求的实体关联的任一高速缓存取回所请求的数据。 
在本发明的又一个方面中,提供了一种用于保护计算机免于高速缓存中毒的方法,所述方法包含:维护多个数据高速缓存与多个实体之间的多个关联,其中所述高速缓存中的每个高速缓存均与所述实体中的一个不同实体关联;接收与所述实体中的任一实体关联的数据;将所接收的数据存 储在所述高速缓存中被高速缓存-实体表指示为与该实体关联的任一高速缓存内;识别在至少预定数量的所述高速缓存中出现的任何表项;将所述表项从所述高速缓存移动至全局高速缓存;接收与所述实体中的任一实体关联的数据请求;如果所请求的数据在所述全局高速缓存中,则从所述全局高速缓存取回所请求的数据;以及如果所请求的数据不在所述全局高速缓存中,则从所述高速缓存中被所述高速缓存-实体表指示为与发出请求的实体关联的任一高速缓存取回所请求的数据。 
在本发明的再一个方面中,提供了一种用于保护计算机免于高速缓存中毒的计算机程序产品,所述计算机程序产品包含:计算机可读介质;以及计算机程序指令,所述计算机程序指令可操作以:维护多个数据高速缓存与多个实体之间的多个关联,其中所述高速缓存中的每个高速缓存均与所述实体中的一个不同实体关联;接收与所述实体中的任一实体关联的数据;将所接收的数据存储在所述高速缓存中被高速缓存-实体表指示为与该实体关联的任一高速缓存内;识别在至少预定数量的所述高速缓存中出现的任何表项;将所述表项从所述高速缓存移动至全局高速缓存;接收与所述实体中的任一实体关联的数据请求;如果所请求的数据在所述全局高速缓存中,则从所述全局高速缓存取回所请求的数据;以及如果所请求的数据不在所述全局高速缓存中,则从所述高速缓存中被所述高速缓存-实体表指示为与发出请求的实体关联的任一高速缓存取回所请求的数据,其中所述程序指令存储在所述计算机可读介质中。 
附图说明
从以下结合附图的详细说明,可更完整地理解和认识本发明,这些附图是: 
图1是根据本发明的一个实施例构建和操作的用于防止高速缓存中毒的系统的简化概念图; 
图2是根据本发明的实施例操作的图1的系统的示意性操作方法的简化流程图; 
图3是根据本发明的一个实施例构建和操作的用于防止高速缓存中毒的系统的简化概念图; 
图4A、4B及4C是根据本发明的实施例操作的图3的系统的示意性操作方法的简化流程图;以及 
图5是根据本发明的一个实施例构建和操作的计算系统的示意性硬件实施的简化方块示意图。 
具体实施方式
现在在一个或多个实施例的上下文中描述本发明,然而所述描述仅用于对本发明进行一般性的说明,并且不应理解为将本发明限于所提出的实施例。将理解,本领域技术人员可想到各种修改,所述修改虽然在说明书中并未明确提及,但仍在本发明的范围之内。 
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,本发明还可以实现为在任何有形表达介质中的计算机程序产品的形式,该表达介质中包含计算机可读的程序代码。 
可以使用一种或多种计算机可读或计算机可用介质的任何组合。所述计算机可用或计算机可读介质例如可以是(但不限于)电子、磁、光、电磁、红外或半导体系统、装置、设备或传播介质。计算机可读介质的更具体的实例(非穷举的列表)将包括以下项:具有一条或多条线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、诸如那些支持因特网或内联网的传输介质或磁存储设备。注意,所述计算机可用或计算机可读介质甚至可以是程序被打印在其上的纸张或其他适合的介质,因为所述程序可以通过例如光扫描所述纸张或其他介质被电子地捕获,然后被编译、解释或另外以适合 的方式被处理(如果必要),然后被存储在计算机存储器中。在此文档的上下文中,计算机可用或计算机可读介质可以是任何能够包含、存储、传送、传播或传输由指令执行系统、装置或设备使用或与指令执行系统、装置或设备有关的程序的介质。计算机可用介质可以包括其中包含计算机可用程序代码(在基带中或作为载波的一部分)的传播数据信号。可以使用任何适当的介质(包括但不限于因特网、线缆、光纤电缆、射频(RF)或其他装置)来传输计算机可用程序代码。 
用于执行本发明的操作的计算机程序代码,可以以一种或多种编程语言的任何组合来编写,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++之类,还包括常规的过程式编程语言—诸如”C”编程语言或类似的编程语言。程序代码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。 
以下参照按照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。要明白的是,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置。 
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置的制品。 
也可以把计算机程序指令加载到计算机或其它可编程数据处理装置 上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。 
现在参考图1,其是根据本发明的一个实施例构建和操作的用于保护计算机免于高速缓存中毒的系统的简化概念图。在图1的系统中,高速缓存管理器100管理多个高速缓存102、104及106。尽管出于说明目的,仅显示三个高速缓存102、104及106,然而高速缓存管理器100可管理任意数量的高速缓存。高速缓存102、104及106皆用于包含相同类型的数据,例如每个高速缓存102、104及106均用于存储DNS地址映射、网页、或任何可缓存的其它已知类型的数据。除非在此另有描述,否则高速缓存管理器100根据常规高速缓存管理技术管理高速缓存102、104及106中的每一个。高速缓存管理器100也用于在数据存储设备上的高速缓存-实体表180中维护高速缓存102、104及106中的每一个高速缓存与一个实体之间的关联,其中实体可以是计算机用户、客户端计算机、客户端软件应用、网络、或高速缓存数据的任何其它可识别通道、提供者或接收者、或这类通道、提供者或接收者的任何群组。优选地,任何两个高速缓存都不关联于同一实体。 
数据请求处理器110从实体接收数据请求,并询问高速缓存管理器100以判定是否可从高速缓存获取所请求的数据。高速缓存管理器100识别发出请求的实体、判定高速缓存102、104及106中的任一高速缓存是否与该实体关联、判定是否可从与该实体关联的高速缓存取回所请求的数据、以及从该高速缓存取回所请求的数据,接着数据请求处理器110将所取回的数据提供给该实体。如果无法从高速缓存获取所请求的数据,则数据请求处理器110根据常规技术处理该请求。例如,当数据请求是针对与因特网域关联的网际协议(IP)地址且无法从高速缓存获取该地址时,数据请求处理器110优选地执行域名服务(DNS)地址查找,以确定该域的IP地址。数据请求处理器110接着将该地址提供给实体以及提供给高速缓存管理器100以供缓存,如以下参考图2描述的。 
高速缓存102、104及106中的任一高速缓存以及高速缓存-实体表108优选地存储在一个或多个数据存储设备上,所述数据存储设备例如但不限于磁性或光学数据存储设备。 
以上在图1中示出并且以下在图2、3、4A、4B、4C及5中示出的任一组件优选地由计算机12执行或可以以其他方式由计算机12存取,例如,方式为根据常规技术以计算机硬件和/或包含在计算机可读介质内的计算机软件实现这些组件中的任何组件。 
现在进一步参考图2,其是根据本发明的实施例操作的图1的系统的示意性操作方法的简化流程图。在图2的方法中,数据请求处理器110例如以来自在计算机(未示出)上运行的Web浏览器应用的DNS地址查找请求的形式从实体接收数据请求。数据请求处理器110接着询问高速缓存管理器100以确定数据是否在高速缓存中。高速缓存管理器100例如通过确定连同数据请求一同接收的实体的IP地址来确定该实体的身分。如果实体与特定高速缓存关联,例如高速缓存管理器100在高速缓存-实体表108中找到该实体与特定高速缓存之间的关联,则尝试在与发出请求的实体关联的高速缓存中寻找所请求的数据。如果在该高速缓存中找到数据,则数据请求处理器110将数据提供给发出请求的实体。如果实体未与特定高速缓存关联,则高速缓存管理器100优选地为此实体建立高速缓存,并在高速缓存-实体表108中建立此实体与新建立的高速缓存之间的关联。数据请求处理器110接着根据常规技术处理数据请求、将所请求的数据提供给发出请求的实体、以及将所请求的数据提供给高速缓存管理器100,高速缓存管理器100将数据存储在与该实体关联的高速缓存中。 
从图1所示的系统以及图2所示的方法可了解,与来自实体“A”的请求关联的数据存储在明确与实体“A”关联的高速缓存中,而与来自实体“B”的请求关联的数据存储在明确与实体“B”关联的高速缓存中,其中每一高速缓存均与不同的实体关联。此外,当从实体“A”接收对数据的请求时,从与实体“A”关联的高速缓存取回数据,而当从实体“B”接收对数据的请求时,从与实体“B”关联的高速缓存取回数据。以此方式, 与由实体“A”所做出的数据请求有关的高速缓存中毒尝试(如果成功的话)只会影响与实体“A”关联的高速缓存,而实体“B”则不受影响。 
现在参考图3,其是根据本发明的一个实施例构建和操作的用于防止高速缓存中毒的系统的简化概念图。图3所示的系统基本上类似于图1所示的系统,其明显差别在于,高速缓存管理器100除了管理对应实体的高速缓存102、104及106之外,还管理全局高速缓存300。高速缓存管理器100将出现在至少预定数量的实体关联的高速缓存中的任何高速缓存表项从实体关联的高速缓存102、104及106中的任一个移至全局高速缓存300。因此,例如,如果高速缓存102、104及106中的每一个均用于存储DNS地址映射,且这些高速缓存中的预定数量的高速缓存(例如它们中的至少两个)包含用于www.elhjtypzw.com的同一地址映射,则高速缓存管理器100优选地将该地址映射从找到表项的实体关联的高速缓存移至全局高速缓存300。 
现在进一步参考图4A、4B及4C,它们是根据本发明的一个实施例操作的图3的系统的示意性操作方法的简化流程图。图4A、4B及4C所示的方法基本上类似于图2所示的方法,其明显的差别在于,当从实体接收到对数据的请求时,高速缓存管理器100在实体关联的高速缓存中寻找数据之前,首先试图在全局高速缓存300中寻找所请求的数据,且存储在至少预定数量的实体关联的高速缓存中的表项优选地由高速缓存管理器100移至全局高速缓存300。 
现在参考图5,方块图500描述根据本发明的一个实施例的计算系统的示意性硬件实施,其可实施本发明的一个或多个组件/方法(例如在图1、2、3、4A、4B及4C的上下文中描述的组件/方法)。 
如图所示,可根据经由计算机总线518或备选连接布置而耦合的处理器510、存储器512、I/O设备514及网络接口516来实施用于控制对至少一个资源的存取的技术。 
应了解,“处理器”一词在此旨在包含任何处理设备,例如包含CPU(中央处理单元)和/或其它处理电路的处理设备。亦应了解,“处理器”一词 可指多个处理设备,且与一个处理设备关联的各种元件可由其它处理设备共享。 
“存储器”一词在此旨在包含与处理器或CPU关联的存储器,例如RAM、ROM、固定存储设备(例如硬盘)、可移动存储设备(例如软盘)、闪存等。此类存储器可被视为计算机可读存储介质。 
此外,“输入/输出装置”或“I/O设备”一词在此旨在包含例如用于输入数据至处理单元的一个或多个输入设备(例如键盘、鼠标、扫描仪等等),和/或用于呈现与处理单元关联的结果的一个或多个输出设备(例如扬声器、显示器、打印机等)。 
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。 
虽然在此的方法和装置可能已经或尚未参照特定计算机硬件或软件来描述,但应了解,在此所述的方法和装置可容易地使用常规技术在计算机硬件或软件中实现。 
虽然已参考一个或多个特定实施例描述本发明,然而所述描述仅用于对本发明进行一般性的说明,并且不应理解为将本发明限于所提出的实施例。将理解,本领域技术人员可想到各种修改,所述修改虽然在说明书中并未明确提及,但仍在本发明的范围之内。 

Claims (5)

1.一种用于保护计算机免于高速缓存中毒的系统,所述系统包含:
高速缓存-实体表,其用于维护多个数据高速缓存与多个实体之间的多个关联,其中所述高速缓存中的每个高速缓存均与所述实体中的一个不同实体关联;以及
高速缓存管理器,用于
接收与所述实体中的任一实体关联的数据,并将所接收的数据存储在所述高速缓存中被所述高速缓存-实体表指示为与该实体关联的任一高速缓存内;
识别在至少预定数量的所述高速缓存中出现的任何表项,以及将所述表项从所述高速缓存移动至全局高速缓存;以及
接收与所述实体中的任一实体关联的数据请求,如果所请求的数据在所述全局高速缓存中,则从所述全局高速缓存取回所请求的数据,如果所请求的数据不在所述全局高速缓存中,从所述高速缓存中被所述高速缓存-实体表指示为与发出请求的实体关联的任一高速缓存取回所请求的数据,其中在计算机硬件中实现所述高速缓存-实体表和所述高速缓存管理器中的任一个。
2.如权利要求1所述的系统,还包含数据请求处理器,用于为所述高速缓存管理器提供所述数据中的任何数据。
3.如权利要求2所述的系统,其中所述数据请求处理器用于从所述实体中的任一实体接收所述数据请求,并询问所述高速缓存管理器以判定是否可从所述高速缓存中的任一高速缓存获取所请求的数据。
4.一种用于保护计算机免于高速缓存中毒的方法,所述方法包含:
维护多个数据高速缓存与多个实体之间的多个关联,其中所述高速缓存中的每个高速缓存均与所述实体中的一个不同实体关联;
接收与所述实体中的任一实体关联的数据;
将所接收的数据存储在所述高速缓存中被高速缓存-实体表指示为与该实体关联的任一高速缓存内;
识别在至少预定数量的所述高速缓存中出现的任何表项;
将所述表项从所述高速缓存移动至全局高速缓存;
接收与所述实体中的任一实体关联的数据请求;
如果所请求的数据在所述全局高速缓存中,则从所述全局高速缓存取回所请求的数据;以及
如果所请求的数据不在所述全局高速缓存中,则从所述高速缓存中被所述高速缓存-实体表指示为与发出请求的实体关联的任一高速缓存取回所请求的数据。
5.一种用于保护计算机免于高速缓存中毒的系统,所述系统包含:
用于维护多个数据高速缓存与多个实体之间的多个关联,其中所述高速缓存中的每个高速缓存均与所述实体中的一个不同实体关联的装置;
用于接收与所述实体中的任一实体关联的数据的装置;
用于将所接收的数据存储在所述高速缓存中被高速缓存-实体表指示为与该实体关联的任一高速缓存内的装置;
用于识别在至少预定数量的所述高速缓存中出现的任何表项的装置;
用于将所述表项从所述高速缓存移动至全局高速缓存的装置;
用于接收与所述实体中的任一实体关联的数据请求的装置;
用于如果所请求的数据在所述全局高速缓存中,则从所述全局高速缓存取回所请求的数据的装置;以及
用于如果所请求的数据不在所述全局高速缓存中,则从所述高速缓存中被所述高速缓存-实体表指示为与发出请求的实体关联的任一高速缓存取回所请求的数据的装置。
CN201080040699.4A 2009-09-14 2010-08-31 用于保护计算机免于高速缓存中毒的系统和方法 Active CN102484647B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/559,122 2009-09-14
US12/559,122 US8806133B2 (en) 2009-09-14 2009-09-14 Protection against cache poisoning
PCT/EP2010/062731 WO2011029748A1 (en) 2009-09-14 2010-08-31 Cache protection

Publications (2)

Publication Number Publication Date
CN102484647A CN102484647A (zh) 2012-05-30
CN102484647B true CN102484647B (zh) 2014-12-03

Family

ID=43301930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080040699.4A Active CN102484647B (zh) 2009-09-14 2010-08-31 用于保护计算机免于高速缓存中毒的系统和方法

Country Status (10)

Country Link
US (1) US8806133B2 (zh)
EP (1) EP2420042B1 (zh)
JP (1) JP5651179B2 (zh)
KR (1) KR101379082B1 (zh)
CN (1) CN102484647B (zh)
BR (1) BR112012002847B1 (zh)
CA (1) CA2774110C (zh)
MX (1) MX2011013052A (zh)
TW (1) TW201122894A (zh)
WO (1) WO2011029748A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404318B (zh) * 2011-10-31 2015-09-09 杭州迪普科技有限公司 一种防范dns缓存攻击的方法及装置
GB2506624A (en) 2012-10-04 2014-04-09 Ibm Correlation of session activities to a browser window in a client-server environment
US9230037B2 (en) 2013-01-16 2016-01-05 Sap Se Identifying and resolving cache poisoning
WO2014142852A1 (en) * 2013-03-13 2014-09-18 Intel Corporation Vulnerability estimation for cache memory
CN105338016B (zh) 2014-06-27 2019-08-23 国际商业机器公司 数据高速缓存方法和装置以及资源请求响应方法和装置
US9805084B2 (en) 2015-05-14 2017-10-31 Walleye Software, LLC Computer data system data source refreshing using an update propagation graph
US10735461B2 (en) * 2015-10-21 2020-08-04 Verisign, Inc. Method for minimizing the risk and exposure duration of improper or hijacked DNS records
US10938878B2 (en) * 2017-05-16 2021-03-02 Red Hat, Inc. Separate cache servers for storing objects in different dedicated size ranges
US10866943B1 (en) 2017-08-24 2020-12-15 Deephaven Data Labs Llc Keyed row selection
US11201853B2 (en) * 2019-01-10 2021-12-14 Vmware, Inc. DNS cache protection
US10855644B1 (en) 2019-09-09 2020-12-01 Vmware, Inc. Address resolution protocol entry verification
US11575646B2 (en) 2020-03-12 2023-02-07 Vmware, Inc. Domain name service (DNS) server cache table validation
US11829190B2 (en) 2021-12-21 2023-11-28 Advanced Micro Devices, Inc. Data routing for efficient decompression of compressed data stored in a cache
US20230195640A1 (en) * 2021-12-21 2023-06-22 Advanced Micro Devices, Inc. Cache Associativity Allocation
US11836088B2 (en) 2021-12-21 2023-12-05 Advanced Micro Devices, Inc. Guided cache replacement

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347358B1 (en) * 1998-12-22 2002-02-12 Nec Corporation Disk control unit and disk control method
CN101404649A (zh) * 2008-11-11 2009-04-08 阿里巴巴集团控股有限公司 一种基于cache的数据处理系统及其方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324623B1 (en) 1997-05-30 2001-11-27 Oracle Corporation Computing system for implementing a shared cache
US6697919B2 (en) * 2000-06-10 2004-02-24 Hewlett-Packard Development Company, L.P. System and method for limited fanout daisy chaining of cache invalidation requests in a shared-memory multiprocessor system
US6516388B1 (en) 2000-09-15 2003-02-04 Hewlett-Packard Company Method and apparatus for reducing cache pollution
US7035911B2 (en) * 2001-01-12 2006-04-25 Epicrealm, Licensing Llc Method and system for community data caching
US6976131B2 (en) * 2002-08-23 2005-12-13 Intel Corporation Method and apparatus for shared cache coherency for a chip multiprocessor or multiprocessor system
GB0303192D0 (en) * 2003-02-12 2003-03-19 Saviso Group Ltd Methods and apparatus for traffic management in peer-to-peer networks
US7386110B2 (en) 2003-08-14 2008-06-10 Hewlett-Packard Development Company, L.P. Directory assistance utilizing a personalized cache
JP2005157605A (ja) 2003-11-25 2005-06-16 Hitachi Ltd 商品データ検索装置および同装置におけるデータ更新方法ならびにプログラム
JP4141391B2 (ja) 2004-02-05 2008-08-27 株式会社日立製作所 ストレージサブシステム
US7471684B2 (en) 2004-10-21 2008-12-30 International Machines Corporation Preventing asynchronous ARP cache poisoning of multiple hosts
JP4675631B2 (ja) 2005-01-11 2011-04-27 Kddi株式会社 インデックスサーバ及びp2pネットワークシステム
US20060209818A1 (en) 2005-03-18 2006-09-21 Purser Jimmy R Methods and devices for preventing ARP cache poisoning
US7581066B2 (en) 2005-04-29 2009-08-25 Sap Ag Cache isolation model
US8190823B2 (en) * 2008-09-18 2012-05-29 Lenovo (Singapore) Pte. Ltd. Apparatus, system and method for storage cache deduplication
US8108620B2 (en) * 2009-03-10 2012-01-31 Hewlett-Packard Development Company, L.P. Cooperative caching technique

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347358B1 (en) * 1998-12-22 2002-02-12 Nec Corporation Disk control unit and disk control method
CN101404649A (zh) * 2008-11-11 2009-04-08 阿里巴巴集团控股有限公司 一种基于cache的数据处理系统及其方法

Also Published As

Publication number Publication date
EP2420042B1 (en) 2012-09-26
JP2013504798A (ja) 2013-02-07
WO2011029748A1 (en) 2011-03-17
US8806133B2 (en) 2014-08-12
JP5651179B2 (ja) 2015-01-07
BR112012002847B1 (pt) 2021-12-07
KR101379082B1 (ko) 2014-03-28
BR112012002847A2 (pt) 2018-03-13
CA2774110A1 (en) 2011-03-17
EP2420042A1 (en) 2012-02-22
CA2774110C (en) 2018-11-20
KR20120051051A (ko) 2012-05-21
US20110066807A1 (en) 2011-03-17
TW201122894A (en) 2011-07-01
MX2011013052A (es) 2012-01-20
CN102484647A (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
CN102484647B (zh) 用于保护计算机免于高速缓存中毒的系统和方法
US11792294B2 (en) Method and apparatus for reducing loading time of web pages
US10516611B2 (en) Preferential selection of IP protocol version with domain name matching on proxy servers
US10033692B1 (en) Managing domain name system (DNS) queries using a proxy DNS server
CN108280014B (zh) 一种监听浏览器页面的方法、装置及计算机设备
CA2956676C (en) Web redirection for content scanning
US9967309B2 (en) Dynamic loading of routes in a single-page application
US10397360B2 (en) Systems and methods for caching HTTP POST requests and responses
US20170331780A1 (en) Optimized domain whitelisting
WO2013188981A1 (en) Common web accessible data store for client side page processing
CN103701779A (zh) 一种二次访问网站的方法、装置及防火墙设备
US20210096938A1 (en) Api hub architecture
US9378178B1 (en) Enhancing HTTP caching by allowing content sharing of data blocks across resources identified by different uniform resource locators
US9241006B2 (en) Method and system for detecting website visit attempts by browsers
US10666602B2 (en) Edge caching in edge-origin DNS
CN108604273A (zh) 防止恶意软件下载
EP3029911A1 (en) Method, system and device for delivering a web application to a client

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant