CN114365128A - 用于数据自保护的方法和*** - Google Patents
用于数据自保护的方法和*** Download PDFInfo
- Publication number
- CN114365128A CN114365128A CN202080062946.4A CN202080062946A CN114365128A CN 114365128 A CN114365128 A CN 114365128A CN 202080062946 A CN202080062946 A CN 202080062946A CN 114365128 A CN114365128 A CN 114365128A
- Authority
- CN
- China
- Prior art keywords
- sentry
- computer
- access
- platform
- central
- 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
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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/604—Tools and structures for managing or administering access control systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- 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/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2115—Third party
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
Abstract
提供了用于数据自保护的***和方法。该***和方法可以包括:在计算机***上安装岗哨,该岗哨包括安装在该计算机***的内核上的文件***过滤器;提供与该岗哨通信的中央岗哨平台;对中央岗哨平台进行操作以向岗哨发送数据自保护策略,数据自保护策略被加密成使得其仅能由中央岗哨平台来修改;通过如下方式对文件***过滤器进行操作以控制对存储在计算机***上的加密数据的访问:针对向加密数据做出文件访问请求的每个进程,文件***过滤器根据数据自保护策略对该文件访问请求进行接收和处理;以及,对中央岗哨平台进行操作以监视岗哨并且从岗哨接收与访问加密数据有关的信息。
Description
相关申请
本申请要求于2019年9月9日提交的共同未决美国专利申请No.62/897,482的优先权,其全部内容通过引用并入本文。
技术领域
本文所描述的实施方式总体上涉及对数据进行保护,尤其涉及用于数据自保护的***和方法。
背景技术
以下内容不是承认以下讨论的任何内容是现有技术的一部分或本领域技术人员的公知常识的一部分。
网络安全是数字社会的基础,且数据是基于互联网的经济的基础。网络安全的核心是复杂网络空间中的数据安全。随着世界逐渐数字化,活动越来越依赖于数据技术。关键数据(诸如核心知识产权)的破坏会危及国家和经济安全。关键数据的更改和/或丢失可能会改变业务流程,带来严重后果、关闭生产线、并对人们的生活产生负面影响。因此,随时保护数据免受破坏和任何已知/未知的攻击是许多行业的迫切需要。
发明内容
本发明内容旨在向读者介绍以下更详细的描述,而不是限制或限定任何要求保护或尚未要求保护的发明。一个或更多个发明可以存在于本文件任何部分(包括其权利要求和附图)中公开的元件或过程步骤的任何组合或子组合中。
根据本公开的一方面,提供了一种在至少一个计算机***上启用数据自保护的方法。该方法可以包括:在所述至少一个计算机***的计算机***上安装岗哨(sentry),所述岗哨包括安装在该计算机***的内核(kernel)上的文件***过滤器,该文件***过滤器将强制访问控制与加密整合在一起;提供与安装在计算机***上的岗哨电子通信的中央岗哨平台,该中央岗哨平台与计算机***的内核分离;对中央岗哨平台进行操作以向岗哨发送数据自保护策略,该数据自保护策略被加密成使得该数据自保护策略仅能由中央岗哨平台来修改;通过如下方式对文件***过滤器进行操作以控制对存储在计算机***上的加密数据的访问:针对向加密数据做出文件访问请求的每个进程,文件***过滤器根据数据自保护策略对该文件访问请求进行接收和处理以准许或拒绝该文件访问请求;以及,对中央岗哨平台进行操作以监视岗哨并且从岗哨接收与对存储在计算机***上的加密数据的访问有关的信息。
在一些实施方式中,所述至少一个计算机***可以包括多个计算机;安装岗哨可以包括安装多个岗哨,包括:对于所述多个计算机中的每个计算机,在该计算机上安装对应的岗哨,在该计算机上安装该对应的岗哨可以包括在该计算机的内核上安装该对应的岗哨的文件***过滤器;提供中央岗哨平台可以包括在计算机***上提供与多个岗哨电子通信的中央岗哨平台;对中央岗哨平台进行操作以发送数据自保护策略可以包括对中央岗哨平台进行操作以发送多个数据自保护策略,包括:针对多个岗哨中的每个岗哨,向该岗哨发送对应的数据自保护策略;对文件***过滤器进行操作以控制对存储在计算机***上的加密数据的访问,可以包括:针对多个计算机中的每个计算机,对安装在该计算机上的对应的岗哨的文件***过滤器进行操作,以根据发送到对应的岗哨的对应的数据自保护策略来控制对存储在该计算机上的加密数据的访问;以及,对中央岗哨平台进行操作以监视岗哨可以包括:针对多个计算机中的每个计算机,对中央岗哨平台进行操作以监视该计算机上的对应的岗哨,从而从该岗哨接收与对存储在该计算机上的加密数据的访问有关的信息。
在一些实施方式中,针对多个计算机中的每个计算机,对安装在该计算机上的对应的岗哨的文件***过滤器进行操作还可以包括:对文件***过滤器进行操作以根据发送到该岗哨发的对应的数据自保护策略来检查由每个进程做出的对存储在该计算机上的加密数据进行访问的每个访问请求,所述检查通过如下方式进行:如果对应的数据自保护策略允许明文访问,则准许访问请求并且对加密数据进行解密,如果对应的数据自保护策略允许密文访问,则准许访问请求而不对加密数据进行解密;或者如果对应的数据自保护策略既不允许明文访问也不允许密文访问,则拒绝访问请求;以及对中央岗哨平台进行操作以监视多个岗哨中的每个岗哨从而从该岗哨接收信息还可以包括:监视每个岗哨以从该岗哨接收关于所有经检查的访问请求的信息。
在一些实施方式中,对于由多个计算机中的每个计算机上的每个进程做出的每个访问请求,关于所有经检查的访问请求的信息可以包括:对于由多个计算机中的每个计算机上的每个进程做出的每个访问请求,该计算机的信息、该进程的包括其应用程序的信息、加密数据的文件信息、与该访问请求相关联的访问尝试的时间、以及由该计算机上的对应的岗哨做出的检查结果。
在一些实施方式中,该方法还可以步包括:针对多个计算机中的每个计算机,除了检查对存储在该计算机上的加密数据进行访问的所有访问请求之外,对安装在该计算机上的对应的岗哨进行操作以监视该计算机的运行情况;针对多个计算机中的每台计算机,对中央岗哨平台进行操作以监视每个岗哨还可以包括对中央岗哨平台进行操作以从该岗哨接收与该计算机的运行情况有关的信息。
在一些实施方式中,针对多个计算机中的每个计算机,该计算机的运行情况可以包括,对于该计算机的多个资源,该多个资源中的每个资源相对于该计算机上的该资源的总容量的当前使用水平;多个资源可以包括该计算机的内存、处理器和磁盘空间。
在一些实施方式中,针对多个计算机中的每个计算机,发送到安装在该计算机上的对应的岗哨的数据自保护策略可以包括:明文授权列表,其具有被授权访问加密数据的明文内容的进程的所有合法应用程序;以及密文授权列表,其具有被授权访问加密数据的密文内容的进程的所有合法应用程序;针对访问加密数据的每个访问请求,该岗哨的文件***过滤器可以做出以下决定:在做出访问请求的进程被该岗哨认证为明文授权列表上列出的合法应用程序的进程时,允许明文访问,在做出访问请求的进程被该岗哨认证为密文授权列表上列出的合法应用程序的进程时,允许密文访问,否则既不允许明文访问也不允许密文访问。
在一些实施方式中,针对多个计算机中的每个计算机,在该计算机上安装对应的岗哨还可以包括:在该计算机的用户空间上安装该岗哨的岗哨应用,该用户空间与该计算机的内核空间分离,该岗哨的岗哨应用被链接以与该岗哨的文件***过滤器通信;以及,提供多个通信信道,针对多个计算机中的每个计算机,多个通信信道可以包括如下通信信道:所述通信信道经由用于该计算机的岗哨应用将中央岗哨平台链接到用于该计算机的岗哨的文件***过滤器。
在一些实施方式中,该方法还可以包括:针对多个岗哨中的每个岗哨,定义心跳频率;对该岗哨进行操作以经由将中央岗哨平台链接到该岗哨的文件***过滤器的通信信道以心跳频率向中央岗哨平台发送心跳的时间序列,心跳的时间序列被加密成使得心跳的时间序列仅能由该岗哨来修改;监视心跳的时间序列;以及,至少部分地基于监视心跳的时间序列,对中央岗哨平台进行操作以评估该岗哨的状态。
在一些实施方式中,该方法还可以包括:提供与中央岗哨平台相关联的可视化显示器以显示多个访问状态指示符,该多个访问状态指示符用于指示和显示关于从多个岗哨接收到的所有经检查的访问请求的信息。
在一些实施方式中,提供可视化显示器可以包括:在可视化显示器上提供多个计算机表示,针对多个计算机中的每个计算机,该多个计算机表示包括用于表示该计算机的对应的计算机表示;以及,对于在可视化显示器上提供的每个计算机表示,与该计算机表示相关联地提供多个访问状态指示符中的至少一个访问状态指示符,以显示和指示至少部分如下信息:所述信息与从由该计算机表示所表示的计算机上的对应的岗哨接收到的所有经检查的访问请求有关。
在一些实施方式中,该方法还可以包括提供与中央岗哨平台相关联的可视化显示器,以显示用于指示和显示从多个岗哨接收到的运行情况的多个操作状态指示符。
在一些实施方式中,提供可视化显示器可以包括:在可视化显示器上提供多个计算机表示,针对多个计算机中的每个计算机,该多个计算机表示包括用于表示该计算机的对应的计算机表示;以及对于在该可视化显示器上提供的每个计算机表示,与该计算机表示相关联地提供多个操作状态指示符中的至少一个操作状态指示符,以显示和指示从由该计算机表示所表示的计算机上的对应岗哨接收到的至少一个运行情况。
在一些实施方式中,该方法还可以包括:在中央岗哨平台处提供动态搜索功能,以用于对包含在关于从多个岗哨接收到的所有经检查的访问请求的信息中的项目进行搜索。
根据本公开的一方面,提供了一种用于启用数据自保护的***。该***可以包括至少一个计算机***,该至少一个计算机***中的计算机***上安装有岗哨,该岗哨包括安装在该计算机***的内核上的文件***过滤器,该文件***过滤器将强制访问控制与加密整合在一起;以及与安装在计算机***上的岗哨电子通信的中央岗哨平台,该中央岗哨平台与计算机***的内核分离。在操作时,中央岗哨平台可以向岗哨发送数据自保护策略,数据自保护策略被加密成使得数据自保护策略仅能由中央岗哨平台来修改;文件***过滤器可以通过如下方式控制对存储在计算机***上的加密数据的访问:针对向加密数据做出文件访问请求的每个进程,文件***过滤器根据数据自保护策略对该文件访问请求进行接收和处理,以准许或拒绝该文件访问请求;中央岗哨平台可以监视岗哨并且从岗哨接收与对存储在计算机***上的加密数据的访问有关的信息。
在一些实施方式中,所述至少一个计算机***可以包括多个计算机;所述多个计算机中的每个计算机上可以安装有对应的岗哨,该对应的岗哨的文件***过滤器可以安装在该计算机的内核上;中央岗哨平台可以设置在与多个岗哨电子通信的计算机***上;中央岗哨平台可以能够操作成发送多个数据自保护策略,针对多个岗哨中的每个岗哨,所述多个数据自保护策略包括针对该岗哨的对应的数据自保护策略;针对多个计算机中的每个计算机,安装在该计算机上的对应的岗哨的文件***过滤器可以根据发送到对应的岗哨的对应的数据自保护策略能够操作成控制对存储在该计算机上的加密数据的访问;以及,针对多个计算机中的每个计算机,中央岗哨平台可以能够操作成监视该计算机上的对应的岗哨以从该岗哨接收关于对存储在该计算机上的加密数据的访问的信息。
在一些实施方式中,针对多个计算机中的每个计算机,安装在该计算机上的对应的岗哨的文件***过滤器可以根据发送到该岗哨的对应的数据自保护策略能够操作成检查由每个进程做出的对存储在该计算机上的加密数据进行访问的每个访问请求,所述检查通过以下方式进行:如果对应的数据自保护策略允许明文访问,则准许访问请求并且对加密数据进行解密;如果对应的数据自保护策略允许密文访问,则准许访问请求而不对加密数据进行解密;如果对应的数据自保护策略既不允许明文访问也不允许密文访问,则拒绝访问请求;以及中央岗哨平台可以能够操作成监视每个岗哨以从该岗哨接收关于所有经检查的访问请求的信息。
在一些实施方式中,对于由多个计算机中的每个计算机上的每个进程做出的每个访问请求,关于所有经检查的访问请求的信息可以包括:该计算机的信息、该进程的包括其应用程序的信息、加密数据的文件信息、与该访问请求相关联的访问尝试的时间、以及由该计算机上的对应的岗哨做出的检查结果。
在一些实施方式中,针对多个计算机中的每个计算机,除了检查对存储在该计算机上的加密数据进行访问的所有访问请求之外,安装在该计算机上的对应的岗哨还可以能够操作成监视该计算机的运行情况;以及针对多个计算机中的每个计算机,中央岗哨平台可以能够操作成从对应的岗哨接收与该计算机的运行情况有关的信息。
在一些实施方式中,针对多个计算机中的每个计算机,该计算机的运行情况可以包括:对于该计算机的多个资源,该多个资源中的每个资源相对于该计算机上的该资源的总容量的当前使用水平;该多个资源可以包括该计算机的内存、处理器和磁盘空间。
在一些实施方式中,针对多个计算机中的每个计算机,发送到安装在该计算机上的对应的岗哨的数据自保护策略可以包括:明文授权列表,其具有被授权访问加密数据的明文内容的进程的所有合法应用程序;以及密文授权列表,其具有被授权访问加密数据的密文内容的进程的所有合法应用程序;针对访问加密数据的每个访问请求,该岗哨的文件***过滤器可以确定:在做出访问请求的进程被岗哨认证为明文授权列表上列出的合法应用程序的进程时,允许明文访问,在做出访问请求的进程被岗哨认证为密文授权列表上列出的合法应用程序的进程时,允许密文访问,否则既不允许明文访问也不允许密文访问。
在一些实施方式中,针对多个计算机中的每个计算机,该岗哨的岗哨应用可以安装在该计算机的用户空间上,该用户空间与该计算机的内核空间分离,该岗哨的岗哨应用被链接以与该岗哨的文件***过滤器通信;以及,该***还可以包括多个通信信道,针对多个计算机中的每个计算机,多个通信信道可以包括:经由用于该计算机的岗哨的岗哨应用将中央岗哨平台链接到用于该计算机的岗哨的文件***过滤器的通信信道。
在一些实施方式中,针对多个岗哨中的每个岗哨,该岗哨可以经由将中央岗哨平台链接到该岗哨的文件***过滤器的通信信道能够操作成以心跳频率向中央岗哨平台发送心跳的时间序列,心跳的时间序列被加密成使得该心跳的时间序列仅能由该岗哨来修改;中央岗哨平台可以能够操作成监视心跳的时间序列;以及,至少部分地基于监视心跳的时间序列,中央岗哨平台可以能够操作成评估该岗哨的状态。
在一些实施方式中,中央岗哨平台可以能够操作成提供可视化显示器以显示多个访问状态指示符,该多个访问状态指示符用于指示和显示关于从多个岗哨接收到的所有经检查的访问请求的信息。
在一些实施方式中,提供可视化显示器可以包括:在可视化显示器上提供多个计算机表示,针对多个计算机中的每个计算机,该多个计算机表示包括用于表示该计算机的对应的计算机表示;以及,对于在可视化显示器上提供的每个计算机表示,与该计算机表示相关联地提供多个访问状态指示符中的至少一个访问状态指示符,以显示和指示至少部分如下信息:所述信息与从由该计算机表示所表示的该计算机上的对应的岗哨接收到的所有经检查的访问请求有关。
在一些实施方式中,中央岗哨平台可以能够操作成提供可视化显示器,以显示用于指示和显示从多个岗哨接收到的运行情况的多个操作状态指示符。
在一些实施方式中,提供可视化显示器可以包括:针对多个计算机中的每个计算机,在可视化显示器上提供多个计算机表示,该多个计算机表示包括用于表示该计算机的对应的计算机表示;以及,对于在该可视化显示器上提供的每个计算机表示,与该计算机表示相关联地提供多个操作状态指示符中的至少一个操作状态指示符,以显示和指示从由该计算机表示所表示的计算机上的对应的岗哨接收到的至少一个运行情况。
在一些实施方式中,中央岗哨平台可以能够操作成提供动态搜索功能,以用于对包含在关于从多个岗哨接收到的所有经检查的访问请求的信息中的项目进行搜索。
附图说明
为了更好地理解所描述的实施方式并更清楚地显示它们可以如何有效实施,现在将通过示例的方式参考随附附图,在附图中:
图1是根据实施方式的示例计算机***的框图;
图2是根据实施方式的用于启用数据自保护的示例***的框图;以及
图3是根据实施方式的用于启用数据自保护的示例方法的流程图。
下面描述的附图是为了说明而非限制本文所述的实施方式的各种示例的方面和特征的目的而提供的。为了使说明简单和清楚,附图中所示的元件不一定按比例绘制。为了清楚起见,这些元件中的一些元件的尺寸可能相对于其他元件被夸大。应当理解,为了使说明简单和清楚,在认为合适的情况下,附图标记可以在附图中重复以指示相对应或相似的元件或步骤。
具体实施方式
下面将描述各种***或方法以提供要求保护的主题的实施方式的示例。以下描述的实施方式不限制任何要求保护的主题,并且任何要求保护的主题可以涵盖与以下描述的方法或***不同的方法或***。要求保护的主题不限于具有以下描述的任何一个***或方法的所有特征的***或方法,或者不限于以下描述的装置或方法中的多个或所有装置或方法共有的特征。以下描述的***或方法可以不是在任何要求保护的主题中叙述的实施方式。在以下描述的***或方法中公开的任何未在本文件中要求保护的主题可能是另一个保护文件的主题,例如,延续的专利申请,以及申请人、发明人或所有者不打算通过在本文中公开而放弃、弃权或向公众提供的任何此类主题。
此外,应当理解,为了使说明简单和清楚,在认为合适的情况下,附图标记可以在附图中重复以指示相对应或相似的元件。此外,阐述了许多具体细节以提供对本文描述的实施方式的透彻理解。但是,本领域普通技术人员将理解,可以在没有这些具体细节的情况下实施本文描述的实施方式。在其他情况下,没有详细描述公知的方法、程序和组件以便不使本文描述的实施方式混淆。此外,附图和说明书不被认为限制本文描述的实施方式的范围。
还应注意,如本文所用,词语“和/或”旨在表示包含性的或。即,例如,“X和/或Y”旨在表示X或Y或两者。作为进一步的示例,“X、Y和/或Z”旨在表示X或Y或Z或其任意组合。
除非另有明确说明,否则术语“包括”、“包含”及其变体表示“包括但不限于”。除非另有明确说明,否则项目列表并不意味着这些项目中的任何或所有项目是相互排斥的。除非另有明确说明,否则术语“一个”、“一种”和“该”是指“一个或更多个”。
如本文和权利要求中使用的,在两个或更多个元件直接或间接地(即,通过一个或更多个中间部件)结合或在一起操作,只要存在链接的情况下,这些部件被称为是“耦合”、“连接”、“附接”或“紧固”的。如本文和权利要求中使用的,在两个或更多个元件以物理接触方式彼此连接的情况下,这些元件被称为是“直接耦合”、“直接连接”、“直接附接”或“直接紧固”的。术语“耦合”、“连接”、“附接”和“紧固”均不能区分两个或更多个元素结合在一起的方式。
除非另有明确说明,术语“一实施方式”、“实施方式”、“多个实施方式”、“所述实施方式”、“所述多个实施方式”、“一个或更多个实施方式”、“一些实施方式”和“一个实施方式”表示“(一个或更多个)本发明的一个或更多个(但不是所有)实施方式”。
应注意,当在本文中使用时,诸如“基本上”、“约”和“近似”之类的程度的术语是指所修饰的术语的合理偏差量,使得最终结果不会显著改变。这些程度的术语应该被解释为如果这种偏差不会否定它所修饰的术语的含义,则包括所修饰的术语的偏差。
本文所述的***和方法的实施方式的各方面可以在硬件或软件或两者的组合中实现。这些实施方式的各方面可以在可编程计算机上执行的计算机程序中实现,每个计算机包括:至少一个处理器、数据存储***(包括易失性存储器或非易失性存储器或其他数据存储元件或其组合)、以及至少一个通信接口。例如但不限于,可编程计算机可以是服务器、网络电器、嵌入式设备、计算机扩展模块、个人计算机、膝上型计算机、个人数据助理、蜂窝电话、智能电话设备、平板计算机、无线设备或能够被配置为执行本文所述方法的各方面的任何其他计算设备。
在一些实施方式中,通信接口可以是网络通信接口。在对元件进行组合的实施方式中,通信接口可以是软件通信接口,诸如用于进程间通信(IPC)的接口。在另外其他的实施方式中,可以存在实现为硬件、软件及其组合的通信接口的组合。
程序代码可以应用于输入数据以执行本文描述的功能并生成输出信息。输出信息可以以已知方式应用于一个或更多个输出设备。每个程序可以以高级进程或面向对象的编程和/或脚本语言或两者来实现,以与计算机***通信。然而,如果需要的话,程序可以以汇编语言或机器语言来实现。在任何情况下,该语言可以是编译语言或解释语言。每个这样的计算机程序可以存储在存储介质或设备(例如,ROM、磁盘、光盘)上,该存储介质或设备可由通用或专用可编程计算机读取,用于在存储介质或设备被计算机读取时对该计算机进行配置和操作以执行本文所述的进程。***的实施方式的各方面也可以被认为是被实现为非暂时性计算机可读存储介质,其配置有计算机程序,其中存储介质被如此配置而使得计算机以特定和预限定的方式操作以执行本文所述的功能。
此外,所描述的实施方式的***、进程和方法的各方面能够分布在计算机程序产品中,该计算机程序产品包括承载用于一个或更多个处理器的计算机可用指令的计算机可读介质。所述介质可以以各种形式提供,包括一个或更多个软盘、高密度磁盘、磁带、芯片、有线传输、卫星传输、互联网传输或下载、磁性和电子存储介质、数字和模拟信号等。计算机可用指令也可以是各种形式,包括编译代码和非编译代码。
需要说明的是,术语应用(application)表示应用程序的缩写形式,其是指被设计成为最终用户实现特定功能的计算机程序。因此,从最终用户的角度来看,计算机***中的程序通常称为应用。例如,最终用户通常将Microsoft Windows Word称为文字处理的应用,而在操作***中,该程序是winword.exe。
已经提出了许多计算机安全技术,包括防火墙、基于角色的访问控制、数据备份服务、数据加密等。此外,还推荐了法规和政策的最佳实践和执行。防火墙技术旨在防止恶意软件入侵计算机***。基于角色的访问控制根据授权用户的角色和权限将***访问权限限制为这些用户。数据备份按照预确定的时间表对数据进行归档,以防止数据丢失。加密将明文文件编码为不可识别的形式,除非使用对应的解密密钥进行解密。
尽管上述计算机安全技术可以在一定程度上起作用,但它们都容易受到复杂的攻击,事实证明,90%的所有大型机构在过去12个月内都有数据破坏和/或被勒索赎金。在当今互联的网络-物理-人类的网络中,计算机安全取决于最薄弱的环节在最薄弱的时刻的强度。由于人类很难全天候保持警惕,恶意软件可以通过复杂的已知或未知攻击利用最薄弱的环节和时刻找到进入计算机网络的方式。一旦恶意软件处于计算机网络内,各种网络技术都可能失效。
恶意软件扫描和检测技术面临着来自未知攻击的不确定性的挑战,同时给被保护的***带来了巨大的计算负担。发明人开发了可以从以数据为中心的角度保护数据的方法和***,以主动且有效地保卫数据。
本文描述的是用于提供边缘安全、数据自保护以及中央监视和管理的***、方法、计算机程序产品和设备的各种实施方式。一般来说,本文描述的实施方式经由作为数据安全岗哨的内核文件***过滤器提供具有加密和基于进程的访问监管的数据自保护。岗哨建立在基于进程的访问监管之上,其中经授权的进程被准许对加密数据的期望访问权限,而未经授权的进程(诸如恶意软件)被拒绝对加密数据的任何访问。岗哨可以与中央岗哨平台连接以进行数据分析和可视化,以及中央监视和管理。本文描述的实施方式可以保护数据免受数据破坏以及已知和未知的攻击,包括勒索软件和网络钓鱼攻击。
本文描述的实施方式可以提供基于进程的加密数据访问监管***。该***可以包括用于存储加密数据的数据存储装置、文件***过滤器和岗哨应用。文件***过滤器可以操作成在存储在数据存储装置中的数据与试图访问数据的各种应用之间的接口。文件***过滤器可以加密数据、解密数据、监管试图访问数据的应用进程、认证进程、以及相应地对它们进行授权。本文描述的实施方式还可以包括基于进程的加密数据访问监管***中的内核级进程认证和授权。特别地,本文描述的实施方式可以用于:监管试图访问加密数据的进程、认证进程、仅对被授权访问明文的进程准许明文内容访问、仅对被授权访问密文的进程准许密文内容访问、以及拒绝对于所有未经授权的进程的访问请求。所述进程认证和授权步骤可能包括三个阶段:
1、配置:首先可以确定对于允许的合法进程中的每个允许的合法进程的访问许可。然后可以将允许的合法进程与其对应的访问许可之间的数据自保护策略提供给内核级文件***过滤器。
2、进程认证:可以对调用进程的真实身份进行检查并且与数据自保护策略中的真实身份进行比较。
3.进程授权:可以根据数据自保护策略对向经认证的调用进程准许的访问许可进行检查,并相应地进行授权。
现在参考图1,示出了根据实施方式的示例计算机***10。计算机***10可以包括硬件组件40,诸如处理器42、数据存储装置44和通信接口46。计算机***10可以使用硬件40执行各种软件,诸如内核30和应用20。在一些实施方式中,计算机***10可以是被配置为向其他计算机***提供服务的服务器。
处理器42可以用可以为计算机***10的配置、目的和要求提供足够的处理能力的任何合适的处理器、控制器、数字信号处理器、图形处理单元、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)来实现。处理器42可以包括一个以上的处理器,其中每个处理器被配置成执行不同的专用任务。处理器42可以执行指令以运行存储在数据存储装置44中的各种软件,诸如应用程序20和内核30。
数据存储装置44可以包括RAM、ROM、一个或更多个硬盘驱动器、一个或更多个闪存驱动器或一些其他合适的数据存储元件,诸如磁盘驱动器、直连式存储、网络附加存储和存储区域网络。数据存储装置44可用于存储各种计算机程序,诸如内核30和应用20。数据存储装置44可以包括易失性和非易失性存储器。在操作期间,存储在非易失性存储器中的计算机程序可以被加载到易失性存储器以供处理器42快速访问。
通信接口46可以包括使计算机***10能够与各种设备和其他***通信的任何接口。例如,在一些实施方式中,通信接口46可以包括串行端口、并行端口或USB端口中的至少一者。通信接口46还可以包括通过因特网、局域网(LAN)、以太网、火线、调制解调器、光纤、数字用户线连接或其他网络中的一者或更多者的与组件建立的接口。这些元件的各种组合可以包含在通信接口46内。例如,通信接口46可以接收来自各种输入设备的输入,诸如鼠标、键盘、触摸屏、拇指轮、触控板、轨迹球、读卡器、语音识别软件等,这取决于计算机***10的要求和实现方式。
应用20可以是可以由计算机***10执行的任何计算机程序。用户可以使用应用20来与计算机***10交互。例如,应用20可以包括文字处理器、电子表格程序、网页浏览器、媒体播放器、文件查看器、照片编辑器等。应用20一般不能直接访问硬件组件40。相反,对硬件组件40的访问通常是通过内核30提供的。也就是说,内核30可以控制应用20与硬件40之间的交互。内核30一般负责管理硬件组件40,并且通常是计算机***10的操作***的子组件。换句话说,内核30可以分配硬件资源40来执行应用20。例如,内核30可以执行内存、CPU以及设备管理、文件管理和***调用管理。应用20通常必须向内核30发出***调用以访问硬件资源40,诸如文件读/写。
在操作期间,内核30和应用20可以由数据存储装置44加载以供处理器42访问和执行。内核30可以从应用20加载到数据存储装置44的单独的、受保护的部分上。数据存储44的加载内核30的部分可以被保护不被应用20访问,并且在某些情况下,不***作***的其他组件访问。相应地,数据存储装置44可以被隔离成用于加载内核30的内核空间和用于加载应用20的用户空间。用户空间可以包括除了内核30之外的数据存储装置44的所有部分。
现在参考图2,其中示出了根据一些实施方式的用于数据自保护的示例***100。数据自保护***100可以提供基于进程的加密数据访问监管。在一些实施方式中,数据自保护***100可以提供数据保护解决方案,该数据保护解决方案保护存储在计算机***上的数据的安全以免受数据泄露以及任何已知攻击和未知攻击(包括网络钓鱼和勒索软件攻击),同时无缝支持各种类型的服务(诸如SharePoint、Exchange,SQL,Perforce,Web服务器等),以透明地访问加密和受保护的数据。在一些实施方式中,***100可以在端点计算机***上以文件***级别提供数据自保护解决方案,以免受数据泄露以及任何已知攻击和未知攻击(包括网络钓鱼和勒索软件攻击),同时允许合法的最终用户以透明的方式访问受保护的数据。
数据自保护***100包括中央岗哨平台140和至少岗哨110。虽然在所示示例中仅示出了两个岗哨110a和110b,但是应当理解,数据自保护***100可以包括任何数量的岗哨110。中央岗哨平台140和至少一个岗哨110安装在一个或更多个计算机***10上。每个岗哨110一般安装在单独的计算机***10上并且能够操作成使用加密与基于进程的访问控制的整合组合来保护存储在该计算机***10上的数据。例如,数据自保护***100可以包括多个计算机***10,每个计算机***10上安装具有岗哨110。在所示示例中,第一岗哨110a安装在第一计算机***10a上,并且第二岗哨110b安装在第二计算机***10b上。中央岗哨平台140一般与每个岗哨110电子通信并且能够操作监视和管理每个岗哨110。中央岗哨平台140可以安装在与岗哨110相同的计算机***10上,或者完全安装在单独的计算机***10上。在一些实施方式中,数据自保护***100可以仅包括一个计算机***10,在该计算机***10上安装有中央岗哨平台140和岗哨110二者。
在各种实施方式中,数据自保护***100可以由通过一个或更多个网络连接的多个计算机***10提供。(一个或更多个)网络可以包括任何能够承载数据的网络,包括因特网、以太网、普通老式电话服务(POTS)线、公共交换电话网(PSTN)、综合服务数字网(ISDN)、数字用户线(DSL)、同轴电缆、光纤、卫星、移动、无线(例如Wi-Fi、WiMAX)、SS7信令网络、固定线路、局域网、广域网和其他网络,包括这些能够与计算机***10建立接口并实现与计算机***10之间的通信的任意组合。(一个或更多个)网络可以是本地的、私有的、公开的(例如,因特网)或它们的组合。在一些实施方式中,中央岗哨平台140和岗哨110可以安装在都在同一私有网络上的多个计算机***10上。在其他实施方式中,中央岗哨平台140可以安装在云计算机上,而岗哨110安装在私有网络内的计算机***10上。
每个计算机***10都可以储存数据,这些数据可以由安装在计算机***10上的岗哨110来保护。例如,每个计算机***10可以包括第一数据存储装置104以用于存储可以由相应的岗哨110进行访问控制和加密的数据。在各种实施方式中,第一数据存储装置104可以是非易失性存储装置,诸如硬盘、网络盘、USB驱动器、CD驱动器、SD卡、直连式存储、网络附加存储、存储区域网络等。
每个计算机***10还可以运行各种计算机程序,诸如应用101。例如,每个计算机***10可以包括用于加载应用101的第二数据存储装置109。在各种实施方式中,第二数据存储装置109可以是易失性存储装置,诸如随机访问存储器(RAM)。第二数据存储装置109可以包括用户空120和与用户空间120分离的内核130。如上所述,内核130可以是数据存储装置109的与用户空间120(和应用101)分离的受保护的部分。岗哨110的至少一部分可以安装在内核130内。然而,应该理解,中央岗哨平台140与内核130是分离的。
每个岗哨110可以包括文件***过滤器103和岗哨应用102。文件***过滤器103可以安装在计算机***10的内核130上。文件***过滤器103可以将强制访问控制与加密整合在一起以保护存储在计算机***10上的受保护的数据。也就是说,文件***过滤器103可以加密和控制对存储在计算机***10上的受保护的数据的访问。岗哨应用102可以安装在计算机***的用户空间120中。岗哨应用102可以促进中央岗哨平台140与文件***过滤器103之间的通信。例如,多个通信信道可以经由相应的岗哨应用102将中央岗哨平台140链接到每个岗哨110的文件***过滤器103。
在操作期间,安装有岗哨110的每个计算机***10可以将各种应用101运行为一个或更多个进程。这些进程是对应用101的实际执行。应用101可以作为文件存储在计算机***10上并且通过对内核130的***调用被加载到用户空间120中以生成进程。该进程可以与进程ID相关联,该进程ID可用于识别内核130中的进程。
当应用101被执行时,进程可以请求对由岗哨110保护的加密数据的访问。通常,当进程想要访问文件时,进程向文件***发出用于获取对该文件的引用(称为文件句柄(filehandle))的请求。根据请求的属性和要访问的文件是否存在,可以创建新文件或者可以打开已有文件。进程获取该文件的文件句柄后,进程可以通过将文件句柄和要写入的数据传递到文件***来将数据写入该文件中,并且可以通过将文件句柄和保持要读取的数据的位置传递给文件***来从文件读取数据。当进程不需要再访问文件时,进程向文件***发出用于关闭文件句柄的请求。文件***过滤器103可以拦截由进程发出的用于获取文件句柄、写入和读取数据、以及关闭文件句柄的请求。
文件***过滤器103可以接收访问请求并根据数据自保护策略处理请求以准许或拒绝请求。例如,文件***过滤器103可以检查由每个进程做出的每个访问请求,并且如果数据自保护策略允许明文访问,则准许访问请求并对加密数据进行解密;如果数据自保护策略允许密文访问,则准许访问请求而不对加密数据进行解密;或者如果数据自保护策略既不允许明文访问也不允许密文访问,则拒绝访问请求。文件***过滤器103还可以通过岗哨应用102将与每个经检查的访问请求相关联的信息发送到中央岗哨平台140。
数据自保护策略可以为每个进程限定特定的访问级别。在各种实施方式中,访问级别可以基于与进程相关联的应用101来限定。相应地,执行特定应用101的所有进程可以具有相同的访问许可。例如,数据自保护策略可以包括:明文授权列表,其具有被授权访问加密数据的明文内容的进程的所有合法应用程序;以及密文授权列表,其具有被授权访问加密数据的密文内容的进程的所有合法程序。文件***过滤器103可以确定做出访问请求的进程是明文授权列表还是密文授权列表上列出的合法应用程序,以确定是否准许请求以及是否对加密数据进行解密。被授权访问的明文内容的示例进程可以包括用于doc文件的Windows Word、用于pdf文件的Acrobat Reader/Writer、用于文本文件的Notepad、用于C/C++文件的Virtual Studio等等。被授权访问密文内容的进程可以包括文件同步应用,诸如Dropbox、OneDrive、Google Drive等。同步应用可以被准许对密文的访问,以便它们仅将加密数据文件的密文(和加密数据的明文)同步到云。被授权既不访问明文内容也不访问密文内容的进程可以包括不被最终用户检查的进程。在各种实施方式中,与岗哨应用102相关联的进程可以不具有对受保护的数据的任何类型的访问许可,因为岗哨应用102可能不需要访问加密数据文件。在一些实施方式中,列表可以是链表数据结构。
数据自保护策略通常由中央岗哨平台140提供给每个岗哨110。数据自保护策略对于每个岗哨110可以是相同的,或者可以基于特定的岗哨110而不同。数据自保护策略可以被加密成使得其仅能由中央岗哨平台140来修改。加密可以防止对计算机***10具有根、管理或监督者级别访问的本地用户修改数据自保护策略。在一些实施方式中,中央岗哨平台140可以向岗哨110发送初始数据自保护策略,然后随后发送对数据自保护策略的修改。在一些实施方式中,数据自保护策略可以称为配置映射。
在一些实施方式中,文件***过滤器103可以使用目录树来确定存储在计算机***10中的特定文件是否被加密。可以使用快速字符串搜索算法来基于文件***路径字符串的树结构对目录树进行快速搜索。在一些实施方式中,可以在加载文件***过滤器103时启动搜索树,并且通过如下方式来构建搜索树:针对每个文件检测其是否被加密、文件何时第一次被文件***过滤器103访问(诸如何时被任何进程或应用调用)。数据自保护***100可以检测文件是否以各种方式加密。在一些实施方式中,检测文件是否加密可以包括将特殊扩展名附加到存储在数据存储装置104上的加密数据文件。然后可以通过检查特殊扩展名的存在来执行检测文件是否加密。在一些实施方式中,检测文件是否被加密可以包括将加密令牌嵌入到加密数据文件的文件头部中以指示该文件被加密,然后使用令牌信息进行检测。在一些实施方式中,检测文件是否加密可以包括使用文件***中的文件属性域,记录用于对加密数据文件加密的符号,并使用该符号进行检测。
在一些实施方式中,可以生成加密密钥或解密密钥,使得文件***过滤器103可以对存储在计算机***10上的数据进行加密或解密。生成的密钥可以应用于对缓冲区中的数据进行加密/解密以进行文件读/写。如果应用对称加密,则加密密钥和对应的解密密钥可以相同。
在一些实施方式中,生成加密密钥可以包括以确定性方式基于输入数据生成加密密钥,即只要输入数据相同,输出(加密密钥)就相同。输入数据可包括两部分:密钥库种子的唯一标识符和称为密钥材料的辅助信息。给定密钥库种子的唯一标识符和密钥材料,用于密钥生成的方法可以使用该标识符来确定密钥库种子,然后将密钥库种子与密钥材料结合以生成加密密钥。用于密钥生成的方法的示例在申请人于2016年6月10日提交的题为“METHODS AND COMPUTER PROGRAM PRODUCTS FOR ENCRYPTION KEY GENERATION ANDMANAGEMENT”的美国专利No.9,703,979中有更详细的描述,其全部内容通过引用并入本文。
在一些实施方式中,文件的标识符与加密密钥之间的哈希映射(以下称为加密密钥缓存)可以被维护在计算机***10的内存中,从而允许文件***过滤器103有效地记录或检索文件的加密密钥。哈希映射可以在加载文件***过滤器103时启动,并且通过如下方式构建:在为特定文件生成加密密钥时记录成对的文件的标识符和该加密密钥。
在一些实施方式中,加密密钥生成和缓存可以包括用户模式岗哨应用102和文件***过滤器103。在接收到用于获取导致创建新的加密数据文件的文件的文件句柄的请求时,文件***过滤器103可以检索加密数据文件的一些属性(例如,文件将在文件***中创建的位置)并将这些属性传输到用户模式岗哨应用102。基于这些属性,用户模式岗哨应用102可以确定具有唯一标识符的密钥库种子,随机生成密钥材料,然后使用选定的密钥库种子和密钥材料生成加密密钥。然后用户模式岗哨应用102可以将选定的密钥库种子的唯一标识符、密钥材料和加密密钥传输到文件***过滤器103。过滤器103然后可以将密钥材料与选定的密钥库种子的唯一标识符一起记录在加密数据文件中。过滤器103还可以将成对的文件的唯一标识符和加密密钥记录在加密密钥缓存中。
在一些实施方式中,在接收到用于获取现有加密数据文件的文件句柄的请求时,文件***过滤器103可以从文件中检索唯一标识符并尝试通过该唯一标识符检索加密密钥缓存中的对应的加密密钥。当加密密钥缓存不包含该文件的加密密钥时,过滤器103可以检索存储在加密数据文件中的密钥库种子的唯一标识符和密钥材料,然后将密钥库种子的唯一标识符和密钥材料传输到用户模式岗哨应用102。继而,用户模式岗哨应用102然后可以通过唯一标识符检索密钥库种子,使用密钥库种子和密钥材料生成用于加密数据文件的加密密钥,并将加密密钥传输到过滤器103。过滤器103还可以将成对的文件的唯一标识符和加密密钥记录在加密密钥缓存中。
在一些实施方式中,加密密钥生成和缓存可以仅包括文件***过滤器103(而不包括岗哨应用102)。例如,在接收到用于获取导致创建新的加密数据文件的文件的文件句柄的请求时,文件***过滤器103可以确定具有唯一标识符的密钥库种子。过滤器103还可以随机生成密钥材料,使用密钥库种子和密钥材料生成加密密钥,然后将密钥材料与密钥库种子的唯一标识符一起记录在加密数据文件中。过滤器103还可以将成对的文件的唯一标识符和加密密钥记录在加密密钥缓存中。
在一些实施方式中,在接收到用于获取现有加密数据文件的文件句柄的请求时,文件***过滤器103可以从文件中检索唯一标识符,并尝试通过唯一标识符来检索加密缓存中的对应的加密密钥。当加密密钥缓存不包含该文件的加密密钥时,过滤器103可以检索存储在加密数据文件中的密钥库种子的唯一标识符和密钥材料,通过唯一标识符检索密钥库种子,并且使用密钥库种子和密钥材料来生成加密密钥。过滤器103还可以将成对的文件的唯一标识符和加密密钥记录在加密密钥缓存中。
在一些实施方式中,当加载文件***过滤器103时,可以将具有标识符的单个密钥库种子加载到内存中。过滤器103可以使用该密钥库种子以及随机密钥材料来生成用于要创建或打开的文件的加密密钥。但是,为要创建的文件随机生成的或从要打开的文件读取的密钥材料可能因文件而异。
在一些实施方式中,当接收到用于将数据写入文件或从加密数据文件读取数据的请求时,文件***过滤器103可以检索文件的唯一标识符,通过标识符获取加密密钥缓存中的加密密钥,并在数据被写入文件***或被发出读取请求的授权进程读取之前使用加密密钥对数据进行加密或解密。
在一些实施方式中,在关闭文件的所有文件句柄之后,可以从加密密钥缓存中清除用于该文件的加密密钥。
在一些实施方式中,可以在加载文件***过滤器103时将一个加密密钥加载到内存中。对于所有的加密数据文件,文件***过滤器103可以在数据被写入文件***或由发出读取请求的授权进程读取之前使用加密密钥对数据进行加密或解密。一个示例是对由Microsoft SQL Server访问的文件进行加密。通常,Microsoft SQL Server创建和/或访问有限数量的文件,这些文件中的每个文件都非常大。在这种情况下,一个加密密钥可以足够安全地对由Microsoft SQL Servers访问的所有文件进行加密。每当Microsoft SQLServers将数据写入文件中时,过滤器103可以在数据被写入文件***之前使用加密密钥缓存中的单个加密密钥对数据进行加密;每当Microsoft SQL Servers从文件中读取数据时,过滤器103可以在由Microsoft SQL Server读取数据之前使用加密密钥缓存中的单个加密密钥对数据进行解密。
中央岗哨平台140可以操作成监视和管理每个岗哨110。中央岗哨平台140可以包括控制器106、收集器105、web服务108和数据库107。控制器106可以向计算机***10发送控制和管理信息以由岗哨110执行或实践;收集器105可以从岗哨110收集信息;网页服务108可以为用户提供与数据自保护***100的接口(例如,呈现数据分析和可视化结果,或接收用于控制和管理的用户输入);并且数据库107可以存储各种信息,诸如岗哨记录、控制和管理信息、操作日志等。
控制器106可以与岗哨110连接以进行软件包递送、软件安装、激活、提升、配置、更新和许可证更新等。控制器106可以向每个岗哨110的每个岗哨应用102发送各种信息。例如,控制器106可以向每个岗哨110发送数据自保护策略。在一些实施方式中,控制器106可以通过向岗哨应用102发送数据自保护策略来配置每个岗哨的文件***过滤器103。
在一些实施方式中,控制器106可以操作成执行软件包递送。例如,控制器106可以输入:IP地址、有效端口号、有效用户名和待由岗哨110保护的计算机***10的对应的密码。控制器106可以使用诸如Linux上的SSH或Windows上的远程桌面之类的服务来到达计算机***10以进行远程操作。控制器106可以包括脚本代码,该脚本代码可以在中央岗哨平台140与一个或更多个岗哨110之间建立控制通道,以根据计算机***10的操作***发送软件包。控制器106可以自动检测计算机***10的操作***并递送适当的软件包。在一些实施方式中,脚本可以被推送以在计算机***10上执行,使得计算机***10可以访问给定的文件服务器以取得适当的软件包。在一些实施方式中,控制器106可以仅接收一次IP地址、有效端口号、有效用户名和对应的密码作为用户输入,并为计算机***10创建专用用户帐号以供后续使用。一些实施方式,控制器106可以使用证书来执行自动登录。
在一些实施方式中,控制器106可以包含用于在计算机***10上自动安装岗哨110的软件的脚本代码。它可以包含用于不同操作***(诸如各种Linux和Windows***)的计算机***110的不同代码集。
在一些实施方式中,控制器106可以包含用于自动激活计算机***10上的岗哨110的软件的脚本代码。安装的软件的第一次执行可以触发唯一编号的生成,该唯一编号可以用于在中央岗哨平台140中识别计算机***10。自动激活可以包括:获取岗哨110的唯一ID、将其发送回中央岗哨平台140、在中央岗哨平台140上生成激活证书、将激活证书发送回岗哨110、以及在岗哨110上应用激活证书。
在一些实施方式中,控制器106可以通过除脚本代码之外的其他编程语言来实现。
在一些实施方式中,控制器106可以选择计算机***10上的岗哨110并进行岗哨110的配置。这可以包括建立两个列表,一个用于受保护的数据文件,而另一个用于经授权的应用。这两个列表可以包含在数据自保护策略中。在一些实施方式中,可以通过作为web服务108和控制器106的一部分的图形用户界面在中央岗哨平台140上建立受保护的文件的列表。web服务组件108可以收集用户输入,通过控制器106将它们传递给要执行的岗哨应用102,从岗哨应用102获取反馈并将它们发送回控制器106,控制器106可以进一步将反馈呈现给Web服务108以显示给用户。
在一些实施方式中,控制器106可以通过执行包更新来管理岗哨110。特别地,中央岗哨平台140可以检测安装在每个岗哨110上的当前包的版本号,并提示管理员执行包更新,并帮助管理员执行更新。例如,包更新可以被设计成支持两种类型:第一种类型是主要更新,其需要***重启并且需要管理员的监督;第二种类型是次要更新,其不需要***重启并且因此能够自动且安静地进行,而无需管理员的关注。一般来说,如果文件***过滤器103被更新,则更新可以被认为是主要的,这种情况很少见。大多数情况下,更新可能只包括用户模式应用101的更改并且是次要的。
在一些实施方式中,控制器106可以通过执行许可证更新来管理岗哨110。许可证更新可以由管理员启动,并且由中央岗哨平台140自动执行,即控制器106可以将更新证书推送到对应的岗哨110并且中央岗哨平台140可以自动执行许可证更新操作。
收集器105可以从每个岗哨110接收信息以允许中央岗哨平台140监视每个岗哨110。收集器105可以从岗哨应用102接收信息。例如,收集器105可以接收关于数据岗哨记录的信息,包括数据访问日志、***性能信息,诸如内存消耗、cpu使用、磁盘使用等。用户模式岗哨应用102可以充当文件***过滤器103与收集器105之间的桥梁,以用于记录用于数据使用监视和管理的数据岗哨信息,以及用于记录***性能信息。
收集器105可以接收有关对存储在安装有岗哨110的每个计算机***10上的加密数据的访问的信息。例如,收集器105可以接收与由每个岗哨110检查的每个访问请求有关的信息。在一些实施方式中,该信息对于由每个进程做出的每个访问请求可以包括:与计算机***10有关的信息、与包括应用程序的进程有关的信息、加密数据的文件信息、尝试访问的时间和检查结果。
例如,该信息可以包括岗哨记录,该岗哨记录包括以下应用的事件的时间序列:被许可访问受保护的数据文件的应用或被阻止访问受保护的数据文件的应用。这些记录还可以包含每个计算机***10的详细信息,诸如名称、其IP地址和时间戳。这些记录可以由每个计算机***10上的文件***过滤器103生成。记录可以是它们的原始格式,或者可以是部分压缩或整体压缩的,以获得更好的处理效率。在一些实施方式中,可以将受保护的文件名和应用名替换为哈希值作为部分压缩解决方案,以节省磁盘空间。在一些其他实施方式中,对具有已知IP的计算机***10上的给定数据文件进行访问的特定应用的完整记录可以被记录为字典条目,并且其所有重复内容可以被记录为字典中的索引。
在一些实施方式中,由收集器105收集的信息还可以包括所有正在运行的进程或某些特定进程的细节,而不管它们是否正在访问受保护的文件。这些信息可以用于更好地了解对应的计算机***10的计算性能。例如,其可以用于检测正在耗尽***资源的恶意软件,例如一些采矿机器人。
收集器105还可以从每个岗哨110接收关于对应的计算机***10的运行情况的信息,使得中央岗哨平台140可以监视每个计算机***10的运行情况。例如,每个计算机***10的运行情况可以包括与该计算机***10的资源相关的操作统计。在一些实施方式中,运行情况可以包括每个资源的相对于该资源的总容量的当前使用水平。例如,资源可以包括计算机***10的内存、处理器和磁盘空间。
在一些实施方式中,信息可以包括关于每个计算机***10的***信息,诸如CPU使用、内存消耗和磁盘使用等。可以使用各种方法来收集信息,例如在计算机***10上的API调用或***实用程序。在一些实施方式中,CPU使用、内存消耗和磁盘使用可以由指示从0到100变化的百分比的三个整数表示。在不过多影响安全性和可靠性的情况下,这些值的精度可以进一步降低以获得更好的存储效率,例如,量化这些值以将百分比映射到0到50的范围。在一些实施方式中,对于每个计算机***10在每个时间实例的CPU使用可以被记录为对应于多个核的百分比的阵列。在一些实施方式中,对于每个计算机***10的磁盘使用可以被记录为对应于多个磁盘或分区的百分比的阵列。
在一些实施方式中,运行情况可以包括计算机***10的***生命力。***生命力可以基于各种***参数来计算,诸如瞬时CPU使用、瞬时内存占用、磁盘空间等。例如,***生命力sv可以计算为:
If(MemUsePer>0.95||CpuUsePer>0.95||DiskUsePer>0.95)
sv=0;
else
sv=1-(MemUsePer+CpuUsePer+DiskUsePer)/3;
其中MemUsePer、CpuUsePer、DiskUsePer分别代表已用内存的百分比、已用CPU的百分比和已用磁盘空间的百分比。
在一些实施方式中,运行情况可以包括平均有效负载突变指数。平均有效负载突变指数可以指示由文件***过滤器103许可的、经授权的应用对受保护的文件的文件访问活动的突然变化的平均值。例如,该指数可以定义如下:
LoadIndex=(CCFA/CTI)/(TCFA/ETW)
其中CCFA是给定时间间隔内的文件访问的当前计数,CTI是以分钟为单位的当前时间间隔的长度,TCFA是扩展时间窗口内的文件访问的总计数,ETW是以分钟为单位的扩展窗口的长度。对于延长的时间窗口,通常将其选择为包围当前时间间隔的较大时间窗口,例如,将当前时间间隔的左边距(left margin)延长给定分钟数以提早到***中的最早时间,以及将当前时间间隔的右边距延伸给定分钟数以推迟到***中的最晚时间。在一些实施方式中,文件访问的计数可以指将由文件***过滤器103许可的经授权的应用对受保护的数据文件的访问。在这种情况下,得到的指数被定义为有效负载指数。在一些实施方式中,可以将来自多个岗哨的那些有效负载指数的算术平均值计算为平均有效负载突变指数。在一些实施方式中,可以针对所有被访问的受保护的数据文件收集文件访问计数,包括那些由经授权的应用允许的文件和那些由未经授权的应用程序阻止的文件。在这种情况下,得到的负载指数具有整体负载突变指数的含义。在一些实施方式中,可以针对仅由那些未经授权的应用所访问的所有受保护的数据文件收集文件访问计数。在这种情况下,所有的访问都将被文件***驱动程序阻止。得到的指数可以命名为侵入(hack)突变指数。该侵入指数的突然变化可能表明病毒爆发。
在一些实施方式中,每个岗哨110可以向中央岗哨平台140发送心跳的时间序列。可以将心跳的时间序列加密成使得它仅能由岗哨110来修改。加密可以防止对计算机***10具有根、管理或监督者级别访问的用户修改心跳的时间序列。心跳的时间序列可以经由将中央岗哨平台140经由岗哨应用102链接到文件***过滤器103的通信信道来发送。中央岗哨平台140可以监视心跳的时间序列以评估岗哨110的状态。心跳的时间序列可以限定为由每个岗哨110生成并发送到中央岗哨平台140以用于指示岗哨110是否正常运行的规则信号。当发生侵入并且数据自保护***100受到攻击时,中央岗哨平台140可以从心跳信号推断出关于保护***100是否已被影响。心跳信息可以以其原始格式记录并存储为以规则时间间隔内接收到的规则信号。为了更好的存储效率,可以将其转换为运行长度的代码,或者正常心跳信号的启动和停止时间实例的序列。
在一些实施方式中,岗哨应用102与收集器105之间的通信可以基于便于信息交换和良好可扩展性的标准格式,诸如可扩展标记语言(XML)。收集器105可以包括XML解析器以提取从岗哨应用102接收到的所有信息,并将它们以其原始格式或以新格式存储在数据库107中,以便更好地进行数据可视化和/或分析。在其他实施方式中,岗哨应用102与收集器105之间的通信可以基于发送者与接收者之间约定的任何特定格式。
在一些实施方式中,收集器105可以充当http服务器,其侦听可以由所有计算机***10访问的给定IP地址处的特定端口。岗哨应用102与收集器105之间的连接可以由岗哨应用102发起。在其他实施方式中,收集器105可以充当轮询所有岗哨应用102以获取新信息的http客户端。这在下述情况下可能是特别需要的:当中央岗哨平台140安装在IP地址不可被计算机***110直接访问的计算机上,而计算机***110配备有可被中央岗哨平台140直接访问的IP地址时。
数据库107可以存储由收集器105收集的或待由控制器106发送的各种信息。例如,数据库107可以存储由收集器105接收到的岗哨记录、运行情况和心跳信息。在另一示例中,数据库107可以存储待向岗哨110发送的数据自保护策略。
在一些实施方式中,InfluxDB可用于存储时间序列,诸如心跳和/或***信息,诸如CPU使用、内存消耗、磁盘使用等。这样的高频和低保留期信息可能由于其快速***和搜索而很好地适用于InfluxDB。
在一些实施方式中,ElasticSearch可以用于存储对受保护的文件进行访问的一些应用的岗哨记录。ElasticSearch可以很好地适用于低频率和长保留期信息,并且可以允许文档样式记录。
在一些实施方式中,可以使用非时序数据库来存储从具有适当的架构设计(schema design)的岗哨110收集的信息。例如,可以使用双列架构来存储心跳数据以仅记录连续心跳的时段,其中第一列是指示开始时间的指数,且第二列是指示结束时间的指数。当接收到新的心跳信号,可以将当前时间与最后一行的结束时段之间的差异同预限定的时间间隔进行比较。如果该差异超过某个阈值(例如,规则时间间隔的两倍),则可以将最后一行的结束时间段更新为当前时间。否则,可以使用当前时间作为开始时间和结束时间来***新的行。在一些实施方式中,心跳数据可以包括时间变化和信道延迟,在一些实施方式中,***信息可以记录在四列架构中,该四列架构包含一列时间指数加上三列,每列是一字节,分别指示CPU使用、内存消耗和磁盘使用的百分比。
web服务108可以为用户提供各种接口以与中央岗哨平台140交互。例如,web服务108可以提供接口,该接口允许用户改变数据自保护策略中的进程的访问许可。Web服务108还可以提供可视化显示器以显示由中央岗哨平台140收集的各种数据。例如,Web服务108可以生成各种图形组件,该图形组件用于对安装有岗哨110的计算机***10的整体状态进行可视化,诸如***生命力、CPU使用、内存占用、磁盘空间、心跳等。图形组件还可以对数据岗哨记录及其衍生信息进行可视化,包括有效负载突变指数、整体负载突变指数、侵入突变指数等。
web服务108可以查询数据库107以生成图形组件。在一些实施方式中,为了使记录来自岗哨110的原始信息与查询数据库107以进行可视化的效率平衡,可以建立单独的服务来提取原始信息和生成衍生信息并将衍生信息存储到数据库表格中。
在一些实施方式中,可视化显示器可以显示指示符,该指示符显示与从岗哨110接收到的信息相关联的信息。例如,web服务108可以提供多个操作状态指示符,该多个操作状态指示符指示从岗哨110接收到的运行情况。在另一示例中,web服务108可以提供多个访问状态指示符,该多个访问状态指示符指示从岗哨110接收到的经检查的访问请求。
在一些实施方式中,可视化显示器可以显示多个计算机表示。每个计算机表示可以对应于安装有岗哨的计算机***110中的一个计算机***。可以与一个或更多个指示符相关联地提供每个计算机表示,该一个或更多个指示符显示从安装在相应的计算机***10上的岗哨110接收到的信息。例如,可以与如下一个或更多个操作状态指示符或访问状态指示符相关联地提供每个计算机表示:所述一个或更多个操作状态指示符或访问状态指示符与相应的计算机***10相关联。
在一些实施方式中,可视化显示器可以指示所有岗哨110以及安装和保卫岗哨110的所有计算机***10的整体健康状况。可视化显示器可以包含:有多少计算机***10的总体评估的图形说明是健康的;有多少是不健康的;以及有多少是根据某个标准在位于边界上的,诸如对***生命力应用阈值。
在一些实施方式中,可视化显示器可以指示由岗哨110保护的所有计算机***10的平均***生命力。可视化显示器可以包含如上所述的平均***生命力的图形说明。
在一些实施方式中,可视化显示器可以包括总体负载突变指数和/或有效负载突变指数的图形说明。该说明可以使用颜色或其他视觉元素,诸如具有各种半径的圆。例如,视觉元素可用于指示各种类型的状态,例如正常、异常和处于中间的状态。在一些实施方式中,可以使用各种时间段,例如最近24小时、或最近7天、或最近30天、或最近12个月来对可视化进行定制。时间段可以呈现在不同时间段内从计算机***110上的岗哨接收到的信息的整体图像。
在一些实施方式中,可视化显示器可以显示每个计算机***10的状态,该状态可以包括计算机***10的健康状况、从计算机***10接收到的信息、存储在计算机***10上的受保护的文件的统计数据等。可视化显示器可以提供从计算机***10接收到的信息和计算机***10的***健康状况的整体图像。例如,可视化显示器可以包括表示特定计算机10在特定时间段内的健康状态的颜色图。例如,时间段可以是一年。颜色图中的每个像素可以是表示计算机***10的特定状态的特定颜色。例如,像素可以是R(纯红色)、B(纯蓝色)和G(纯绿色),例如,将***资源的三个阶段表示为快耗尽、相当充足以及丰富,其中相关的资源可以是CPU使用、内存占用、磁盘空间等。在另一示例中,可以使用颜色像素来表示衍生***参数,诸如***生命力。在另一示例中,通过将CPU使用百分比、内存占用百分比和磁盘使用百分比中的每个比例乘以255并将它们与纯绿色G、纯红色R和纯蓝色B相关联来建立颜色图。这样,***在每个时刻的健康状况都可以由颜色像素来表示。当所有百分比接近1时,颜色可能接近纯白色,这指示机器可能崩溃。颜色图的分辨率可以取决于采样频率。例如,如果一年365天每分钟都进行采样,则颜色图的大小可以是1440x365。每行可以表示该天的健康状况,而每列可以表示该天的不同时间的健康状况。在一些实施方式中,可以生成多个颜色图的视频剪辑来表示多个计算机***10的健康状况。
在一些实施方式中,中央岗哨平台140可以提供动态搜索功能。动态搜索功能可以促进对从岗哨110接收到的信息中包含的项目进行搜索。例如,可以使用动态搜索功能来搜索从岗哨110接收到的经检查的访问请求。可以使用动态搜索功能来探索在中央岗哨平台140上收集和累积的各种原始信息,诸如文件访问记录和衍生信息,诸如负载指数,以进一步促进***管理员的数据分析。
在一些实施方式中,搜索条件可以分为两大类,第一类是针对数据文件访问活动的,其可以包含数据访问时间、计算机***名称、计算机***的操作***、计算机***所属组的ID、计算机***的IP地址、目标文件的完整路径、应用、以及文件***过滤器103对允许或阻止文件访问的最终决定。第二类可以是计算机***状态,包括计算机***的健康状况、***中的计算机***ID、该计算机***所属组的ID、该计算机***的***生命力、CPU使用、内存占用、磁盘空间、计算机***的注册时间等。
在一些实施方式中,动态搜索功能可以首先将所有条件呈现给最终用户,同时自动检查所有选定条件的逻辑关系,并逐步启用/禁用某些条件以获得最佳用户体验。
在一些实施方式中,搜索功能可以包含显示针对文件访问记录的搜索结果的灵活方法。例如,可以将结果呈现为具有可由最终用户选择的要包含或要排除的列的表格,诸如记录时间、计算机***名称、受保护文件路径、应用、操作***、IP地址等。在另一示例性实施方式中,结果可以呈现为下述图形,诸如:针对数据岗哨记录的条形图;作为受保护文件的细节(诸如已受保护的文件的数量和文件的类型)的数据自保护保护的条形图(诸如已受保护的文件的数量和文件的类型;整体负载突变指数、有效负载突变指数和攻击突变指数等的条形图。
在一些实施方式中,搜索功能可以包含显示针对计算机***状态的搜索结果的灵活方法。例如,可以将结果呈现为具有可由最终用户选择的要包括或要排除的列的表格,诸如计算机***健康状况、计算机***名称、组ID、心跳状态、计算机***生命力、CPU使用、内存占用、磁盘空间、计算机***注册时间、操作***、IP地址等。在另一种实施方式中,可以将结果呈现为图形,诸如用于作为CPU使用、内存占用和磁盘空间的计算机***信息的三角形,或者心跳图等。
在一些实施方式中,中央岗哨平台140可以收集和记录管理员用户的每个操作,例如,查看岗哨记录和/或计算机***状态、进行动态搜索、在新的计算机***10上注册岗哨110、在新的计算机***10上激活岗哨110、在计算机***10上配置岗哨110以创建数据文件的保护区、在计算机***10上配置岗哨110以准许应用对访问受保护的数据文件的许可等。在一些实施方式中,所有操作都可以被永久记录,这意味着***100可能不支持记录一旦生成就对这些记录进行更新或删除,从而导致针对受所有岗哨110保护的所有数据以及由***管理员在这些岗哨110上进行的所有可视化、监视和管理操作的文件访问日志的综合集合。这可以为取证分析奠定坚实的基础,取证分析包括:建立侵入客或侵入企图的证据、发现***100中的漏洞、以及跟踪/监视***管理员的活动等。
在一些实施方式中,中央岗哨平台140可以生成数据岗哨信息和计算机***状态信息的统计报告,该报告可以被组织中的各个部门和/或人员用作数据安全报告。
现在参考图3,示出了根据实施方式的用于启用数据自保护的示例方法300。在一些实施方式中,数据自保护方法300可以使用数据自保护***100来实现。
在302处,岗哨110安装在计算机***10上。例如,文件***过滤器103可以安装在计算机***10的内核中,并且岗哨应用102可以安装在计算机***的用户空间120中。岗哨110可以加密和控制对存储在计算机***10上的数据的访问。在一些实施方式中,多个岗哨110可以安装在多个计算机***10上,其中每个岗哨110安装在不同的计算机***10上。
在304处,央岗哨平台140被设置为与岗哨110通信。例如,中央岗哨平台140可以包括用于从岗哨110接收数据的收集器105和用于向岗哨110发送数据的控制器106。在一些实施方式中,中央岗哨平台140可以连接到多个岗哨110中的每个岗哨。
在306处,中央岗哨平台140***作成向岗哨110发送数据自保护策略。例如,中央岗哨平台140可以对控制器106进行操作以发送:被授权访问存储在计算机***10上的加密数据的明文内容的应用101的列表,以及被授权访问存储在计算机***10上的加密数据的密文内容的应用101的列表。在一些实施方式中,中央岗哨平台140可以向多个岗哨中的每个岗哨110发送数据自保护策略。
在308处,文件***过滤器103***作成根据数据自保护策略控制对存储在计算机***10上的加密数据的访问。例如,文件***过滤器103可以处理由进程做出的每个文件访问请求,并且根据数据自保护策略准许或拒绝文件访问请求。例如,文件***过滤器103可以确定与做出文件访问请求的进程相关联的应用是否被许可访问明文内容、密文内容或两者都不许可。在一些实施方式中,多个岗哨110中的每个岗哨110的每个文件***过滤器103可以控制对存储在相应计算机***10上的加密数据的访问。
在310处,中央岗哨平台140***作成监视岗哨110。例如,中央岗哨平台140可以在收集器105处从岗哨110接收与对存储在计算机***10上的加密数据的访问有关的信息。在另一示例中,中央岗哨平台140可以在收集器105处从岗哨110接收与计算机***10的运行情况有关的信息。在一些实施方式中,中央岗哨平台140可以监视多个岗哨110中的每个岗哨110。
本文已经描述了多个示例实施方式。然而,本领域技术人员将理解,可以在不脱离如在所附权利要求中限定的实施方式的范围的情况下做出其他变化和修改。
Claims (28)
1.一种在至少一个计算机***上启用数据自保护的方法,所述方法包括:
在所述至少一个计算机***中的计算机***上安装岗哨,其中,所述岗哨包括安装在所述计算机***的内核上的文件***过滤器,所述文件***过滤器将强制访问控制与加密整合在一起;
提供与安装在所述计算机***上的所述岗哨电子通信的中央岗哨平台,所述中央岗哨平台与所述计算机***的所述内核分离;
对所述中央岗哨平台进行操作以向所述岗哨发送数据自保护策略,所述数据自保护策略被加密成使得所述数据自保护策略仅能由所述中央岗哨平台来修改;
通过如下方式对所述文件***过滤器进行操作以控制对存储在所述计算机***上的加密数据的访问:针对向所述加密数据做出文件访问请求的每个进程,所述文件***过滤器根据所述数据自保护策略对所述文件访问请求进行接收和处理,以准许或拒绝所述文件访问请求;以及
对所述中央岗哨平台进行操作以监视所述岗哨并且从所述岗哨接收信息,所述信息与对存储在所述计算机***上的所述加密数据的访问有关。
2.根据权利要求1所述的方法,其中,
所述至少一个计算机***包括多个计算机;
安装所述岗哨包括安装多个岗哨,安装所述多个岗哨包括:针对所述多个计算机中的每个计算机,在所述计算机上安装对应的岗哨,其中,在所述计算机上安装所述对应的岗哨包括:在所述计算机的所述内核上安装所述对应的岗哨的所述文件***过滤器;
提供所述中央岗哨平台包括:在一个计算机***上提供与所述多个岗哨电子通信的所述中央岗哨平台;
对所述中央岗哨平台进行操作以发送所述数据自保护策略包括对所述中央岗哨平台进行操作以发送多个数据自保护策略,发送所述多个数据自保护策略包括:针对所述多个岗哨中的每个岗哨,向所述岗哨发送对应的数据自保护策略;
对所述文件***过滤器进行操作以控制对存储在所述计算机***上的加密数据的访问包括:针对所述多个计算机中的每个计算机,对安装在所述计算机上的所述对应的岗哨的所述文件***过滤器进行操作,以根据发送到所述对应的岗哨的所述对应的数据自保护策略来控制对存储在所述计算机上的所述加密数据的访问;以及
对所述中央岗哨平台进行操作以监视所述岗哨包括:针对所述多个计算机中的每个计算机,对所述中央岗哨平台进行操作以监视所述计算机上的所述对应的岗哨,从而从所述岗哨接收与对存储在所述计算机上的所述加密数据的访问有关的信息。
3.根据权利要求2所述的方法,其中,
针对所述多个计算机中的每个计算机,对安装在所述计算机上的所述对应的岗哨的所述文件***过滤器进行操作还包括:对所述文件***过滤器进行操作,以根据发送到所述岗哨的对应的数据自保护策略来检查由每个进程做出的对存储在所述计算机上的所述加密数据进行访问的每个访问请求,所述检查通过如下方式进行:
如果所述对应的数据自保护策略允许明文访问,则准许所述访问请求并且对所述加密数据进行解密,
如果所述对应的数据自保护策略允许密文访问,则准许所述访问请求而不对所述加密数据进行解密,或
如果所述对应的数据自保护策略既不允许明文访问也不允许密文访问,则拒绝所述访问请求;以及
对所述中央岗哨平台进行操作以监视所述多个岗哨中的每个岗哨从而从所述岗哨接收信息还包括:监视每个岗哨以从所述岗哨接收关于所有经检查的访问请求的信息。
4.根据权利要求3所述的方法,其中,
针对由所述多个计算机中的每个计算机上的每个进程做出的每个访问请求,关于所有经检查的访问请求的信息包括:所述计算机的信息;所述进程的信息,所述进程的信息包括所述进程的应用程序;所述加密数据的文件信息;与所述访问请求相关联的访问尝试的时间;以及由所述计算机上的所述对应的岗哨做出的检查结果。
5.根据权利要求3所述的方法,所述方法还包括:
针对所述多个计算机中的每个计算机,除了检查对存储在所述计算机上的所述加密数据进行访问的所有访问请求之外,对安装在所述计算机上的所述对应的岗哨进行操作以监视所述计算机的运行情况;
其中,针对所述多个计算机中的每个计算机,对所述中央岗哨平台进行操作以监视每个岗哨还可以包括:对所述中央岗哨平台进行操作,以从所述岗哨接收与所述计算机的所述运行情况有关的信息。
6.根据权利要求5所述的方法,其中,针对所述多个计算机中的每个计算机,
所述计算机的所述运行情况包括:针对所述计算机的多个资源,所述多个资源中的每个资源相对于所述计算机上的所述资源的总容量的当前使用水平;
其中,所述多个资源可以包括所述计算机的内存、处理器和磁盘空间。
7.根据权利要求3所述的方法,其中,针对所述多个计算机中的每个计算机:
发送到安装在所述计算机上的所述对应的岗哨的所述数据自保护策略包括:明文授权列表,所述明文授权列表具有被授权访问所述加密数据的明文内容的进程的所有合法应用程序;以及密文授权列表,所述密文授权列表具有被授权访问所述加密数据的密文内容的进程的所有合法应用程序;
针对访问所述加密数据的每个访问请求,所述岗哨的所述文件***过滤器做出以下决定:
在做出所述访问请求的进程被所述岗哨认证为所述明文授权列表上列出的合法应用程序的进程时,允许明文访问,
在做出所述访问请求的进程被所述岗哨认证为所述密文授权列表上列出的合法应用程序的进程时,允许密文访问,以及
在做出所述访问请求的进程未被所述岗哨认证为所述明文授权列表上列出的合法应用程序的进程,并且也未被认证为所述密文授权列表上列出的合法应用程序的进程时,既不允许明文访问也不允许密文访问。
8.根据权利要求7所述的方法,其中,针对所述多个计算机中的每个计算机,在所述计算机上安装所述对应的岗哨还包括:
在所述计算机的用户空间上安装所述岗哨的岗哨应用,所述用户空间与所述计算机的内核空间分离,所述岗哨的所述岗哨应用被链接以与所述岗哨的所述文件***过滤器通信;以及
提供多个通信信道,其中,针对所述多个计算机中的每个计算机,所述多个通信信道包括如下通信信道:所述通信信道经由用于所述计算机的所述岗哨的所述岗哨应用,将所述中央岗哨平台链接到用于所述计算机的所述岗哨的所述文件***过滤器。
9.根据权利要求8所述的方法,所述方法还包括:针对所述多个岗哨中的每个岗哨,
定义心跳频率,
对所述岗哨进行操作,以经由将所述中央岗哨平台链接到所述岗哨的所述文件***过滤器的所述通信信道以心跳频率向所述中央岗哨平台发送心跳的时间序列,所述心跳的时间序列被加密成使得所述心跳的时间序列仅能由所述岗哨来修改;
监视所述心跳的时间序列;以及
对所述中央岗哨平台进行操作,以至少部分地基于监视所述心跳的时间序列,来评估所述岗哨的状态。
10.根据权利要求4所述的方法,所述方法还包括:提供与所述中央岗哨平台相关联的可视化显示器以显示多个访问状态指示符,所述多个访问状态指示符用于指示和显示关于从所述多个岗哨接收到的所有经检查的访问请求的信息。
11.根据权利要求10所述的方法,其中,提供所述可视化显示器包括:
针对所述多个计算机中的每个计算机,在所述可视化显示器上提供多个计算机表示,所述多个计算机表示包括用于表示所述计算机的对应的计算机表示;以及
针对在所述可视化显示器上提供的每个计算机表示,与所述计算机表示相关联地提供多个访问状态指示符中的至少一个访问状态指示符,以显示和指示至少部分信息,所述信息与从由所述计算机表示所表示的所述计算机上的所述对应的岗哨接收到的所有经检查的访问请求有关。
12.根据权利要求6所述的方法,所述方法还包括:提供与所述中央岗哨平台相关联的可视化显示器,以显示用于指示和显示从所述多个岗哨接收到的所述运行情况的多个操作状态指示符。
13.根据权利要求12所述的方法,其中,提供所述可视化显示器包括:
针对所述多个计算机中的每个计算机,在所述可视化显示器上提供多个计算机表示,所述多个计算机表示包括用于表示所述计算机的对应的计算机表示;以及
针对在所述可视化显示器上提供的每个计算机表示,与所述计算机表示相关联地提供所述多个操作状态指示符中的至少一个操作状态指示符,以显示和指示从由所述计算机表示所表示的所述计算机上的所述对应的岗哨接收到的至少一个运行情况。
14.根据权利要求4所述的方法,所述方法还包括:在所述中央岗哨平台处提供动态搜索功能,以用于对包含在关于从所述多个岗哨接收到的所有经检查的访问请求的信息中的项目进行搜索。
15.一种用于启用数据自保护的***,所述***包括:
至少一个计算机***,其中,所述至少一个计算机***中的计算机***上安装有岗哨,所述岗哨包括安装在所述计算机***的内核上的文件***过滤器,所述文件***过滤器将强制访问控制与加密整合在一起;以及;
与安装在所述计算机***上的所述岗哨电子通信的中央岗哨平台,所述中央岗哨平台与所述计算机***的所述内核分离;
其中,在操作时:
所述中央岗哨平台向所述岗哨发送数据自保护策略,所述数据自保护策略被加密成使得所述数据自保护策略仅能由所述中央岗哨平台来修改;
所述文件***过滤器通过如下方式控制对存储在所述计算机***上的加密数据的访问:针对向所述加密数据做出文件访问请求的每个进程,所述文件***过滤器根据所述数据自保护策略对所述文件访问请求进行接收和处理,以准许或拒绝所述文件访问请求;
所述中央岗哨平台监视所述岗哨并且从所述岗哨接收信息,所述信息与对存储在所述计算机***上的所述加密数据的访问有关。
16.根据权利要求15所述的***,其中,
所述至少一个计算机***包括多个计算机;
所述多个计算机中的每个计算机上安装有对应的岗哨,其中,所述对应的岗哨的所述文件***过滤器安装在所述计算机的所述内核上;
所述中央岗哨平台设置在与所述多个岗哨电子通信的计算机***上;
所述中央岗哨平台能够操作成发送多个数据自保护策略,针对所述多个岗哨中的每个岗哨,所述多个数据自保护策略包括针对所述岗哨的对应的数据自保护策略;
针对所述多个计算机中的每个计算机,安装在所述计算机上的所述对应的岗哨的所述文件***过滤器能够操作成:根据发送到所述对应的岗哨的所述对应的数据自保护策略,来控制对存储在所述计算机上的所述加密数据的访问;以及
针对所述多个计算机中的每个计算机,所述中央岗哨平台能够操作监视所述计算机上的所述对应的岗哨,以从所述岗哨接收关于对存储在所述计算机上的所述加密数据的访问的信息。
17.根据权利要求16所述的方法,其中,
针对所述多个计算机中的每个计算机,安装在所述计算机上的所述对应的岗哨的所述文件***过滤器能够操作成:根据发送到所述岗哨的所述对应的数据自保护策略,来检查由每个进程做出的对存储在所述计算机上的所述加密数据进行访问的每个访问请求,所述检查通过以下方式进行:
如果所述对应的数据自保护策略允许明文访问,则准许所述访问请求并且对所述加密数据进行解密;
如果所述对应的数据自保护策略允许密文访问,则准许所述访问请求而不对所述加密数据进行解密;
如果所述对应的数据自保护策略既不允许明文访问也不允许密文访问,则拒绝所述访问请求;以及
所述中央岗哨平台能够操作成:监视每个岗哨以从所述岗哨接收关于所有经检查的访问请求的信息。
18.根据权利要求17所述的***,其中,针对由所述多个计算机中的每个计算机上的每个进程做出的每个访问请求,关于所有经检查的访问请求的信息包括:所述计算机的信息;所述进程的信息,所述进程的信息包括所述进程的应用程序;所述加密数据的文件信息;与所述访问请求相关联的访问尝试时间;以及由所述计算机上的所述对应的岗哨做出的检查结果。
19.根据权利要求17所述的***,其中,
针对所述多个计算机中的每个计算机,除了检查对存储在所述计算机上的所述加密数据进行访问的所有访问请求之外,安装在所述计算机上的所述对应的岗哨还能够操作成监视所述计算机的运行情况;以及,
针对所述多个计算机中的每个计算机,所述中央岗哨平台能够操作成:从所述对应的岗哨接收与所述计算机的所述运行情况有关的信息。
20.根据权利要求19所述的***,其中,针对所述多个计算机中的每个计算机,
所述计算机的所述运行情况包括:针对所述计算机的多个资源,所述多个资源中的每个资源相对于所述计算机上的所述资源的总容量的当前使用水平;
其中,所述多个资源包括所述计算机的内存、处理器和磁盘空间。
21.根据权利要求17所述的***,其中,针对所述多个计算机中的每个计算机:
发送到安装在所述计算机上的所述对应的岗哨的所述数据自保护策略包括:明文授权列表,所述明文授权列表具有被授权访问所述加密数据的明文内容的进程的所有合法应用程序;以及密文授权列表,所述密文授权列表具有被授权访问所述加密数据的密文内容的进程的所有合法应用程序;
针对访问所述加密数据的每个文件访问请求,所述岗哨的所述文件***过滤器做出以下决定:
在做出所述访问请求的进程被所述岗哨认证为所述明文授权列表上列出的合法应用程序的进程时,允许明文访问,
在做出所述访问请求的进程被所述岗哨认证为所述密文授权列表上列出的合法应用程序的进程时,允许密文访问,
在做出所述访问请求的进程未被所述岗哨认证为所述明文授权列表上列出的合法应用程序的进程,并且也未被认证为所述密文授权列表上列出的合法应用程序的进程时,既不允许明文访问也不允许密文访问。
22.根据权利要求21所述的***,其中,
针对所述多个计算机中的每个计算机,在所述计算机的用户空间上安装有所述岗哨的岗哨应用,所述用户空间与所述计算机的内核空间分离,所述岗哨的所述岗哨应用被链接以与所述岗哨的所述文件***过滤器通信;以及,
所述***还包括多个通信信道,其中,针对所述多个计算机中的每个计算机,所述多个通信信道包括如下通信信道:所述通信信道经由用于所述计算机的所述岗哨的所述岗哨应用,将所述中央岗哨平台链接到用于所述计算机的所述岗哨的所述文件***过滤器。
23.根据权利要求22所述的***,其中,针对所述多个岗哨中的每个岗哨,
所述岗哨能够操作成:经由将所述中央岗哨平台链接到所述岗哨的所述文件***过滤器的所述通信信道,以心跳频率向所述中央岗哨平台发送心跳的时间序列,所述心跳的时间序列被加密成使得所述心跳的时间序列仅能由所述岗哨来修改;
所述中央岗哨平台能够操作成监视所述心跳的时间序列;以及,
所述中央岗哨平台能够操作成:至少部分地基于监视所述心跳的时间序列,来评估所述岗哨的状态。
24.根据权利要求18所述的***,其中,所述中央岗哨平台能够操作成提供可视化显示器以显示多个访问状态指示符,所述多个访问状态指示符用于指示和显示关于从所述多个岗哨接收到的所有经检查的访问请求的信息。
25.根据权利要求24所述的***,其中,提供所述可视化显示器包括:
针对所述多个计算机中的每个计算机,在所述可视化显示器上提供多个计算机表示,所述多个计算机表示包括用于表示所述计算机的对应的计算机表示;以及,
针对在所述可视化显示器上提供的每个计算机表示,与所述计算机表示相关联地提供所述多个访问状态指示符中的至少一个访问状态指示符,以显示和指示至少部分信息,所述信息与从由所述计算机表示所表示的所述计算机上的所述对应的岗哨接收到的所有经检查的访问请求有关。
26.根据权利要求20所述的***,其中,所述中央岗哨平台能够操作成提供可视化显示器,以显示用于指示和显示从所述多个岗哨接收到的所述运行情况的多个操作状态指示符。
27.根据权利要求26所述的***,其中,提供可视化显示器包括:
针对所述多个计算机中的每个计算机,在所述可视化显示器上提供多个计算机表示,所述多个计算机表包括用于表示所述计算机的对应的计算机表示;以及,
针对在所述可视化显示器上提供的每个计算机表示,与所述计算机表示相关联地提供所述多个操作状态指示符中的至少一个操作状态指示符,以显示和指示从由所述计算机表示所表示的计算机上的所述对应的岗哨接收到的至少一个运行情况。
28.根据权利要求25所述的***,其中,
所述中央岗哨平台能够操作成提供动态搜索功能,以用于对包含在关于从所述多个岗哨接收到的所有经检查的访问请求的信息中的项目进行搜索。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962897482P | 2019-09-09 | 2019-09-09 | |
US62/897,482 | 2019-09-09 | ||
PCT/CA2020/051208 WO2021046637A1 (en) | 2019-09-09 | 2020-09-08 | Methods and systems for data self-protection |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114365128A true CN114365128A (zh) | 2022-04-15 |
Family
ID=74851245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080062946.4A Pending CN114365128A (zh) | 2019-09-09 | 2020-09-08 | 用于数据自保护的方法和*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US11693981B2 (zh) |
CN (1) | CN114365128A (zh) |
WO (1) | WO2021046637A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11295010B2 (en) * | 2017-07-31 | 2022-04-05 | KnowBe4, Inc. | Systems and methods for using attribute data for system protection and security awareness training |
US10657248B2 (en) | 2017-07-31 | 2020-05-19 | KnowBe4, Inc. | Systems and methods for using attribute data for system protection and security awareness training |
EP3794477B1 (en) * | 2019-01-04 | 2023-05-10 | Baidu.com Times Technology (Beijing) Co., Ltd. | Method and system for validating kernel objects to be executed by a data processing accelerator of a host system |
US11526585B2 (en) * | 2020-02-06 | 2022-12-13 | Dell Products L.P. | Vendor software activation using distributed ledger |
US11496288B1 (en) * | 2022-04-08 | 2022-11-08 | Verkada Inc. | Enhanced encryption for face-related data |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7353533B2 (en) * | 2002-12-18 | 2008-04-01 | Novell, Inc. | Administration of protection of data accessible by a mobile device |
US7814021B2 (en) | 2003-01-23 | 2010-10-12 | Verdasys, Inc. | Managed distribution of digital assets |
US8963713B2 (en) * | 2005-03-16 | 2015-02-24 | Icontrol Networks, Inc. | Integrated security network with security alarm signaling system |
US20060184792A1 (en) | 2005-02-17 | 2006-08-17 | Scalable Software | Protecting computer systems from unwanted software |
US8140664B2 (en) * | 2005-05-09 | 2012-03-20 | Trend Micro Incorporated | Graphical user interface based sensitive information and internal information vulnerability management system |
EP2122531B1 (en) | 2007-01-19 | 2014-10-01 | BlackBerry Limited | Selectively wiping a remote device |
WO2008109106A1 (en) * | 2007-03-05 | 2008-09-12 | Andrea Robinson Fahmy | Method and system for preventing unauthorized access and distribution of digital data |
US20090150970A1 (en) * | 2007-12-05 | 2009-06-11 | Sybase, Inc. | Data Fading to Secure Data on Mobile Client Devices |
CN103124293A (zh) | 2012-12-31 | 2013-05-29 | 中国人民解放军理工大学 | 一种基于多Agent的云数据安全审计方法 |
US9703979B1 (en) | 2014-06-13 | 2017-07-11 | BicDroid Inc. | Methods and computer program products for encryption key generation and management |
US11528142B2 (en) * | 2016-10-11 | 2022-12-13 | BicDroid Inc. | Methods, systems and computer program products for data protection by policing processes accessing encrypted data |
-
2020
- 2020-09-08 WO PCT/CA2020/051208 patent/WO2021046637A1/en active Application Filing
- 2020-09-08 CN CN202080062946.4A patent/CN114365128A/zh active Pending
- 2020-09-08 US US17/014,025 patent/US11693981B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2021046637A1 (en) | 2021-03-18 |
US20210073407A1 (en) | 2021-03-11 |
US11693981B2 (en) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11489863B1 (en) | Foundation of sidescanning | |
KR102264288B1 (ko) | 클라우드 기반 운영 체제 이벤트 및 데이터 액세스 감시를 위한 시스템 및 방법 | |
US11693981B2 (en) | Methods and systems for data self-protection | |
US10063594B2 (en) | Network access control with compliance policy check | |
US9348984B2 (en) | Method and system for protecting confidential information | |
Malik et al. | Database security-attacks and control methods | |
US9288199B1 (en) | Network access control with compliance policy check | |
CN106687971A (zh) | 用来减少软件的攻击面的自动代码锁定 | |
US9306957B2 (en) | Proactive security system for distributed computer networks | |
Xia et al. | TinMan: Eliminating confidential mobile data exposure with security oriented offloading | |
US11663325B1 (en) | Mitigation of privilege escalation | |
Chaudhry et al. | Security assessment of data management systems for cyber physical system applications | |
Pevnev et al. | Database security: threats and preventive measures | |
Yao et al. | Privacy information antistealing control method of medical system based on cloud computing | |
McGowan et al. | SAN security | |
Bolívar et al. | Modeling cloud computing security scenarios through attack trees | |
Risto | Forensics from trusted computing and remote attestation | |
Ramachandran et al. | Big Data in Cloud Computing-A Defense Mechanism | |
Frank | Security in MongoDB: Understanding the different aspects of security in MongoDB, including authentication, access control, and auditing. | |
Venkatesh et al. | Deep Dive on Popular Security Models and Strategies of Cloud Computing | |
Potey et al. | Achieving Accountability and Secure Logging to Increase Trust in Cloud Environment | |
Frank | Cloud-based MongoDB: Exploring the Benefits and Considerations of Deploying MongoDB in a Cloud Environment | |
Deshpande et al. | SURVEY OF LOGGING MECHANISM FOR A CLOUD FORENSICS | |
Umrigar et al. | Review of Data Security Frameworks for Secure Cloud Computing | |
WO2022229731A1 (en) | Systems and methods for side scanning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40063255 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |