CN110647754A - 用于数据机密性和完整性的文件系统视图分离 - Google Patents

用于数据机密性和完整性的文件系统视图分离 Download PDF

Info

Publication number
CN110647754A
CN110647754A CN201910516207.7A CN201910516207A CN110647754A CN 110647754 A CN110647754 A CN 110647754A CN 201910516207 A CN201910516207 A CN 201910516207A CN 110647754 A CN110647754 A CN 110647754A
Authority
CN
China
Prior art keywords
file system
domain
file
security domain
security
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910516207.7A
Other languages
English (en)
Other versions
CN110647754B (zh
Inventor
F·阿劳乔
M·P·斯托克林
T·P·泰勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN110647754A publication Critical patent/CN110647754A/zh
Application granted granted Critical
Publication of CN110647754B publication Critical patent/CN110647754B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • 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/52Monitoring 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/53Monitoring 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
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • 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/21Indexing 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/2125Just-in-time application of countermeasures, e.g., on-the-fly decryption, just-in-time obfuscation or de-obfuscation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本公开的各实施例涉及用于数据机密性和完整性的文件系统视图分离。一种可堆叠文件系统架构减少数据被盗并且确保文件完整性保护。在这种架构中,进程被分组为有序文件系统视图或“安全域”。优选地,顺序理论算法被利用以确定适当域,应用在该适当域中被运行。特别地,根域提供文件系统的单个视图,从而支持透明的文件系统操作。每个安全域透明地创建多级堆栈以保护基本文件系统,并且监测文件访问而不会招致显著的性能开销。通过经由安全域组合文件系统的分层架构与视图分离,文件系统可以保持数据完整性和机密性。

Description

用于数据机密性和完整性的文件系统视图分离
技术领域
本公开总体上涉及网络安全。
背景技术
网络犯罪已经成为一项很赚钱的业务,其中敏感数据成为暗网上的热门商品。虽然几种专门的文件系统缓解已经响应于勒索软件攻击的最近爆发而被提出,但这些保护通常关注于防止勒索软件的执行,维护系统备份或者对自定义加密方案进行反向工程。然而,不幸的是,这样的被动方法是不充分的,并且没有得到广泛的采用,因为被勒索软件攻击的组织中有71%仍然成功加密了它们的文件,其中只有不到一半能够从备份恢复。
已知的勒索软件缓解技术包括Paybreak,其允许勒索软件加密系统上的文件,但也存储加密密钥(通过挂钩Windows Crypto API),以便它可以反转加密。虽然能够很好地抵御勒索软件,但这种技术无法抵御删除或破坏数据的恶意软件,也无法抵御使用其自己的加密库的恶意软件。另一种方式UNVEIL在真实的沙盒环境中运行勒索软件,并且它监测磁盘访问模式以关于软件是否确实是勒索软件做出决定。然而,这种方式不提供主机级别的检测或保护。另一解决方案CryptoDrop可以使用基于I/O的特征来检测主机上的勒索软件,但它不提供文件系统保护。
Qubes OS是一种操作系统,其使用Xen管理程序通过虚拟化来隔离应用,其中安全域可以设置为在单独的虚拟机中运行成组的应用。这些应用然后使用XWindows被投影到管理域。在提供最大隔离的同时,Qubes OS牺牲了可用性,并且商用操作系统本身不支持它。另一提议的解决方案是ShieldFS,其为写时拷贝文件系统,其强制实行如下要求:所有进程必须写入覆盖作为保护,直到检测器(基于文件I/O统计信息)确定进程不是勒索软件。赎回(redemption)类似于ShieldFS,除了它使用更多特征来检测勒索软件行为,包括数据块的熵、文件写入的次数、目录遍历的次数和文件转换的次数。虽然这些方式还提供针对勒索软件的完整性保证,但它们无法处理其他类型的恶意软件,也无法处理数据机密性和可用性问题。
诸如欺骗性文件和金丝雀等其他保护措施通过在文件系统上的合法文件之间留下欺骗性面包屑来提醒防御者攻击者的存在,这些欺骗性面包屑当任何用户访问它们时触发信标。为了避免混淆合法用户,用户必须要知道诱饵(其在共享系统中难以保持),或者诱饵必须是可标识的(难以防止攻击者也能够标识诱饵)。不幸的是,这样的欺骗性文件并不能阻止攻击者窃取敏感数据。
发明内容
本文中的方法提供了一种可堆叠文件系统架构,其减少数据被盗并且确保文件完整性保护。在这一架构中,进程或应用优选地被分组为排序的文件系统视图(本文中被称为“安全域”)。在所描述的方式中,顺序理论算法被利用以确定应用在其中被运行的适当域。特别地,根域提供文件系统的单个视图,从而实现透明的文件系统操作。每个安全域透明地创建多级堆栈以保护基本文件系统,并且监测文件访问而不会招致显著的性能开销。通过经由安全域将文件系统的分层架构与视图分离结合,文件系统保持数据的完整性和机密性。此外,文件系统阻止恶意软件进行系统级更改,诸如无论权限如何都可以跨重新引导保留或创建隐藏用户。
根据优选的文件系统模型,每个安全域被分配等级,即,相对于其他安全域的信任级别。安全域例如按照信任得分或其他属性而被排序,以形成部分有序集合点阵(lattice),优选地在点阵的底部具有不可信域(表示不可信执行)并且在点阵的顶部具有根域(表示可信执行)。优选地,由将顺序理论算法应用于点阵的内核执行函数确定目标执行域(用于新进程或应用)。特别地,优选地,该算法确定关于安全域确定中涉及的一组安全域的会合(meet)(最大下界)。这些安全域包括与用户相关联的一组安全域以及通常由当前挂载(mount)命名空间表示的父进程安全域。通过将父进程安全域包括在新启动的进程的安全域确定中,新进程的执行受限于它的父进程的安全域,因此防止等级较低的域意外或恶意地在等级较高域中产生子进程。
前面已经概述了主题的一些更相关特征。这些特征应当被解释为仅仅是说明性的。通过以不同方式应用所公开的主题或通过修改将要描述的主题,可以获取很多其他有益结果。
附图说明
为了更完整地理解本主题及其优点,现在参考以下结合附图的描述,在附图中:
图1描绘了说明性实施例的示例性方面可以在其中被实现的分布式数据处理环境的示例性框图;
图2是说明性实施例的示例性方面可以在其中被实现的数据处理系统的示例性框图;
图3描绘了本公开的诱饵文件系统架构;
图4描绘了使用Linux操作系统内核挂载命名空间的诱饵文件系统的实现;
图5描述了诱饵文件系统如何实现访问控制以及各种拒绝和欺骗技术以保护基本文件系统中的文件;
图6是描绘诱饵文件系统如何策略性地覆盖基本文件系统顶部的欺骗对象的过程流程;
图7是描绘诱饵文件系统如何创建被分配给覆盖的目标文件系统“视图”的过程流程;
图8描绘了用于创建每主题覆盖文件系统的算法;
图9描绘了诱饵文件系统如何实现包括根域和一组安全域以保护基本文件系统的安全域架构;
图10描绘了根据本公开的方面的安全域点阵的代表性示例,该安全域点阵被强制实行控制将新启动的进程放置在其中的一组安全域;
图11描绘了安全域点阵的具体示例;
图12描绘了应用顺序理论算法以确定应当在哪个安全域中启动新进程的操作系统内核执行策略;以及
图13描绘了实现本公开的安全域层级和强制实行过程的代表性内核修改。
具体实施方式
现在参考附图,特别是参考图1至图2,提供了本公开的说明性实施例可以在其中被实现的数据处理环境的示例性图。应当理解,图1至图2仅是示例性的,并非旨在声明或暗示关于所公开主题的各方面或实施例可以在其中被实现的环境的任何限制。在不脱离所公开的主题的精神和范围的情况下,可以对所描绘的环境进行很多修改。
现在参考附图,图1描绘了说明性实施例的各方面可以在其中被实现的示例性分布式数据处理系统的图形表示。分布式数据处理系统100可以包括说明性实施例的各方面可以在其中被实现的计算机网络。分布式数据处理系统100包含至少一个网络102,至少一个网络102是被用于在分布式数据处理系统100内的被连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括连接,诸如有线、无线通信链路或光纤电缆。
在所描绘的示例中,服务器104和服务器106连同存储单元106被连接到网络102。此外,客户端110、112和114也被连接到网络102。这些客户端110、112和114可以是例如个人计算机、网络计算机等。在所描绘的示例中,服务器104向客户端110、112和114提供诸如引导文件、操作系统映像和应用的数据。在所描绘的示例中,客户端110、112和114是服务器104的客户端。分布式数据处理系统100可以包括附加服务器、客户端和未被示出的其他设备。
在所描绘的示例中,分布式数据处理系统100是因特网,其中网络102表示使用传输控制协议/因特网协议(TCP/IP)协议组彼此通信的网络和网关的全球集合。互联网的核心处是主要节点或主机计算机之间的高速数据通信线路的骨干,其由路由数据和消息的数千个商业、政府、教育和其他计算机系统组成。当然,分布式数据处理系统100也可以被实现为包括多种不同类型的网络,诸如例如内联网、局域网(LAN)、广域网(WAN)等。如上所述,对于所公开主题的不同实施例,图1旨在作为示例,而不是作为架构性限制,并且因此,图1中所示的特定元件不应当被认为关于本发明的说明性实施例可以在其中被实现的环境是限制性的。
现在参考图2,示出了说明性实施例的各方面可以在其中被实现的示例性数据处理系统的框图。数据处理系统200是计算机的示例,计算机诸如图1中的客户端110,其中可以定位实现针对本公开的说明性实施例的过程的计算机可用代码或指令。
现在参考图2,示出了说明性实施例可以在其中被实现的数据处理系统的框图。数据处理系统200是计算机的示例,计算机诸如图1中的服务器104或客户端110,其中可以针对说明性实施例定位实现该过程的计算机可用程序代码或指令。在这一说明性示例中,数据处理系统200包括通信结构202,通信结构202提供处理器单元204、存储器206、持久存储装置206、通信单元210、输入/输出(I/O)单元212和显示器214之间的通信。
处理器单元204用于执行可以被加载到存储器206中的软件的指令。处理器单元204可以是一个或多个处理器的集合,或者可以是多处理器核,这取决于特定实现。此外,处理器单元204可以使用一个或多个异构处理器系统而被实现,其中主处理器与二级处理器一起存在于单个芯片上。作为另一说明性示例,处理器单元204可以是包含相同类型的多个处理器的对称多处理器(SMP)系统。
存储器206和持久存储装置206是存储设备的示例。存储设备是能够临时和/或持久存储信息的任何硬件。在这些示例中,存储器206可以是例如随机存取存储器或任何其他合适的易失性或非易失性存储设备。持久存储装置206可以采取各种形式,这取决于特定实现。例如,持久存储装置206可以包含一个或多个组件或设备。例如,持久存储装置206可以是硬盘驱动、闪存、可重写光盘、可重写磁带或上述各项的某种组合。持久存储装置206使用的介质也可以是可移除的。例如,可移除硬盘驱动可以用于持久存储装置206。
在这些示例中,通信单元210提供与其他数据处理系统或设备的通信。在这些示例中,通信单元210是网络接口卡。通信单元210可以通过使用物理和无线通信链路中的一者或两者来提供通信。
输入/输出单元212允许与可以被连接到数据处理系统200的其他设备的数据的输入和输出。例如,输入/输出单元212可以通过键盘和鼠标针对用户输入提供连接。此外,输入/输出单元212可以将输出发送给打印机。显示器214提供向用户显示信息的机制。
针对操作系统和应用或程序的指令位于持久存储装置206上。这些指令可以被加载到存储器206中以用于处理器单元204执行。不同实施例的过程可以由处理器单元204使用可以位于诸如存储器206的存储器中的计算机实现的指令执行。这些指令可以被称为可以由处理器单元204中的处理器读取和执行的程序代码、计算机可用程序代码或计算机可读程序代码。在不同实施例中,程序代码可以被体现在不同的物理或有形计算机可读介质上,诸如存储器206或持久存储装置206。
程序代码216以功能形式位于计算机可读介质216上,计算机可读介质216选择性地可移除并且可以被加载到数据处理系统200上或传送到数据处理系统200以用于由处理器单元204执行。在这些示例中,程序代码216和计算机可读介质216形成计算机程序产品220。在一个示例中,计算机可读介质216可以是有形形式,诸如例如插入或放置在作为持久存储装置206的一部分的驱动或其他设备(诸如作为持久存储装置206的一部分的硬盘驱动)中以传输到存储设备上的光盘或磁盘。在有形形式中,计算机可读介质216也可以采用连接到数据处理系统200的持久存储装置的形式,诸如硬盘驱动、拇指驱动或闪存。计算机可读介质216的有形形式也称为计算机可记录存储介质。在某些情况下,计算机可记录介质216可能不是可移除的。
备选地,程序代码216可以通过到通信单元210的通信链路和/或通过到输入/输出单元212的连接从计算机可读介质216被传送给数据处理系统200。在说明性示例中,通信链路和/或连接可以是物理的或无线的。计算机可读介质还可以采用非有形介质的形式,诸如包含程序代码的通信链路或无线传输。针对数据处理系统200而被示出的不同组件并不表示对可以实现不同实施例的方式提供架构限制。不同的说明性实施例可以在包括除了或代替针对数据处理系统200所示的组件的组件的数据处理系统中被实现。图2中所示的其他组件可以与所示的说明性示例不同。作为一个示例,数据处理系统200中的存储设备是可以存储数据的任何硬件设备。存储器206、持久存储装置206和计算机可读介质216是有形形式的存储设备的示例。
在另一示例中,总线系统可以被用于实现通信结构202,并且可以包括一个或多个总线,诸如系统总线或输入/输出总线。当然,总线系统可以使用在被附接到总线系统的不同组件或设备之间提供数据传输的任何合适类型的架构而被实现。另外,通信单元可以包括用于传输和接收数据的一个或多个设备,诸如调制解调器或网络适配器。此外,存储器可以是例如诸如在存在于通信结构202中的接口和存储器控制器集线器中的存储器206或高速缓存。
用于执行本发明的操作的计算机程序代码可以按照一种或多种编程语言的任何组合而被编写,包括诸如JavaTM、Smalltalk、C++、C#、面向对象的C等面向对象的编程语言、以及传统的过程编程语言。程序代码可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络被连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以进行到外部计算机的连接(例如,使用互联网服务提供商通过互联网)。
本领域普通技术人员将理解,图1和图2中的硬件可以因实现而异。除了或代替图1至图2所示的硬件,可以使用其他内部硬件或外围设备,诸如闪存、等效的非易失性存储器或光盘驱动等。此外,在不脱离所公开的主题的精神和范围的情况下,除了先前提到的SMP系统,说明性实施例的过程也可以应用于多处理器数据处理系统。
如将看到的,本文中描述的技术可以在诸如图1所示的标准客户端服务器范例内结合操作,其中客户机与在一个或多个机器的集合上执行的因特网可访问的基于网络的门户进行通信。终端用户操作能够访问门户和与门户交互的因特网可连接设备(例如,台式计算机、笔记本计算机、支持因特网的移动设备等)。通常,每个客户端或服务器机器是包括硬件和软件的诸如图2中所示的数据处理系统,并且这些实体通过网络被彼此通信,诸如因特网、内联网、外联网、专用网络或任何其他通信介质或链路。数据处理系统通常包括一个或多个处理器、操作系统、一个或多个应用以及一个或多个实用程序。数据处理系统上的应用为网络服务提供本机支持,包括但不限于对HTTP、SOAP、XML、WSDL、UDDI和WSFL等的支持。有关SOAP、WSDL、UDDI和WSFL的信息可从负责开发和维护这些标准的万维网联盟(W3C)获取;有关HTTP和XML的更多信息可从因特网工程任务组(IETF)获取。
作为附加背景,已知现代操作系统(包括但不限于Linux)实现被称为“命名空间”的特征。命名空间将用于进程集合的系统资源隔离并且虚拟化。特别地,命名空间是一种内核级特征,它将全局系统资源包装成抽象,从而使得命名空间内的进程似乎拥有自己的全局系统资源的隔离实例。命名空间内的进程对同一命名空间内的其他进程是可见的,但它们对命名空间外部的进程是不透明的。Linux OS内核提供七(7)个命名空间,每个命名空间为不同的操作资源提供隔离。可以被虚拟化的资源的一些示例包括进程ID、主机名、用户ID等。被称为cgroup的一个命名空间是指允许限制和优先化资源(CPU、存储器、块I/O、网络等)的被称为cgroups的Linux内核功能。被称为挂载的另一命名空间是指进程看到的文件系统挂载点。
还已知提供所谓的“容器”技术,其结合操作系统内核对cgroup和命名空间的支持以针对应用提供隔离的执行环境。因此,例如,在主机执行诸如Linux内核的操作系统(OS)的情况下,操作系统提供用于运行多个隔离的计算工作负载(容器)的OS级虚拟化方法。通常,这一环境中的容器托管一个或多个应用。通过提供创建和输入容器的方式,操作系统向应用提供在单独的机器上运行的幻觉,同时共享很多底层资源。
使用基于欺骗的文件系统的完整性、防盗保护和网络欺骗
在成功的网络攻击期间,攻击者通常在防御者的系统上安装应用和/或泄露私人信息。这两个操作都涉及与所利用的计算机的文件系统的交互。攻击者通常不知道这样的文件系统的布局;因此,他们必须调查系统上的各种文件以标识要移除的有趣数据。现在被描述的方式旨在利用攻击者的这种需求(以调查文件)以由此检测恶意行为并且标识入侵者。为此,现有的基本文件系统被增强以透明地创建一个或多个堆栈级别以保护基本文件系统,并且特别地,通过注入诱饵文件、监测文件访问以及提供文件系统的每个进程视图以混淆和标识潜在攻击者。这种堆叠提供了一个诱饵文件系统,该系统通过隐藏和编辑带有诱饵的敏感文件、将诱饵注入到被提供给不可信主体的虚假系统“视图”以及进行文件访问监测来保护基本文件系统中的底层文件。这种网络欺骗在保持文件系统相对于合法进程的原始状态的同时被执行。
因此,代替仅仅鼓励攻击者自我揭示的方式(例如,通过与文件系统交互),下面描述的技术优选地嵌入监测、诱饵文件创建并且成为文件系统的文件系统视图直接分离而不是在外部或通过文件本身。所得到的文件系统可以显著减少数据被盗并且确保了文件完整性保护。
图3描绘了基本方法。被保护的文件系统被描绘为基本文件系统300,并且该文件系统可以是任何传统类型,例如,基于块、基于网络等。在这一示例实现中,文件系统在计算系统302中被执行,诸如图2中描绘的。计算机系统302包括具有对容器和命名空间的支持的操作系统(OS)内核304(例如,Linux内核),诸如先前描述的。根据这一方式,在基本文件系统300与进程组310中的进程在其中执行的用户空间308之间配置诱饵文件系统306。该架构允许在基本文件系统300上覆盖(即,叠加)不同的目录和文件树。为此,优选地,在每个进程的基础上部署一组文件系统覆盖312,从而针对每个进程提供文件系统的不同视图。还如所描绘的,信任度可以跨覆盖而变化(例如,通过增加)。因此,“覆盖2”可以被视为比“覆盖1”更可信。
图4更详细地描绘了诱饵文件系统406的架构概述。如上所述,该方式配置优选地基于每个进程而部署的一组文件系统覆盖412,以针对每个进程提供文件系统的不同视图。如图所示,基本文件系统400被示出为包括一组基本文件414,并且这些基本文件在每个覆盖中被镜像。然而,在覆盖内,并且如密钥所示,可以从进程隐藏基本文件(由隐藏文件416表示),或者编辑或替换基本文件(由替换文件418表示)。该密钥还指示可以被注入到特定覆盖中的诱饵文件420的概念。如图所示,被呈现给特定覆盖中的过程的“视图”可以变化并且被计算为基本文件系统400和覆盖412的“联合(union)”。为了改变所得到的联合,并且如所指出的,每个覆盖412因此能够(1)隐藏基本文件,(2)通过覆盖具有相同名称的不同文件(例如,被编辑或替换的文件)来修改基本文件的内容,以及(3)注入主机系统中不存在的新的诱饵文件。此外,文件写入被存储在覆盖412中,从而保护基本文件414不被覆盖。因此,该方法提供了一种可堆叠文件系统,其可以安装在不同的基本文件系统类型(例如,块、磁盘、网络)之上以提供数据完整性保护和针对数据窃取攻击的增强检测。
还如图所示,诱饵文件系统优选地包括访问控制模块421、诱饵生成模块422和监测模块424。访问控制模块421控制由在用户空间408中配置的一个或多个命名空间428内执行的进程426对覆盖412的访问。命名空间428是“挂载”命名空间。诱饵生成模块422生成加密文件并且在覆盖中植入诱饵以替换基本文件系统中的敏感文件。监测模块424透明地监测并且记录对文件的访问。基于这一监测,系统可以确定进程426是否可信。优选地,并且然后使用访问控制模块421,只有不可信进程受到隐藏和诱饵文件的影响,从而使合法用户不会产生混淆。
为了有效且安全地构造文件系统覆盖,诱饵文件系统406优选地利用操作系统内核挂载命名空间428,并且特别地,将命名空间中的基本文件系统枢转到特制的联合安装。挂载命名空间是一个Linux操作系统结构,它为驻留在特定命名空间中的每个进程提供隔离的挂载点列表。因此,命名空间内的进程会观察到与基本系统不同的文件系统。在创建时,进程被移动到挂载命名空间中,优选地基于某种信任概念。优选地,诱饵文件系统内核补丁模块用于该目的。在一个实施例中,可以用于该目的的简单信任模型基于白/黑列表。信任模型将用户名、二进制哈希或进程名称映射到描述覆盖的一组配置。下面描述基于安全域概念的替代信任模型方法。
再次参考图4,优选地,配置还指定要在覆盖中示出哪些文件和目录,要隐藏哪些文件和目录,以及哪些文件和目录要被替换为另一文件。然后,使用访问控制模块421,向可信进程呈现文件系统的原始(未改变的)视图。
特别地,并且为了实现透明性并且将性能开销最小化,优选的基于Linux的实现利用被部署为内核热补丁430的内核修改(在运行时修补内核)、以及实现监测的内核模块432的安装、访问控制、以及诱饵创建和注入功能。如图4所示,热补丁430修改内核的exec系列函数434以将新创建的进程丢弃到由诱饵文件系统保护的新挂载命名空间中。特定覆盖基于信任模型来选择,并且下面描述优选信任模型。除非信任模型另有指定,否则子进程会自动继承其父命名空间。
诱饵文件系统实现的进一步细节在图5中被示出。在这一实施例中,诱饵文件系统使用Linux操作系统OverlayFS联合文件系统而被实现,该文件系统创建上部挂载和下部挂载。在这一上下文中,下部挂载是基本文件系统,而上部挂载是覆盖。图5描绘了该概念,以示出了基座500和覆盖层502挂载、以及用作命名空间的枢轴(pivot)的两个挂载的最终联合504。这一示例中的基本文件系统包括一组基本文件(文件1到文件5),并且由诱饵文件系统提供的各种保护功能作为示例示出。因此,关于对基本文件1、2和3的各种读/写操作示出了访问控制模块操作。基本文件1在联合中可用于读取;基本文件2以经修改的形式被存储在覆盖层中,从而使得来自联合的写入不影响基本文件;并且基本文件3在覆盖中被标记为已删除,因此无法写入。拒绝和欺骗功能通过关于基本文件4和5的示例来描述。因此,基本文件4隐藏在覆盖中,并且因此在联合中不可用;基本文件5在覆盖中被编辑或替换,并且因此仅在联合中以编辑形式可用。另外的诱饵文件516也在覆盖中提供,并且因此在联合中可见,但是该诱饵不对应于任何基本文件。
因此,并且如这些非限制性示例所示,存在由诱饵文件系统实现的若干技术。为了隐藏基本文件或目录,诱饵文件系统简单地在覆盖中将其标记为已删除。诱饵文件类似地放置在上部挂载内部的精心选择的位置,并且可以替换或编辑现有文件以用于攻击者欺骗,如前所述。由被确定为不可信的进程所做的更改不会影响基本文件系统,从而保护了合法用户免于看到恶意更改,并且在恶意进程启动之前立即有效地保存文件系统的未损坏副本。诱饵文件系统隐藏来自进程的特定文件和目录,从而减少了敏感数据泄漏。在必要时,诱饵文件系统在覆盖中生成加密文件和植入诱饵以替换基本文件系统中的敏感文件。
Linux实现的一个示例使用Ubuntu 16.04LTS,以利用VFS(虚拟文件系统)及其挂载命名空间实现。这种实现是有利的,因为它提供了堆叠文件系统以使用期望的拒绝和欺骗功能来增强标准文件系统(即,隐藏来自不可信进程的资源,编辑或替换资产以保护敏感数据,以及注入面包屑以消除和误导攻击者)。VFS模块可以实现与传统环境的透明、轻松集成。此外,通过使用内核热补丁将其配置到现有生产环境中,可以在不重新启动系统的情况下轻松安装文件系统。虽然上述实现是优选的,但并不是限制性的。最近,Windows Server2016发布了本机命名空间支持和覆盖文件系统驱动程序,以镜像它的开源对应物。上述方法可以在其中被实现,或者可以在支持命名空间类型构造的其他现代操作系统环境中被实现。
诱饵文件系统的各种操作可以在一个或多个硬件处理器中执行的软件中被实现,通常作为一组处理。图6和图7描绘了可以与系统一起使用并且现在描述的若干附加控制进程。
图6是描绘诱饵文件系统如何策略性地将欺骗性对象(诱饵)定位在基本文件系统之上的过程流程。在步骤600,启动监测器(每个覆盖一个)。在步骤602,选择第一覆盖。然后在步骤604,针对所选择的第一覆盖收集文件系统事件。在步骤606,例程更新被监测覆盖的覆盖“上下文”。在步骤608,然后基于现有信任级别并且可选地基于一个或多个策略重新校准(即,策略性地定位)诱饵。在步骤610,进行测试以确定是否需要监测另外的覆盖。如果是,则例程分支到步骤612以选择用于监测的下一覆盖。然后控制返回到步骤604。当已经处理了所有覆盖时,步骤610的测试结果是否定的并且诱饵部署过程结束。
图7是描绘诱饵文件系统如何创建目标文件系统“视图”的过程流程,例如,将隐藏值资源隐藏并且暴露面包屑以检测故意篡改文件系统数据。为此,诱饵文件系统主动捕获文件系统事件并且将它们与其他系统特征(例如,用户、进程名称、时间等)相关联以创建视图。因此,该过程开始于启动监测器的步骤700。在步骤702,收集网络链接(netlink)事件。网络链接套接字系列是Linux内核接口,其用于内核和用户空间进程之间以及不同用户空间进程之间的进程间通信(IPC)。使用所收集的信息,在步骤704执行测试以确定是否发生了上下文改变。如果没有,则例程循环。然而,如果步骤704的测试结果指示上下文改变,则例程在步骤706继续以确定信任级别。在步骤706,创建新的“视图”并且将其分配给诱饵文件系统中的覆盖。在替代实施例中,可以使用预先存在的视图。然后控制返回到步骤702以完成该过程。
使用基于点阵的信任模型的安全域创建/选择
如已经描述的,根据本公开,诱饵文件系统利用挂载命名空间来透明地隔离文件系统视图。如前所述,命名空间是一种操作系统构造,它将全局系统资源包装在抽象中,该抽象使得命名空间内的进程看起来具有自己的全局资源的隔离实例。挂载命名空间为命名空间内的任何进程提供隔离的挂载点列表;因此,命名空间内的进程具有与基本系统不同的文件系统视图。根据本公开的一个方面,优选地,针对各个进程即时创建挂载命名空间,或者可以将它们设计为由单独的成组的应用来重用。这些可重用的命名空间在本文中称为“安全域”。图3描绘了安全域310(在那里示出为进程组)。可以看出,安全域强制实行文件系统的连贯视图,同时减少了与文件合并相关的问题。如前所述,并且如图4所示,文件系统优选地修改操作系统exec系统调用以创建并且在创建时将进程移动到适当的安全域中。在基于Linux的实现中,可以使用Linux setns系统调用来实现该目的。
优选地,每个安全域是具有基本文件系统(图3的300或图4的400)和覆盖层(图3的306、图4的412)的可堆叠文件系统。如前所述,覆盖可以防止不可信修改到达基本文件系统,除非明确合并。图8描绘了可以用于创建安全域的优选的基于Linux OS的算法。该算法开始于取消共享系统调用(第1行),该调用从全局挂载命名空间创建并且输入新的单独的挂载命名空间。接下来,通过生成覆盖来创建可堆叠文件系统(特定于应用或用户),并且然后使用诱饵文件和隐藏文件来填充它(第5-7行)。然后将覆盖和基本文件系统安装到系统目录(第8行),并且然后使用挂载命名空间内的数据库根系统调用(第9-11行)将现有的根文件系统与新创建的可堆叠文件系统交换。最后,移除旧的根文件系统(第12-13行)。以这种方式创建之后,命名空间将使用文件系统挂载进行持久化,以便可以将新进程放入命名空间中。以这种方式,新启动的进程不会意识到它在主机文件系统的自定义视图上运行。
如上所述,在本文中的方法中,在创建时,将进程移动到挂载命名空间中,优选地基于信任的信任概念。现在描述一种优选的技术。参考图9,该架构包括基本文件系统900、一组覆盖902、以及在挂载命名空间中提供的一个或多个安全域的集合904。如上所述,可以针对各个进程即时构建安全域,或者可以将安全域设计为由单独的成组的应用来重用。诱饵文件系统的安全域强制实行文件系统的连贯视图,同时减少了与文件合并相关的问题。如图9所示,该架构包括根域906,根域906是提供文件系统的单个完整视图的域,从而实现透明的文件系统操作(例如,域之间的复制、加载应用等)。特别地,根域906是联合文件系统,其中在默认情况下所有进程都被枢转:root=base(ro)U delta1...U deltan。根域通过克服由系统分离文件系统视图的能力引起的合并问题来提供可用性。通过实现根域,进程可以透明地打开文件并且在其本机安全域中启动应用以保护文件系统的完整性。当多个叠加共享相同的完全质量的对象路径名时,对象冲突通过堆叠叠加来处理,优选地根据相对于每个域的信任级别来处理。根域优选地实现为特殊的挂载命名空间,其将可写的基本文件系统挂载与来自其他安全域的所有只读覆盖文件系统挂载一起融合成单个统一视图。优选地,根域被保留用于一些特殊程序,诸如文件浏览器、终端和文件复制工具,但这不是限制。然后,可以使用复制工具来允许根据需要在安全域之间复制或移动文件。每个安全域904透明地创建多级堆叠以保护基本文件系统900并且监测文件访问而不会产生性能开销。
如上所述,优选地,文件系统指定基于顺序理论的算法,该算法用于选择放置和运行进程或应用的适当安全域。现在描述优选方法。可以看出,该方法是策略驱动的,并且优选地由挂载命名空间、文件系统对象和用户之间的安全域关联来定义。在顺序理论中,点阵是由部分有序集合组成的结构,其中每两个元素具有唯一的上界(或连接(join))和唯一的最大下界(或会合)。本公开的技术优选地利用这种类型的结构,如现在将描述的。
优选地,并且参考图10,每个安全域γ∈(Γ,≤)被分配表示其相对于其他安全域的信任级别的等级。考虑到这一点,安全域因此包括按照信任得分(≤)排序的部分有序点阵1000,其中底部是不可信域(γunt)(表示不可信执行),而顶部是根域(γroot)(表示可信执行)。如本文中使用的,会合操作表示最大下界,这将在本文中用于确定新程序(进程、应用、执行线程等)的执行的适当安全域。通过利用诸如图10所示的点阵1000,诱饵文件系统的视图隔离是策略驱动的,优选地是经由关联来定义的,例如,在挂载命名空间、文件系统对象和具有安全域的用户之间。
特别地,优选地,关于应当选择哪个安全域(例如,图9中的904)来执行新进程的决定扩展了操作系统内核的exec(filename,args)函数的语义以将目标执行域计算为即安全域filename、args(在表示文件路径的所有参数上计算的)、γuser(与用户相关联的安全域集合)和γns(父进程安全域,由当前的挂载命名空间表示)之间的会合。在新启动的进程的安全域确定中包括γns会将其执行限制在其父进程的安全域中,从而防止了等级较低的域意外或恶意地在等级较高的域中产生子进程。在优选实现中,该属性在安全域的挂载命名空间层级中无缝编码。
图11描绘了用于简单安全域设置、特别是用于客户端桌面的上述目标执行安全域选择过程。在该示例中,并非旨在限制,模型1100包括用于分离面向因特网的应用(γbrowser)、文字处理工具(γdocs)和用于脚本语言(γscripts)的编程环境的安全域。在该示例上下文中,假定在γbrowser中运行的网络浏览器从因特网下载PDF文档,该文档存储在浏览器域中。为了可视化其内容,可信用户(γroot)在PDF查看器(γdocs)中打开文件。由于强制实行基于顺序理论的信任模型,诱饵文件系统在浏览器域中执行查看器(进程),即安全域确定中涉及的域的最大下界,以便潜在的恶意PDF文件无法访问用户的文档(在γdocs中保持分隔)。图12描绘了上述操作,其中执行策略1202应用安全域点阵1200,从而将查看器进程定位在不可信安全域挂载命名空间1204中。
类似地,如果在γscripts中运行的进程产生未授权在脚本域中执行的第二进程,则诱饵文件系统将子进程任务移动到不可信域(γunt)。可以看出,上述方法可以防止可信进程被利用来安装和启动不可信的恶意软件。该规则还可以防止恶意软件通过运行可信应用进入另一安全域。
优选地,每个安全域优选地具有其自己的简档,简档包含在域内可查看的文件和目录的列表。这些包括在域视图中删除、替换或注入的文件。简档优选地还具有绑定安装到基本文件系统的目录列表。这样的目录优选地不受覆盖并且可以直接写入。诸如系统日志或浏览器下载等目录可能是绑定安装的以便于跨域轻松共享文件。除了域简档之外,诱饵文件系统还优选地支持管理域访问的应用和用户简档。每个简档包含简档的主题,包括用户名、二进制名称和二进制哈希。简档还包含主题可以访问的域的列表、以及在没有打开文件的情况下运行应用时的默认安全域。优选地,未在简档中列出的任何主题被指定给不可信域。
优选地,如上所述的安全域是分层构建的,采用与描述它们的点阵相同的结构。这种分层组织优选地是通过从根域开始,然后是点阵的下一级域中的域,依此类推,经由对unshare系统调用的递归调用嵌套挂载命名空间来创建的。如根据图8中描绘的算法所描述的那样构造各个安全域。由于不可信的域是结构的叶命名空间,因此必须在每个(leaf-1)级域中创建它并且将其绑定安装到同一覆盖。挂载命名空间优选地具有期望属性,即运行进程只能移动到嵌套层级中的下面的命名空间中。这可以确保进程不会破坏由点阵强制实行的策略。
图13示出了关于基于Linux的实现来实现本公开的安全域层级和强制实行过程的一组内核修改的简化视图。在初始化之后,引导组件(dcfs_init)将预定义的主题和文件系统视图分离(FVS)简档(表示安全域的部分有序点阵)提取到config对象中,该config对象用于创建安全域并且加载内核负责维护FVS政策的模块。在运行时,dcfs_livepatch使用kpatch修改内核的do_execveat_common函数以调用dcfs_fvs,这实现了用于将新创建的进程移动到适当安全域的决策过程。
诱饵文件系统提供数据完整性,优选地通过严格地强制实行对覆盖层的所有写入。在使用写时拷贝进行写入之前,首先将对基本文件的写入复制到覆盖层。这具有保留基本文件系统的理想效果,从而使得由不可信进程所做的更改不会影响基础,从而保护合法用户免于看到恶意更改,并且在恶意进程启动之前立即有效地保留文件系统的原始副本。诱饵文件系统隐藏了进程中的特定文件和目录,从而减少了敏感数据泄漏。此外,文件系统生成加密文件并且在覆盖中植入诱饵以遮蔽基本文件系统中的敏感文件。诱饵文件系统还透明地监测和记录对这些文件的访问。此外,只有不可信进程受隐藏和诱饵文件的影响,从而使合法用户不会产生混淆。
可信进程也受益于安全域。特别地,诱饵文件系统可以在覆盖层之上启动可信进程以隐藏不必要的文件和目录,或者注入诱饵以捕获潜在的内部人员(insider)。此外,某些目录可以从基本文件系统被绑定安装以使可信进程能够直接查看和修改它们。例如,操作员可能运行数据库服务器,以针对其提供整个文件系统的虚假覆盖视图,但允许它直接对其写入数据的目录进行写访问。因此,如果数据库应用受到损害,则损坏仅限于数据目录。
可以看出,本文中描述的诱饵文件系统利用覆盖基础设施来向攻击者掩盖其存在并且减少对关于其内核模块、配置对象和覆盖安装的显式信息的访问。优选地,这通过使用隐藏和编辑特定文件系统对象的配置规则来引导文件系统而被实现。例如,/proc/mounts(/proc/self/mount*)和/etc/mtab被编辑以隐藏覆盖挂载点信息并且将挂载绑定到覆盖中,并且诱饵文件系统的内核实时补丁和内核模块从文件系统视图隐藏。类似地,文件系统隐藏其配置、用户模式帮助程序组件(例如,诱饵生成、配置解析、取证数据提取)和工作目录,其中覆盖和日志被保持在基本文件系统中。
优选地,如本文中描述的安全域使用操作系统内的标准策略来配置以减轻手动用户配置。更一般地,系统使用不同的信任概念(例如,基于策略、信誉和游戏理论)自动创建信任模型。信任模型还可以考虑其他信息以确定用户可信度,诸如(1)执行程序的用户的身份,(2)认证模式(例如,远程、本地),以及(3)与文件系统的过去的用户交互。该模型还可能受到其他因素的影响,诸如进程来源、入口点、受欢迎程度和声誉。默认策略可以附加到从各种来源(例如,应用商店)或者诸如Linux的apt等存储库安装的软件。在一个示例实现中,向操作系统提供默认安全域和应用列表(例如,类似于SELinux策略如何随Linux一起提供)。用户可以自定义这些策略以满足特殊要求或安全需求。例如,公司经常不鼓励员工在其工作计算机上安装未授权应用。使用安全域,公司可以设置默认策略以将公司批准的应用的文件系统视图与员工安装的应用分开。
虽然上述安全域层级利用部分有序集合点阵,但是可以使用其他基于顺序理论的技术。例如,而不失一般性,上述技术可以使用预订器、Hasse图、有界集合等来形式化安全域层级,并且导出算法以确定要在哪个域中执行新启动的进程。
本文中的主题提供了显著的优点。如上所述,本文中的方法提供了一种可堆叠文件系统架构,其减少了数据被盗并且确保了文件完整性保护,这优选地通过将应用分组成有序文件系统视图(即,安全域)而被实现。通过经由安全域将分层架构与视图分离相结合,文件系统可以保持数据完整性和机密性,而不会影响底层文件系统的使用方式。文件系统还可以阻止恶意软件进行系统级更改,例如,无论权限如何,都可以在重新启动或创建隐藏用户时保持不变。本文中的技术易于实现。简单的部署模型涉及为操作系统提供一组安全域。
本文中的技术提供了额外的优点,即能够实现对文件系统的透明访问,同时确保数据完整性和机密性,不中断文件系统的正常使用,并且不需要额外的读取或写入开销。该技术还概念化了文件系统分段方案的信任范例。
诱饵文件系统技术阻止盗窃,防止不可信主体(例如,应用、用户等)修改或破坏重要数据,欺骗对手,并且检测生产系统上是否存在攻击者。它提供了一种新的文件系统范例,该范例可以在其休息的地方有效地保护文件。该解决方案提供了一个诱饵文件系统,该系统透明地监测文件访问,隐藏敏感数据,创建诱饵文件,并且修改现有文件以向不可信主体(例如,进程和用户)提供虚假系统视图。文件系统主动捕获文件系统事件并且将它们与其他系统特征(例如,用户、进程名称、时间)相关联以创建隐藏高价值资产并且暴露诱人的面包屑的目标文件系统视图以检测对文件系统数据的故意篡改。这种上下文感知通过减少对面包屑的无意的合法的访问,通过将文件系统的更多的“真实”视图暴露给可信赖进程来将错误警报最小化,同时通过在基本文件系统之上策略性地覆盖欺骗性对象来将攻击检测的机会最大化。
该方法可以检测并且抵御真正的勒索软件攻击,并且防御数据窃取和文件系统篡改,而不会产生大量开销。该方法强制实行文件完整性保护,而无需文件访问中介。它还支持访问控制策略的实现,并且实现了商品文件系统中的诱饵注入的自动化。
此外,该方法使得能够构建对要被呈现给不可信进程的文件系统的现实但完全错误的视图。对于在覆盖中运行的进程,它似乎能够查看、提取和修改实际数据。但是,它可能正在查看诱饵文件或丢失敏感文件,并且在其覆盖之外不会看到其文件修改。如上所述,该操作是透明地完成的,而不会将其自身通告给不可信进程,并且不会影响其他合法进程。此外,为了使诱饵文件对可信用户不太可见并且对攻击者更加可见,诱饵文件系统主动将诱饵移动到不可信程序的位置。这表示诱饵可以存储在可信用户的路径之外(例如,在隐藏目录中),以及在不可信程序的正常位置可见。
优选地,并且如上所述,由不可信进程所做的更改当前仅对该进程可见并且在重新引导时消失。在不可信进程应当被信任的情况下,诸如由更可信主体担保,这些更改可以从覆盖中复制并且合并到真实文件系统中。此外,本文中的方法支持手动创建的诱饵文件。作为另一种变型,诱饵文件系统可以基于不同的格式自动创建诱饵文件,诸如看似加密的数据或包含假密钥或密码的文件。该系统还可以被配置为基于过去的进程行为来学习覆盖的内容以简化覆盖生成。
如已经描述的,本文中的方法优选地实现为对现有文件系统的覆盖,并且因此不需要访问实际文件系统本身。如上所述,该技术改为利用文件系统命名空间的概念来实现诱饵文件系统,并且这些类型的命名空间在诸如Linux、Windows Server 2016等现代操作系统中可用。此外,通过使用内核模块来挂钩并其决定放置新分叉进程的位置(即,哪个命名空间)(例如,基于信任),该方法可以与任何这样的操作系统一起使用,即使没有访问实际的操作系统源代码。
本文中的技术可以与以独立方式或在诸如云计算环境等网络环境中操作的诸如图2所示的主机(或一组机器,例如,运行集群)一起使用。云计算是一种信息技术(IT)交付模型,通过该模型,可以通过因特网向计算机和其他设备按需提供共享资源、软件和信息。通过这种方法,托管应用实例并且使其从基于因特网的资源可获取,这些资源通过传统的网络浏览器或HTTP上的移动应用可访问。云计算资源通常位于运行一个或多个网络应用的大型服务器场中,通常使用虚拟化架构,其中应用在虚拟服务器内运行,或被称为“虚拟机”(VM),虚拟服务器被映射到数据中心设施中的物理服务器。虚拟机通常在管理程序之上运行,管理程序是为虚拟机分配物理资源的控制程序。
如前所述,上述组件通常每个实现为软件,即,作为在一个或多个硬件处理器中执行的一组计算机程序指令。如已经描述的,组件被示出为不同的,但是如所指出的,这不是必需的,因为组件也可以整体或部分地彼此集成。一个或多个组件可以在专用位置执行,或者彼此远程执行。一个或多个组件可以具有一起执行以提供功能的子组件。不要求如上所述由特定组件执行特定功能,因为本文中的功能(或其任何方面)可以在其他或系统中实现。
该方法可以由操作上述基础设施的任何服务提供商实现。它可以作为例如由云服务提供的托管服务可获取。
组件可以同步或异步、连续和/或周期性地实现任何处理流程(或其操作)。
该方法可以与其他基于企业或网络的安全方法和系统集成,诸如在SIEM等中。
本公开中描述的功能可以全部或部分地作为独立方法实现,例如,由硬件处理器执行的基于软件的功能,或者可以作为受管理服务(包括经由SOAP/XML接口的网络服务)可用。本文中描述的特定硬件和软件实现细节仅用于说明目的,而并不表示限制所描述主题的范围。
更一般地,在所公开的主题的上下文内的计算设备每个是包括硬件和软件的数据处理系统(诸如图2所示),并且这些实体通过诸如因特网、内联网、外联网、专用网络或任何其他通信介质或链路等网络彼此通信。数据处理系统上的应用为网络和其他已知服务和协议提供本机支持,包括但不限于对HTTP、FTP、SMTP、SOAP、XML、WSDL、UDDI和WSFL等的支持。有关SOAP、WSDL、UDDI和WSFL的信息从万维网联盟(W3C)可获取,该联盟负责开发和维护这些标准;有关HTTP、FTP、SMTP和XML的更多信息从因特网工程任务组(IETF)可获取。推测熟悉这些已知的标准和协议。
本公开的各方面可以在各种服务器端架构中实现或与其结合实现,包括简单的n层架构、网络门户、联合系统等。本文中的技术可以在松散耦合的服务器(包括基于“云”的)环境中实现。
更一般地,本文中描述的主题可以采用完全硬件实施例、完全软件实施例或包含硬件和软件元素的实施例的形式。在优选实施例中,功能以软件实现,包括但不限于固件、常驻软件、微代码等。此外,如上所述,基于身份上下文的访问控制功能可以采用从计算机可用或计算机可读介质可访问的计算机程序产品的形式,该计算机可用或计算机可读介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。出于本说明书的目的,计算机可用或计算机可读介质可以是能够包含或存储程序以供指令执行系统、装置或设备使用或与其结合使用的任何装置。介质可以是电子、磁、光、电磁、红外或半导体系统(或装置或设备)。计算机可读介质的示例包括半导体或固态存储器、磁带、可移除计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的当前示例包括压缩盘只读存储器(CD-ROM)、压缩盘读/写(CD-R/W)和DVD。计算机可读介质是有形物品。
计算机程序产品可以是具有用于实现一个或多个所述功能的程序指令(或程序代码)的产品。在通过网络从远程数据处理系统下载之后,这些指令或代码可以存储在数据处理系统中的计算机可读存储介质中。或者,这些指令或代码可以存储在服务器数据处理系统中的计算机可读存储介质中,并且适于通过网络下载到远程数据处理系统以在远程系统内的计算机可读存储介质中使用。
在代表性实施例中,系统在专用计算机中实现,优选地在由一个或多个处理器执行的软件中实现。软件保存在与一个或多个处理器相关联的一个或多个数据存储器或存储器中,并且软件可以实现为一个或多个计算机程序。总的来说,这种专用硬件和软件包括上述功能。
虽然上面的处理流程描述了由某些实施例执行的特定操作顺序,但是应当理解,这种顺序是示例性的,因为替代实施例可以以不同的顺序执行操作,组合某些操作,重叠某些操作,等等。说明书中对给定实施例的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以不必包括特定特征、结构或特性。
最后,虽然已经分别描述了系统的给定组件,但是普通技术人员将理解,可以在给定指令、程序序列、代码部分等中组合或共享一些功能。
本文中使用的术语也不应当被视为限制。
这些技术通过提供一种文件系统来改进传统计算系统,该文件系统通过欺骗减少数据被盗并且确保文件完整性保护。通过提供一种诱饵文件系统来改进现有的计算技术,该文件系统透明地监测文件访问,隐藏敏感数据,创建诱饵文件,以及修改现有文件以向不可信主体(例如,进程和用户)提供虚假的系统视图。结合本文中的技术的计算系统透明且无中断地提供这些优点,从而提高了底层文件系统的可靠性和可用性。此外,利用本文中的方法实现的计算机系统比其他方式更有效地运行并且具有更少的网络安全特定处理和存储要求。
本文中的安全域技术不限于在利用挂载命名空间和覆盖文件系统的文件系统架构中使用。特别地,提供基于顺序理论的安全域层级并且然后使用该层级强制实行信任的技术可以应用于其他访问控制机制。
已经描述了本发明,所要求保护的内容如下。

Claims (10)

1.一种用于在文件系统中强制实行视图分离的方法,所述文件系统包括被部署在可写基本文件系统之上的一个或多个只读文件系统覆盖,所述方法包括:
根据信任层级将一组安全域相关联,其中每个安全域具有表示相对于所述安全域中的一个或多个其他安全域的信任级别的等级;
响应于对所述基本文件系统执行进程的请求,将计算应用于所述信任层级以选择目标安全域,所述进程应当在所述目标安全域中执行;以及
基于所述计算,在所述目标安全域中启动所述进程。
2.根据权利要求1所述的方法,还包括防止所述进程在比所述目标安全域的任何父安全域更高的安全域中执行任何子进程。
3.根据权利要求1所述的方法,其中所述信任层级是部分有序的集合点阵,其中所述点阵利用在底部的表示不可信执行的不可信域和在顶部的表示可信执行的根域而被构成。
4.根据权利要求3所述的方法,其中所述计算将所述目标安全域计算为
Figure FDA0002095112400000011
即,以下各项之间的会合:文件名安全域、跨表示文件路径的所有参数而被计算的文件路径安全域、与用户相关联的安全域和由当前挂载命名空间表示的父进程安全域。
5.根据权利要求4所述的方法,其中所述会合在所述一组安全域之间强制实行最大下界。
6.根据权利要求1所述的方法,其中安全域包括简档,其中简档包括在所述安全域内可见的文件和目录的列表。
7.根据权利要求1所述的方法,其中所述文件系统还包括根域,所述根域在统一视图中将所述基本文件系统与所有所述只读文件系统覆盖融合在一起。
8.一种装置,包括:
处理器;
计算机存储器,所述计算机存储器保持由所述处理器执行的计算机程序指令,所述计算机程序指令被配置为在文件系统中强制实行视图分离,所述文件系统包括被部署在可写基本文件系统之上的一个或多个只读文件系统覆盖,所述计算机程序指令包括被配置为实现根据权利要求1至6之一所述的方法中的步骤的程序代码。
9.一种非暂态计算机可读介质中的计算机程序产品,所述计算机程序产品保持用以在文件系统中强制实行视图分离的计算机程序指令,所述文件系统包括被部署在可写基本文件系统之上的一个或多个只读文件系统覆盖,所述计算机程序指令包括被配置为实现根据权利要求1至6之一所述的方法中的步骤的程序代码。
10.一种用以在文件系统中强制实行视图分离的系统,所述文件系统包括被部署在可写基本文件系统之上的一个或多个只读文件系统覆盖,所述系统包括用于实现根据权利要求1至6之一所述的方法中的步骤的装置。
CN201910516207.7A 2018-06-27 2019-06-14 用于在文件系统中强制实行视图分离的方法、装置、介质及系统 Active CN110647754B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/019,793 US11562086B2 (en) 2018-06-27 2018-06-27 Filesystem view separation for data confidentiality and integrity using lattice-based security domains
US16/019,793 2018-06-27

Publications (2)

Publication Number Publication Date
CN110647754A true CN110647754A (zh) 2020-01-03
CN110647754B CN110647754B (zh) 2023-06-16

Family

ID=68989578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910516207.7A Active CN110647754B (zh) 2018-06-27 2019-06-14 用于在文件系统中强制实行视图分离的方法、装置、介质及系统

Country Status (2)

Country Link
US (1) US11562086B2 (zh)
CN (1) CN110647754B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111600893A (zh) * 2020-05-19 2020-08-28 山石网科通信技术股份有限公司 勒索软件的防御方法、装置、存储介质、处理器和主机
CN112035837A (zh) * 2020-07-31 2020-12-04 中国人民解放军战略支援部队信息工程大学 基于拟态防御的恶意pdf文档检测系统及方法
CN115134406A (zh) * 2021-03-26 2022-09-30 Aptiv技术有限公司 管理服务间通信
US20220327211A1 (en) * 2021-04-13 2022-10-13 Trustone Security Inc. Data processing system and method capable of separating application processes
CN116578968A (zh) * 2023-04-24 2023-08-11 国网冀北电力有限公司信息通信分公司 对电力控制系统中应用程序提供安全防护的方法及装置

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10459892B2 (en) 2014-04-23 2019-10-29 Qumulo, Inc. Filesystem hierarchical aggregate metrics
US11132336B2 (en) 2015-01-12 2021-09-28 Qumulo, Inc. Filesystem hierarchical capacity quantity and aggregate metrics
US9836480B2 (en) 2015-01-12 2017-12-05 Qumulo, Inc. Filesystem capacity and performance metrics and visualizations
US10095729B2 (en) 2016-12-09 2018-10-09 Qumulo, Inc. Managing storage quotas in a shared storage system
US11360936B2 (en) 2018-06-08 2022-06-14 Qumulo, Inc. Managing per object snapshot coverage in filesystems
US10534758B1 (en) 2018-12-20 2020-01-14 Qumulo, Inc. File system cache tiers
US11151092B2 (en) 2019-01-30 2021-10-19 Qumulo, Inc. Data replication in distributed file systems
US11886605B2 (en) * 2019-09-30 2024-01-30 Red Hat, Inc. Differentiated file permissions for container users
US10725977B1 (en) 2019-10-21 2020-07-28 Qumulo, Inc. Managing file system state during replication jobs
US10795796B1 (en) * 2020-01-24 2020-10-06 Qumulo, Inc. Predictive performance analysis for file systems
US10860372B1 (en) 2020-01-24 2020-12-08 Qumulo, Inc. Managing throughput fairness and quality of service in file systems
US11151001B2 (en) 2020-01-28 2021-10-19 Qumulo, Inc. Recovery checkpoints for distributed file systems
US10936538B1 (en) 2020-03-30 2021-03-02 Qumulo, Inc. Fair sampling of alternate data stream metrics for file systems
US10936551B1 (en) 2020-03-30 2021-03-02 Qumulo, Inc. Aggregating alternate data stream metrics for file systems
US11775481B2 (en) 2020-09-30 2023-10-03 Qumulo, Inc. User interfaces for managing distributed file systems
US11157458B1 (en) 2021-01-28 2021-10-26 Qumulo, Inc. Replicating files in distributed file systems using object-based data storage
US11461241B2 (en) 2021-03-03 2022-10-04 Qumulo, Inc. Storage tier management for file systems
US11132126B1 (en) 2021-03-16 2021-09-28 Qumulo, Inc. Backup services for distributed file systems in cloud computing environments
US11567660B2 (en) 2021-03-16 2023-01-31 Qumulo, Inc. Managing cloud storage for distributed file systems
US11709665B2 (en) * 2021-04-01 2023-07-25 Red Hat, Inc. Hybrid approach to performing a lazy pull of container images
US12124568B2 (en) 2021-04-20 2024-10-22 Assured Information Security, Inc. Prevention and remediation of malware based on selective presentation of files to processes
US11669255B2 (en) 2021-06-30 2023-06-06 Qumulo, Inc. Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations
US11294604B1 (en) 2021-10-22 2022-04-05 Qumulo, Inc. Serverless disk drives based on cloud storage
US11354273B1 (en) 2021-11-18 2022-06-07 Qumulo, Inc. Managing usable storage space in distributed file systems
CN114003941B (zh) * 2021-12-28 2022-04-05 麒麟软件有限公司 基于Linux操作系统的软件权限控制系统及方法
US11599508B1 (en) 2022-01-31 2023-03-07 Qumulo, Inc. Integrating distributed file systems with object stores
US11983146B2 (en) * 2022-05-12 2024-05-14 Microsoft Technology Licensing, Llc Copy-on-write union filesystem
US11722150B1 (en) 2022-09-28 2023-08-08 Qumulo, Inc. Error resistant write-ahead log
US11729269B1 (en) 2022-10-26 2023-08-15 Qumulo, Inc. Bandwidth management in distributed file systems
US11966592B1 (en) 2022-11-29 2024-04-23 Qumulo, Inc. In-place erasure code transcoding for distributed file systems
CN116956331B (zh) * 2023-09-18 2023-12-19 中孚安全技术有限公司 应用于Linux的文件系统加密隔离方法、系统、设备及介质
US11934660B1 (en) 2023-11-07 2024-03-19 Qumulo, Inc. Tiered data storage with ephemeral and persistent tiers
US11921677B1 (en) 2023-11-07 2024-03-05 Qumulo, Inc. Sharing namespaces across file system clusters

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050004925A1 (en) * 2003-05-07 2005-01-06 Nathaniel Stahl Copy-on-write mapping file system
US20050273858A1 (en) * 2004-06-07 2005-12-08 Erez Zadok Stackable file systems and methods thereof
US20070078800A1 (en) * 2005-10-03 2007-04-05 Robert Love System and method of building an atomic view of a filesystem that lacks support for atomic operations
US20070143357A1 (en) * 2005-12-21 2007-06-21 Imran Chaudhri System and method for efficient replication of and access to application specific environments and data
CN101535966A (zh) * 2006-11-02 2009-09-16 微软公司 受限命名空间环境中的反向名称映射
US20110083164A1 (en) * 2009-10-07 2011-04-07 International Business Machines Corporation Associating multiple security domains to application servers
US20110231370A1 (en) * 2010-03-16 2011-09-22 Valerie Anita Aurora Mechanism for Unioning File Systems Using Fall-Through Directory Entries
CN104866778A (zh) * 2015-01-30 2015-08-26 武汉华工安鼎信息技术有限责任公司 一种基于Linux内核的文档安全访问控制方法和装置
CN105103114A (zh) * 2013-03-14 2015-11-25 微软技术许可有限责任公司 提供多个层的数据存储、文件和卷系统
CN105830477A (zh) * 2013-08-12 2016-08-03 哥莱菲特软件公司 集成操作系统的域管理
US20160342804A1 (en) * 2015-05-21 2016-11-24 Qualcomm Innovation Center, Inc. Stackable file system with user space policy management
US20170024408A1 (en) * 2015-07-21 2017-01-26 International Business Machines Corporation File system monitoring and auditing via monitor system having user-configured policies

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197516B1 (en) * 2002-07-22 2007-03-27 Veritas Operating Corporation Method and system for an overlay filesystem
US20050246529A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US8108926B2 (en) * 2005-11-28 2012-01-31 Sap Ag Method and system for online trust management using statistical and probability modeling
US8032570B2 (en) 2007-07-26 2011-10-04 Hewlett-Packard Development Company, L.P. Efficient stacked file system and method
US7962426B2 (en) * 2007-12-18 2011-06-14 Microsoft Corporation Role/persona based applications
US8843997B1 (en) * 2009-01-02 2014-09-23 Resilient Network Systems, Inc. Resilient trust network services
US8112392B1 (en) * 2009-02-13 2012-02-07 Symantec Corporation Methods and systems for creating snapshots of virtualized applications
US9075638B2 (en) * 2012-08-14 2015-07-07 Atlassian Corporation Pty Ltd. Efficient hosting of virtualized containers using read-only operating systems
US10073956B2 (en) * 2013-03-14 2018-09-11 Open Text Sa Ulc Integration services systems, methods and computer program products for ECM-independent ETL tools
EP2833265A1 (en) * 2013-07-29 2015-02-04 Alcatel Lucent Data processing
US20150067399A1 (en) * 2013-08-28 2015-03-05 Jon Jaroker Analysis, recovery and repair of devices attached to remote computing systems
DE102014202953A1 (de) 2014-02-18 2015-08-20 Siemens Aktiengesellschaft Netzbasierte Kollaboration zum gesicherten Datenaustausch von Bilddatensätzen mit vertraulichen Anteilen
GB2553376A (en) 2016-09-06 2018-03-07 Trustonic Ltd Future constraints for hierarchical chain of trust
US20180232449A1 (en) * 2017-02-15 2018-08-16 International Business Machines Corporation Dynamic faceted search
US10417431B2 (en) * 2017-03-09 2019-09-17 Dell Products L.P. Security domains for aware placement of workloads within converged infrastructure information handling systems

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050004925A1 (en) * 2003-05-07 2005-01-06 Nathaniel Stahl Copy-on-write mapping file system
US20050273858A1 (en) * 2004-06-07 2005-12-08 Erez Zadok Stackable file systems and methods thereof
US20070078800A1 (en) * 2005-10-03 2007-04-05 Robert Love System and method of building an atomic view of a filesystem that lacks support for atomic operations
US20070143357A1 (en) * 2005-12-21 2007-06-21 Imran Chaudhri System and method for efficient replication of and access to application specific environments and data
CN101535966A (zh) * 2006-11-02 2009-09-16 微软公司 受限命名空间环境中的反向名称映射
US20110083164A1 (en) * 2009-10-07 2011-04-07 International Business Machines Corporation Associating multiple security domains to application servers
US20110231370A1 (en) * 2010-03-16 2011-09-22 Valerie Anita Aurora Mechanism for Unioning File Systems Using Fall-Through Directory Entries
CN105103114A (zh) * 2013-03-14 2015-11-25 微软技术许可有限责任公司 提供多个层的数据存储、文件和卷系统
CN105830477A (zh) * 2013-08-12 2016-08-03 哥莱菲特软件公司 集成操作系统的域管理
CN104866778A (zh) * 2015-01-30 2015-08-26 武汉华工安鼎信息技术有限责任公司 一种基于Linux内核的文档安全访问控制方法和装置
US20160342804A1 (en) * 2015-05-21 2016-11-24 Qualcomm Innovation Center, Inc. Stackable file system with user space policy management
US20170024408A1 (en) * 2015-07-21 2017-01-26 International Business Machines Corporation File system monitoring and auditing via monitor system having user-configured policies

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
丁滟等: "基于安全域隔离的LAMP服务器安全保护方案", 《计算机应用》 *
丁滟等: "基于安全域隔离的LAMP服务器安全保护方案", 《计算机应用》, 30 June 2010 (2010-06-30) *
李浩等: "一个基于强制访问控制和信息流的安全系统模型", 《计算机工程与科学》 *
李浩等: "一个基于强制访问控制和信息流的安全系统模型", 《计算机工程与科学》, no. 03, 30 March 2005 (2005-03-30), pages 16 - 19 *
谢长生等: "堆叠式文件系统的研究及其在NAS整合中的实现", 《小型微型计算机系统》 *
谢长生等: "堆叠式文件系统的研究及其在NAS整合中的实现", 《小型微型计算机系统》, no. 03, 21 March 2005 (2005-03-21) *
郑显义等: "系统安全隔离技术研究综述", 《计算机学报》 *
郑显义等: "系统安全隔离技术研究综述", 《计算机学报》, no. 05, 29 October 2016 (2016-10-29) *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111600893A (zh) * 2020-05-19 2020-08-28 山石网科通信技术股份有限公司 勒索软件的防御方法、装置、存储介质、处理器和主机
CN112035837A (zh) * 2020-07-31 2020-12-04 中国人民解放军战略支援部队信息工程大学 基于拟态防御的恶意pdf文档检测系统及方法
CN112035837B (zh) * 2020-07-31 2023-06-20 中国人民解放军战略支援部队信息工程大学 基于拟态防御的恶意pdf文档检测系统及方法
CN115134406A (zh) * 2021-03-26 2022-09-30 Aptiv技术有限公司 管理服务间通信
US11785111B2 (en) 2021-03-26 2023-10-10 Aptiv Technologies Limited Managing inter-service communication
CN115134406B (zh) * 2021-03-26 2024-01-09 Aptiv技术有限公司 管理服务间通信的方法、服务间通信管理系统
US20220327211A1 (en) * 2021-04-13 2022-10-13 Trustone Security Inc. Data processing system and method capable of separating application processes
US12013943B2 (en) * 2021-04-13 2024-06-18 Trustone Security Inc. Data processing system and method capable of separating application processes
CN116578968A (zh) * 2023-04-24 2023-08-11 国网冀北电力有限公司信息通信分公司 对电力控制系统中应用程序提供安全防护的方法及装置

Also Published As

Publication number Publication date
US20200004977A1 (en) 2020-01-02
CN110647754B (zh) 2023-06-16
US11562086B2 (en) 2023-01-24

Similar Documents

Publication Publication Date Title
CN110647754B (zh) 用于在文件系统中强制实行视图分离的方法、装置、介质及系统
US11163878B2 (en) Integrity, theft protection and cyber deception using a deception-based filesystem
CN110647744B (zh) 文件系统中的取证分析的方法、装置、介质和系统
Martin et al. Docker ecosystem–vulnerability analysis
US10664592B2 (en) Method and system to securely run applications using containers
US11244047B2 (en) Intelligent backup and versioning
Souppaya et al. Application container security guide
US9846776B1 (en) System and method for detecting file altering behaviors pertaining to a malicious attack
US9552497B2 (en) System and method for preventing data loss using virtual machine wrapped applications
US8938775B1 (en) Dynamic data loss prevention in a multi-tenant environment
US10339304B2 (en) Systems and methods for generating tripwire files
Yasrab Mitigating docker security issues
US8843926B2 (en) Guest operating system using virtualized network communication
US10587652B2 (en) Generating false data for suspicious users
Martin et al. Hacking Kubernetes
Pecka et al. Privilege escalation attack scenarios on the devops pipeline within a kubernetes environment
Gantikow et al. Rule-based security monitoring of containerized environments
Semjonov Security analysis of user namespaces and rootless containers
Mahavaishnavi et al. Secure container Orchestration: A framework for detecting and mitigating Orchestrator-level vulnerabilities
Ottenheimer et al. Securing the virtual environment: How to defend the enterprise against attack
Chakrabarty et al. Securing Data on Threat Detection by Using IBM Spectrum Scale and IBM QRadar: An Enhanced Cyber Resiliency Solution
Dimou Automatic security hardening of Docker containers using Mandatory Access Control, specialized in defending isolation
Winkel Security Assurance of Docker Containers: Part 1.
SK et al. Securing Docker Containers: Unraveling the Challenges and Solutions
Kaur et al. Scrutinizing Docker Security and Applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant