CN109997143A - 敏感数据的安全共享 - Google Patents

敏感数据的安全共享 Download PDF

Info

Publication number
CN109997143A
CN109997143A CN201780074164.0A CN201780074164A CN109997143A CN 109997143 A CN109997143 A CN 109997143A CN 201780074164 A CN201780074164 A CN 201780074164A CN 109997143 A CN109997143 A CN 109997143A
Authority
CN
China
Prior art keywords
script
data
request
input
computing device
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
CN201780074164.0A
Other languages
English (en)
Inventor
I.G.马蒂克
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.)
Masa Robra Usa LLC
Original Assignee
McAfee LLC
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 McAfee LLC filed Critical McAfee LLC
Publication of CN109997143A publication Critical patent/CN109997143A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

在示例中,公开了一种计算装置,其具有:处理器;存储器;数据接口;以及一个或多个逻辑元件,所述逻辑元件提供查核引擎,以便:经由所述数据接口来接收输入脚本,所述输入脚本包括用于访问企业数据的请求;分析所述输入脚本,以确定所述输入脚本遵从数据请求准则;将应用编程接口(API)应用到所述输入脚本以收集企业数据;以及经由所述数据接口来发送企业数据。

Description

敏感数据的安全共享
相关申请的交叉引用
本申请要求对2016年9月30日提交的、题为“SAFE SHARING OF SENSITIVE DATA”、序列号为15/282,659的美国非临时专利申请的优先权,该美国非临时专利申请通过引用以其全部被并入本文中。
技术领域
本公开总体上涉及信息安全的领域,并且更具体地然而不排他地涉及用于敏感数据的安全共享的系统和方法。
背景技术
现代公司、并且更特别地是技术公司和证券公司可能生成并且存储大量数据。被包括在这些内的是不适合用于在企业外部共享的某些类型的数据,诸如知识产权、商业秘密、专有的、受限的、敏感的、经分类的客户或个人数据。因而,许多企业不愿意共享数据。
附图说明
当与附图一起阅读以下详细描述时,根据以下详细描述来最好地理解本公开。所强调的是,根据行业中的标准实践,各种特征不一定按比例绘制,并且仅用于图示的目的。在其中显式地或隐式地示出了尺度的情况下,它提供仅一个说明性示例。在其它实施例中,为了讨论的清楚,各种特征的尺寸可以被任意增加或减小。
图1是根据本说明书的一个或多个示例的启用了安全性(security-enabled)的网络的框图。
图2是根据本说明书的一个或多个示例的计算设备的框图。
图3是根据本说明书的一个或多个示例的服务器的框图。
图4是根据本说明书的一个或多个示例的查核(verification)引擎的框图。
图5是根据本说明书的一个或多个示例的共享数据架构的框图。
图6是根据本说明书的一个或多个示例的用于第三方请求对数据的访问的方法的流程图。
图7是根据本说明书的一个或多个示例的用于查核数据请求并提供数据的方法的流程图。
具体实施方式
以下公开提供了用于实现本公开的不同特征的许多不同实施例或示例。下面描述了组件和布置的具体示例以简化本公开。当然,这些仅仅是示例并且不意图是限制性的。进一步地,本公开可以在各种示例中重复参考标号和/或字母。该重复出于简单和清楚的目的,并且就其本身而言不指示在所讨论的各种实施例和/或配置之间的关系。不同的实施例可具有不同的优点,并且对于任何实施例,不一定要求特定优点。
尽管企业不愿意与彼此共享数据,但是存在这是必要的时候。例如,公司可能将工作分包给其它公司,两个或更多个公司可能进入到合资企业中,或者公司可能联合在一起以共同地准备并且提交针对合同的提案。公司还可以在如下情境中与学术机构或社区一起工作:在该情境中,他们将共享某些数据,但是必须维护其它方的安全性。在计算机安全空间中,为了得到攻击的全貌(full picture),安全服务提供商可能需要聚合来自其客户端的威胁情报以及来自其自己的竞争者的具有类似馈送的遥测(telemetry),并且将它们相互关联。
从企业向任何非企业行动者发送出数据是固有地有风险的动作,特别是如果数据量大的话。数据在发送之前可以被仔细地筛选和匿名化,但是仍存在错过某些敏感数据的危险。如遍及本说明书所使用的,“敏感数据”包括其分发应当被限制的任何数据或信息,作为非限制性示例,包括知识产权、商业秘密、公司专有的数据、受限的数据、敏感数据、经分类的数据、客户列表、个人标识信息(PII)、时间敏感的数据以及提供竞争优势的数据。
虽然经筛选的数据可以不直接包括敏感数据,但是经改进的数据挖掘技术(现在或未来的)可以使得有可能从不敏感的数据中推断出敏感数据。经筛选的数据还可以携带如下信息:该信息的提取方法将仅在稍后被发现(例如,经由机器学习的异常检测)。保密协议(NDA)是不完美的保护,这是因为它们可能被违反,或数据可能有意地或无意地被泄露,并且一旦数据在野外(in the wild),就不能始终将它们恢复。
这对于安全服务提供商而言可能是特别成问题的,这是由于他们专有的数据可以包括使得他们能够检测并且减轻恶意对象的威胁情报和算法。如果攻击者获得对这些数据的访问,则这可能使得他们能够精心制作绕过这些算法的新恶意软件。
企业可以采取措施来减轻敏感数据暴露的风险,包括例如:
a. 从可执行体(executable)中剥离可能揭露内部产品逻辑的调试信息。
b. 从数据中移除IP地址、电子邮件地址、姓名或其它PII(例如,编辑、涂黑或利用散列(hash)来替换)。
c. 使用别名(例如,经由利用固定别名对实际用户姓名的表驱动的替换)。
d. 对数据元素进行聚合和一般化(例如,对客户进行分组,并且使用城市名而不是实际GPS位置)。
被恰当地进行的这些方法具有有效地减轻数据丢失的潜力。然而,对于大数据集,这种预处理要求极大量的工时(大型律师事务所的年轻诉讼合伙人全部熟悉于在有成果之前针对敏感或诉讼关键的数据手动预览成千上万的文档的让人为难的任务),或者要求熟悉于所共享的数据结构的整个范围的综合解析器。正确地做这些甚至一次都可能是极度昂贵的,并且当它必须在持续的基础上进行时变得昂贵得多。
因而,甚至在进行了某种水平的筛选时,将筛选与其它更有响应性的技术进行组合是有益的,该技术包括如在本说明书中所描述的对查核引擎的使用,该查核引擎可以被提供为面向外部的应用编程接口(API)。查核引擎API允许第三方经由输入脚本通过发布第三方数据请求来远程地“拉取”数据,而不是企业侧的数据“推送”。查核引擎可以以编程方式或在数学上查核输入脚本以确保它将不拉取任何敏感数据,查核引擎可以执行该脚本,并且然后在将所请求的数据分组导出到第三方之前对其进行查核。
如在本说明书中所使用,“脚本”指示经受分析的任何命令或指令流或序列。这可以包括传统的文本脚本(诸如,JavaScript命令的序列)、字节码编译的脚本(诸如,Java“.jar”文件)、或甚至是经编译的二进制文件,只要保留足够的信息以准许分析即可,诸如具有足够的嵌入式调试符号以准许分析的二进制文件,或由可以被合理分析的指令的受限结构和子集所定义的二进制文件。查核引擎可以与以某种现有语言(或其子集)(诸如,JavaScript、Java、C#、C、XML或类似物)存在的脚本兼容,或者它可以提供特制的专有语言,该特制的专有语言提供仅某些经允许的命令。当使用现有语言时可以实现对这一点的混合,但是仅允许其命令的子集,或者提供仅暴露某组经允许的命令的新的库。
当企业接收到脚本时,进入分析器(ingress analyzer)可以初始地分析脚本以查核它仅包含经允许的命令,并且是以为了不取回任何敏感数据的这种方式而被结构化的。该分析可以由规则引擎驱动,该规则引擎寻找某些受限的或经允许的操作、结构和序列。它还可以或可以可替换地包括符号形式化的或数学的分析,该分析使用现有工具(诸如,Coq证明或Maude系统)以证明输入脚本不执行任何不正当操作。在一些情况中,企业可以向第三方提供输入脚本验证器,第三方可以使用该输入脚本验证器以在尝试将脚本发送到企业之前查核脚本。
在示例中,该分析还可以由声誉引擎(reputation engine)驱动,该声誉引擎可以基于与向网络对象指派声誉类似的算法来向脚本指派声誉。这可以是内部过程,或者可以受分离的安全服务提供商(诸如McAfee®)帮助,该分离的安全服务提供商维护声誉的全球威胁情报™(GTI™)数据库。
一旦已经分析并且查核了脚本,API引擎就可以执行脚本,从而收集所请求的数据。在一些实施例中,一旦数据被聚集,离开分析器(egress analyzer)就可以在导出所收集的数据之前分析所收集的数据。这可以再次涉及规则引擎,该规则引擎可以包括例如正则表达式,该正则表达式搜索以如下格式存在的数据:姓名、地址、GPS坐标、电子邮件地址、IP地址、公司专有或机密的、或其它敏感的数据。如果数据没有通过检查,则它们可能被拒绝,或被标记以用于附加的人类分析。
提供用于访问数据存贮器的仅几个API有助于减小滥用的可能性。例如,最低限度地,脚本可以仅具有用于访问数据的一个API(诸如,ReadTelemetryHash()),以及用于发射输出的仅一个API(诸如,WriteLine())。ReadTelemetryHash()可以被实现以仅向脚本传递来自遥测日志的单个散列。该种类的操作是非常安全的,并且自动地移除暴露遥测日志的任何其它元素的风险。在必要时以及当必要时可以添加附加的安全API(例如,ReadTelemetryTimestampforHash(),其将会向脚本给出何时已经将散列记录在遥测中的时间戳:)。在某些实施例中,最优API精确地展露对于服务数据传递的合法目的而言必要的功能性,并且不展露任何附加的功能性。
有利地,通过使用本说明书的查核引擎和API:
a. 数据从不大批地离开企业,从而减小重新分发的风险。
b. 易于控制由输入脚本提取的数据的量和类型(例如,限制每天或每次运行的传出信息的量,其可以根据第三方的声誉或来源国家而被调整)。
c. 易于通过修改向脚本提供的API集合来控制对原始数据的访问级别。
d. 系统设计者可以通过如下来对查核引擎进行验证:向它馈送非法脚本,或馈送产生已知敏感信息的脚本。可以在小的人工数据集上执行验证脚本,并且可以观察并且精细调整查核引擎检测并且阻断对敏感数据的访问的能力。
e. 有可能在传出的数据离开企业之前对其进行检查(以编程方式经由例如一组规则,以及经由人类检查)。
现在将更具体地参考附图来描述用于敏感数据的安全共享的系统和方法。应当注意到,遍及各图,某些参考标号可以被重复以指示特定设备或块跨各图而完全或大体上一致。然而,这不意图暗示在所公开的各种实施例之间的任何特定关系。在某些示例中,一类的元素可以由特定的参考标号(“微件10”)来指代,而该类的个别种类或示例可以由带有连字符号的标号(“第一具体微件10-1”和“第二具体微件10-2”)来指代。
图1是根据本说明书的一个或多个示例的受防护的企业100的网络级图解。在图1的示例中,受防护的企业100可能需要与第三方企业160共享数据,该第三方企业160可以经由外部网络172来访问信息或服务。企业100可以提供如在本文中所公开的API和查核引擎,该API和查核引擎可以允许第三方企业请求数据。
在受防护的企业100内,一个或多个用户120操作一个或多个客户端设备110。每个设备可以包括适当的操作系统,诸如Microsoft Windows、Linux、Android、Mac OSX、AppleiOS、Unix或类似物。前述各项中的一些在一种类型的设备上可能比在另一种类型的设备上更经常地使用。例如,台式计算机或工程工作站可以更可能使用Microsoft Windows、Linux、Unix或Mac OSX中的一个。通常作为具有较少定制选项的便携式现成设备的膝上型计算机可以更可能运行Microsoft Windows或Mac OSX。移动设备可以更可能运行Android或iOS。然而,这些示例不意图是限制性的。
客户端设备110可以经由企业网络170而通信地彼此耦合,以及通信地耦合到其它网络资源。企业网络170可以是任何合适的网络或者在一个或多个合适的联网协议上操作的一个或多个网络的组合,作为非限制性示例,包括例如局域网、内联网、虚拟网络、广域网、无线网络、蜂窝式网络、或互联网(它们可选地经由代理、虚拟机、或其它类似的安全机构来访问)。企业网络170还可以包括一个或多个服务器、防火墙、路由器、交换机、安全器具、反病毒服务器、或其它有用的网络设备,它们在示例中可以被虚拟化在工作负载集群142内。在该图示中,企业网络170为了简单而被示出为单个网络,但是在一些实施例中,企业网络170可以包括大量网络,诸如连接到互联网的一个或多个企业内联网。企业网络170还可以提供对外部网络、诸如经由外部网络172对互联网的访问。外部网络172可以类似地是任何合适类型的网络。
工作负载集群142可以例如被提供为在多个机架装配式刀片服务器上的监督器(hypervisor)中运行的虚拟集群,或被提供为物理服务器的集群。工作负载集群142可以提供一个或多个服务器功能,或在一个或多个监督器中提供一个或多个“微云”。例如,诸如vCenter之类的虚拟化环境可以提供用于定义多个“租户”的能力,其中每个租户与每个其它租户在功能上分离,并且每个租户作为单一目的的微云而操作。每个微云可以用于不同的功能,并且可以包括具有许多不同特点的多个虚拟机(VM),包括有代理和无代理的VM。
还应当注意到,端点设备110的一些功能性还可以经由工作负载集群142来提供。例如,一个微云可以提供远程桌面监督器(诸如,Citrix工作空间),其允许操作端点110的用户120远程地登录到远程企业桌面,并且访问企业应用、工作空间和数据。在该情况中,端点110可以是仅运行精简(stripped-down)的操作系统的“瘦客户端”(诸如,GoogleChromebook),并且仍向用户120提供对企业资源的有用访问。
被配置为管理控制台140的一个或多个计算设备也可以在企业网络170上操作。管理控制台140可以为安全管理员150提供用户接口以定义企业安全策略,管理控制台140可以在企业网络170上并且跨客户端设备110和工作负载集群142来施行该企业安全策略。在示例中,管理控制台140可以运行服务器类的操作系统,诸如Linux、Unix或Windows服务器。在其它情况中,在台式类机器上,或经由工作负载集群142内所提供的VM,管理控制台140可以被提供为web(网络)接口。
受防护的企业100在网络上可能遭遇各种“安全对象”。安全对象可以是如下任何对象:其在企业网络170上操作或与企业网络170交互,并且具有实际或潜在的安全暗示。在一个示例中,安全对象可以被宽泛地划分成硬件对象(包括与网络通信或经由网络而操作的任何物理设备)和软件对象。软件对象可以进一步被细分为“可执行对象”和“静态对象”。可执行对象包括可以主动执行代码或自主地进行操作的任何对象,作为非限制性示例,诸如应用、驱动器、程序、可执行体、库、过程、运行时、脚本、宏、二进制文件、解译器、经解译的语言文件、具有内嵌代码的配置文件、嵌入式代码、以及固件指令。静态对象可以宽泛地被指定为不是可执行对象或不能执行的任何对象,作为非限制性示例,诸如文档、图片、音乐文件、文本文件、没有内嵌代码的配置文件、视频以及图画。在一些情况中,还可以提供混合软件对象,诸如例如具有内置宏的文字处理文档、或具有内嵌代码的动画。出于安全目的,这些可以被视为单独的一类软件对象,或可以仅仅被当作可执行对象。
受防护的企业100可以跨企业边界104而与外部网络172通信。企业边界104可以表示物理、逻辑或其它边界。外部网络172可以包括例如网站、服务器、网络协议以及其它基于网络的服务。在一个示例中,攻击者180(或其它类似的恶意或疏忽的行动者)也可以连接到外部网络172。安全服务提供商190可以向受防护的企业100提供服务。
在没有来自攻击者180或来自不想要的安全对象的干扰的情况下成功地操作客户端设备110和工作负载集群142可能是用户120和安全企业100的目标。在一个示例中,攻击者180是恶意软件作者,其目标或目的是例如通过将恶意对象182注入到客户端设备110中而引起恶意伤害或恶作剧。一旦恶意对象182获得了对客户端设备110的访问,它就可以尝试在客户端设备110上执行工作(诸如,用户120的社交工程、基于硬件的攻击),从而修改存储装置350(图3)、修改客户端应用112(其可以运行在存储器中)、或者获得对企业服务器142的访问。
恶意伤害或恶作剧可以采取如下形式:在客户端设备110上安装恶意软体(rootkit)或其它恶意软件以篡改系统,安装间谍软件或广告软件来收集个人和商业数据,丑化网站、操作僵尸网络(诸如,垃圾邮件服务器),或仅仅骚扰和困扰用户120。因而,攻击者180的一个目的可能是在一个或多个客户端设备110上安装他的恶意软件。如遍及本说明书所使用,恶意的软件(“恶意软件”)包括被配置成提供不想要的结果或做不想要的工作的任何安全对象。在许多情况中,恶意软件对象将是可执行对象,作为非限制性示例,包括病毒、木马病毒、僵尸、恶意软体、后门程式、蠕虫病毒、间谍软件、广告软件、勒索软件、拨号器、有效载荷、恶意浏览器帮手对象、追踪cookie、登录器、或者被设计成采取潜在不想要的动作的类似对象,作为非限制性示例,该潜在不想要的动作包括数据毁坏、隐密数据收集、浏览器劫持、网络代理或重定向、隐密追踪、数据记入日志、密钥记入日志、要移除的过量或故意的屏障、联系簿获得、以及未经授权的自传播。
攻击者180还可能想要针对受防护的企业100犯下行业或其它间谍活动,诸如窃取如本文中所描述的敏感数据,诸如通过注入或执行无效输入脚本或者注入或执行收集未经授权的数据的脚本。
受防护的企业100还可以与安全服务提供商190订约或向安全服务提供商190订购,该安全服务提供商190可以提供安全服务、更新、反病毒定义、补丁、产品和服务。McAfee®公司是提供综合的安全和反病毒解决方案的这种安全服务提供商的非限制性示例。在一些情况中,安全服务提供商190可以包括威胁情报能力,诸如由McAfee公司所提供的全球威胁情报(GTI™)数据库。安全服务提供商190可以通过如下来更新其威胁情报数据库:在新的候选恶意对象出现在客户端网络上时分析该新的候选恶意对象,并且将它们表征为恶意的或良性的。要注意到的是,除了提供安全声誉之外,在其中对输入脚本的分析至少部分地依赖于声誉的实施例中,安全服务提供商190还可以提供那些声誉。在其它实施例中,受防护的企业100可以在内部提供那些声誉。
在另一示例中,受防护的企业100可以仅仅是家庭,其中父母担任安全管理员150的角色。父母可能希望保护他们的孩子免受不合期望的内容,作为非限制性示例,诸如淫秽作品、广告软件、间谍软件、不适龄的内容、对于某些政治、宗教或社会运动的主张、或用于讨论非法或危险活动的论坛。在该情况中,父母可以执行安全管理员150的职责中的一些或全部。
当在网络上首次遭遇新对象时,安全策略可以初始地将它当作“灰色的”或“可疑的”。要注意到的是,这可以包括来自第三方企业160的输入脚本,该输入脚本可以独立于由图3的查核引擎324所执行的分析而被当作网络对象。
作为第一防线,集群142中的安全器具可以查询安全服务提供商190,以查看新对象是否具有全球认可的声誉。如果是这样,则可以基于该全球声誉而生成局部声誉。如果不是,则该对象是完全新的,并且可以被当作“候选恶意对象”,这意味着其状态是未知的,并且因此它可能是恶意对象。以最低限度,新对象在其对受保护的资源的访问中可以被禁止,直到可以确立其声誉为止。这可能意味着,对于候选恶意对象而言,要求来自用户120或安全管理员150的额外许可来访问受保护的资源。
候选恶意对象还可能经受附加的严格安全分析,特别是如果它是没有全球声誉的新对象,或如果它是可执行对象的话。这可以包括例如将对象提交给内部安全审计,或提交给安全服务提供商190,以用于深度分析。这可以包括用沙盒环境、专家状态分析或其它安全技术来运行对象。这些可以有助于确立对象的新声誉。
如果准许对象在网络上操作并且观察到了恶意行为,则对象可以被加标签为恶意对象182。然后,可以在适当或必要时采取补救动作。因而,用户120和安全管理员150的目标是:配置和操作客户端设备110、工作负载集群142以及企业网络170,以便排除所有恶意对象并且迅速且准确地对候选恶意对象进行分类。
图2是根据本说明书的一个或多个示例的客户端设备200的框图。客户端设备200可以是任何合适的计算设备。在各种实施例中,“计算设备”作为非限制性示例可以是或包括计算机、工作站、服务器、大型机、虚拟机(无论是被仿真的还是在“裸金属”监督器上)、嵌入式计算机、嵌入式控制器、嵌入式传感器、个人数字助理、膝上型计算机、蜂窝电话、IP电话、智能电话、平板计算机、可转换的平板计算机、计算器具、网络器具、接收器、可穿戴计算机、手持式计算器、或用于处理和传送数据的任何其它电子、微电子或微机电设备。任何计算设备可以被指定为网络上的主机。每个计算设备可以将其自身指代为“本地主机”,而在它外部的任何计算设备可以被指定为“远程主机”。
在某些实施例中,客户端设备110可以全部是客户端设备200的示例。
客户端设备200包括连接到存储器220的处理器210,该存储器220已经在其中存储了用于提供脚本代理224的至少软件部分以及操作系统222的可执行指令。客户端设备200的其它组件包括存储装置250、网络接口260和外围接口240。该架构仅作为示例而被提供,并且意图是非排他性和非限制性的。此外,所公开的各种部分仅意图是逻辑划分,并且不需要一定表示物理上分离的硬件和/或软件组件。某些计算设备例如在单个物理存储器设备中提供主存储器220和存储装置250,并且在其它情况中,存储器220和/或存储装置250在功能上跨许多物理设备分布。在虚拟机或监督器的情况中,功能的全部或部分可以以如下软件或固件的形式来提供:该软件或固件在虚拟化层上运行以提供所公开的逻辑功能。在其它示例中,诸如网络接口260之类的设备可以提供对于执行其逻辑操作而言必要的仅最小限度的硬件接口,并且可以依赖于软件驱动器来提供附加的必要逻辑。因而,本文中所公开的每个逻辑块宽泛地意图包括一个或多个逻辑元件,该逻辑元件被配置成并且可操作用于提供该块的所公开的逻辑操作。如遍及本说明书所使用的,“逻辑元件”可以包括硬件、外部硬件(数字的、模拟的、或混合信号)、软件、往复式软件、服务、驱动器、接口、组件、模块、算法、传感器、组件、固件、微代码、可编程逻辑、或者可以协调以实现逻辑操作的对象。
在示例中,处理器210经由存储器总线270-3而通信地耦合到存储器220,该存储器总线270-3作为示例可以是例如直接存储器存取(DMA)总线,尽管其它存储器架构是可能的,该其它存储器架构包括如下架构:其中存储器220经由系统总线270-1或某种其它总线来与处理器210通信。处理器210可以经由系统总线270-1而通信地耦合到其它设备。如遍及本说明书所使用的,“总线”包括任何有线或无线的互连线路、网络、连接、束(bundle)、单个总线、多个总线、纵横式网络、单级网络、多级网络、或可操作以在计算设备的部分之间或在计算设备之间运送数据、信号或功率的其它传导介质。应当注意到,这些使用仅作为非限制性示例而被公开,并且一些实施例可以省略前述总线中的一个或多个,而其它实施例可以采用附加的或不同的总线。
在各种示例中,“处理器”可以包括可操作以执行指令(无论是从存储器加载的还是直接在硬件中实现的指令)的逻辑元件的任何组合,作为非限制性示例,该逻辑元件包括微处理器、数字信号处理器、现场可编程门阵列、图形处理单元、可编程逻辑阵列、专用集成电路、或虚拟机处理器。在某些架构中,可以提供多核处理器,在该情况中,处理器210在适当时可以被当作多核处理器的仅一个核,或可以被当作整个多核处理器。在一些实施例中,还可以提供一个或多个协处理器以用于专门化的或支持功能。
处理器210可以以DMA配置经由DMA总线270-3而连接到存储器220。为了简化本公开,存储器220被公开为单个逻辑块,但是在物理实施例中可以包括任何合适的易失性或非易失性的一个或多个存储器技术的一个或多个块,包括例如DDR RAM、SRAM、DRAM、高速缓存、L1或L2存储器、片上存储器、寄存器、闪存、ROM、光学介质、虚拟存储器区、磁性或磁带存储器、或类似物。在某些实施例中,存储器220可以包括相对低延迟的易失性主存储器,而存储装置250可以包括相对更高延迟的非易失性存储器。然而,存储器220和存储装置250不需要是物理上分离的设备,并且在一些示例中可以仅仅表示功能的逻辑分离。还应当注意到,尽管作为非限制性示例而公开了DMA,但是DMA不是与本说明书一致的仅有的协议,并且其它存储器架构是可用的。
存储装置250可以是任何种类的存储器220,或者可以是分离的设备。存储装置250可以包括一个或多个非暂时性计算机可读介质,作为非限制性示例,包括硬驱动器、固态驱动器、外部存储装置、独立盘冗余阵列(RAID)、网络附加(network-attached)的存储装置、光学存储装置、磁带驱动器、备份系统、云存储装置、或前述各项的任何组合。存储装置250可以是或可以在其中包括一个或多个数据库、或以其它配置存储的数据,并且可以包括操作软件的所存储的拷贝,该操作软件诸如脚本代理224的软件部分和操作系统222。许多其它配置也是可能的,并且意图被包括在本说明书的宽泛范围内。
可以提供网络接口260以将客户端设备200通信地耦合到有线或无线网络。如遍及本说明书所使用的“网络”可以包括可操作以在计算设备内或在计算设备之间交换数据或信息的任何通信平台,作为非限制性示例,包括自组织(ad-hoc)局部网络、为计算设备提供电子交互的能力的互联网架构、老旧式电话系统(POTS)(计算设备可以使用该系统来执行业务,其中它们可以受人类操作员辅助或者其中它们可以手动地将数据键入到电话或其它合适的电子装备中)、提供在系统中的任何两个节点之间的通信接口或交换的任何分组数据网络(PDN)、或任何局域网(LAN)、城域网(MAN)、广域网(WAN)、无线局域网(WLAN)、虚拟私有网络(VPN)、内联网、或便于网络或电话环境中的通信的任何其它适当架构或系统。
在一个示例中,安全代理224可操作以实施如在本说明书中所描述的计算机实现的方法。安全代理224可以包括一个或多个有形、非暂时性的计算机可读介质,该介质已经在其上存储了可执行指令,该可执行指令可操作以指示处理器提供脚本代理224。如遍及本说明书所使用的,“引擎”包括相似或不相似种类的一个或多个逻辑元件的任何组合,该逻辑元件可操作用于并且被配置成执行由引擎所提供的一个或多个方法。因而,脚本代理224可以包括一个或多个逻辑元件,该逻辑元件被配置成提供如在本说明书中所公开的方法。在一些情况中,脚本代理224可以包括被设计成实施方法或其一部分的特殊集成电路,并且还可以包括软件指令,该软件指令可操作以指示处理器执行该方法。在一些情况中,脚本代理224可以作为“守护程序(daemon)”过程而运行。“守护程序”可以包括任何程序或可执行指令系列(无论是以硬件、软件、固件、或其任何组合来实现),其作为如下各项而运行:后台过程、终止并驻留(terminate-and-stay-resident)程序、服务、系统扩展、控制面板、引导过程、BIOS子例程、或在没有直接用户交互的情况下操作的任何类似程序。在某些实施例中,守护程序过程可以利用提高的权限而在与保护环架构中的环0、1或2相关联的“驱动器空间”中运行。还应当注意到,脚本代理224还可以包括其它硬件和软件,作为非限制性示例,包括配置文件、注册表条目、以及交互式或用户模式的软件。
在一个示例中,脚本代理224包括被存储在非暂时性介质上的可执行指令,其可操作以执行根据本说明书的方法。在适当的时间处,诸如在引导客户端设备200时或在来自操作系统222或用户120的命令时,处理器210可以从存储装置250取回指令的拷贝并且将它加载到存储器220中。处理器210然后可以迭代地执行脚本代理224的指令以提供所期望的方法。
在某些实施例中,脚本代理224可以包括合适的用户接口,诸如集成开发环境(IDE)、用于构建脚本的编辑器或图形用户接口(GUI),以及可以模拟、编译、解译、验证或以其它方式处理输入脚本的后端。在一些实施例中,脚本代理224可以包括由受防护的企业100所提供的脚本验证器,其目的是模拟脚本在网络环境中的运行,并且查核脚本是有效的并且将不会导致对敏感数据的尝试收集。这可以有助于节省时间,这是由于第三方企业160可以不需要仅仅为了发现输入脚本是无效的或将被拒绝而来回地传递输入脚本。这还可以有助于增加第三方企业160的声誉,这是由于无效或可疑脚本的提交可能会负面地影响其声誉。
外围接口240可以被配置成与任何辅助设备对接,该辅助设备连接到客户端设备200,但是不一定是客户端设备200的核心架构的一部分。外围设备可以是可操作以向客户端设备200提供经扩展的功能性,并且可以或可以不完全取决于客户端设备200。在一些情况中,外围设备可以是独立的计算设备。外围设备可以包括输入和输出设备,作为非限制性示例,诸如显示器、终端、打印机、键盘、鼠标、调制解调器、数据端口(例如,串行、并行、USB、防火墙或类似物)、网络控制器、光学介质、外部存储装置、传感器、换能器、致动器、控制器、数据获取总线、相机、麦克风、扬声器或外部存储装置。
在一个示例中,外围设备包括显示适配器242、音频驱动器244和输入/输出(I/O)驱动器246。显示适配器242可以被配置成提供人类可读的可视输出,诸如命令行接口(CLI)或图形桌面,诸如Microsoft Windows、Apple OSX桌面、或基于Unix/Linux X窗口系统的桌面。显示适配器242可以提供以任何合适格式的输出,作为非限制性示例,诸如同轴输出、复合视频、分量视频、VGA、或者诸如DVI或HDMI之类的数字输出。在一些示例中,显示适配器242可以包括硬件图形卡,其可以具有其自己的存储器及其自己的图形处理单元(GPU)。音频驱动器244可以提供用于可听声音的接口,并且在一些示例中可以包括硬件声卡。声音输出可以以模拟(诸如,3.5mm立体声插孔)、分量(“RCA”)立体声、或以数字音频格式来提供,该数字音频格式作为非限制性示例诸如S/PDIF、AES3、AES47、HDMI、USB、蓝牙或Wi-Fi音频。
图3是根据本说明书的一个或多个示例的服务器类的设备300的框图。服务器300可以是如结合图2所描述的任何合适的计算设备。一般地,图2的定义和示例可以被认为等同地可适用于图3,除非以其他方式特别声明。服务器300在本文中被分离地描述以说明:在某些实施例中,根据本说明书的逻辑操作可以沿客户端-服务器模型来划分,其中客户端设备200提供某些局部化的任务,而服务器300提供某些其它集中式的任务。在同时期的实践中,服务器300比客户端设备200更可能被提供为在计算集群上运行的“无头”VM,或被提供为独立的器具,尽管没有要求这些配置。
服务器300包括连接到存储器320的处理器310,该存储器320已经在其中存储了用于提供查核引擎324的至少软件部分以及操作系统322的可执行指令。服务器300的其它组件包括存储装置350、网络接口360和外围接口340。如图2中所描述,可以由一个或多个相似或不相似的逻辑元件来提供每个逻辑块。
在示例中,处理器310经由存储器总线370-3而通信地耦合到存储器320,该存储器总线370-3可以例如是直接存储器存取(DMA)总线。处理器310可以经由系统总线370-1而通信地耦合到其它设备。
处理器310可以以DMA配置经由DMA总线370-3或经由任何其它合适的存储器配置而连接到存储器320。如图2中所讨论的,存储器320可以包括任何合适类型的一个或多个逻辑元件。
存储装置350可以是任何种类的存储器320,或者可以是分离的设备,如结合图2的存储装置250所描述的。存储装置350可以是或可以在其中包括一个或多个数据库、或以其它配置存储的数据,并且可以包括操作软件的所存储的拷贝,该操作软件诸如查核引擎324的软件部分和操作系统322。
可以提供网络接口360以将服务器300通信地耦合到有线或无线网络,并且网络接口360可以包括如在图2中所描述的一个或多个逻辑元件。
查核引擎324是如在图2中所描述的引擎,并且在一个示例中包括一个或多个逻辑元件,该逻辑元件可操作以实施如在本说明书中所描述的计算机实现的方法。查核引擎324的软件部分可以作为守护程序过程而运行。
查核引擎324可以包括一个或多个非暂时性计算机可读介质,该介质已经在其上存储了可执行指令,该可执行指令可操作以指示处理器提供查核引擎324。在适当的时间处,诸如在引导服务器300时或在来自操作系统322或用户120或安全管理员150的命令时,处理器310可以从存储装置350取回查核引擎324(或其软件部分)的拷贝并且将它加载到存储器320中。处理器310然后可以迭代地执行查核引擎324的指令以提供所期望的方法。下面结合图4讨论了查核引擎324的附加方面。
外围接口340可以被配置成与任何辅助设备对接,该辅助设备连接到服务器300,但是不一定是服务器300的核心架构的一部分。作为非限制性示例,外围设备可以包括图2中所公开的外围设备中的任一个。在一些情况中,服务器300可以包括比客户端设备200更少的外围设备,这反映了它可以更多地聚焦于提供处理服务而不是直接与用户对接。
图4是根据本说明书的一个或多个示例的查核引擎324的框图。在图4的示例中,第三方(诸如,第三方企业160)提供第三方输入402。这可以是如遍及本说明书所讨论的输入脚本。
在接收到输入脚本之后,查核引擎324使第三方输入402经受进入分析器404。进入分析器404可以被配置成执行初始分析以确保输入脚本402执行仅经授权的操作,并且它将不会导致导出物为受限或敏感的数据。该分析可以由规则引擎416驱动,该规则引擎416寻找某些受限或被允许的操作、结构和序列。规则引擎416可以包括一组规则,该一组规则列出了例如:经授权或受限的操作、用于导出的数据的经授权或受限的类型、或可以在各种类型的数据上执行的操作的类型、关于哪些第三方被准许在哪些数据集上执行哪些操作的规则、或可以用于验证输入脚本的任何其它规则。除了结合本文中所讨论的形式化查核方法之外或结合本文中所讨论的形式化查核方法,可以使用静态或动态规则的应用。
它可以还或可替换地包括符号形式化的或数学的分析,该分析使用现有工具(诸如,Coq证明或Maude系统)以证明输入脚本不执行任何不正当操作。
在示例中,该分析还可以从声誉引擎418接收输入,该声誉引擎418可以基于与向网络对象指派声誉类似的算法向脚本指派声誉。这可以是内部过程,或者可以受分离的安全服务提供商(诸如McAfee®)帮助,该分离的安全服务提供商维护声誉的全球威胁情报™(GTI™)数据库。
声誉引擎418可以独立地向输入脚本指派声誉,或可以与第三方对接,该第三方诸如McAfee®或另一安全服务提供商190。在该情境中,声誉可以类似于由McAfee的全球威胁情报(GTI™)数据库为网络对象所提供的声誉,尽管示例是非限制性的。可以使用其它类型的声誉,并且声誉一般地可以表示脚本合法的可能性,该可能性可以基于诸如以下各项之类的因素的组合:源企业(例如,脚本是否来自于已知发送良好脚本的源)、签名(脚本是否具有与先前经查核的脚本匹配的签名)或其它因素。
为了便于讨论,更可疑的声誉可以被视为“低”声誉,而不太可疑的声誉可以被视为“高”声誉。但是这不意图暗示声誉需要是具有表示“不良”的低值和表示“良好”的高值的简单标量评分。相反,指定“高”和“低”意图在概念上表示特定对象的信任级别。在更宽泛的意义上,声誉可以是多维评分,其可以包括诸如以下各项之类的因素:第三方的声誉、脚本的数字签名、脚本的大小、按时间单位从单个源接收的脚本的数目、脚本的复杂度、在脚本中所使用的命令的范围、以及脚本是否是经签名或经查核的二进制文件。
在一些实施例中,声誉越高,对于脚本而言可能要求越少的详细审查。例如,如果脚本接收到低声誉评分,则可能没有数据被导出,直到脚本及其输出二者都已经经受了人类安全专员进行的专家手动分析为止。在另一方面,具有非常高声誉的脚本(例如,来自具有与先前经查核的脚本匹配的签名的受信源的脚本)在它被允许运行之前可以经受很少分析或不经受任何分析。
一旦脚本被验证和授权,它就可以被提供到API引擎406。API引擎406提供、实现API,并且响应于由输入脚本402所提供的命令而执行内部命令。API引擎406可以向数据收集器408提供信号,该数据收集器408起作用、从数据存贮器收集实际数据。在一些实施例中,数据收集器408是非平凡(nontrivial)的软件组件,其可以提供用于以下各项的复杂的并且逻辑密集的过程:匹配正则表达式、寻找某些元数据、对搜索项进行搜索、或咀嚼(crunch)、分析、压缩、解压缩或以其它方式处理数据。
数据聚合器410聚合由数据收集器408所提供的数据。这可以包括对数据进行分类、压缩、封装、排序、组织或以其它方式进行处理,以使得它适合用于导出到第三方并且由第三方消费。要注意到的是,数据聚合器410还可以具有如下任务:对由数据收集器408所收集的数据的某些部分进行掩蔽、使其模糊或将其拒绝。例如,如果数据包括电子邮件,则数据聚合器410可以编辑具体的电子邮件地址以及其它个人标识信息。可以被模糊或编辑的其它类型的数据包括姓名、地址、电话号码、社会保障号码、账号、信用卡数据、账单数据、个人偏好、位置或任何其它敏感数据。这使得受防护的企业100能够导出包含敏感数据的某些文档,而不损害那些敏感数据。
数据聚合器410向输出分析器412提供其经聚合和经筛选的数据。输出分析器412可以对被提议用于导出的数据执行最终检查,以确保没有任何数据包括敏感信息或以其它方式公开了不应当向第三方给出的信息。如果输出分析器412确定经聚合的数据包括敏感信息或以其它方式不适合用于导出,则它可以提出错误状况。响应于该错误状况,输出分析器412可以例如将数据传递回到数据聚合器410以编辑敏感数据。可替换地,数据聚合器412可以使该操作失败,删除敏感文档,更新针对脚本或其源第三方的声誉,和/或通知安全专家:输入脚本可能是疏忽的或恶意的,使得进一步的补救动作可以被采取。
输出分析器412还可以与规则引擎416对接。规则引擎416可以针对输出分析器412使用与它应用到进入分析器404的规则相同或不同的规则,或可以存在部分重叠或没有重叠。
输出分析器412向输出API 414提供其经筛选和经查核的数据。输出API 414向第三方企业160提供外部接口,这使得第三方企业160能够接收所请求的数据。这些被接收作为第三方输出416,其被导出到第三方企业160以用于其合法且经授权的使用。
图5是根据本说明书的一个或多个示例的数据架构的框图。本文中所公开的数据架构可以有助于驱动对输入脚本的分析以及对所提议的输出的分析,并且因而可以全部或部分地在以下各项中的一个或多个中被编码:进入分析器404、规则引擎416、声誉引擎418或第三方输出416。
在该示例中,标识了两类数据。首先,存在一类经清理的数据502。经清理的数据502包括如下数据:该数据没有敏感信息从而达到足够的置信度,使得它们可以在很少或没有附加筛选的情况下被导出到至少一些第三方。经清理的数据502可以包括具有已经在预处理阶段中被预筛选、被编辑、被模糊或以其它方式被清理的敏感数据的文档。取决于第三方企业160的标识,查核引擎324可以被授权在很少或没有限制的情况下将经清理的数据500中的一些或全部导出到第三方企业160。
在另一方面,未经清理的数据504包括已经被决定性地标识为包含敏感信息的数据,或其敏感性状态未知的数据。这可以包括未经分析的文档和未经筛选的文档,以及已经被标识为包含敏感数据的文档。因而,大规模向第三方160导出未经清理的数据504可能是非常危险的。因此所期望的是,在任何导出之前分析未经清理的数据504。这可以包括本文中所公开的方法。特别地,对所有未经清理的数据504进行大规模分析、预处理、并将其分类成经清理的数据502可能是不必要的。相反,当第三方企业160向查核引擎324发布数据请求时,查核引擎可以使用本文中所公开的方法(包括图4的逻辑处理块)以分析未经清理的数据504的所请求的部分,并且确定是否可以导出那些,并且在导出它们之前确定它们是否需要被清理。在一些实施例中,数据从未经清理的数据504中取回,被数据聚合器410聚合,并且然后根据本文中所公开的方法而被清理。在适当时,那些数据中的一些或全部然后可以被存储,作为经清理的数据502。
一旦查核引擎324已经聚合了来自经清理的数据502和未经清理的数据504两者的数据并且可选地对其进行了清理,这些数据就可以被聚合到经查核的数据块506中。经查核的数据506准备好在没有任何附加限制的情况下导出到第三方企业160。
要注意到的是,被视为经清理与未经清理的数据不需要是静态分类。特别地,这些分类可以取决于第三方企业160的标识而改变。例如,如果第三方企业160是在准备共同提案中的合作伙伴,则关于提案的数据可以相对自由地与第三方企业160共享。在另一方面,如果第三方企业160是竞争提案团队的部分,则关于提案的数据对于该第三方可能是高度受限的。因而,取决于境况,经清理与未经清理的数据的分类可以是动态的并且是情境相关的。数据不被视为经查核的数据506,直到为了导出到特定第三方企业160而对其进行认证为止。
图6是根据本说明书的一个或多个示例的用于第三方从受防护的企业100请求数据的方法600的流程图。
在框602中,第三方160编译API脚本。编译API脚本可以是如下任务:该任务可以通过脚本引擎224而被完全自动化;或者该任务由已经被提供有API规范和相关文档资料的拷贝的内部程序员来执行。一旦候选API脚本被编译,API脚本就可以经受由第三方API脚本分析器的分析。这可能已经由受防护的企业100提供,以在将候选脚本上传到受防护的企业100之前查核该候选脚本。这允许第三方企业160在将其自己的脚本发送出去之前预筛选这些脚本。这有助于确保第三方企业160维持发送良好脚本的高声誉,这可以有助于确保它在未来具有更快的周转时间,并且还可以有助于避免在来回发送脚本并且发现它们无效的情况下所浪费的时间。
在框604中,一旦脚本准备就绪,第三方企业160就将API脚本发送到受防护的企业100。
在框606中,第三方企业160进行等待直到它从受防护的企业100接收到经查核的企业数据为止。第三方企业160然后可以执行与所接收的经查核的企业数据相关联的任何必要工作、分析或任务。
在框699中,该方法完成。
图7是根据本说明书的一个或多个示例的由查核引擎324所执行的方法700的流程图。
在框702中,查核引擎324从第三方企业160接收输入脚本。
在框704中,查核引擎324根据本文中所公开的方法来分析第三方输入脚本。特别地,查核引擎324可以部署图4的进入分析器404,如在上面(诸如,在上面的段落[0066]-[0071]中)更详细地描述的那样。
在判定框706中,查核引擎324确定输入脚本是否已经通过了查核过程。
如果脚本未通过,则在框716中,所尝试的脚本终止于错误。该错误可以在利用或不利用通知的情况下使得脚本完全失败,或者它可以触发其它动作,诸如声誉中的改变,向安全管理员的通知,向第三方企业160的通知,或任何其它合适的动作。一旦过程终止于错误,在框799中,该方法完成。
返回到判定框706,如果脚本通过,则在框708中,API引擎406执行第三方脚本。在该情况中,查核引擎324可以部署图4的API引擎406,如在上面的段落[0072]中更详细地描述的那样。
在框710中,数据收集器408收集所请求的数据,并且数据聚合器410聚合并且处理数据,如在上面的段落[0073]中所描述的那样。输出分析器412然后分析所收集的数据,如在面中的段落[0075]–[0076]中那样。
在判定框712中,如果分析失败,则在框716中,过程终止于错误,并且在框799中,该方法完成。
返回到判定框712,如果所提议的导出数据通过分析,则在框714中,查核引擎324经由输出API 414将数据发送到第三方企业160。
在框799中,该方法完成。
前述内容概述了多个实施例的特征,使得本领域技术人员可以更好地理解本公开的各种方面。本领域技术人员应当领会到,他们可以容易地使用本公开作为用于设计或修改其它过程和结构的基础,以用于实施相同的目的和/或实现本文中所介绍的实施例的相同优点。本领域技术人员还应当认识到,这种等同构造不偏离于本公开的精神和范围,并且他们可以在本文中做出各种改变、替换和变更而不脱离本公开的精神和范围。
本文中所公开的任何硬件元件的全部或部分可以容易地被提供在片上系统(SoC)中,该片上系统包括中央处理单元(CPU)封装。SoC表示将计算机或其它电子系统的组件集成到单个芯片中的集成电路(IC)。因而,例如,客户端设备110或服务器设备300可以全部地或部分地被提供在SoC中。SoC可以包含数字、模拟、混合信号、以及射频功能,其中的全部可以被提供在单个芯片衬底上。其它实施例可以包括多芯片模块(MCM),其具有多个芯片,该多个芯片位于单个电子封装内并且被配置成通过电子封装而与彼此密切交互。在各种其它实施例中,本文中所公开的计算功能性可以被实现在专用集成电路(ASIC)、现场可编程门阵列(FPGA)和其它半导体芯片中的一个或多个硅芯中。
还要注意到的是,在某个实施例中,一些组件可以被省略或合并。在一般意义上,在图中所描绘的布置在其表示方面可以更有逻辑性,而物理架构可以包括这些元件的各种置换、组合和/或混合。有必要注意到,可以使用无数可能的设计配置以实现本文中所概述的操作对象。因此,相关基础设施具有大量的替代布置、设计选择、设备可能性、硬件配置、软件实现方式和装备选项。
在一般意义上,任何适当配置的处理器(诸如,处理器210)可以执行与数据相关联的任何类型的指令以实现本文中详述的操作。本文中所公开的任何处理器可以将元素或物品(例如数据)从一个状态或事物变换到另一状态或事物。在另一示例中,本文中所概述的一些活动可以利用固定逻辑或可编程逻辑(例如,处理器所执行的软件和/或计算机指令)来实现,并且本文中所标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))、包括数字逻辑、软件、代码、电子指令的ASIC、闪速存储器、光盘、CD-ROM、DVD ROM、磁卡或光卡、适合用于存储电子指令的其它类型的机器可读介质、或其任何合适的组合。
在操作中,诸如存储装置250之类的存储装置可以在适当的情况下并且基于特定需要而将信息存储在任何合适类型的有形、非暂时性存储介质(例如,随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程的ROM(EEPROM)等等)、软件、硬件(例如,处理器指令或微代码)中,或存储在任何其它合适的组件、设备、元件或对象中。此外,被追踪、发送、接收或存储在处理器中的信息可以基于特定的需要和实现方式而被提供在任何数据库、寄存器、表、高速缓存、队列、控制列表或存储结构中,它们中的全部可以用任何合适的时间帧来引用。本文中所公开的存储器或存储元件中的任一个(诸如,存储器220和存储装置250)在适当时应当解释为被包括在宽泛的术语“存储器”和“存储装置”内。本文中的非暂时性存储介质明确意图包括任何非暂时性的专用或可编程硬件,其被配置成提供所公开的操作,或使得诸如处理器210之类的处理器执行所公开的操作。
实现本文中所描述的功能性中的全部或部分的计算机程序逻辑以各种形式而体现,该各种形式包括但决不限于源代码形式、计算机可执行形式、机器指令或微代码、可编程硬件、以及各种中间形式(例如,由汇编器、编译器、链接器或定位器所生成的形式)。在示例中,源代码包括以各种编程语言或以硬件描述语言所实现的一系列计算机程序指令,该各种编程语言诸如对象代码、汇编语言、或高级语言(诸如,用于与各种操作系统或操作环境一起使用的OpenCL、FORTRAN、C、C++、JAVA或HTML),该硬件描述语言诸如Spice、Verilog和VHDL。源代码可以定义和使用各种数据结构和通信消息。源代码可以以计算机可执行形式(例如,经由解译器)存在,或者源代码可以被转换(例如,经由转化器、汇编器、或编译器)成计算机可执行形式,或被转换成中间形式,诸如字节代码。在适当的情况下,任何前述内容可以用于构建或描述适当的分立或集成电路,无论是顺序的、组合的、状态机或是其它。
在一个示例实施例中,各图的任何数目的电路可以被实现在相关电子设备的板上。板可以是一般电路板,其可以保持电子设备的内部电子系统的各种组件,并且进一步提供用于其它外围设备的连接器。更具体地,板可以提供电连接,通过该电连接,系统的其它组件可以进行电通信。任何合适的处理器和存储器可以基于特定的配置需要、处理需求和计算设计而适当地耦合到板。其它组件(诸如,外部存储装置、附加传感器、用于音频/视频显示的控制器、以及外围设备)可以经由线缆作为插入式卡而附连到板,或集成到板本身中。在另一示例中,各图的电路可以被实现为独立的模块(例如,具有被配置成执行具体应用或功能的相关组件和电路的设备),或被实现为到电子设备的专用硬件中的插入式模块。
要注意到的是,在本文中所提供的众多示例的情况下,可以在两个、三个、四个或更多个电组件方面描述交互。然而,已经仅仅出于清楚和示例的目的而这样做了。应当领会到,系统可以以任何合适的方式被合并或重新配置。沿着类似的设计替换方案,各图的所图示的组件、模块和元件中的任一个可以以各种可能的配置而组合,这些配置中的全部都在本说明书的宽泛范围内。在某些情况中,可能较易于通过仅仅参考有限数目的电元件来描述给定一组流程的一个或多个功能性。应当领会到,各图的电路及其教导可容易地缩放并且可以适应大量组件,以及更复杂/精密的布置和配置。因此,所提供的示例不应当限制范围,或抑制如潜在地适用于大量其它架构的电路的宽泛教导。
对于本领域技术人员而言可以确定众多其它改变、替换、变型、变更和修改,并且所意图的是,本公开包括如落入所附权利要求的范围内的所有这种改变、替换、变型、变更和修改。为了辅助美国专利和商标局(USPTO)以及附加地关于本申请发布的任何专利的任何读者以解释随附于此的权利要求,申请人希望指出的是,申请人:(a)不意图所附权利要求中的任一个调用35 U.S.C.章节112的段落六(6)(AIA前)、或相同章节的段落(f)(AIA后),如它在其申请日所存在的那样,除非词语“用于……的构件”或“用于……的步骤”被特别地用在特定权利要求中;并且(b)不意图通过说明书中的任何陈述以没有在所附权利要求中以其他方式明确反映的任何方式来限制本公开。
示例实现方式
在一个示例中,公开了一种计算装置,其包括:处理器;存储器;数据接口;以及一个或多个逻辑元件,所述逻辑元件包括查核引擎,以便:经由所述数据接口来接收输入脚本,所述输入脚本包括用于访问企业数据的请求;分析所述输入脚本,以确定所述输入脚本遵从数据请求准则;将应用编程接口(API)应用到所述输入脚本以收集企业数据;以及经由所述数据接口来发送企业数据。
进一步公开了一示例,其中用于访问企业数据的请求是第三方访问请求,并且其中所述数据请求准则是第三方数据访问准则。
进一步公开了一示例,其中分析所述脚本包括确保所述脚本包括仅经授权的API调用。
进一步公开了一示例,其中分析所述脚本包括符号分析。
进一步公开了一示例,其中对所述脚本的符号分析包括Coq证明。
进一步公开了一示例,其中对所述脚本的符号分析包括经由Maude系统的分析。
进一步公开了一示例,其中分析所述脚本包括向所述脚本指派声誉。
进一步公开了一示例,其中向所述脚本指派声誉包括查询安全服务提供商。
进一步公开了一示例,其中向所述脚本指派声誉包括接收与所述输入脚本的源相关的恶意软件攻击报告。
进一步公开了一示例,其中向所述脚本指派声誉包括对来自所述输入脚本的源国家的遥测条目进行计数。
进一步公开了一示例,其中API提供用于规范语言的可用操作的仅子集。
进一步公开了一示例,其中所述脚本是输入源文件。
进一步公开了一示例,其中所述输入脚本是具有所附调试信息的二进制可执行对象。
进一步公开了一个或多个有形、非暂时性计算机可读存储介质的示例,所述有形、非暂时性计算机可读存储介质已经在其上存储了可执行指令以用于提供查核引擎,以便:经由数据接口来接收输入脚本,所述输入脚本包括用于访问企业数据的请求;分析所述输入脚本,以确定所述输入脚本遵从数据请求准则;将应用编程接口(API)应用到所述输入脚本以收集企业数据;以及经由所述数据接口来发送企业数据。
进一步公开了一示例,其中用于访问企业数据的请求是第三方访问请求,并且其中所述数据请求准则是第三方数据访问准则。
进一步公开了一示例,其中分析所述脚本包括确保所述脚本包括仅经授权的API调用。
进一步公开了一示例,其中分析所述脚本包括符号分析。
进一步公开了一示例,其中对所述脚本的符号分析包括Coq证明或经由Maude系统的分析。
进一步公开了一示例,其中分析所述脚本包括向所述脚本指派声誉。
进一步公开了一示例,其中向所述脚本指派声誉包括查询安全服务提供商。
进一步公开了一示例,其中向所述脚本指派声誉包括接收与所述输入脚本的源相关的恶意软件攻击报告。
进一步公开了一示例,其中向所述脚本指派声誉包括对来自所述输入脚本的源国家的遥测条目进行计数。
进一步公开了一示例,其中API提供用于规范语言的可用操作的仅子集。
进一步公开了用于提供对数据请求的查核的计算机实现的方法的示例,所述方法包括:经由数据接口来接收输入脚本,所述输入脚本包括用于访问企业数据的请求;分析所述输入脚本,以确定所述输入脚本遵从数据请求准则;将应用编程接口(API)应用到所述输入脚本以收集企业数据;以及经由所述数据接口来发送企业数据。
进一步公开了一示例,其中用于访问企业数据的请求是第三方请求,并且所述数据请求准则是第三方请求准则。
进一步公开了一个或多个有形、非暂时性计算机可读存储介质的示例,所述有形、非暂时性计算机可读存储介质已经在其上存储了用于指示一个或多个处理器的可执行指令以用于提供查核引擎,所述查核引擎可操作用于执行前述示例的操作中的任一个或全部。
进一步公开了用于提供查核引擎的方法的示例,所述方法包括执行前述示例的操作中的任一个或全部。
进一步公开了一种装置的示例,所述装置包括用于执行所述方法的构件。
进一步公开了一示例,其中所述构件包括处理器和存储器。
进一步公开了一示例,其中所述构件包括一个或多个有形、非暂时性计算机可读存储介质。
进一步公开了一示例,其中所述装置是计算设备。

Claims (25)

1.一种计算装置,包括:
处理器;
存储器;
数据接口;以及
一个或多个逻辑元件,所述逻辑元件包括查核引擎,以便:
经由所述数据接口来接收输入脚本,所述输入脚本包括用于访问企业数据的请求;
分析所述输入脚本,以确定所述输入脚本遵从数据请求准则;
将应用编程接口(API)应用到所述输入脚本以收集企业数据;以及
经由所述数据接口来发送企业数据。
2.根据权利要求1所述的计算装置,其中用于访问企业数据的请求是第三方访问请求,并且其中所述数据请求准则是第三方数据访问准则。
3.根据权利要求1所述的计算装置,其中分析所述脚本包括确保所述脚本包括仅经授权的API调用。
4.根据权利要求1所述的计算装置,其中分析所述脚本包括符号分析。
5.根据权利要求4所述的计算装置,其中对所述脚本的符号分析包括Coq证明。
6.根据权利要求4所述的计算装置,其中对所述脚本的符号分析包括经由Maude系统的分析。
7.根据权利要求1-6中任一项所述的计算装置,其中分析所述脚本包括向所述脚本指派声誉。
8.根据权利要求7所述的计算装置,其中向所述脚本指派声誉包括查询安全服务提供商。
9.根据权利要求7所述的计算装置,其中向所述脚本指派声誉包括接收与所述输入脚本的源相关的恶意软件攻击报告。
10.根据权利要求7所述的计算装置,其中向所述脚本指派声誉包括对来自所述输入脚本的源国家的遥测条目进行计数。
11.根据权利要求1-6中任一项所述的计算装置,其中API提供用于规范语言的可用操作的仅子集。
12.根据权利要求1-6中任一项所述的计算装置,其中所述脚本是输入源文件。
13.根据权利要求1-6中任一项所述的计算装置,其中所述输入脚本是具有所附调试信息的二进制可执行对象。
14.一个或多个有形、非暂时性计算机可读存储介质,所述有形、非暂时性计算机可读存储介质已经在其上存储了可执行指令以用于提供查核引擎,以便:
经由数据接口来接收输入脚本,所述输入脚本包括用于访问企业数据的请求;
分析所述输入脚本,以确定所述输入脚本遵从数据请求准则;
将应用编程接口(API)应用到所述输入脚本以收集企业数据;以及
经由所述数据接口来发送企业数据。
15.根据权利要求14所述的一个或多个有形、非暂时性计算机可读存储介质,其中用于访问企业数据的请求是第三方访问请求,并且其中所述数据请求准则是第三方数据访问准则。
16.根据权利要求14所述的一个或多个有形、非暂时性计算机可读存储介质,其中分析所述脚本包括确保所述脚本包括仅经授权的API调用。
17.根据权利要求14所述的一个或多个有形、非暂时性计算机可读存储介质,其中分析所述脚本包括符号分析。
18.根据权利要求17所述的一个或多个有形、非暂时性计算机可读存储介质,其中对所述脚本的符号分析包括Coq证明或经由Maude系统的分析。
19.根据权利要求14-18中任一项所述的一个或多个有形、非暂时性计算机可读存储介质,其中分析所述脚本包括向所述脚本指派声誉。
20.根据权利要求19所述的一个或多个有形、非暂时性计算机可读存储介质,其中向所述脚本指派声誉包括查询安全服务提供商。
21.根据权利要求19所述的一个或多个有形、非暂时性计算机可读存储介质,其中向所述脚本指派声誉包括接收与所述输入脚本的源相关的恶意软件攻击报告。
22.根据权利要求19所述的一个或多个有形、非暂时性计算机可读存储介质,其中向所述脚本指派声誉包括对来自所述输入脚本的源国家的遥测条目进行计数。
23.根据权利要求14-18中任一项所述的一个或多个有形、非暂时性计算机可读存储介质,其中API提供用于规范语言的可用操作的仅子集。
24.一种用于提供对数据请求的查核的计算机实现的方法,包括:
经由数据接口来接收输入脚本,所述输入脚本包括用于访问企业数据的请求;
分析所述输入脚本,以确定所述输入脚本遵从数据请求准则;
将应用编程接口(API)应用到所述输入脚本以收集企业数据;以及
经由所述数据接口来发送企业数据。
25.根据权利要求24所述的方法,其中用于访问企业数据的请求是第三方请求,并且所述数据请求准则是第三方请求准则。
CN201780074164.0A 2016-09-30 2017-09-27 敏感数据的安全共享 Pending CN109997143A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/282,659 US10476900B2 (en) 2016-09-30 2016-09-30 Safe sharing of sensitive data
US15/282659 2016-09-30
PCT/US2017/053603 WO2018064103A1 (en) 2016-09-30 2017-09-27 Safe sharing of sensitive data

Publications (1)

Publication Number Publication Date
CN109997143A true CN109997143A (zh) 2019-07-09

Family

ID=60043352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780074164.0A Pending CN109997143A (zh) 2016-09-30 2017-09-27 敏感数据的安全共享

Country Status (4)

Country Link
US (2) US10476900B2 (zh)
EP (1) EP3520015A1 (zh)
CN (1) CN109997143A (zh)
WO (1) WO2018064103A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111031035A (zh) * 2019-12-12 2020-04-17 支付宝(杭州)信息技术有限公司 一种敏感数据访问行为监控方法及装置
CN113094705A (zh) * 2021-04-26 2021-07-09 武汉鑫科信科技有限公司 一种采用集群架构的高性能仿真计算系统

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10476900B2 (en) * 2016-09-30 2019-11-12 McAFEE, LLC. Safe sharing of sensitive data
US10491629B2 (en) * 2017-02-06 2019-11-26 Synopsys, Inc. Detecting sensitive data sent from client device to third-party
US11062041B2 (en) * 2017-07-27 2021-07-13 Citrix Systems, Inc. Scrubbing log files using scrubbing engines
US10671758B2 (en) * 2017-08-30 2020-06-02 Micro Focus Llc Redacting core dumps by identifying modifiable parameters
IL263181A (en) * 2018-11-21 2020-05-31 Kazuar Advanced Tech Ltd A method and system for secure communication
US11630900B2 (en) * 2019-09-30 2023-04-18 Mcafee, Llc Detection of malicious scripted activity in fileless attacks
US11397656B2 (en) 2019-11-04 2022-07-26 Microsoft Technology Licensing, Llc Telemetry generation for in-field hardware testing
US11734438B2 (en) * 2020-10-30 2023-08-22 Servicenow, Inc. Secure management script deployment
US20220294788A1 (en) * 2021-03-09 2022-09-15 Oracle International Corporation Customizing authentication and handling pre and post authentication in identity cloud service
US20230015789A1 (en) * 2021-07-08 2023-01-19 Vmware, Inc. Aggregation of user authorizations from different providers in a hybrid cloud environment
US20230126561A1 (en) * 2021-10-26 2023-04-27 Gm Cruise Holdings Llc Adaptive privacy for shared rides

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101779436A (zh) * 2007-08-15 2010-07-14 国际商业机器公司 跟踪数据的来源并控制数据传输
CN102282565A (zh) * 2009-01-19 2011-12-14 皇家飞利浦电子股份有限公司 用于隐私保护的具有双脚本引擎的浏览器
US20130152154A1 (en) * 2011-12-08 2013-06-13 Microsoft Corporation Controlling the Release of Private Information Using Static Flow Analysis
US8782744B1 (en) * 2012-06-15 2014-07-15 Amazon Technologies, Inc. Managing API authorization
CN105074717A (zh) * 2013-01-16 2015-11-18 迈克菲公司 在网络环境中的恶意脚本语言代码的检测
WO2016138067A1 (en) * 2015-02-24 2016-09-01 Cloudlock, Inc. System and method for securing an enterprise computing environment

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166406B1 (en) * 2001-12-04 2012-04-24 Microsoft Corporation Internet privacy user interface
US20070022155A1 (en) * 2002-08-22 2007-01-25 Owens David H Method and system for integrating enterprise software applications with desktop software applications
US7119953B2 (en) * 2002-12-27 2006-10-10 Xradia, Inc. Phase contrast microscope for short wavelength radiation and imaging method
US20050209876A1 (en) * 2004-03-19 2005-09-22 Oversight Technologies, Inc. Methods and systems for transaction compliance monitoring
US7657780B2 (en) * 2005-02-07 2010-02-02 Mimosa Systems, Inc. Enterprise service availability through identity preservation
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8131768B2 (en) * 2008-05-08 2012-03-06 Nec Laboratories America, Inc. Symbolic program analysis using term rewriting and generalization
US9117077B2 (en) 2013-09-27 2015-08-25 Bitdefender IPR Management Ltd. Systems and methods for using a reputation indicator to facilitate malware scanning
WO2015159501A1 (ja) * 2014-04-17 2015-10-22 日本電気株式会社 検証性質統合装置、検証性質統合方法および検証性質統合プログラムが記録された記憶媒体
US10277622B2 (en) * 2015-07-13 2019-04-30 CYBRIC Inc. Enterprise level cybersecurity automatic remediation
US10476900B2 (en) * 2016-09-30 2019-11-12 McAFEE, LLC. Safe sharing of sensitive data
US10250389B2 (en) * 2017-01-17 2019-04-02 Go Daddy Operating Company, LLC Script verification using a hash

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101779436A (zh) * 2007-08-15 2010-07-14 国际商业机器公司 跟踪数据的来源并控制数据传输
CN102282565A (zh) * 2009-01-19 2011-12-14 皇家飞利浦电子股份有限公司 用于隐私保护的具有双脚本引擎的浏览器
US20130152154A1 (en) * 2011-12-08 2013-06-13 Microsoft Corporation Controlling the Release of Private Information Using Static Flow Analysis
US8782744B1 (en) * 2012-06-15 2014-07-15 Amazon Technologies, Inc. Managing API authorization
CN105074717A (zh) * 2013-01-16 2015-11-18 迈克菲公司 在网络环境中的恶意脚本语言代码的检测
WO2016138067A1 (en) * 2015-02-24 2016-09-01 Cloudlock, Inc. System and method for securing an enterprise computing environment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111031035A (zh) * 2019-12-12 2020-04-17 支付宝(杭州)信息技术有限公司 一种敏感数据访问行为监控方法及装置
CN111031035B (zh) * 2019-12-12 2022-04-19 支付宝(杭州)信息技术有限公司 一种敏感数据访问行为监控方法及装置
CN113094705A (zh) * 2021-04-26 2021-07-09 武汉鑫科信科技有限公司 一种采用集群架构的高性能仿真计算系统

Also Published As

Publication number Publication date
WO2018064103A1 (en) 2018-04-05
US20180097829A1 (en) 2018-04-05
EP3520015A1 (en) 2019-08-07
US10476900B2 (en) 2019-11-12
US11089038B2 (en) 2021-08-10
US20200120123A1 (en) 2020-04-16

Similar Documents

Publication Publication Date Title
CN109997143A (zh) 敏感数据的安全共享
US11392695B2 (en) Detecting ransomware
KR102495750B1 (ko) 클라우드 기반 운영 체제 이벤트 및 데이터 액세스 감시를 위한 시스템 및 방법
Lei et al. EveDroid: Event-aware Android malware detection against model degrading for IoT devices
CN107409126B (zh) 用于保护企业计算环境安全的系统和方法
US10691739B2 (en) Multi-label content recategorization
US11288376B2 (en) Identifying hard-coded secret vulnerability inside application source code
JP2016181265A (ja) 動的証明に基づいてモバイルセキュリティを提供するためのシステムおよび方法
CN107431621A (zh) 采用输入标记的可信二进制的二进制转换
CN107533622A (zh) 可信二进制文件翻译
CN107533608A (zh) 可信更新
CN107408176A (zh) 恶意对象的执行剖析检测
US11888870B2 (en) Multitenant sharing anomaly cyberattack campaign detection
US11113388B2 (en) Cloud forensics and incident response platform
US20170006049A1 (en) Frequency-based reputation
US10417579B2 (en) Multi-label classification for overlapping classes
US11416613B2 (en) Attack detection through exposure of command abuse
US20230216868A1 (en) Analysis of endpoint detect and response data
CN107980133A (zh) 暂时进程特权解除
Gupta et al. Evaluation and monitoring of XSS defensive solutions: a survey, open research issues and future directions
CN113010268A (zh) 恶意程序识别方法及装置、存储介质、电子设备
CN110659478B (zh) 在隔离的环境中检测阻止分析的恶意文件的方法
Rana et al. Automated Windows behavioral tracing for malware analysis
US10546125B1 (en) Systems and methods for detecting malware using static analysis
CN114547603A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20221124

Address after: Texas, USA

Applicant after: MASA ROBRA USA LLC

Address before: California, USA

Applicant before: MCAFEE, Inc.

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190709