CN111492363A - 检测数据泄露 - Google Patents
检测数据泄露 Download PDFInfo
- Publication number
- CN111492363A CN111492363A CN201880018886.9A CN201880018886A CN111492363A CN 111492363 A CN111492363 A CN 111492363A CN 201880018886 A CN201880018886 A CN 201880018886A CN 111492363 A CN111492363 A CN 111492363A
- Authority
- CN
- China
- Prior art keywords
- data
- representation
- cryptographically secure
- owner
- leak
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Storage Device Security (AREA)
Abstract
本说明书的主题一般地涉及数据安全性。在一些实施方式中,一种方法包括从数据拥有者接收要监视是否有数据泄露的数据的第一密码安全表示。每个第一密码安全表示可包括表示由所述数据拥有者所维护的多个第一数据记录的密码安全数据结构。从用户接收第二数据记录的一个或多个第二密码安全表示。与从数据拥有者接收到的所述第一密码安全表示的对应部分匹配的所述第二密码安全表示的数目被确定。基于与从所述数据拥有者接收到的所述第一密码安全表示的对应部分匹配的所述第二密码安全表示的数目来做出对于所述数据拥有者发生了数据泄露的确定。
Description
技术领域
本公开一般地涉及电子数据安全性。
背景技术
随着因特网的出现,一些计算机专家一直在使用他们的专家知识来获得对敏感数据的未经授权的访问。这些数据泄露可基本上影响访问数据的一方和其数据被访问的各方。例如,当***公司的***数据被盗取时,***公司必须停用所有被泄露的***,为每个泄露的***创建新的账户信息,并且向受到泄露影响的每个客户发行新的***。类似地,在泄露被解决并且客户收到带有新信息的新卡之前,每个客户将在一定时间内失去对其账户的访问。
发明内容
本说明书描述用于基于由已偶然发现潜在被盗数据的用户提供的数据的安全表示来检测数据泄露的***、方法、设备和其它技术。
一般而言,本说明书中描述的主题的一个创新方面可用各方法加以实现,所述方法包括从多个数据拥有者中的每一个接收要监视是否有数据泄露的数据的第一密码安全表示。每个第一密码安全表示可包括表示由所述数据拥有者所维护的第一数据记录的密码安全数据结构。可从用户接收第二数据记录的一个或多个第二密码安全表示。与从所述数据拥有者中的数据拥有者接收到的所述第一密码安全表示的对应部分匹配的所述第二密码安全表示的数目被确定。基于与从所述数据拥有者接收到的所述第一密码安全表示的对应部分匹配的所述第二密码安全表示的数目来做出对于所述数据拥有者发生了数据泄露的确定。此方面的其它实施例包括被配置成执行在计算机存储设备上编码的方法的动作的对应***、装置和计算机程序。
这些和其它实施方式可可选地包括以下特征中的一个或多个。一些方面可包括响应于确定发生了所述泄露而向所述数据拥有者提供向所述数据拥有者通知所述泄露的通知。
在一些方面中,每个第一密码安全表示可包括第一概率表示。每个第二密码安全表示可包括第二概率表示。每个第一概率表示可包括第一布隆过滤器。每个第二概率表示可包括一个或多个比特数,所述一个或多个比特数各自识别已基于通过所述第二概率表示所表示的所述第二数据记录而设置的第二布隆过滤器的相应比特。
在一些方面中,确定与从所述数据拥有者中的数据拥有者接收到的所述密码安全表示的对应部分匹配的所述第二密码安全表示的数目可包括,对于从所述用户接收到的每个第二概率表示:针对所述第二概率表示的每个数据元素,确定所述数据元素与所述第一布隆过滤器的对应数据元素是否匹配。当所述第二概率表示的每个数据元素与所述第一布隆过滤器的对应数据元素匹配时,可迭代匹配概率表示的数目的计数。
在一些方面中,基于与从所述数据拥有者接收到的所述密码安全表示的对应部分匹配的所述第二密码安全表示的数目来确定对于所述数据拥有者发生了数据泄露可包括确定所述计数满足或者超过预定阈值。
在一些方面中,基于与从所述数据拥有者接收到的所述密码安全表示的对应部分匹配的所述第二密码安全表示的数目来确定对于所述数据拥有者发生了数据泄露可包括确定从所述用户接收到的所述第二密码安全表示的百分比与从所述数据拥有者接收到的所述密码安全表示的对应部分匹配。
在一些方面中,所述第一密码安全表示中的每一个的每个数据记录包括具有多个相关数据项的元组。从给定数据拥有者接收到的所述第一密码安全表示可针对多个实体中的每个实体表示针对所述实体的数据记录的多个元组。每个元组可包括与所述实体有关并且包括在所述数据记录中的不同数据集。
一些方面可包括响应于使用从所述用户接收到的所述第二密码安全表示来确定对于所述数据拥有者发生了泄露而向所述用户提供补偿。一些方面可包括:从所述用户接收指定用于使用从所述用户接收到的所述第二密码安全表示来检测泄露的请求的补偿金额的数据;以及针对所述数据拥有者中的每个数据拥有者并且基于所述请求的补偿金额来确定是否将所述第二密码安全表示与从所述数据拥有者接收到的所述第一密码安全表示相比较。
可实现本说明书中描述的主题的特定实施例以便实现以下优点中的一个或多个。允许用户匿名地提供可能已被盗取或者否则以未经授权的方式获得的数据的密码安全表示的***可导致数据泄露的更早检测并且增加在数据被滥用之前检测到数据泄露的可能性。因为黑客通常必须向潜在买家提供他们的被盗数据中的一些以证明数据的真实性,所以允许用户将此数据的安全表示提交给***使得黑客更难以通过被盗数据获利。这种增加的难度阻止黑客从数据拥有者盗取数据。通过向将被盗数据提供给***的用户提供补偿或奖励,用户被鼓励提交被盗数据的安全表示而不是试图直接地通过被盗数据获利。例如,将被盗数据的安全表示提交给***可能比试图将被盗***数据出售给其他人或者直接地使用被盗***数据来进行非法购买更安全且更容易。通过使提交安全表示的用户的身份保持匿名,用户被鼓励提交数据,而不必担心遭到盗取该数据的黑客报复。
通过将由用户所提供的数据的安全表示与由数据拥有者所提供的数据的安全表示相比较以检测数据泄露,不在各方之间转移敏感数据并且数据保持安全。例如,使用诸如数据的概率表示这样的密码技术可防止其他人访问被用于检测泄露的实际数据。
在下面参考图描述上述主题的各种特征和优点。附加特征和优点从本文描述的主题和权利要求书中显而易见。
附图说明
图1描绘泄露检测***检测数据泄露的示例环境。
图2描绘用于生成布隆过滤器并且使用布隆过滤器来检测数据泄露的示例过程的流程图。
图3描绘用于检测数据泄露的示例过程的流程图。
图4描绘用于生成私密数据的安全表示的示例过程的流程图。
图5描绘用于生成潜在被盗数据的安全表示的示例过程的流程图。
在各个附图中相同的附图标记和名称指示相同的元素。
具体实施方式
一般而言,本公开描述用于基于用户提交的潜在被盗数据的安全表示来检测数据泄露的***、方法、设备和技术。
数据泄露检测***可基于由获得了对数据的访问的用户提供的潜在被盗数据的密码安全表示来检测数据泄露。例如,搜索被盗数据的赏金猎人或其它用户可以在地下互联网论坛中、在黑暗网络内、在真实世界位置(例如,在咖啡店、酒吧或公园处)或这种数据被销售或者共享的其它位置中偶然发现被盗***数据。用户可使用应用来生成数据的安全表示(例如,概率表示)并且将数据的安全表示提交给***。或者,用户可提供实际数据并且数据泄露检测***可生成数据的安全表示。如在下面更详细地描述的,数据的概率表示的示例是布隆过滤器。
想要监视其数据是否有泄露的数据拥有者(例如,***公司、零售商或其它组织)也可将其数据中的至少一些的安全表示提交给***。***可通过将从用户接收到的数据的安全表示与由数据拥有者提供的数据的安全表示相比较来检测数据泄露。在一些实施方式中,***基于由用户提供的与如通过安全表示所反映的数据拥有者的数据项匹配的单独的数据记录(例如,数据的单独行)的数目来确定数据拥有者的数据已被泄露。例如,如果匹配数据记录的数目满足阈值数目(例如,预定阈值数目或百分比),则***可以确定数据拥有者的数据已被泄露。
可使用各种补偿技术来激励偶然发现潜在被盗数据的用户将数据的安全表示提交给***。例如,数据拥有者可以支付订阅费用以使用服务,并且当所提交的数据用于检测实际泄露时可以向提交被盗数据的安全表示的用户支付订阅费用的一部分。在另一示例中,提交潜在被盗数据的安全表示的用户可指定用于使用所提交的数据的成本,并且数据拥有者可以基于该成本选择是否使其数据被与所提交的数据相比较。如果后续用户提供由另一用户已经提供的数据的安全表示,则后续用户可以接收到比提交了数据的第一用户更少的补偿或者未收到补偿。例如,后续用户可以被补偿较小金额以激励后续用户提交后续用户在稍后的时间获得访问的潜在被盗数据的安全表示。针对第一用户的较高金额鼓励用户更快地提供数据,使得泄露被更快地检测到。
图1描绘数据泄露检测***110检测数据泄露的示例环境100。数据泄露检测***110包括一个或多个前端服务器112和一个或多个泄露检测服务器114。前端服务器112可通过数据通信网络130(例如,局域网(LAN)、广域网(WAN)、因特网、移动网络或其组合)发送和接收数据。例如,前端服务器112可通过网络130从数据发现者的计算机140接收潜在被盗数据142和/或潜在被盗数据142的安全表示146并且从数据拥有者的计算机150接收私密数据152的安全表示156。
数据拥有者(诸如***公司、零售商、保险公司、公司、企业和/或维护可能经受泄露的私密数据152的其它组织)可以提供其数据的一些或全部的安全表示到数据泄露检测***110以用于泄露监视。例如,这些组织可以维护敏感或私密数据152,诸如***数据、个人数据、雇员数据、敏感文档,或如果被获得则可能对其他人有价值的其它数据。数据拥有者可以使用计算机150来将私密数据156的安全表示提交给数据泄露检测***110的前端服务器112。通过提供数据的安全表示而不是数据它本身,私密数据152保持私密并且数据泄露检测***110或能够访问数据泄露检测***110的某人将不能够访问通过安全表示所表示的私密数据。
数据拥有者的私密数据152通常驻留在它可能被攻击的数据库(例如,SQL数据库)中。数据库可以包括针对实体(诸如***、雇员、组织的成员等)的数据记录。数据记录是与特定实体有关的一个或多个单独的数据项的集合。例如,***数据的数据库可以包括表,该表具有存储在数据库中的每个***的数据记录(例如,行)。特定***的数据记录可以包括与***有关的数据,例如,***的到期日期、***的安全码、持卡人的名字、持卡人的地址和/或与持卡人有关的其它数据。
数据拥有者的计算机150可被配置有安全数据应用154,所述安全数据应用154接收相应的数据拥有者的私密数据152作为输入并且为数据拥有者生成私密数据152的一个或多个安全表示156。在一些示例中,安全数据应用154可以在数据拥有者的驻地为数据拥有者生成私密数据152的一个或多个安全表示156,而不将私密数据152发送到另一(例如,不安全的)位置。数据拥有者的驻地可以是数据拥有者的物理财产,例如,由数据拥有者拥有、租赁或者经营的一个或多个建筑物、办公室、数据中心或其它位置。在一些示例中,当数据拥有者向数据泄露检测***110注册以进行泄露监视时,数据泄露检测***110可以将安全数据应用154提供给数据拥有者的计算机150。安全数据应用154可以生成私密数据152的密码安全表示作为安全表示。密码安全表示是不能被解密以恢复原始数据或者解密至少在计算上不可行的表示。例如,安全数据应用154可以使用一个或多个单向密码哈希函数来将私密数据152映射到逆转不可行的比特串。
在一些实施方式中,安全数据应用154可以生成私密数据152的概率表示作为安全表示。例如,安全数据应用154可以使用一个或多个密码哈希函数来生成概率数据结构。在特定示例中,安全数据应用154可以通过对私密数据152应用一组哈希函数来生成布隆过滤器。示例布隆过滤器被图示在图2中并且在下面进行更详细的描述。对于敏感文档,安全数据应用154可以针对每个文档计算最小哈希或拉宾指纹,并且将这些最小哈希或指纹***到布隆过滤器中。也可使用其它适当类型的概率表示。
安全数据应用154可以生成不到数据拥有者的私密数据152的全部的安全表示。例如,数据拥有者可以选择其数据的代表性集合以用于由数据泄露检测***110泄露监视。在另一示例中,数据拥有者可以选择要监视的某些类型的数据,诸如***和客户数据而不是购买信息。在另一示例中,安全数据应用154可以通过从安全数据应用154能够访问的私密数据152中采样(例如,随机地、每N个记录或另一适当的方式)来选择私密数据152的一部分。然而数据被选择,安全数据应用154可生成所选择的数据的一个或多个安全表示。
在一些实施方式中,安全数据应用154生成私密数据的元组的安全表示。如上所述,可以基于实体来组织私密数据。安全数据应用154可以为每个实体生成数据的一个或多个元组并且使用这些元组来生成安全表示。每个元组可包括一种或多种类型的数据并且每个元组可包括与每个其它元组不同类型的数据。在***数据示例中,安全数据应用154可以为每个***生成具有信用***码、持卡人名字和持卡人账单地址的第一元组以及具有信用***码、到期日期和持卡人名字的第二元组。安全数据应用154然后可以使用针对每个***的这组字段中的每个(或至少一些)的元组来生成安全表示(例如,布隆过滤器)。在一些实施方式中,安全数据应用154为每种类型的元组生成单独的安全表示。在一些实施方式中,安全数据应用生成表示多种类型元组的数据的安全表示。
如在下面更详细地描述的,如果潜在被盗数据包括通过为数据拥有者而生成的安全表示所表示的数据的相同元组,则数据泄露检测***110可以确定数据拥有者的数据已被泄露。在***示例中,如果被盗数据包括信用***码、持卡人名字和持卡人账单地址和/或信用***码、到期日期和持卡人名字达到至少阈值数目的***,则数据泄露检测***110可以确定***数据拥有者的数据已被泄露。
前端服务器112可从多个不同的数据拥有者接收私密数据的安全表示并且将所接收到的安全表示存储在一个或多个数据存储设备118(例如,一个或多个硬盘驱动器、闪速存储器等)中。泄露检测服务器114可基于从数据发现者的计算机140接收到的潜在被盗数据142或潜在被盗数据142的安全表示146来确定一个或多个数据拥有者的数据是否已被泄露。数据发现者可以是搜索潜在被盗数据142以提供给数据泄露检测***110的赏金猎人。例如,如在下面更详细地描述的,数据泄露检测***110可以向提供用于为数据拥有者检测数据泄露的数据或数据的安全表示的数据发现者提供补偿或奖励。赏金猎人可以例如在地下论坛中或者在“黑暗网络”内搜索被盗数据,以便接收补偿或奖励。数据发现者可包括其它用户,例如,在互联网论坛或其它位置中偶然发现潜在被盗数据的用户。
数据发现者的计算机140包括安全数据应用144,其可以与数据拥有者的计算机的安全数据应用154相同或类似。安全数据应用154可以生成潜在被盗数据142的安全表示。例如,数据发现者可以将在因特网论坛中发现的潜在被盗数据作为输入提供给安全数据应用154。潜在被盗数据可以包括多个数据记录。例如,被盗数据可以包括针对每个被盗信用***码的数据记录并且每个数据记录可以包括与被盗信用***码有关的数据,例如,***的到期日期、***的安全码、持卡人的名字、持卡人的地址和/或由数据发现者发现的其它数据。因为黑客可以出于认证目的仅提供被盗数据的小子集,所以被盗数据可以具有与数据在被盗取时的格式不同的格式并且可以包括每个数据记录的不完整数据。
安全数据应用144可以使用潜在被盗数据作为输入来生成每个数据记录的一个或多个安全表示。安全数据应用144可以使用与安全数据应用144相同的技术(例如,相同的哈希函数)来生成每个数据记录的安全表示。例如,如果安全数据应用154生成从数据拥有者接收到的私密数据的布隆过滤器,则安全数据应用144可以生成被盗数据的每个数据记录的布隆过滤器。类似地,如果安全数据应用154为每个数据记录生成元组并且使用这些元组来生成私密数据152的安全表示156,则安全应用144可以为潜在被盗数据142的每个数据记录生成相同类型的元组(例如,具有相同类型的数据)并且生成每个元组的安全表示。以这种方式,可将潜在被盗数据142的安全表示146(例如,布隆过滤器)与私密数据152的安全表示156相比较以确定一个或多个数据拥有者的数据是否已被泄露,如在下面更详细地描述的。
数据发现者的计算机140经由网络130将潜在被盗数据142的安全表示146发送到前端服务器112。前端服务器112可以可选地将安全表示存储在一个或多个数据存储设备116(例如,一个或多个硬盘驱动器、闪速存储器等)中。由特定数据发现者提供的安全表示可以作为一组安全表示被存储在一起,使得可将针对特定数据发现者的安全表示与由数据拥有者提供的安全表示相比较以确定特定数据发现者的安全表示是否指示数据拥有者的数据已被泄露。在一些实施方式中,安全表示146可以在被接收到时用于检测泄露并且可以不被数据泄露检测***110持久地存储。
在一些实施方式中,由数据发现者的计算机140发送的安全表示146识别具有特定值的安全表示的数据元素(例如,比特)。例如,安全数据应用144可以为每个数据记录生成布隆过滤器。布隆过滤器可以包括元素的数组,其中某些元素具有基于通过布隆过滤器所表示的数据记录的特定值。不是发送布隆过滤器它本身,而是数据发现者计算机140可以针对每个数据记录发送指定布隆过滤器的具有特定值的元素(例如,比特)的数据。
泄露检测服务器114可使用从数据拥有者接收到的安全表示156和从数据发现者接收到的安全表示146来确定一个或多个数据拥有者的数据是否已被泄露。在一些实施方式中,泄露检测服务器114将从特定数据发现者接收到的安全表示与从一个或多个数据拥有者接收到的安全表示相比较以确定特定数据发现者是否已提供为一个或多个数据拥有者指示数据泄露的数据。如上所述,安全数据应用144可以生成由数据发现者发现的潜在被盗数据的每个数据记录的安全表示。数据泄露检测服务器114可将从特定数据发现者接收到的每个数据记录的安全表示与从数据拥有者接收到的安全表示相比较。
如果至少从特定数据发现者接收到的安全表示的阈值数目与特定数据拥有者的安全表示的对应部分匹配,则泄露检测服务器114可以确定特定数据拥有者的数据已被泄露。例如,特定数据发现者可以为十个被盗社会安全号码中的每一个和相关数据(例如,名字、地址等)提供安全表示。类似地,特定数据拥有者可能已经为其客户的数据提供了安全表示,包括社会安全号码,名字,地址等。如果至少从特定数据发现者接收到的安全表示的阈值数目(例如,5、7或某个其它适当阈值)与从特定数据拥有者接收到的安全表示的对应部分匹配,则泄露检测***110可以确定特定数据拥有者的数据已被泄露,因为特定数据发现者已发现足够量的数据拥有者的数据。阈值的这种使用防止用户简单地提交用户自己的数据的安全表示以试图收集补偿或奖励。
用于确定对于每个数据拥有者发生了泄露的阈值可以是由数据拥有者所指定的值。例如,每个数据拥有者可以指定他们自己的阈值。在一些实施方式中,阈值可以基于通过潜在被盗数据的安全表示所表示的数据条目的数目,受制于某个最小数目。例如,阈值可以是从数据发现者主体接收到的安全表示的百分比(例如,80%、90%或某个其它适当的百分比),但是至少十个匹配安全表示。在特定示例中,数据发现者可以提供表示二十个被盗信用***码及其伴随的持卡人/到期信息的二十个安全表示。如果阈值百分比是百分之八十并且匹配安全表示的最小数目是十,则泄露检测服务器114可以在从数据发现者接收到的十六个安全表示与由数据拥有者提供的安全表示的对应部分匹配的情况下确定发生了泄露。在此相同的示例中,如果数据发现者提供表示十个被盗信用***码的十个安全表示,则泄露检测服务器114可以确定只有当所有十个与由数据拥有者所提供的安全表示匹配时才发生拉泄露,因为最小数目是十。
如果泄露检测服务器114确定数据拥有者已经历数据泄露,则泄露检测服务器114可以通过前端服务器112和网络130向数据拥有者的计算机150(或其它设备)发送泄露通知158。例如,前端服务器112可以向数据拥有者的电子邮件地址发送电子邮件,向数据拥有者的移动电话发送SMS文本消息,或者发送另一类型的通知。泄露通知158可指定发生了泄露。如果数据拥有者提供了多个安全表示,每个不同的数据集或数据类型各一个,则通知158可指定哪一个数据集被泄露。
在一些实施方式中,泄露检测服务器114还可以通知受到泄露影响的人们。例如,数据拥有者可以为其数据通过安全表示来表示的客户提供联系人数据(例如,电子邮件地址、移动电话号码等)。如果泄露检测服务器114确定通过安全表示所表示的数据被泄露,则泄露检测服务器114可以使用联系人数据来向受影响的人们发送通知。这些通知可以指定其数据可能已被损害并且包括用于补救该情形的指令。例如,如果人们的身份(例如,名字和社会安全号码)被盗取,则这些通知可以包括到身份盗窃服务的链接。
数据拥有者可以使用与其私密数据的安全表示匹配的被盗数据的安全表示来识别其数据被盗取的个体并且通知这些个体。如上所述,从数据发现者接收到的安全表示可以是针对特定数据记录的。数据拥有者可使用相同的密码技术(例如,相同的哈希函数)来生成每个个体的数据的安全表示。数据拥有者然后可将从数据发现者接收到的安全表示与针对每个个体的安全表示相比较以识别其数据被盗取的个体。如果从数据发现者接收到的安全表示与为特定人员生成的安全表示匹配,则可认为通过从数据发现者接收到的安全表示所表示的数据与特定个体匹配。因为此过程可由数据拥有者而不是数据泄露检测***110执行,所以数据泄露检测***110可以不接收由数据拥有者所维护的任何私密数据。
在另一示例中,数据拥有者可以为其数据库中的每个数据库记录提供一个或多个单独的安全表示。每个安全表示可以与用于其对应的数据库记录的标识符相关联。可将潜在被盗数据的安全表示与单独的安全表示相比较。如果存在匹配,则泄露检测***110可向数据拥有者提供用于具有与潜在被盗数据的安全表示匹配的安全表示的数据库记录的标识符。数据拥有者可使用标识符来识别与通过所接收到的标识符所识别的数据库记录相关联的人员并且向该人员通知泄露。
在一些情况下,从特定数据发现者接收到的潜在被盗数据的安全表示可以与从多个不同的数据拥有者接收到的安全表示匹配。例如,***数据可以从零售商被盗取并且可以包括由一个或多个***公司发行的***的信用***码。在此示例中,包括在从零售商盗取的数据中的***数据的安全表示可以与从零售商和一个或多个***公司两者接收到的私密数据的安全表示匹配。
在至少从数据发现者接收到的安全表示的阈值数目与从两个或更多个不同的数据拥有者接收到的安全表示的对应部分匹配的情况下,泄露检测服务器114可以向两个或更多个数据拥有者中的每个通知他们相应的泄露。在一些实施方式中,泄露检测服务器114可以确定数据被从两个或更多个数据拥有者中的哪一个盗取(或者数据最可能被从哪一个数据拥有者盗取)并且向该数据拥有者通知泄露。例如,泄露检测服务器114可以针对两个或更多个数据拥有者中的每一个确定与从数据拥有者接收到的安全表示的对应部分匹配的从数据发现者接收到的多个安全表示。泄露检测服务器114可以选择具有最高数量的匹配的数据拥有者作为发生了泄露的数据拥有者。
在一些实施方式中,数据发现者因提供潜在被盗数据和/或潜在被盗数据的安全表示而被补偿或者奖励泄露金额148(例如,货币金额或奖励金额)。例如,数据泄露检测***110可以向提供用于检测数据泄露的安全表示的数据发现者提供货币补偿(例如,形式为数字货币)。补偿金额可以是针对每次泄露预先指定的金额。例如,泄露检测***110可以不管泄露的类型或泄露的严重程度都提供特定金额。
可能要求数据拥有者向数据泄露检测***110支付用于补偿数据发现者的费用。例如,可能要求数据拥有者支付定期费用(例如,每月或每年)以使其数据的安全表示被数据泄露检测***110监视。在另一示例中,只有当数据拥有者的数据的泄露被泄露检测服务器114检测到时才可能要求数据拥有者支付费用。在又一个示例中,可能要求数据拥有者支付定期费用并响应于数据拥有者的数据的泄露被泄露检测服务器114检测到而支付费用。
在一些实施方式中,泄露金额148基于已被泄露的数据的类型。类似地,由数据拥有者支付的费用可以基于被监视数据的类型或经受泄露的数据的类型。例如,数据泄露检测***110可以向提供用于检测***泄露的安全表示的数据发现者提供第一金额并且向提供用于检测身份盗窃泄露的安全表示的数据发现者提供与第一金额不同的第二金额。
泄露金额148可以基于与从数据拥有者接收到的安全表示匹配的从数据发现者接收到的安全表示的数目(或数据记录的数目)。例如,提供1,000张***的数据的安全表示和数据拥有者的9,900个匹配安全表示的数据发现者可以收到比提供100张***的数据的安全表示和数据拥有者的90个匹配安全表示的数据发现者更高的泄露金额。
在一些实施方式中,泄露金额148基于由数据发现者所指定的金额。例如,数据发现者可以提供潜在被盗数据的安全表示并且请求将用于其安全表示的特定金额与数据拥有者的数据相比较。数据发现者还可指定通过安全表示所表示的数据的类型(例如,***数据、身份数据等)。数据泄露检测***110然后可询问数据拥有者他们是否愿意支付金额以使用安全表示来检查他们的数据。金额对于不同类型的数据来说可以是不同的,例如,金额对于客户或雇员的名字来说与对于信用***码或社会安全号码来说相比可以是更少的。泄露检测服务器114可以仅将从数据发现者接收到的安全表示与从同意支付金额以使用安全表示来检查他们的数据的数据拥有者接收到的安全表示相比较。
在另一示例中,数据发现者可以使用从数据发现者接收到的安全表示来请求用于检测泄露的特定金额。在此示例中,泄露检测服务器114可以仅将从数据发现者接收到的安全表示与从在针对他们的数据检测到泄露的情况下同意支付金额的数据拥有者接收到的安全表示相比较。
在一些情况下,多个数据发现者可以提供相同的潜在被盗数据的相同的安全表示。例如,两个不同的数据发现者可能在地下论坛中偶然发现相同的数据。在此示例中,数据泄露检测***110可以将泄露金额148提供给提供潜在被盗数据的安全表示的第一数据发现者。数据泄露检测***110可以给提供相同的安全表示的后续数据发现者提供小于泄露金额148的金额或没有补偿或奖励。在另一示例中,泄露金额148可以在多个数据发现者之间分割,其中第一数据发现者获得泄露金额148的较高百分比。补偿金额上的这种差异激励数据发现者快速地提供潜在被盗数据的安全表示,从而导致数据泄露的更快检测以及通过泄露造成的更少损坏。
在一些实施方式中,数据泄露检测***110可以作为数据发现者与数据拥有者之间的代理。例如,如果从数据发现者接收到的安全表示用于检测数据拥有者的数据泄露,则数据泄露检测***110可以促进数据发现者与数据拥有者之间对泄露金额148的协商。数据泄露检测***110还可以将数据发现者的支付细节传递给数据拥有者。以这种方式,数据拥有者可将泄露金额直接地提供给数据发现者。这减轻数据泄露检测***110必须向可能正在提供被另一邪恶方盗取的数据的安全表示的邪恶方提供补偿。此代理过程允许数据发现者和数据拥有者保持匿名。例如,在作为代理的同时,数据泄露检测***110可以不向数据拥有者提供数据发现者的身份或者向数据发现者提供数据拥有者的身份。
图2描绘用于生成布隆过滤器240并且使用布隆过滤器240来检测数据泄露的示例过程200的流程图。示例布隆过滤器240是包括在由数据拥有者所维护的数据的数据库210中的数据的安全表示。示例数据库210包括与一群人们有关的数据,包括他们的名字、国民身份号码(例如,社会安全号码)、信用***码和地址。
数据库210包括用于每个个体的数据记录。在此示例中,每行是用于不同个体的数据记录。第一数据记录211包括用于“John Doe”的数据,第二数据记录212包括用于“JaneDoe”的数据,并且第三数据记录包括用于“Jack Doe”的数据。当然,数据库210可包括更少或更多的记录和/或其它类型的数据。
使用存储在数据库210中的数据来生成元组集220。例如,图1的安全数据应用154可以基于存储在数据库210中的数据和预先指定的元组类型来生成元组集220。元组类型指定要包括在每个元组中的数据的类型。在此示例中,元组类型是“名字、国民身份号码”、“名字、信用***码、地址”和“国民身份号码、信用***码、地址”。可为数据库中的每个数据记录生成每种类型的元组。因此,元组集220可针对每个数据记录包括三个元组,每种类型各一个。
在一些实施方式中,例如,通过图1的安全数据应用154对元组集210中的元组应用哈希函数集310,以生成布隆过滤器240。在此示例中,哈希函数集230包括三个不同的哈希函数。每个哈希函数把数据的元组散列到布隆过滤器240的元素中的一个。在此示例中,布隆过滤器240包括十二个元素。可基于所期望的布隆过滤器的误报率来选择哈希函数集230中的哈希函数的数目和布隆过滤器240中的元素的数目。例如,误报率可随着布隆过滤器中的元素的数目的增加或哈希函数的数目的减少而减少。在下面描述布隆过滤器240的误报匹配的示例。
布隆过滤器240是元素的数组,其中每个元素具有相应的值。最初,布隆过滤器的每个元素可以具有零的值。每个哈希函数可被应用于数据的每个元组。基于应用,每个哈希函数会将布隆过滤器240的元素设置为特定值,例如一的值。当哈希函数集230包括三个哈希函数时,哈希函数集可为每个元组设置布隆过滤器240的多达三个元素。例如,第一哈希函数可以基于特定元组中的数据将布隆过滤器240的元素中的一个设置为一的值而第二哈希函数可以基于特定元组中的数据将布隆过滤器240的不同元素设置为一的值。
为了确定潜在被盗数据集250是否表示存储在数据库210中的数据的泄露,可以与存储在数据库210中的数据被处理以生成布隆过滤器240类似的方式处理潜在被盗数据250。特别地,可以使用潜在被盗数据250来生成元组集260。元组集260中的元组的类型与元组集220中的元组的类型相同。也就是说,元组集260中的元组的类型是“名字、国民身份号码”、“名字、信用***码、地址”和“国民身份号码、信用***码、地址”。图1的安全数据应用144可以基于潜在被盗数据250和预先指定的元组类型来生成元组集220。
安全数据应用144可将哈希函数集270的每个哈希函数应用于元组集260中的每个元组。哈希函数集270可与用于创建布隆过滤器240的哈希函数集230相同。用于特定元组的三个哈希函数的输出设置表示该特定元组的布隆过滤器280的三个元素的值。然后可将用于元组的布隆过滤器280与用于数据库210的布隆过滤器240相比较。替换地,可将在来自数据发现者的元组上计算的值简单地发送到提供者,其中它们可用于在提供者的布隆过滤器中检查匹配。在这些示例中,布隆过滤器280表示针对与数据库210中的用于John Doe的数据记录相同的被盗数据250中的用于John Doe的数据记录而生成的第一元组。因此,在布隆过滤器280中被设置为一的值的元素在布隆过滤器240中也被设置为一的值。当布隆过滤器280的被设置为一的值的比特在布隆过滤器240中也被设置为一的值时,布隆过滤器280可被说成与布隆过滤器240的对应部分匹配。布隆过滤器240的对应部分是布隆过滤器280的具有与在分布隆过滤器240中被设置为一的值的元素相同的元素的部分。此布隆过滤器允许测试潜在被盗数据记录是否是通过布隆过滤器所表示的数据集的成员。
在一些实施方式中,图1的泄露检测服务器114可从数据发现者的计算机140并且针对数据的每个元组接收指定布隆过滤器的已基于数据的元组被设置为一的值的元素的数据。例如,数据发现者的计算机140可以提供为包括关于John Doe的数据的第一元组指定元素7、9和11的数据,因为布隆过滤器280在元素7、9和11中具有一的值。进而,泄露检测服务器114可评估布隆过滤器240的元素以确定元素7、9和11是否具有一的值。如果布隆过滤器240的元素7、9和11中的每一个具有一的值,则泄露检测服务器114可以确定用于数据的第一元组的安全表示(即,布隆过滤器280)与布隆过滤器240的对应部分匹配并且数据的第一元组被包括在数据拥有者的数据中。
图3描绘用于检测数据泄露的示例过程的流程图。例如,可通过包括一个或多个数据处理装置的***(诸如图1的数据泄露检测***110)来实现过程300的操作。还可通过存储在计算机存储介质上的指令来实现过程300,其中指令通过包括数据处理装置的***的执行使该数据处理装置执行过程300的操作。
***从数据拥有者接收要监视是否有泄露的数据的安全表示(302)。例如,多个数据拥有者(例如,***公司、零售商、保险公司、公司、企业和/或其它组织)可以订阅由***提供的数据泄露监视服务。数据拥有者可以支付订阅费用(例如,定期费用)以使他们的数据被监视或者可以响应于检测到他们的数据的泄露而支付费用。
每个数据拥有者可以使用安全数据应用(诸如图1的安全数据应用154)来生成数据拥有者的数据的至少一部分的一个或多个安全表示。安全表示可以是密码安全表示。例如,安全表示可以是概率表示,诸如如上所述的布隆过滤器。每个数据拥有者可以将其安全表示提供给***以进行数据泄露监视。
***从用户接收数据记录的安全表示(304)。例如,用户可以是在地下论坛和黑暗网络中搜索黑客试图出售的被盗数据的赏金猎人。如果用户发现潜在被盗数据,则用户可以使用安全应用(诸如图1的安全应用144)来生成数据的安全表示并且将安全表示发送到***。在另一示例中,用户可以发送用户发现的实际数据并且***可以使用安全数据应用来生成数据的安全表示。
潜在被盗数据的安全表示可以具有与数据拥有者的数据的安全表示相同的格式。例如,如果数据拥有者的数据通过布隆过滤器来表示,则每个潜在被盗数据记录的安全表示也可以通过布隆过滤器来表示。
***确定潜在被盗数据的安全表示与数据拥有者的数据的安全表示是否匹配(306)。在一些实施方式中,如果至少潜在被盗数据的安全表示的阈值数目与数据拥有者的安全表示的对应部分匹配,则***确定对于数据拥有者发生了泄露。例如,***可以将潜在被盗数据记录的每个安全表示(例如,每个布隆过滤器)与数据拥有者的安全表示(例如,布隆过滤器)相比较。对于与数据拥有者的安全表示的对应部分匹配的潜在被盗数据记录的每个安全表示,***可以递增潜在被盗数据与数据拥有者的数据之间的匹配安全表示的数目的计数器。如果计数不超过阈值,则***可以确定潜在被盗数据的安全表示与数据拥有者的数据的安全表示不匹配。
在另一示例中,如果至少潜在被盗数据的安全表示的阈值百分比与数据拥有者的安全表示的对应部分匹配,则***可以确定发生了泄露。例如,如果至少从特定数据发现者接收到的安全表示的阈值百分比与从数据拥有者接收到的安全表示的对应部分匹配,则***可以确定从特定数据发现者接收到的安全表示表示数据拥有者的数据的泄露。使用百分比匹配而不是匹配的数目可防止伪造(或用户生成的)记录的大量安全表示的上传由于匹配的数目而被认为是泄露。
如果***确定潜在被盗数据的安全表示与任何数据拥有者的数据的安全表示不匹配,则***可以确定从用户接收到的潜在被盗数据的安全表示不表示任何数据拥有者的泄露(308)。例如,可以从尚未订阅数据泄露监视服务的一方盗取数据。在另一示例中,数据可能不是被盗数据,而是替代地可能已由黑客或用户生成。在这些示例中,***可以不向提供了潜在被盗数据的安全表示(或数据它本身)的用户提供补偿或奖励。
如果计数确实超过阈值,则***可以确定潜在被盗数据的安全表示与数据拥有者的数据的安全表示匹配并且对于数据拥有者发生了数据泄露(310)。作为响应,***可以向数据拥有者通知泄露(312)。例如,***可以向数据拥有者的设备发送电子邮件或文本消息以向数据拥有者通知泄露。在另一示例中,如果至少潜在被盗数据的安全表示的阈值百分比与数据拥有者的安全表示的对应部分匹配,则***可以确定对于数据拥有者发生了数据泄露并且响应于该确定而通知数据拥有者。
***可以向提供了潜在被盗数据或潜在被盗数据的安全表示的用户提供补偿或奖励(314)。如上所述,金额可以基于被泄露数据的类型、用户是否是提交数据的第一人、由用户所请求的金额、数据拥有者愿意支付的金额和/或经由***在用户与数据拥有者之间协商的金额。
图4描绘用于生成私密数据的安全表示的示例过程400的流程图。例如,可通过包括一个或多个数据处理装置(诸如图1的数据拥有者的计算机150)的***来实现过程400的操作。还可通过存储在计算机存储介质上的指令来实现过程400,其中指令通过包括数据处理装置的***的执行使该数据处理装置执行过程400的操作。
***接收私密数据集(402)。例如,数据拥有者可以识别拥有者希望泄露检测***监视数据泄露的私密数据集。私密数据集可以是由数据拥有者所维护的数据的全部或某个部分。例如,私密数据集可以是更可能被盗取的数据,诸如能被出售的***数据。在另一示例中,私密数据集可以是由数据拥有者所维护的数据的代表性样本。
***使用数据来生成元组(404)。每个元组可包括一种或多种类型的数据并且每个元组可包括与每个其它元组不同类型的数据。例如,一个元组可以包括信用***码和到期日期并且第二元组可以包括信用***码、到期日期和持卡人名字。***可为每个单独的数据记录生成一个或多个元组。例如,***可以为包括在私密数据中的每个***数据记录生成第一元组和第二元组。
***生成元组的安全表示(406)。例如,***可以对每个元组的数据应用哈希函数集。每个哈希函数可以基于包括在元组中的数据来设置安全表示的元素。例如,每个哈希函数可以基于包括在元组中的数据来设置布隆过滤器的元素的值。在对每个元组应用每个哈希函数之后,最终布隆过滤器包括具有基于用于每个元组的哈希函数的输出而生成的值的一组元素。
图5描绘用于生成潜在被盗数据的安全表示的示例过程500的流程图。例如,可通过包括一个或多个数据处理装置(诸如图1的数据发现者的计算机140)的***来实现过程500的操作。还可通过存储在计算机存储介质上的指令来实现过程500,其中指令通过包括数据处理装置的***的执行使该数据处理装置执行过程500的操作。
***接收潜在被盗数据集(502)。例如,用户可以在互联网论坛(诸如常常出售或者交易被盗数据的地下互联网论坛)中发现潜在被盗数据。用户可以将可能被盗的数据提供给***。
***生成数据的元组(504)。元组可具有与针对数据拥有者的私密数据而生成的那些格式相同的格式。例如,用于被盗***的元组可包括包含信用***码和到期日期的一个元组以及包括信用***码、到期日期和持卡人名字的第二元组,类似于图4的元组。***可为潜在被盗数据中的每个单独的数据记录生成一个或多个元组。例如,***可以为包括在潜在被盗数据中的每个***数据记录生成第一元组和第二元组。
***生成每个元组的安全表示(506)。例如,***可以对每个元组的数据应用哈希函数集。每个哈希函数可以基于包括在元组中的数据来设置安全表示的元素。例如,每个哈希函数可以基于包括在元组中的数据来设置布隆过滤器的元素的值。同私密数据的处理对比,***可以为从潜在被盗数据生成的每个元组生成单独的安全表示。以这种方式,***可将每个元组的每个安全表示与表示私密数据的安全表示相比较并且确定具有与表示私密数据的安全表示的对应部分匹配的安全表示的元组的数目。然后可将此数目与阈值相比较以确定潜在被盗数据是否表示私密数据的泄露,如上所述。
所描述的特征可用数字电子电路或者用计算机硬件、固件、软件或者用它们的组合加以实现。装置可用有形地具体体现在信息载体中(例如,在机器可读存储设备中)以供由可编程处理器执行的计算机程序产品加以实现;并且可通过可编程处理器执行指令的程序以通过对输入数据进行操作并生成输出来执行所描述的实施方式的功能而执行方法步骤。所描述的特征可有利地用可在包括至少一个可编程处理器的可编程***上执行的一个或多个计算机程序加以实现,所述至少一个可编程处理器被耦合以从数据存储***、至少一个输入设备和至少一个输出设备接收数据和指令,并且将数据和指令发送到数据存储***、至少一个可编程处理器。计算机程序是可直接地或间接地在计算机中使用来执行某个活动或者带来某种结果的指令集。计算机程序可用任何形式的编程语言(包括编译或解释语言)编写,并且它可被以任何形式部署,包括作为独立程序或者作为模块、组件、子例行程序或适合于在计算环境中使用的其它单元。
作为示例,用于执行程序的指令的适合的处理器包括通用微处理器和专用微处理器两者以及任何种类的计算机的唯一处理器或多个处理器中的一个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器。通常,计算机还将包括或者在操作上耦合以与用于存储数据文件的一个或多个大容量存储设备进行通信;这样的设备包括磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及光盘。适合于有形地具体实现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,作为示例包括半导体存储器设备,诸如EPROM、EEPROM和闪速存储器设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可由ASIC(专用集成电路)补充,或者被并入在ASIC(专用集成电路)中。
为了提供与用户的交互,可在计算机上实现这些特征,所述计算机具有用于向用户显示信息的诸如CRT(阴极射线管)或LCD(液晶显示器)监视器这样的显示设备以及键盘和指点设备,诸如用户可用来向该计算机提供输入的鼠标或轨迹球。附加地,可经由触摸屏平板显示器和其它适当的机制来实现这样的活动。
可在计算机***中实现这些特征,所述计算机***包括后端组件(诸如数据服务器),或者包括中间件组件(诸如应用服务器或因特网服务器),或者包括前端组件(诸如具有图形用户界面或因特网浏览器的客户端计算机),或者包括它们的任何组合。***的组件可通过任何形式或介质的数字数据通信(诸如通信网络)来连接。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)、对等网络(具有自组织或静态成员)、网格计算基础设施和因特网。
计算机***可包括客户端和服务器。客户端和服务器一般地彼此远离并且通常通过网络(诸如所描述的网络)来交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
虽然本说明书包含许多具体实施方式细节,但是这些不应该被解释为对任何发明的或可能要求保护的范围构成限制,而是相反被解释为特定于特定发明的特定实施方式的特征的描述。还可在单个实施方式中相结合地实现在本说明书中在单独的实施方式的上下文中描述的某些特征。相反地,还可单独地在多个实施方式中或者按照任何适合的子组合实现在单个实施方式的上下文中描述的各种特征。此外,尽管特征可以被在上面描述为按照某些组合起作用并且甚至最初如此要求保护,但是来自要求保护的组合的一个或多个特征可在一些情况下被从该组合中除去,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中按照特定次序描绘操作,但是这不应该被理解为要求按照所示的特定次序或者按照顺序次序执行这样的操作,或者要求执行所有图示的操作以实现所希望的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,上述实施方式中的各种***组件的分离不应该被理解为在所有实施方式中要求这样的分离,并且应该理解的是,所描述的程序组件和***通常可被一起集成在单个软件产品中或者包装到多种软件产品中。
因此,已经描述了主题的特定实施方式。其它实施方式在以下权利要求的范围内。在一些情况下,权利要求中记载的动作可被以不同的次序执行并仍然实现所希望的结果。此外,附图中描绘的过程不一定要求所示的特定次序或顺序次序以实现所希望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
Claims (20)
1.一种用于检测数据泄露的方法,所述方法包括:
从多个数据拥有者中的每一个接收要监视是否有数据泄露的数据的第一密码安全表示,每个第一密码安全表示包括表示由所述数据拥有者所维护的多个第一数据记录的密码安全数据结构;
从用户并针对多个第二数据记录中的每一个接收所述第二数据记录的一个或多个第二密码安全表示;
确定与从所述多个数据拥有者中的数据拥有者接收到的所述第一密码安全表示的对应部分匹配的所述第二密码安全表示的数目;以及
基于与从所述数据拥有者接收到的所述第一密码安全表示的对应部分匹配的所述第二密码安全表示的数目,确定对于所述数据拥有者发生了数据泄露。
2.根据权利要求1所述的方法,进一步包括:响应于确定发生了所述泄露,向所述数据拥有者提供向所述数据拥有者通知所述泄露的通知。
3.根据权利要求1所述的方法,其中,每个第一密码安全表示包括第一概率表示并且每个第二密码安全表示包括第二概率表示。
4.根据权利要求3所述的方法,其中,每个第一概率表示包括第一布隆过滤器。
5.根据权利要求4所述的方法,其中,每个第二概率表示包括一个或多个比特数,所述一个或多个比特数各自识别已基于通过所述第二概率表示所表示的所述第二数据记录而设置的第二布隆过滤器的相应比特。
6.根据权利要求4所述的方法,其中,确定与从所述多个数据拥有者中的数据拥有者接收到的所述密码安全表示的对应部分匹配的所述第二密码安全表示的数目包括:
对于从所述用户接收到的每个第二概率表示:
针对所述第二概率表示的每个数据元素,确定所述数据元素与所述第一布隆过滤器的对应数据元素是否匹配;以及
当所述第二概率表示的每个数据元素与所述第一布隆过滤器的对应数据元素匹配时递增匹配概率表示的数目的计数。
7.根据权利要求1所述的方法,其中,基于与从所述数据拥有者接收到的所述密码安全表示的对应部分匹配的所述第二密码安全表示的数目来确定对于所述数据拥有者发生了数据泄露包括:确定所述计数满足或者超过预定阈值。
8.根据权利要求1所述的方法,其中,基于与从所述数据拥有者接收到的所述密码安全表示的对应部分匹配的所述第二密码安全表示的数目来确定对于所述数据拥有者发生了数据泄露包括:确定从所述用户接收到的所述第二密码安全表示的百分比与从所述数据拥有者接收到的所述密码安全表示的对应部分匹配。
9.根据权利要求1所述的方法,其中,所述第一密码安全表示中的每一个的每个数据记录包括具有多个相关数据项的元组。
10.根据权利要求1所述的方法,其中,从给定数据拥有者接收到的所述第一密码安全表示针对多个实体中的每个实体表示针对该实体的数据记录的多个元组,每个元组包括与该实体有关并且包括在所述数据记录中的不同数据集。
11.根据权利要求1所述的方法,进一步包括:响应于使用从所述用户接收到的所述第二密码安全表示来确定对于所述数据拥有者发生了所述泄露而向所述用户提供补偿。
12.根据权利要求1所述的方法,进一步包括:
从所述用户接收指定用于使用从所述用户接收到的所述第二密码安全表示来检测泄露的所请求的补偿金额的数据;以及
针对所述多个数据拥有者中的每个数据拥有者并且基于所请求的补偿金额来确定是否将所述第二密码安全表示与从所述数据拥有者接收到的所述第一密码安全表示相比较。
13.一种***,所述***包括:
数据处理装置;以及
计算机存储介质,所述计算机存储介质被编码有计算机程序,所述程序包括数据处理装置指令,所述数据处理装置指令当由所述数据处理装置执行时使所述数据处理装置执行操作,所述操作包括:
从多个数据拥有者中的每一个接收要监视是否有数据泄露的数据的第一密码安全表示,每个第一密码安全表示包括表示由所述数据拥有者所维护的多个第一数据记录的密码安全数据结构;
从用户并针对多个第二数据记录中的每一个接收所述第二数据记录的一个或多个第二密码安全表示;
确定与从所述多个数据拥有者中的数据拥有者接收到的所述第一密码安全表示的对应部分匹配的所述第二密码安全表示的数目;以及
基于与从所述数据拥有者接收到的所述第一密码安全表示的对应部分匹配的所述第二密码安全表示的数目来确定对于所述数据拥有者发生了数据泄露。
14.根据权利要求13所述的***,其中,所述操作包括响应于确定发生了所述泄露而向所述数据拥有者提供向所述数据拥有者通知所述泄露的通知。
15.根据权利要求13所述的***,其中,每个第一密码安全表示包括第一概率表示并且每个第二密码安全表示包括第二概率表示。
16.根据权利要求15所述的***,其中,每个第一概率表示包括第一布隆过滤器。
17.根据权利要求16所述的***,其中,每个第二概率表示包括一个或多个比特数,所述一个或多个比特数各自识别已基于通过所述第二概率表示所表示的所述第二数据记录而设置的第二布隆过滤器的相应比特。
18.一种用于检测数据泄露的方法,所述方法包括:
从多个数据拥有者接收要监视是否有数据泄露的数据的第一密码安全表示,每个第一密码安全表示包括表示由所述数据拥有者所维护的多个第一数据记录的密码安全数据结构;
从用户接收多个第二数据记录;
针对从所述用户接收到的每个第二数据记录生成所述第二数据记录的一个或多个第二密码安全表示;
确定与从所述多个数据拥有者中的数据拥有者接收到的所述第一密码安全表示的对应部分匹配的所述第二密码安全表示的数目;以及
基于与从所述数据拥有者接收到的所述第一密码安全表示的对应部分匹配的所述第二密码安全表示的数目来确定对于所述数据拥有者发生了数据泄露。
19.根据权利要求18所述的方法,进一步包括:响应于确定发生了所述泄露而向所述数据拥有者提供向所述数据拥有者通知所述泄露的通知。
20.根据权利要求18所述的方法,其中,每个第一密码安全表示包括第一概率表示并且每个第二密码安全表示包括第二概率表示。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/462,179 | 2017-03-17 | ||
US15/462,179 US10503896B2 (en) | 2017-03-17 | 2017-03-17 | Detecting data breaches |
PCT/US2018/022788 WO2018170354A1 (en) | 2017-03-17 | 2018-03-16 | Detecting data breaches |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111492363A true CN111492363A (zh) | 2020-08-04 |
CN111492363B CN111492363B (zh) | 2023-07-18 |
Family
ID=63520701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880018886.9A Active CN111492363B (zh) | 2017-03-17 | 2018-03-16 | 检测数据泄露 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10503896B2 (zh) |
CN (1) | CN111492363B (zh) |
DE (1) | DE212018000185U1 (zh) |
WO (1) | WO2018170354A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112804192A (zh) * | 2020-12-21 | 2021-05-14 | 网神信息技术(北京)股份有限公司 | 暗网泄露监测方法、装置、电子设备、程序和介质 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10460115B2 (en) * | 2017-05-15 | 2019-10-29 | International Business Machines Corporation | Data anonymity |
US10430598B2 (en) * | 2017-06-08 | 2019-10-01 | The Government Of The United States, As Represented By The Secretary Of The Army | Secure generalized bloom filter |
US11263341B1 (en) * | 2017-10-11 | 2022-03-01 | Snap Inc. | Identifying personally identifiable information within an unstructured data store |
US10275613B1 (en) * | 2018-04-20 | 2019-04-30 | Capital One Services, Llc | Identity breach notification and remediation |
US11157563B2 (en) * | 2018-07-13 | 2021-10-26 | Bank Of America Corporation | System for monitoring lower level environment for unsanitized data |
US11023610B2 (en) | 2019-01-23 | 2021-06-01 | Upguard, Inc. | Data breach detection and mitigation |
EP4202745A1 (en) * | 2021-12-23 | 2023-06-28 | Barclays Execution Services Limited | Improvements in data leakage prevention |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8290972B1 (en) * | 2009-04-29 | 2012-10-16 | Netapp, Inc. | System and method for storing and accessing data using a plurality of probabilistic data structures |
US20140258162A1 (en) * | 2013-03-11 | 2014-09-11 | Sas Institute Inc. | Techniques to block records for matching |
US20140280342A1 (en) * | 2013-03-13 | 2014-09-18 | International Business Machines Corporation | Secure matching supporting fuzzy data |
JP2015177506A (ja) * | 2014-03-18 | 2015-10-05 | 国立研究開発法人情報通信研究機構 | 暗号データ更新システム、暗号データ更新方法 |
US20160132886A1 (en) * | 2013-08-26 | 2016-05-12 | Verafin, Inc. | Fraud detection systems and methods |
US20160294854A1 (en) * | 2015-03-31 | 2016-10-06 | Cyence Inc. | Cyber Risk Analysis and Remediation Using Network Monitored Sensors and Methods of Use |
US20170070524A1 (en) * | 2015-09-05 | 2017-03-09 | Nudata Security Inc. | Systems and methods for matching and scoring sameness |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL211163A0 (en) | 2011-02-10 | 2011-04-28 | Univ Ben Gurion | A method for generating a randomized data structure for representing sets, based on bloom filters |
US8811620B2 (en) * | 2011-02-14 | 2014-08-19 | Sap Ag | Secure sharing of item level data in the cloud |
US8626671B2 (en) | 2012-03-30 | 2014-01-07 | CSRSI, Inc. | System and method for automated data breach compliance |
US9032531B1 (en) | 2012-06-28 | 2015-05-12 | Middlegate, Inc. | Identification breach detection |
US10290001B2 (en) * | 2014-10-28 | 2019-05-14 | Brighterion, Inc. | Data breach detection |
US10708296B2 (en) | 2015-03-16 | 2020-07-07 | Threattrack Security, Inc. | Malware detection based on training using automatic feature pruning with anomaly detection of execution graphs |
US9674201B1 (en) * | 2015-12-29 | 2017-06-06 | Imperva, Inc. | Unobtrusive protection for large-scale data breaches utilizing user-specific data object access budgets |
-
2017
- 2017-03-17 US US15/462,179 patent/US10503896B2/en active Active
-
2018
- 2018-03-16 WO PCT/US2018/022788 patent/WO2018170354A1/en active Application Filing
- 2018-03-16 CN CN201880018886.9A patent/CN111492363B/zh active Active
- 2018-03-16 DE DE212018000185.5U patent/DE212018000185U1/de active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8290972B1 (en) * | 2009-04-29 | 2012-10-16 | Netapp, Inc. | System and method for storing and accessing data using a plurality of probabilistic data structures |
US20140258162A1 (en) * | 2013-03-11 | 2014-09-11 | Sas Institute Inc. | Techniques to block records for matching |
US20140280342A1 (en) * | 2013-03-13 | 2014-09-18 | International Business Machines Corporation | Secure matching supporting fuzzy data |
US20160132886A1 (en) * | 2013-08-26 | 2016-05-12 | Verafin, Inc. | Fraud detection systems and methods |
JP2015177506A (ja) * | 2014-03-18 | 2015-10-05 | 国立研究開発法人情報通信研究機構 | 暗号データ更新システム、暗号データ更新方法 |
US20160294854A1 (en) * | 2015-03-31 | 2016-10-06 | Cyence Inc. | Cyber Risk Analysis and Remediation Using Network Monitored Sensors and Methods of Use |
US20170070524A1 (en) * | 2015-09-05 | 2017-03-09 | Nudata Security Inc. | Systems and methods for matching and scoring sameness |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112804192A (zh) * | 2020-12-21 | 2021-05-14 | 网神信息技术(北京)股份有限公司 | 暗网泄露监测方法、装置、电子设备、程序和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111492363B (zh) | 2023-07-18 |
US20180268135A1 (en) | 2018-09-20 |
DE212018000185U1 (de) | 2020-01-10 |
WO2018170354A1 (en) | 2018-09-20 |
US10503896B2 (en) | 2019-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111492363B (zh) | 检测数据泄露 | |
Hernandez-Castro et al. | An economic analysis of ransomware and its welfare consequences | |
US9426141B2 (en) | Verifiable tokenization | |
US11941635B1 (en) | System and architecture for electronic fraud detection | |
JP5026527B2 (ja) | ユーザのインタラクションに関する分析による不正行為探知 | |
US7346927B2 (en) | System and method for storing and accessing secure data | |
US9060012B2 (en) | Methods and apparatus for detecting fraud with time based computer tags | |
US7162640B2 (en) | System and method for protecting identity information | |
US12033148B2 (en) | Systems and methods for providing real-time warnings to merchants for data breaches | |
US20080288382A1 (en) | Methods and Systems for Early Fraud Protection | |
CA2650346A1 (en) | Fraud analyst smart cookie | |
CA2860179A1 (en) | Fraud detection systems and methods | |
US20200233975A1 (en) | Secure management of user information using tokenization and token states | |
US20180101913A1 (en) | Entropic link filter for automatic network generation | |
US8117220B2 (en) | Artificial record added to a database | |
Roberts et al. | Blue Is the New Black (Market): Privacy Leaks and Re-Victimization from Police-Auctioned Cellphones | |
US10152712B2 (en) | Inspecting event indicators | |
CN113837777B (zh) | 基于图数据库的反诈骗管控方法、装置、***及存储介质 | |
US11580561B1 (en) | Detecting security breaches with watchdog transaction accounts | |
US11880472B2 (en) | Generating and disseminating mock data for circumventing data security breaches | |
WO2004055640A2 (en) | System and method for storing and accessing secure data | |
US20140258122A1 (en) | Fraud detection based on age of contact information | |
Fazely | Identity crime in the UK | |
Christin | Traveling the Silk Road: A measurement analysis of a large anonymous online marketplace (CMU-CyLab-12-018) | |
Colwell LTC | Cyber Infrastructure Protection: Vol. III |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |