CN114846462A - 使用图数据结构的资产搜索发现系统 - Google Patents

使用图数据结构的资产搜索发现系统 Download PDF

Info

Publication number
CN114846462A
CN114846462A CN202080080047.7A CN202080080047A CN114846462A CN 114846462 A CN114846462 A CN 114846462A CN 202080080047 A CN202080080047 A CN 202080080047A CN 114846462 A CN114846462 A CN 114846462A
Authority
CN
China
Prior art keywords
asset
domain
graph
assets
data structure
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.)
Pending
Application number
CN202080080047.7A
Other languages
English (en)
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.)
Bit Discovery Inc
Original Assignee
Bit Discovery Inc
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 Bit Discovery Inc filed Critical Bit Discovery Inc
Publication of CN114846462A publication Critical patent/CN114846462A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • H04L61/3015Name registration, generation or assignment
    • H04L61/3025Domain name generation or assignment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/37E-mail addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Computer And Data Communications (AREA)

Abstract

在搜索和数据库系统中,图生成器构建包含节点和边的图,并将该图存储在数据库或其他数据结构中,并使用重复的扩展和剔除进程来构建图。从该存储装置,该图可以生成:用于为有兴趣了解该图的用户的显示和/或用于对该图数据执行查询等。

Description

使用图数据结构的资产搜索发现系统
相关申请的交叉引用
本申请要求于2020年5月15日提交的美国临时专利申请No.63/025,900、于2019年11月19日提交的美国临时专利申请No.62/937,432和于2020年2月2日提交的美国非临时申请No.16/890,995的优先权,其公开内容在此通过引用明确并入本文。
技术领域
本公开总体涉及在管理分布式计算环境中的资产。本公开更具体地涉及用于执行网络连接资产的搜索以识别在实体控制下的资产的装置和技术。
背景技术
保护、控制和访问具有网络连接的组织的计算机和数字资产通常需要能够跟踪和清点这些资产。资产可包括计算机系统、数据库和逻辑资产,例如域名、主机、地址等。通常,组织可会收购(acquire)另一个组织,但无法全面了解他们拥有和/或控制的资产。
缺乏有关所拥有或所控制的资产的信息可带来安全风险。例如,服务器可响应针对特定网址的请求。如果该服务器不安全,它可为黑客提供渗透所有者的网络基础设施的其余部分的机会。如果所有者不知道他们拥有资产,他们可能永远不会花费精力来确保它是安全的,或者将它从网络资源中去除。
因此,希望能够识别在网络连接环境中控制下的资产。
发明内容
在一种搜索数据库系统的一个实施例中,图生成器构建图,包括节点和边,并将该图存储在数据库或其他数据结构中,并且使用重复的扩展和剔除进程来构建图。从该存储装置,该图可以生成:用于为有兴趣了解该图的用户的显示和/或用于对该图数据执行查询等。
在一些实施例中,图表示了互联网连接资产的清单,并且构建图是通过从初始节点集到更大图的发现进程来完成的。发现进程可涉及计算机系统,例如在计算机或服务器上运行的软件,该软件可以访问有关资产的数据、评估数据并将边和节点添加到图中,并且访问有关这些边和节点的数据。此图的一些使用是对图上的资产进行识别、盘点、显示、管理等。
资产可由一个人或实体拥有,或者可资产由一个人、实体或组织控制。出于本文描述的方法和系统的目的,谁或什么实际拥有资产的合法所有权可能并不重要,只要确定该图是由个人、实体或组织控制的资产,因为他们拥有资产,他们占有资产,他们的任务是管理资产,他们感兴趣或负责保护资产以保持其价值,他们需要维护资产等。因此,资产的“所有者”和“控制者”可在不同的上下文中使用,并且可以互换,除非另有指示。
在特定实施例中,初始节点代表已知所有者的资产,其中所有者是指具有控制该资产的合法权利和/或具有为自己或代表他人控制该资产的技术能力的个人、实体或组织。在该特定实施例中,图发现计算机或计算机进程从初始节点扩展图以识别由该已知所有者拥有的资产的较大图。生成的较大图可以表示该所有者的资产的清单。该图可以表示为一图,或者可以表示为资产的列表。
一旦创建清单,则所有者可维护这些资产。在没有完整的清单的情况下,一些资产可被忽略。例如,所有者可能拥有主机名或域名但不知道它,因此主机名可能不再解析为IP地址。在所有者是大型组织的情况下,可在收购其他实体之后,可能没有所有者拥有哪些资产的中央记录。
在具体实施例中,提供了一种构建图数据结构的计算机实现的方法,该图数据结构表示预期资产清单图并且包括节点和边,节点各自表示网络的资产,边各自表示节点之间的连接,并且至少一些边具有在图数据结构中表示的权重并表明在图数据结构中表示的资产的共同控制权。该方法包括:将对至少一个种子资产的表示存储在所述图数据结构中;将所述预期资产清单图扩展为包括基于匹配标准的附加节点,所述基于匹配标准的附加节点表明所述附加节点被假定为基于所述匹配标准对资产的共同控制权,所述匹配标准指示所述附加节点与已存在于所述预期资产库存图上的现有节点之间的匹配;将所述匹配标准递归地应用在所述附加节点与对尚未表示在所述预期资产清单图上的第三资产加以表示的第三节点之间;基于对权重小于表明共同控制权的标志阈值的边的识别,剔除所述预期资产清单图的分支;以及基于所述扩展和剔除来更新所述图数据结构。
递归可以是自动递归或用户定义的递归。对于用户定义的递归,用户或系统可以基于选择深度、置信度、设置或其他标准选择仅使用可用链接方法的子集。该选择可以是对包括方法和/或排除方法的选择。
扩展可包括:读取所述预期资产清单图以识别已知资产的元数据,所述已知资产包括已存在于所述预期资产清单图上的资产集;选择关于所述已知资产的预定元数据;对所述预定元数据进行规范化以形成规范化元数据;在资产数据库中搜索对所述规范化元数据的匹配;在元数据是注册进程的产物而不是对所有权或控制权的标志的情况下,过滤掉资产的节点;以及对于每个剩余的匹配,将该资产添加到所述预期资产清单图。
预期资产清单图的边的权重可以是各个匹配权重之和,由此权重对于匹配的数量的加大而增大。。节点可以被分配有置信度水平,其中,节点的置信度水平对应于该节点的资产是共同受控资产的可能性。附加节点可来自域名系统(DNS)数据库、历史DNS数据库和/或WHOIS数据库,并且扩展图包括搜索域名系统(DNS)数据库、历史DNS数据库和/或WHOIS数据库以识别满足匹配标准的节点。剔除可包括获得反映人工输入的手动输入。其他节点可来自IP地址、DNS类型(例如,A、AAAA、MX、NS、SOA等)、DNS注册数据(例如,电子邮件地址、邮政地址、电话号码、公司名称、等)、和/或IP地址的ASN信息。
该方法可以包括:将预期资产清单图的表示格式化为显示格式,并在显示器上呈现显示格式。
与预期资产清单图上的资产有关的元数据可包括主机名、漏洞列表、使用的开放端口列表、资产的估计地理位置、用于资产的操作系统、资产的服务标题和/或资产的TLS证书详细信息中的一种或多种。网络资产可包括域、互联网连接资产、子域、IP地址、虚拟主机、Web服务器、名称服务器、物联网设备、台式计算机、网络打印机、邮件服务器,或连接到互联网或内部网络的设备。其他资产可包括内容交付网络、代理、Web应用防火墙、入侵检测系统、防火墙、路由器、交换机或任何可以接受网络流量的设备。
在特定实施例中,16.根据权利要求1所述的方法,其中,第一资产是第一域,第二资产是第二域,所述第一资产在所述预期资产清单图上,并且所述匹配标准包括以下项中的一项或多项:关于所述第二域是否与所述第一域共享共同注册电子邮件地址的第一测试;关于所述第二域是否与所述第一域共享共同注册电子邮件地址域的第二测试;关于是否使用电子邮件域与所述第一域的电子邮件域匹配的电子邮件地址来注册所述第二域的第三测试;关于所述第二域和所述第一域是否共享共同的WHOIS字段的第四测试;关于所述第二域和所述第一域两者是否包括回指共同主机的托管内容的第五测试;关于所述第二域和所述第一域两者是否使用共同认证权限的第六测试;关于第二域和第一域是否共享共同的CIDR特征的第七测试;关于第二域和第一域是否都包括引用共同主机的托管内容;以及关于第二域和第一域是否都使用共同认证权限的第九测试。可以使用历史数据执行某些测试。例如,某些测试可涉及比较存在于共同时间点的数据元素,例如测试两个域是否在特定时间点共享共同IP地址,而不管它们不再共享共同IP地址的情况。
以下详细描述连同附图将提供对本实施例的本质和优点的更好理解。
附图说明
图1图示了根据实施例的用于处理资产图的图处理系统。
图2图示了根据实施例的图处理器。
图3图示了根据实施例的用作图处理器的一部分的元件。
图4图示了可应用于可能指示资产的共同控制权的数据点的加权示例。
图5是示例图构建进程的流程图。
图6图示了图搜索和图限制。
图7图示了附加实施例。
具体实施方式
在以下描述中,将描述各种实施例。出于说明的目的,阐述了具体配置和细节以便提供对实施例的透彻理解。然而,对于本领域技术人员来说,实施例可以在没有具体细节的情况下实施也是显而易见的。此外,为了不使所描述的实施例模糊,可以省略或简化众所周知的特征。
本文描述和建议的技术包括构建资产图,有时使用扩展和剔除进程。
概述
描述了一种搜索数据库系统。在一个实施例中,该系统是:图生成器,构建包括节点和边在内的图,并将该图存储在数据库或其他数据结构中,并使用重复的扩展剔除进程来构建图。从该存储装置,该图可以生成:用于为有兴趣了解该图的用户的显示和/或用于对该图数据执行查询等。
在一些实施例中,图表示了互联网连接资产的清单,并且构建图是通过从初始节点集到更大图的发现进程来完成的。发现进程可涉及计算机系统,例如在计算机或服务器上运行的软件,该软件可以访问有关资产的数据、评估数据并将边和节点添加到图中,并且访问有关这些边和节点的数据。此图的一些使用是对图上的资产进行识别、盘点、显示、管理等。
资产可由一个人或实体拥有,或者可资产由一个人、实体或组织控制。出于本文描述的方法和系统的目的,谁或什么实际拥有资产的合法所有权可能并不重要,只要确定该图是由个人、实体或组织控制的资产,因为他们拥有资产,他们占有资产,他们的任务是管理资产,他们感兴趣或负责保护资产以保持其价值,他们需要维护资产等。因此,资产的“所有者”和“控制者”可在不同的上下文中使用,并且可以互换,除非另有指示。
在特定实施例中,初始节点代表已知所有者的资产,其中所有者是指具有控制该资产的合法权利和/或具有为自己或代表他人控制该资产的技术能力的个人、实体或组织。在该特定实施例中,图发现计算机或计算机进程从初始节点扩展图以识别由该已知所有者拥有的资产的较大图。生成的较大图可以表示该所有者的资产的清单。该图可以表示为一图,或者可以表示为资产的列表。
一旦创建清单,则所有者可维护这些资产。在没有完整的清单的情况下,一些资产可被忽略。例如,所有者可拥有主机名或域名但不知道它,因此主机名可能不再解析为IP地址。在所有者是大型组织的情况下,可在收购其他实体之后,可能没有所有者拥有哪些资产的中央记录。在某些情况下,控制权和所有权是共同的,但在其他情况下,它们可能不是共同的。在一般情况下,涉及确定所有权的进程可用于所有权、控制权或两者。
共同资产是域,因为通常有许多与互联网连接的资产,该资产可以通过引用域的URL来标识,并且通常由域标识的资产处于共同所有权或控制权之下,而这种所有权或控制权可能较不显而易见。然而,资产不必如此有限。互联网连接的资产或与互联网相关的资产可包括指示器,例如域(可通过域名识别)、子域(例如,附加主机名的域名,有时更准确地描述为完全限定域名或FQDN)、IP地址、虚拟主机和/或其任何组合,并且与互联网或内部网络连接的、使用这些指示器的设备也可是这些指示器资产的所有者的资产。互联网连接的资产可位于公共网络、不可路由或内部网络等。
资产可包括web服务器、名服务器、物联网设备、台式计算机、网络打印机、邮件服务器、其他服务器、主机等。资产清单可由指示资产和每个资产的元数据的数据结构——例如关系数据库——表示。资产管理系统可以为资产所有者提供对资产清单中的资产的控制权。对资产的管理可包括:将这些资产转移给其他者、控制这些资产、配置这些资产、维护这些资产、设置网络安全以保护这些资产等。
资产清单中有关资产的元数据可包括主机名、漏洞的详细信息、所使用的开放端口等,并且在保护资产时可以很重要。其他元数据可包括地理定位、操作系统、服务标题、TLS证书详细信息等。图数据结构可具有基于逐节点、基于逐边、基于逐节点和基于逐边的某种组合或基于其他的元数据。
构建预期资产清单图
在构建资产清单的发现进程的特定实施例中,发现进程将图从一个或多个初始节点——可能具有一些预定边——扩展到可被视为预期资产清单的较大图。预期资产清单可具有实际上不与其他节点共同拥有的节点,但可以作为进一步人工或计算机审查以评估这些资产是否实际由资产的所有者拥有的初始指南。
图1图示了根据实施例的用于处理资产图的图处理系统100。如图所示,图处理器102对各种公共或私有数据库104进行查询以获得数据和记录,并与各种资产106交互以从这些资产获得数据。获得的数据和记录可如本文所述。图处理器102可以通过诸如互联网的通信网络110耦合到其他系统112。如本文所述,可以提供用户界面114并且可以将用户界面114用于为图表构造剔除、调整和/或提供反馈。可以提供图存储器120用于存储所构造的图并使其可用于未示出的其他进程。图处理器102可以使用一些处理方法从来自数据库和资产本身的数据构建图,以生成图。
图2图示了图处理器102的更多细节,可以包括一个或多个计算机系统和一个或多个处理器202,其可以被配置为通过总线子系统204与多个外围子系统通信并且可操作地耦合到多个外围子系统。这些外围子系统可以包括存储子系统206,包括存储器子系统208和文件存储子系统210、一个或多个用户接口输入设备212、用户接口输出设备214和网络接口子系统216。
总线子系统204可以提供使计算机系统200的各种组件和子系统能够按预期相互通信的机制。尽管总线子系统204被示意性地显示为单个总线,但总线子系统的替代实施例可以利用多个总线。
网络接口子系统216可以向其他计算机系统和网络提供接口222。网络接口子系统216可以用作:用于从其他系统接收数据和向其他系统传输数据以例如获得图数据或用户反馈的接口。
用户界面输入设备212可以包括键盘、指向设备和其他类型的输入设备。用户界面输出设备214可以包括显示子系统、打印机、非视觉显示器(例如,音频和/或触觉输出设备)、或其他这样的显示设备。通常,术语“输出设备”的使用旨在包括用于输出信息的所有可能类型的设备和机制。用户界面输出设备214可用于例如生成和/或呈现用户界面以促进用户与执行本文描述的进程和其中的变体的应用的交互,这是当这种交互可合适时。
存储子系统206可以提供:计算机可读存储介质,用于存储提供图处理器功能的编程和数据构造。当由一个或多个处理器202执行时可以提供本文描述的实施例的功能的软件(程序、代码模块、指令)可以存储在存储子系统206中。存储子系统206还可以提供用于存储在图处理中使用的数据的存储库。示例软件可以包括用于实现剔除、过滤、调整、搜索和本文描述的其他功能的程序代码。
存储器子系统208可以包括多个存储器设备,包括例如用于在程序执行期间存储指令和数据的随机存取存储器(RAM)218、和其中可以存储固定指令的只读存储器(ROM)220。文件存储子系统210可以为程序和数据文件提供非暂时性持久(非易失性)存储,并且可以包括硬盘驱动器和其他存储介质。
图处理器102可以包括各种类型的计算机并且被实现在各种各样的操作环境中,在一些情况下,这些操作环境可以包括可以用于操作多个应用中的任一个的一个或多个用户计算机、计算设备或处理设备。用户或客户端设备可以包括许多通用个人计算机中的任一个,例如运行标准操作系统的台式机、膝上型计算机或平板电脑、以及可能取决于用户选择的界面运行移动软件且能够支持多种联网和消息传递协议的蜂窝的、无线的和手持的设备。各种实施例可以使用本领域技术人员熟悉的至少一个网络来支持使用各种商业可用协议中的任一种的通信,所述各种商业可用协议为例如传输控制协议/互联网协议(“TCP/IP”)、用户数据报协议(“UDP”)、在开放系统互连(“OSI”)模型的各个层中运行的协议、文件传输协议(“FTP”)等。用于包含代码或代码的部分的存储介质和计算机可读介质可以包括本领域已知或使用的适当介质,包括存储介质和通信介质,例如但不限于以任何方法或技术用于存储和/或传输信息所实现的易失性和非易失性、可移动和不可移动介质,该信息为例如计算机可读指令、数据结构、程序模块或其他数据。
图3图示了根据实施例的用作图处理器的一部分的元件。图3还图示了可以被处理器用来实现本文描述的实施例的元件的存储器元件的示例。例如,在引用功能块的情况下,它可被实现为存储在存储器中的程序代码。图3是存储设备348的简化功能框图,该存储设备348具有可以由计算机系统中的处理器访问和执行的应用,其可以是图处理器和/或使用资产图在控制下管理资产的计算机系统的一部分。该应用可以是本文描述的在服务器、客户端或可以表示在别处示出的客户端和/或服务器之一的存储器其他平台或设备上运行的应用中的一个或多个。存储设备348可以是可以被处理器访问的一个或多个存储器设备,并且存储设备348可以存储有应用代码350,其可以被配置为存储一个或多个处理器可读指令。应用代码350可以包括与应用相关联的应用逻辑352、库函数354和文件I/O函数356。
存储设备348还可以包括应用变量362,该应用变量362可以包括被配置为接收应用变量364的一个或多个存储位置。应用变量362可以包括由应用生成的或应用本地的变量。应用变量362可以例如从从诸如用户或外部设备或应用之类的外部源检索的数据生成。处理器可以执行应用代码350以生成提供给存储设备348的应用变量362。
一个或多个存储器位置可以被配置为存储设备数据366。设备数据366可以包括来自外部源的数据,该外部源为例如用户或外部设备。设备数据366可以包括例如在传输之前或接收之后在服务器之间传递的记录。也可以提供其他数据368。
存储设备348还可以包括具有一个或多个存储位置384的日志文件380,该存储位置384被配置为存储应用的结果或提供给应用的输入。例如,日志文件380可以被配置为存储动作历史。
图3的存储器元件可用于与用户交互、生成图和/或管理本文描述的进程的其他方面的服务器或计算机。
可以按照任何适当顺序执行本文中描述的进程的操作,除非本文中另外指出或者与上下文明显矛盾。本文所述的进程(或其变体和/或组合)可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以通过硬件或其组合而实现为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)。代码可以例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读存储介质上。计算机可读存储介质可以是非暂时性的。
构建图
在一些实施例中,图被建立,而在其他实施例中,图是从外部源获得的。现在将描述用于构建预期资产清单图的进程。该进程可以在以下计算机系统上运行,该计算机系统具有输入装置、存储器、输出装置和访问网络例如互联网的计算机系统并且可以访问感兴趣的数据库,例如域名系统(DNS)数据库、历史DNS数据库、WHOIS数据库等。
在用于构建预期资产清单图的这种进程中,如下所述的多个步骤可用于基于图中的节点和边和/或关于那些边和节点的元数据将节点和/或边添加到预期资产清单图。
在某些进程中,图从一节点开始,随着与现有节点有某种关系的其他资产被发现而添加其他节点(并且可能为现有节点和新节点之间的图边指示了一些权重),但进程涉及剔除后来似乎与图关联性较低的节点。剔除也可涉及手动输入。例如,可构建图以包括example.com、example1.com、example-inc.com和example-inc-sucks.com,并且在人工审核者确定该域实际上并不与其他资产共同拥有或控制时,或者不太可能如此,人工审核将从图中剔除example-inc-sucks.com。
使用包括观察图的显示后的用户反馈在内的某反馈,该进程可添加其他节点或剔除图的分支。
域添加
在某些情况下,如果域与预期资产清单图中已有的域有一些共同的元数据,例如用于注册域的相同电子邮件地址、或相同的电话号码,则将域添加到预期资产清单图中。一般来说,在匹配进程中,根据字段,数据的规范化可在匹配步骤之前完成(例如,使所有字符串小写,删除电话号码中的标点符号、破折号和空格,替换常见的同形字——使得零视为与字母“O”相同等)。
匹配进程可包括以下步骤:(a)读取预期资产清单图以识别已在预期资产清单图中(已知域)中的域集的元数据,(b)选择关于已知域的特定元数据,(c)对该元数据进行规范化,(d)在域数据库(例如DNA数据库、WHOIS数据库等)中搜索与该规范化元数据的匹配项,(e)可选地过滤掉元数据可是注册进程而不是所有权的标志(例如,使用“whoisguard”类型的电子邮件地址进行注册,指向为所有者和许多其他不相关方提供服务的大型云服务的IP地址,电子邮件服务供应商的域名而不是所有者自己的域名等),(f)对于每个剩余的匹配,将该域添加到预期资产清单图,以及(g)根据需要迭代(例如,直到没有新域名被添加,或直到一些预定数量的迭代被执行)。
作为规范化的补充或替代,可以使用通配符表达,例如正则表达。例如,在搜索WHOIS数据库时,搜索词可以是“example.*\.com”,并返回WHOIS数据库中所有whois/zone=“example.*\.com”的域。
用于搜索的数据库可是当前数据库或历史数据库。例如,如果域是使用公司电子邮件地址作为注册地址或技术联系地址注册的,但后来更改为私有注册,其中注册地址或技术联系地址是注册商的地址,则引用历史DNS数据库或历史WHOIS数据库可提供更多连接并更好地识别特定所有者的资产。作为另一示例,当所有者切换到云供应商的子网(例如,Cloudflare、Incapsula、DoSArrest、Akamai等)时,匹配进程可以扫描历史数据库以查找所有者的域未使用此类子网的时间,查看当时的IP地址,并找出当时还有哪些其他域指向同一个IP。然后转到今天,看看哪些还在同一个位置。然而,由于共享托管和其他原因,这可能给匹配进程带来许多误报。除了数据库本身之外,还可以搜索其他数据结构,例如二叉树、文件分片集、查找表和/或mtbl数据结构中的一个或多个。更一般地,可以使用允许有效查找的数据结构,或者直接集成、通过API访问、迭代平面文件、使用存储器中的指针或缓存、或其他一些方法。
图处理器访问的数据库可是公共数据库,例如公开可用的DNS服务器,也可是由订阅维护和提供的私有数据库,例如历史WHOIS数据库,或者可是由图处理器运营商内部维护的私有数据库.
剔除
在一些实施例中,资产的图或数据库是已知的,但可能不具有所有权或控制权的任何指示。在其他情况下,可针对查询来构建或访问此图或数据库,这样就不需要创建图或数据库,然后可以将图或数据库用于以下进程:通过过滤掉似乎不属于共同所有权的资产来确定共同所有权下的资产的图,和/或剔除似乎不属于共同所有权图的分支。表明共同所有权或其相反的一些数据可是嘈杂的数据。使用多个指标,可以构造更稳健的共同所有权图。通过对图可被拆分或多个图合并的地方进行人工反馈,可以进一步改进共同所有权图。可处理其他指标来调整图边缘权重以提高图的保真度。图可能无法准确显示所有共同拥有的资产、和非共同拥有的资产,但尽管如此,这样的图仍然可以在提供有关资产所有权的有价值信息时是有用的。一个示例是实体试图通过对其资产进行网络控制、使用补丁更新资产、停用未使用的资产等来保护其资产。在好的图的情况下,实体就可以跟踪和服务实体拥有的资产,即使有时该图暗示了实际上并不由实体拥有的资产,并且可能遗漏一些实际上由实体拥有的资产。因此,图不需要是完美的,但应该提供一些过滤,以便资产审查的任务是可管理的。
在实施例中,资产评估系统可以处理或访问网络连接资产的图或数据库,并运行一系列评估以确定哪些资产可能与或不可能与特定拥有实体相关联。因此,一些评价是正面指标,而一些评价是负面指标。
其他指标可来自人工输入,可能在审核图之后。在一些实施例中,人工输入不仅可以用来修改数据,而且可以用来修改图处理器用来处理它找到的数据的规则。例如,用户可为图处理器选择一选项以跳过或不考虑评估资产共同所有权时的任何URL相似性。
加权边
在某些情况下,可为边分配权重。例如,如果已知预期资产清单图中的第一域与不在预期资产清单图中的第二域共同拥有,则可以将第二域添加为图中的节点,其中边连接第一域和第二域并且边的权重为1.0。在添加新节点而进行特定搜索步骤可更具推测性的情况下,则可为边缘分配较低的权重。例如,如果域<companyname1.com>已经是预期资产清单图中的节点,并且通过规范化,则考虑将域<companynameI.com>添加为预期资产清单图中的新节点,边可添加到<companyname1.com>的节点与<companynameI.com>的节点之间的预期资产清单图中,并且记录的该边的元数据表示的权重为0.6,以反映关于这两个域是否是共同拥有的存在可能的不确定性。因此,除了连接权重之外,一些搜索步骤也可返回域或其他节点详细信息。
在呈现资产图的表示时,一些权重指示可被呈现,并且可被呈现为置信度评级。如果一个节点对可能的所有者拥有的资产的置信度是基于一系列节点的,则可以相应地调整置信度评级。例如,如果预期资产清单图确定地指示所有者O拥有域“owner-o.tld”并且有40%的概率也拥有域“owner-oh.tld”,并且发现进程确定域“owners-of-oh.tld”有50%的概率与域“owner-oh.tld”共同拥有,则发现进程可涉及:向域“owner-oh.tld”的预期资产清单图添加一节点,并为该该节点给定指示这些概率的置信度值或权重。这可是40%*50%=20%、或某个其他的组合权重的方式。
权重可以是相加的。例如,如果一次搜索显示两个域具有共同的注册电子邮件地址,则可为这两个域之间的边分配权重W1,并且如果另一次搜索显示这两个域共享认证权限并且共享将由本身享有权重W2,在这两个域的节点之间的预期资产清单图中使用的权重可是权重W1+W2、或者至少大于W1和W2中较高者的权重。
除了对边的加权——这可能代表相对置信度——之外,如果一个节点代表所有者的资产,另一个节点可能也是所有者的资产,则节点本身可具有表明置信度水平的元数据。后者将是独立于可能存在的其他节点和边的、由给定所有者拥有的给定节点的置信度水平。节点的置信度水平可是连接到该节点的边的置信度水平的函数,但可以以其他方式计算。
图4示出了可以应用于可能对资产的共同控制权加以指示的数据点的加权的示例,其可以用于避免将过多的噪声引入添加的数据中。如那里所示,一些更相关的标志将排名较高,而有噪声的标志排名较低。可以对图处理器进行编程,使得落入区域402中的标志被认为具有足够的质量以允许自动接受数据,而落入区域404中的标志被标记为人工干预,并且落入区域406中的标志不被考虑,或隐藏在视线之外。
域匹配规则的示例
导致域被添加到具有共同控制权的预期资产清单图的域匹配的一些示例可包括:
1.两个(或多个)域共享共同注册电子邮件地址:对于在图中存在的域,可以查询WHOIS数据库以识别在域被注册时提供的联系人的电子邮件地址,例如技术联系人、管理联系人等。这些电子邮件地址然后可以用作查询输入以查找具有注册电子邮件地址的域的记录,该注册电子邮件地址与预期资产清单图中已经存在的域的注册电子邮件地址相匹配。此子进程的逻辑表达式可是:
(domain1.registration_email_address===domain2.registration_email_address).
2.两个(或多个)域共享共同注册电子邮件地址域:与#1类似,但注册电子邮件地址的用户名不需要匹配,只需匹配电子邮件域,从而可选择地过滤掉不指示可能的对资产的共同控制权的大量共享域。(例如,使用username1@gmail.com和username2@gmail.com的注册不一定指示共同控制权,这是因为gmail.com在许多不相关的用户之间共享)。此子进程的逻辑表达式可是:
(hostname(domain1.registration_email_address)===hostname(domain2.registration_email_address).
3.使用电子邮件地址注册的域与图中的现有域中的域:可以从图中查询到已经在图上的每个域的域名。然后可以搜索WHOIS数据库以查找具有联系信息电子邮件地址的其他域,其中这些地址包括图上的域。例如,如果example.com在图上,则此匹配步骤将识别WHOIS数据库中具有user@example.com形式的联系信息电子邮件地址的其他域。可设置过滤器,以便不捕获其联系信息电子邮件地址由常见电子邮件服务托管的域。然而,在图不太可能包含那些引用共同电子邮件服务的域作为资产(例如,针对gmail.com的控制器之外构建的图是不可包括gmail.com作为用户的资产之一的图)的情况下,可不需要过滤器。此子进程的逻辑表达式可是:
(domain1===domain2.registration_email_address.domain).
4.两个(或更多个)域共享共同IP地址:对于图中存在的域,可以对每个现有域进行DNS查找,以识别托管该域的IP地址。然后,可以在DNS数据中搜索同样托管在同一IP地址处的其他域、以及添加到图的其他域。可提供过滤器以阻止添加IP地址与云托管服务相关联的域——否则,将大量不受共同最终用户控制的云托管服务的客户的不相关域添加到图。此子进程的逻辑表达式可是:
(domain1.ip_address===domain2.ip_address).
5.两个(或更多个)域共享其他WHOIS字段:对于图中存在的域,可以查询WHOIS数据库以识别联系人电子邮件地址之外的WHOIS字段,然后这些字段可以用作查询输入,以查找也具有这些字段的共同的其他域的记录,这可以表示共同控制权。示例包括:
a.手机号码,如下:
domain1.phone_number-domain2.phone_number
b.CIDR块
c.注册域的个人或实体的IP地址(可以从滥用监控数据库服务获得)。
6.匹配内容交叉引用:第一主机上的某些托管内容可引用另一主机上的内容、和/或两个主机上的托管内容都引用另一主机,并且这可以是第一主机和第二主机是由同一实体控制的资产的标志。在这种情况下,如果第一主机在图上而第二主机不在图上,则可以将第二主机添加到其中在第一主机和第二主机之间有一边的图,该边具有基于交叉引用所确定的权重。这种交叉引用的一个示例是在博客站点上使用的回溯,其在博客之间发送与一个博客上的更新和其他事件有关的信号,以便管理其他博客的软件可以相应地进行更新。回溯可由嵌入在内容中的回溯URL表示。
回溯URL的一个特定示例用于WordPress博客,其中,WordPress内容可包括回溯URL。此子进程的逻辑表达式可是:
(domain1.html.wordpress_trackback===domain2.html.wordpress_trackback).
另一示例是针对回调。可以触发程序代码,该程序代码将向图上的第一主机发出请求,例如HTTP请求。发出HTTP请求的机器可接收回调作为响应。该回调可来自不在图上的第二主机。回调返回的域名、IP地址和/或URL可取决于其中请求的接收者和该请求的回调的发出者是共同控制的资产的可能性而添加到图。
7.两个(或更多个)资产共享CIDR块:无类域间路由(CIDR)块可以表示通常可以共同控制的IP地址范围。一些资产可以映射到特定的CIDR块。例如,搜索进程可以查询本地DNS系统以查找与作为第一子域的第一资产相关联的第一IP地址、和与作为第二子域的第二资产相关联的第二IP地址。如果第一IP地址和第二IP地址在同一CIDR块中,第一资产在图上,而第二资产不在图上,则第二资产可在它们都指向共同分配的CIDR块的基础上添加到图。
通常,如果为一个实体分配了整个CIDR块(这可能通过IP地址注册表或分配数据库来确定),则指向该CIDR块中的IP地址的子域通常由该实体共同控制。将资产添加到图的决定可被过滤,以排除添加IP地址与云托管服务或软件即服务的服务相关联的资产——否则,不在共同最终用户共同控制下的服务的客户的大量不相关资产将被添加到图。
当基于具有图上尚存的资产的共同的CIDR块来添加资产时,资产之间的边可被添加到图,其中权重对应于资产与CIDR块的联系强度的指示。
添加此类节点的适用性或所使用的权重可取决于从获得的反馈(可能来自人类用户)中存储的数据。例如,如果其他用户指示共同CIDR中的资产通常不受共同控制,则这可降低以稍后匹配的权重。
基于共同CIDR块添加节点的步骤可具有阈值,其中,在将资产添加到图之前,需要在共同CIDR块中存在多于一个受控资产,例如五个或十个资产。
8.两个(或更多个)资产共享由其他资产定义的共同IP范围:如果第一资产和第二资产在图中列出并且具有不同的IP地址,则这些IP地址定义了IP地址范围。在考虑具有关联IP地址的且不在图上的其他资产时,可在此基础上将它们添加到图。这可以源于以下假设:如果多个IP地址处的资产受单个实体控制,则该单个实体可能还控制那些已知IP地址之间的IP地址。将资产添加到图的决定可被过滤,以排除添加IP地址与云托管服务或软件即服务的服务相关联的资产——否则,不在共同最终用户共同控制下的服务的客户的大量不相关资产将被添加到图。
当基于IP地址在图上存在的资产的IP地址之间的范围中来添加资产时,资产之间的边可被添加到图,其中权重对应于对资产与IP地址范围的关联强度的指示。
添加此类节点的适用性或所使用的权重可取决于从获得的反馈(可能来自人类用户)中存储的数据。例如,如果其他用户指示IP地址范围中的资产通常不受共同控制,则这可降低以稍后匹配的权重。
9.两个(或更多个)资产共享其他CIDR块特征:在一个资产在图上、而另一资产具有共同特征但不在图上,则可以添加第二资产。共同特征的示例是域具有共同的特征,例如“example.*\.com”域围绕针对外观相似的域的所有域的IP空间。通过从RIR区域文件获取的最少/最多限制的CIDR块来缩小范围。
10.两个(或更多个)资产具有ASN相关度:在图上的第一域的ASN信息与不在图上的第二主机的ASN信息相匹配的情况下,可以将第二主机添加到图,并且在第一主机和第二主机之间具有边。具有共同ASN信息的域可都指向同一空间——尤其是在指向同一IP空间的两个或更多个域之间的重叠很大的情况下。ASN可以是自动系统号码,其唯一地且全局地标识自动系统。自动系统可包括使用连接的IP路由前缀且由特定管理实体或域控制或由互联网服务供应商(ISP)控制的主机。ASN可在全局注册表中注册。
11.认证权限(CA)相关度:该进程从节点元数据中提取CA域使用的可用的元数据。然后将使用中的CA的列表用作搜索输入来搜索CA数据库或树,以识别图中尚未出现的其他域,其中这些域与图中的域具有共同CA。这将捕获共享CA的资产,这可能表明该资产是共同拥有的可能性。这可以基于CA的大小进行加权——共享较大CA的两个域可能比共享较小CA的两个域较不可能共同拥有。
12.分析历史DNS和WHOIS条目:除了遍历当前的DNS数据库或WHOIS数据库之外,上述某些步骤还可在DNS数据库或WHOIS数据库的历史版本或存档版本上执行,以识别图的其他节点。通过历史搜索添加的节点的边的权重可根据记录的年限进行加权。例如,如果第一域在图上而第二域和第三域没在图上,但第二域和第三域具有与第一域共同的注册电子邮件地址,或者它们过去都与共同IP地址相关联,则第二域和第三域可添加到图。如果历史数据中第一域和第二域之间的连接比第一域和第三域之间的连接近,则将为第一域和第二域之间的边分配比第一域和第三域之间的边缘高的权重。
基于网页内容的域或网页添加
在另一进程中,诸如域名、网页等资产的临时所有权是通过处理网页的内容来完成的。通过考虑此类内容,自动进程可以确定是否将资产添加到预期资产清单图。规范化也可以在本文使用。
匹配进程可包括以下步骤:读取预期资产清单图以识别可用作所有权的标志的字符串或其他元数据。例如,网页可包括版权声明和公司名称、或者嵌入在其HTML代码中的公司名称。然后,在其他内容中搜索这些标志,例如网页、搜索引擎索引等。在搜索中找到的匹配项可以添加到预期资产清单图。也可以过滤已知的误报。可以在添加资产时进行迭代,根据需要对新添加的资产进行迭代(例如,直到没有添加新域,或者直到执行了一些预定数量的迭代)。
此类标志的示例可包括:
1.广告系统关键字(例如,Google Analytics keys,or Google Adwords keys):搜索特定关键字的内容,识别包括关键字的域或其他资产,并将其添加到图。
2.链接标签:搜索包含rel类型的链接标签,以识别两个或更多个站点何时声称是同一站点/页面。可以使用或不使用规范化。
3.不同HTML页面上的唯一字符串:在其他网站上寻找与其他HTML相匹配的公司名称和版权声明(例如:Copyright 20xx,Company Inc.)。这些名称可被规范化,以便将轻微的拼写错误和变体视为相同。
其他示例
1)可以执行的一项测试是:检查站点S是否具有包括指向特定其他站点的链接的页面,从而指示可能的相关度。可排除一些过于常见的链接到网站,以避免推断与不相关但常见的网站(例如大型搜索引擎网站和大型社交媒体网站)的相关度。这些相关度可以计算并呈现为直方图,存储为黑名单,或使用用户反馈来指示可能的误报,例如指示对象不是资产的机器学习输出。例如,可以将图中的数据提供给熟悉网络和互联网协议以及服务供应商的用户,然后他们可轻松发现标记为在共同控制下但知道某些服务供应商对不相关客户资产使用该连接。这样的连接可被标记为误报。
2)另一项测试是让系统执行URL的接近性测试。例如,包含“example.com”的URL可被认为与另一个包含“example-test.com”的URL相关。用户反馈或计算机进程可确定某些似乎在共同控制下的URL,但标的资产不是。例如,内容交付网络或云服务供应商为他们的多个不相关客户生成URL,而对象可具有相似和相关的URL,例如asset1.<CDN-TLD>.com和asset2.<CDN-TLD>.com,这种相似性不一定来自对这些资产的共同控制权。
3)在另一测试中,如果在跟随从站点X开始的链接时发现站点Y,并且站点Y包括到站点X的页面的链接,则可以认为是X和Y的相关度。
4)如果站点X和站点Z都存储在站点清单中,并且发现都链接到站点Y的页面,并且站点Y页面上的链接指向X或Z,则可以用作相关度的指示。
5)过滤内部使用地址:在一些实施例中,标记基于例如看似相关但那些IP地址是内部使用的IP地址——例如地址10.x.x.x和192.168.x.x——假设相关度可以是有用的,其已知被不相关方用于其内部网络。这也可能适用于已知为正常全局使用之外而保留的地址范围。
6)过滤不一定相关的g共同使用TLD:例如,两个或更多个IP都具有带有.arpa TLD的主机名的PTR记录,这可能不是由于任何相关度,因为许多不相关的IPv4和IPv6地址可能就是这种情况。
7)过滤有效的TLD:在一些实施例中,如果认为的相关度基于“有效的”TLD,则它们会被打折。例如,*.co.uk域与*.example.com域不相关。相反,它们应该在有效域上相关联,例如“example.co.uk”和“example2.co.uk”被视为不同的域,而不是不同的子域。在一变体中,系统将有效TLD或TLD视为相关但作为针对有效TLD的相关度的次要或可调测量。例如,<company>.<tld>或.<company>可以在已知它们都由单个实体拥有的情况下进行关联。
相关度调整:系统可以基于以下因素提高或降低相关度的权重,例如相关度是否最初是基于地址空间的非正常使用来确定的,例如内部RFC 1918类型地址、RFC 4193类型地址、RFC 6890类型地址、RFC 3927类型地址、环回地址、本地链接地址、广播地址、运营商级NAT进程、唯一本地地址、其他不可路由的互联网协议地址等,这可指示两个不相关的实体对同一不可路由IP具有不同的DNS引用。更一般地,地址空间可以是在多个不相关实体上重复使用的地址空间,因此虽然两个资产可位于同一地址空间中,但不一定是地址空间与一个实体相关,因此相关度会导致资产的误报关联。
系统可进行的另一相关度调整是:删除或严重降低共享IP空间的已知供应商之间联系概率的权重,例如共享托管供应商、基于云的WAF、CDN和虚拟托管供应商。
系统可进行的另一相关度调整是:通过电子邮件地址、电话号码和物理地址,包括但不限于WHOIS或任何已知或派生的公司地址,当找到的链接已知为隐私服务时,包括但不限于域代理服务、域隐私服务、空白或未定义的WHOIS结果、指示它未知或隐藏的占位符结果、需要手动/非自动步骤来发现的占位符结果、或任何类型的隐私代理公司。
图5是示例图构建进程的流程图。如那里所示,在步骤501,图处理器可以获得具有源的清单。在步骤502,图处理器基于新的或已知的权重来开始域建议进程。在步骤503,图处理器可去除已知会给出误报的源。在步骤504,图处理器可找到剩余源上的链接,这可能受到路径可能有多长的限制。在步骤505,图处理器可去除已知的误报。在步骤506,图处理器可以测试是否自动将源添加到清单,这可能基于诸如图4中所示的那些度量。在步骤507,图处理器可要求人工审查,如在图4中落在区域404内的那些标志中,并且在步骤508中,隐藏或丢弃低可能性边缘。在步骤506,该进程可以返回到步骤502。在步骤507,该进程可以进行到步骤509,以基于用户输入调整权重,然后进行到步骤510以将用户同意的源添加到清单,该进程可以返回到步骤502。
实现方式的示例
在一些实施例中,执行图处理以根据输入数据确定图或其他数据结构,该图或其他数据结构可能以不同程度的确定性或概率指示被视为在共同控制权下的资产集。该资产集可以是网络连接的设备、服务、逻辑对象、商标、名称、引用等。在一种方法中,进行扩展搜索,然后基于人类用户反馈减少对结果的误报或调整的其他标志,以改进结果数据。在某些情况下,该图是指示资产及其与其他资产的连接的连接图。在其他实施例中,结果图可只是不必将所有资产连接到其他资产或甚至一些资产的数据结构。
在一些实施例中,不同的标志可具有不同的权重,并且对资产的控制的共同性可以由各个标志的加权和来确定。权重可来自人工输入、机器学习、反馈或其他方法。权重可以是正数和/或负数,其中——例如——标志的正权重可意味着该标志暗示或确定资产处于共同控制权下,而标志的负权重可意味着该标志是暗示或确定资产不在共同控制权下。
在一些实施例中,机器规则和/或人工输入可用于减少对数尾连接。例如,图处理器可确定资产A和资产B是共同拥有的,资产B和资产C是共同拥有的,从而得出资产A和资产C是共同拥有的结论。图处理器可被编程为限制扩展的数量,例如,如果发现资产A、B、C、...、J、K、L中的每一个都可与序列中的下一资产共同拥有,如上所述,并且有八步骤的图路径,则资产A到H可被认为是共同拥有的,而不是资产I到L仅因为在各个步骤中存在从资产A到资产L的路径。
在一些实施例中,使用用户工具上传初始图,例如由运营团队维护的逗号分隔文件或电子表格,从而列出已知受该团队组织控制的资产。从那里,图处理器可以推断不在列表中的资产。
图6图示了图搜索和图限制。如那里所示,图处理器602读取资产清单604,其包含资产A作为其条目之一。图处理器602查询资产A以识别更多关于资产A的数据,从而检查它是否仍然存在并且是响应的等。图处理器602可以对资产清单604中已经存在的其他资产执行此操作。注意到资产A根据一个或多个标志与资产B和资产C相关,图处理器602可以类似地查询资产B和资产C以识别关于它们的更多数据并检查它们是否仍然存在并且是响应的。图处理器602可以基于与资产A的链接访问资产C,并找到资产C和资产D之间的相关度。在此示例中,资产D被认为太遥远而无法考虑,因此不会对其进行访问。
图7图示了附加实施例。
根据一个实施例,本文描述的技术由一个或多个通用计算系统实现,该计算系统被编程为根据固件、存储器、其他存储或组合中的程序指令来执行这些技术。可以使用专用计算设备,例如台式计算机系统、便携式计算机系统、手持设备、网络设备或结合硬接线和/或程序逻辑来实现这些技术的任何其他设备。
可以按照任何适当顺序执行本文中描述的进程的操作,除非本文中另外指出或者与上下文明显矛盾。本文所述的进程(或其变体和/或组合)可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以通过硬件或其组合而实现为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)。代码可以例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读存储介质上。计算机可读存储介质可以是非暂时性的。
连词,例如“A、B、和C中的至少一个”或“A、B和C中的至少一个”形式的短语,除非另有明确说明或与上下文明显矛盾,否则应理解为通常用于展示项、术语等的上下文可以是A或B或C、或A和B和C的集的任何非空子集。例如,在具有三个成员的集的说明性示例中,连词短语“A、B、和C中的至少一个”和“A、B和C中的至少一个”指的是以下任何集:{A},{B},{C},{A,B},{A,C},{B,C},{A,B,C}。因此,这种连词语言一般不旨在暗示某些实施例需要A中的至少一个、B中的至少一个和C中的至少一个每个都存在。
本文中提供的任何和所有示例或示例性语言(例如,“诸如(例如)”)的使用仅意在更好地阐述本发明的实施例,不对本发明的范围施加限制,除非另外要求。说明书中的任何用语都不应被解释为指出对本发明的实施至关重要的任何非主张要素。
在前述说明中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可能实施方式而变化。因此,说明书和附图应当被看做说明性的而不是限制意义的。本发明范围的唯一和排他性标志、以及申请人想要成为本发明范围的内容是从本申请提出的以包括任何后续更正在内的这些权利要求提出的具体形式的字面和等效范围。
在阅读本公开内容之后,本领域的普通技术人员可以设想进一步的实施例。在其他实施例中,可以有利地进行上述发明的组合或子组合。为了说明的目的示出了组件的示例布置,并且应当理解,在本发明的替代实施例中考虑了组合、添加、重新布置等。因此,虽然已经针对示例性实施例描述了本发明,但是本领域技术人员将认识到许多修改是可行的。
例如,本文描述的进程可以使用硬件组件、软件组件和/或其任何组合来实现。因此,说明书和附图应当被看做说明性的而不是限制意义的。然而,显然可以在不背离如权利要求中所述的本发明的更广泛的精神和范围的情况下对其进行各种修改和变化,并且本发明旨在覆盖所附权利要求的范围内的所有修改和等同物。
本文中引用的包括出版物、专利申请和专利的所有参考通过参考与每个参考被单独具体地指示以通过参考被并入且被全部阐述于此的范围相同的范围而合并于此。

Claims (39)

1.一种构建图数据结构的方法,所述图数据结构表示预期资产清单图并且包括节点和边,所述节点各自表示网络的资产,所述边各自表示节点之间的连接,并且至少一些边具有在所述图数据结构中表示的权重并表明在所述图数据结构中表示的资产的共同控制权,所述方法包括:
将对至少一个种子资产的表示存储在所述图数据结构中;
将所述预期资产清单图扩展为包括基于匹配标准的附加节点,所述基于匹配标准的附加节点表明所述附加节点被假定为基于所述匹配标准对资产的共同控制权,所述匹配标准指示所述附加节点与已存在于所述预期资产库存图上的现有节点之间的匹配;
将所述匹配标准递归地应用在所述附加节点与对尚未表示在所述预期资产清单图上的第三资产加以表示的第三节点之间;
基于对权重小于表明共同控制权的标志阈值的边的识别,剔除所述预期资产清单图的分支;以及
基于所述扩展和剔除来更新所述图数据结构。
2.根据权利要求1所述的方法,其中,扩展包括:
读取所述预期资产清单图以识别已知资产的元数据,所述已知资产包括已存在于所述预期资产清单图上的资产集;
选择关于所述已知资产的预定元数据;
对所述预定元数据进行规范化以形成规范化元数据;
在资产数据库中搜索对所述规范化元数据的匹配;
在元数据是注册进程的产物而不是对所有权或控制权的标志的情况下,过滤掉资产的节点;以及
对于每个剩余的匹配,将该资产添加到所述预期资产清单图。
3.根据权利要求1所述的方法,其中,所述预期资产清单图的边的权重是各个匹配权重之和,由此所述边的权重对于匹配的数量的加大而增大。
4.根据权利要求1所述的方法,其中,节点被分配有置信度水平,其中,节点的置信度水平对应于该节点的资产是共同受控资产的可能性。
5.根据权利要求1所述的方法,其中,附加节点是从表明资产所有权或资产关系的数据结构中导出的。
6.根据权利要求5所述的方法,其中,所述数据结构包括域名系统DNS数据库、ASN注册表、历史DNS数据库、公司所有权文档数据库、历史查找数据库和/或WHOIS数据库中的一个或多个,并且其中,扩展所述图数据结构包括:搜索所述域名系统DNS数据库、所述历史DNS数据库和/或所述WHOIS数据库以识别满足匹配标准的节点。
7.根据权利要求5所述的方法,其中,所述数据结构包括二叉树、文件分片集、查找表、API和/或mtbl中的一种或多种。
8.根据权利要求1所述的方法,其中,剔除包括获得反映人工输入的手动输入、黑名单和/或表明对象不是共同受控资产的机器学习输出。
9.根据权利要求1所述的方法,其中,递归地应用所述匹配标准是自动执行的,并且选择包括基于选择深度、置信度、设置或其他标准的可用链接方法的子集,其中选择包括:包括方法和/或排除方法。
10.根据权利要求1所述的方法,其中,递归地应用所述匹配标准是根据用户定义的递归来执行的,并且选择包括基于选择深度、置信度、设置或其他标准的可用链接方法的子集,其中选择包括:包括方法和/或排除方法。
11.根据权利要求1所述的方法,还包括:
将所述预期资产清单图的表示格式化为显示格式;以及
在显示器上呈现所述显示格式。
12.根据权利要求1所述的方法,其中,与所述预期资产清单图上的资产有关的元数据包括主机名、漏洞列表、所使用的开放端口列表、资产的估计地理位置、用于资产的操作系统、资产的服务标题、资产的TLS证书详细信息、IP地址、DNS类型指示符、DNS注册数据和/或IP地址的ASN信息中的一种或多种。
13.根据权利要求12所述的方法,其中,元数据还包括技术栈的内容,所述技术栈的内容表明web应用的语言、web应用的API和/或包括社交信号的HTTP链接中的一种或多种。
14.根据权利要求1所述的方法,其中,所述网络的资产包括域、互联网连接资产、子域、IP地址、虚拟主机、web服务器、名称服务器、IoT设备、台式计算机、网络打印机、邮件服务器、与互联网或内部网络连接的设备、内容交付网络、代理、防火墙、入侵检测系统、路由器和/或交换机中的一种或多种。
15.根据权利要求1所述的方法,其中,所述网络的资产包括能够接受网络流量的一个或多个设备。
16.根据权利要求1所述的方法,其中,第一资产是第一域,第二资产是第二域,所述第一资产在所述预期资产清单图上,并且所述匹配标准包括以下项中的一项或多项:
关于所述第二域是否与所述第一域共享共同注册电子邮件地址的第一测试;
关于所述第二域是否与所述第一域共享共同注册电子邮件地址域的第二测试;
关于是否使用电子邮件域与所述第一域的电子邮件域匹配的电子邮件地址来注册所述第二域的第三测试;
关于所述第二域和所述第一域是否共享共同的WHOIS字段的第四测试;
关于所述第二域和所述第一域两者是否包括回指共同主机的托管内容的第五测试;以及
关于所述第二域和所述第一域两者是否使用共同认证权限的第六测试。
17.根据权利要求16所述的方法,其中,使用历史数据来执行至少一项测试。
18.根据权利要求16所述的方法,其中,至少一个域是子域。
19.根据权利要求16所述的方法,其中,针对特定时间的状态执行至少一项测试。
20.根据权利要求1所述的方法,其中,所述匹配标准对以下项的测试:检查站点是否具有包括到预定的共同链接站点集之外的特定其他站点的链接在内的页面。
21.根据权利要求1所述的方法,其中,所述匹配标准包括对以下项的测试:第一站点与第二站点之间的相关度、和/或在所述第一站点和所述第二站点两者中发现的共同链接。
22.根据权利要求1所述的方法,还包括:过滤可重用内部地址的预定列表上的地址。
23.根据权利要求1所述的方法,还包括:过滤在共同重用TLD的预定列表上的TLD、或在共同重用TLD部分的预定列表上的TLD部分。
24.根据权利要求1所述的方法,还包括:基于是否基于地址空间的使用最初确定相关度来调整相关度,其中,最终地址被在多个不相关实体上可重用的重叠地址范围而屏蔽。
25.根据权利要求24所述的方法,其中,所述地址空间的使用包括内部RFC 1918地址、RFC 4193地址、RFC 6890地址、RFC 3927地址、环回地址、本地链路地址、广播地址、运营商级NAT、唯一本地寻址和/或不可路由互联网协议地址。
26.根据权利要求1所述的方法,还包括:基于共享地址空间的已知供应商之间的链接的预定列表来调整相关度。
27.根据权利要求1所述的方法,还包括:基于隐私服务的预定列表来调整相关度,由此对于使用给定隐私服务的不相关方的相关度被认为比它们为相关方的情况下的相关度小。
28.根据权利要求1所述的方法,其中,第一资产是第一子域,第二资产是第二子域,所述第一资产在所述预期资产清单图上,并且所述匹配标准包括以下项中的一项或多项:
关于所述第二子域是否与所述第一子域共享共同IP地址的第一测试;
关于所述第二子域是否与所述第一子域共享共同的CIDR块的第二测试;以及
关于所述第二子域是否与所述第一子域共同的共享CIDR特征的第三测试。
29.根据权利要求1所述的方法,还包括:降低由已知供应商经由多个不相关方使用的隐私服务而共享IP空间所导致的链接的概率。
30.根据权利要求29所述的方法,其中,共享是电子邮件地址、电话号码、物理地址、whois条目和/或公司地址中的一项或多项。
31.根据权利要求1所述的方法,还包括:降低由对以下项中的一项或多项进行共享所导致的链接的概率:域代理服务、域隐私服务、空白或未定义whois结果和/或占位符结果。
32.根据权利要求1所述的方法,还包括:用户定义的递归。
33.根据权利要求1所述的方法,还包括:基于两个或更多个IP是否都具有针对共享的顶级域的主机名的PTR记录来进行处理。
34.根据权利要求1所述的方法,还包括:降低由在不相关实体上使用的顶级域所导致的链接的概率。
35.根据权利要求34所述的方法,其中,有效TLD或TLD被视为与预定可调的相关度权重相关。
36.根据权利要求1所述的方法,其中,指定为保留或私有的ASN被认为是不相关的。
37.一种处理图数据结构的方法,所述图数据结构表示预期资产清单图并且包括节点和边,所述节点各自表示网络的资产,所述边各自表示节点之间的连接,并且至少一些边具有在所述图数据结构中表示的权重并表明在所述图数据结构中表示的资产的共同控制权,所述方法包括:
获得对所述图数据结构的表示;
获得匹配标准,所述匹配标准指示在第一节点与第二节点之间共同控制资产;
获得与对共同控制权的可能误报指示相对应的规则集;以及
当所述规则集中的规则指示所述匹配标准指示导致误报指示的条件时,将所述规则集应用于所述图数据结构以减小所述第一节点与所述第二节点之间的第一权重。
38.根据权利要求37所述的方法,其中,将所述规则集应用于所述图数据结构以减小所述第一权重包括:处理所述规则集中的多个规则,所述多个规则中的每个规则都指示可能的误报共同控制权指示。
39.根据权利要求37所述的方法,还包括:应用表明误报的手动反馈以减小所述第一权重。
CN202080080047.7A 2019-11-19 2020-11-11 使用图数据结构的资产搜索发现系统 Pending CN114846462A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962937432P 2019-11-19 2019-11-19
US62/937,432 2019-11-19
US202063025900P 2020-05-15 2020-05-15
US63/025,900 2020-05-15
US16/890,995 2020-06-02
US16/890,995 US11347797B2 (en) 2019-11-19 2020-06-02 Asset search and discovery system using graph data structures
PCT/US2020/059918 WO2021101764A1 (en) 2019-11-19 2020-11-11 Asset search and discovery system using graph data structures

Publications (1)

Publication Number Publication Date
CN114846462A true CN114846462A (zh) 2022-08-02

Family

ID=75909479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080080047.7A Pending CN114846462A (zh) 2019-11-19 2020-11-11 使用图数据结构的资产搜索发现系统

Country Status (9)

Country Link
US (2) US11347797B2 (zh)
EP (1) EP4062290A4 (zh)
JP (1) JP2022551763A (zh)
KR (1) KR20220098247A (zh)
CN (1) CN114846462A (zh)
AU (1) AU2020386847B2 (zh)
CA (1) CA3154804A1 (zh)
IL (1) IL292776B2 (zh)
WO (1) WO2021101764A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116975007A (zh) * 2023-07-29 2023-10-31 上海螣龙科技有限公司 一种网络资产存储、展示的方法、系统、设备及介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11201897B1 (en) * 2019-09-03 2021-12-14 Rapid7, Inc. Secure multiplexed routing
US11347797B2 (en) * 2019-11-19 2022-05-31 Bit Discovery Inc. Asset search and discovery system using graph data structures
US20230094208A1 (en) * 2021-09-29 2023-03-30 Bit Discovery Inc. Asset Inventorying System with In-Context Asset Valuation Prioritization
US20230162180A1 (en) * 2021-11-22 2023-05-25 Meta Platforms, Inc. Techniques for transactions associated with non-fungible tokens (nft) using artificial intelligence (ai) and machine learning (ml)
US20230205826A1 (en) * 2021-12-29 2023-06-29 Fima Leshinsky Systems and Method for Domain Mapping
US20230409652A1 (en) * 2022-06-20 2023-12-21 The Boeing Company Flight data object realization with graph database
CN114793204B (zh) * 2022-06-27 2022-09-02 山东林天信息科技有限责任公司 一种网络资产探测方法
CN115396467B (zh) * 2022-07-27 2024-02-27 重庆大学 一种开放物流体系使能系统构建方法、系统、存储介质及设备
KR102522634B1 (ko) * 2023-01-12 2023-04-18 (주)이수정보기술 네트워크 장비의 유지 보수 운용 자동화 방법, 장치 및 시스템

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6509898B2 (en) * 1998-04-17 2003-01-21 Xerox Corporation Usage based methods of traversing and displaying generalized graph structures
US6615166B1 (en) 1999-05-27 2003-09-02 Accenture Llp Prioritizing components of a network framework required for implementation of technology
US6765571B2 (en) * 1999-09-24 2004-07-20 Sun Microsystems, Inc. Using a master controller to manage threads and resources for scene-based rendering
US7061486B2 (en) * 1999-09-24 2006-06-13 Sun Microsystems, Inc. Using messaging to manage scene-based rendering
WO2008075272A1 (en) 2006-12-19 2008-06-26 Koninklijke Philips Electronics N.V. Apparatus and method for indicating likely computer-detected false positives in medical imaging data
US8169434B2 (en) * 2008-09-29 2012-05-01 Microsoft Corporation Octree construction on graphics processing units
US20130076773A1 (en) * 2011-09-22 2013-03-28 National Tsing Hua University Nonlinear revision control system and method for images
US9461876B2 (en) * 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
US9105062B2 (en) 2012-12-13 2015-08-11 Addepar, Inc. Transaction effects
US8978010B1 (en) 2013-12-18 2015-03-10 Sap Ag Pruning compilation dependency graphs
US10171318B2 (en) * 2014-10-21 2019-01-01 RiskIQ, Inc. System and method of identifying internet-facing assets
US9210185B1 (en) 2014-12-05 2015-12-08 Lookingglass Cyber Solutions, Inc. Cyber threat monitor and control apparatuses, methods and systems
US10417056B2 (en) * 2015-08-04 2019-09-17 Oracle International Corporation Systems and methods for performing concurrency restriction and throttling over contended locks
IL244937A (en) * 2016-04-05 2017-07-31 Musman Lior Global optimization and network load balancing
US10657163B2 (en) * 2017-02-22 2020-05-19 Open Text Sa Ulc Systems and methods for tracking assets across a distributed network environment
US10454774B2 (en) 2017-05-04 2019-10-22 Servicenow, Inc. Automated inventory for IoT devices
WO2019005098A1 (en) * 2017-06-30 2019-01-03 Go Logic Decision Time, Llc METHODS AND SYSTEMS FOR PROJECTIVE ASSERTION SIMULATION
US20200364088A1 (en) * 2019-05-16 2020-11-19 Nvidia Corporation Resource sharing by two or more heterogeneous processing cores
US11663498B2 (en) * 2019-05-21 2023-05-30 Sisense Ltd. System and method for generating organizational memory using semantic knowledge graphs
US11727058B2 (en) * 2019-09-17 2023-08-15 Intuit Inc. Unsupervised automatic taxonomy graph construction using search queries
US11347797B2 (en) * 2019-11-19 2022-05-31 Bit Discovery Inc. Asset search and discovery system using graph data structures

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116975007A (zh) * 2023-07-29 2023-10-31 上海螣龙科技有限公司 一种网络资产存储、展示的方法、系统、设备及介质
CN116975007B (zh) * 2023-07-29 2024-03-22 上海螣龙科技有限公司 一种网络资产存储、展示的方法、系统、设备及介质

Also Published As

Publication number Publication date
AU2020386847B2 (en) 2023-04-20
US20210149957A1 (en) 2021-05-20
WO2021101764A1 (en) 2021-05-27
US11816161B2 (en) 2023-11-14
EP4062290A4 (en) 2023-01-11
IL292776A (en) 2022-07-01
IL292776B2 (en) 2023-06-01
US20220277047A1 (en) 2022-09-01
JP2022551763A (ja) 2022-12-13
US11347797B2 (en) 2022-05-31
CA3154804A1 (en) 2021-05-27
EP4062290A1 (en) 2022-09-28
KR20220098247A (ko) 2022-07-11
AU2020386847A1 (en) 2022-05-26

Similar Documents

Publication Publication Date Title
AU2020386847B2 (en) Asset search and discovery system using graph data structures
US11310132B2 (en) System and method of identifying internet-facing assets
US10742591B2 (en) System for domain reputation scoring
US10740363B2 (en) Domain classification based on domain name system (DNS) traffic
US9191402B2 (en) Domain classification based on client request behavior
JP6510040B2 (ja) 不審なホストネームを識別するシステム及び方法
US8856360B2 (en) Automatically identifying dynamic internet protocol addresses
US10164989B2 (en) Distinguishing human-driven DNS queries from machine-to-machine DNS queries
US10735461B2 (en) Method for minimizing the risk and exposure duration of improper or hijacked DNS records
US20060230039A1 (en) Online identity tracking
US11025584B2 (en) Client subnet efficiency by equivalence class aggregation
US11093844B2 (en) Distinguishing human-driven DNS queries from machine-to-machine DNS queries
Bazli et al. The dark side of I2P, a forensic analysis case study
Wang Blacklist filtering for security research: bridging the gap between domain blacklists and malicious web content
CN114257530A (zh) 网络资产测绘方法、装置、设备及存储介质

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