CN110647744B - 文件系统中的取证分析的方法、装置、介质和系统 - Google Patents

文件系统中的取证分析的方法、装置、介质和系统 Download PDF

Info

Publication number
CN110647744B
CN110647744B CN201910551713.XA CN201910551713A CN110647744B CN 110647744 B CN110647744 B CN 110647744B CN 201910551713 A CN201910551713 A CN 201910551713A CN 110647744 B CN110647744 B CN 110647744B
Authority
CN
China
Prior art keywords
file
file system
overlay
computer
files
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.)
Active
Application number
CN201910551713.XA
Other languages
English (en)
Other versions
CN110647744A (zh
Inventor
F·阿劳杰奥
A·E·克霍乐博兰内尔
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 CN110647744A publication Critical patent/CN110647744A/zh
Application granted granted Critical
Publication of CN110647744B publication Critical patent/CN110647744B/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • 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/1433Vulnerability analysis
    • 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/2127Bluffing

Landscapes

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

Abstract

使用特定于对象的文件系统视图识别和提取关键危害取证指标。透明地跟踪进程文件写入以进行取证分析的可堆叠文件系统。文件系统包括基本文件系统和覆盖文件系统。进程看到上部和下部文件系统的并集,但进程写入仅反映在覆盖中。通过使用这种可堆叠方法提供文件系统的每个进程视图,取证分析器可以记录进程的基于文件的活动‑即文件创建、删除、修改。然后分析这些活动以识别危害指标IoC。然后将这些指标馈送到取证分析引擎中,然后取证分析引擎快速确定对象(例如进程、用户)是否是恶意的。如果是,系统会采取一些主动措施向适当当局发警报、隔离潜在的攻击或提供其他补救措施。该方法支持取证分析,无需文件访问仲裁,或进行系统事件级收集和分析,使其成为轻量级且非侵入式解决方案。

Description

文件系统中的取证分析的方法、装置、介质和系统
技术领域
本公开总体涉及网络安全。
背景技术
在当今的现代数字时代,数据的危害或盗窃可能对个人、政府、企业和云环境具有严重后果。利用数据作为新的数字货币,网络犯罪已成为一项巨额资金业务,犯罪分子窃取数百万信用卡号码并持有数据赎金,使企业花费数百万美元以重新获得对其数据的访问权。面对最近攻击的惊人速度和范围,需要新的方法来有效地识别和阻止试图窃取或摧毁他们目标的“皇冠上的珠宝(crown jewel)”的攻击者。
防止数据窃取的现有方法仅在特定情形下有效。例如,当前的勒索软件保护集中于防止恶意软件运行、维护备份或尝试反向工程自定义加密方案。不幸的是,这种被动方法已被证明是不合适的,因为近三分之二受勒索软件攻击的公司仍然成功加密了他们的文件,只有不到一半能够从备份中恢复。
一旦恶意软件感染了计算机系统,它就迅速建立立足点,以便在重新启动后持续存在。此外,恶意软件通过混合到系统中、覆盖其轨迹并掩蔽其存在来对系统用户和防病毒软件进行隐藏。恶意软件用于在系统内持续存在和隐藏的许多技术会在文件系统上留下取证标记,可以对取证标记进行分析以识别恶意软件并了解其活动。也就是说,提取这种信息的技术需要文件访问仲裁、或进行系统事件级别的收集和分析,这在计算上是低效且侵入性的。
发明内容
一种可堆叠文件系统,其透明地跟踪进程文件写入以进行取证分析。文件系统包括基本文件系统和覆盖文件系统。进程看到上层文件系统和下层文件系统的并集,但是进程写入仅被反映在覆盖中。通过使用这种可堆叠方法提供文件系统的每个进程视图,取证分析器可以记录进程的基于文件的活动,例如文件创建、删除、修改等。然后分析这些活动以识别危害指标(IoC)。然后将这些指标馈送到取证分析引擎,该取证分析引擎决定对象(例如,进程、用户)是否是恶意的。如果系统确定对象是恶意的,则系统采取一些积极主动行动,例如,向适当的当局发出警报,隔离潜在的攻击,或提供其他缓解或补救措施。该方法使得能够进行取证分析,而无需文件访问仲裁或进行系统事件级别的收集和分析,从而使其成为轻量级且非侵入式的解决方案。
前面已经概述了主题的一些更相关的特征。这些特征应该被解释为仅仅是说明性的。通过以不同方式应用所公开的主题或通过修改将要描述的主题,可以获得许多其他有益结果。
附图说明
为了更完整地理解本主题及其优点,现在参考以下结合附图的描述,其中:
图1描绘可以实现说明性实施例的示例性方面的分布式数据处理环境的示例性框图;
图2是可以实现说明性实施例的示例性方面的数据处理系统的示例性框图;
图3描绘本公开的诱饵文件系统架构;
图4描绘使用操作系统内核挂载命名空间的诱饵文件系统的实现;
图5描绘诱饵文件系统如何实现访问控制、以及各种拒绝和欺骗技术以保护基本文件系统中的文件;
图6是描绘诱饵文件系统如何策略性地覆盖基本文件系统之上的欺骗对象的处理流;
图7是描绘诱饵文件系统如何创建分配给覆盖的目标文件系统“视图”的处理流;
图8描绘如何增强本公开的可堆叠文件系统以包括提供取证分析的取证分析器或与该取证分析器相关联;
图9描绘用于Linux操作系统恶意软件的取证分析的各种IoC。
具体实施方式
现在参考附图,特别是参考图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,其中实现本公开的说明性实施例的处理的计算机可用代码或指令可以位于该数据处理系统200中。
现在参照图2,示出了可以实现说明性实施例的数据处理系统的框图。数据处理系统200是计算机的示例,例如图1中的服务器104或客户端110,其中实现说明性实施例的处理的计算机可用程序代码或指令可以位于该数据处理系统200中。在该说明性示例中,数据处理系统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上,并且可被加载到或传送到数据处理系统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,并且可以包括一个或多个总线,例如系统总线或输入/输出总线。当然,总线系统可以使用任何合适类型的架构来实现,该架构提供在附接到总线系统的不同组件或设备之间的数据传输。另外,通信单元可以包括用来发送和接收数据的一个或多个设备,例如调制解调器或网络适配器。此外,存储器可以是例如存储器206或诸如在可存在于通信结构202中的接口和存储器控制器集线器中发现的高速缓存。
用于执行本发明的操作的计算机程序代码可以用一种或多种编程语言的任何组合来编写,包括诸如JavaTM、Smalltalk、C++、C#、Objective-C等面向对象的编程语言,以及传统的过程编程语言。程序代码可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,通过因特网使用因特网服务提供商)。
本领域普通技术人员将理解图1-图2中的硬件可以根据实施方式而不同。附加到图1-图2中所示的硬件或代替图1-图2中所示的硬件,可以使用其他内部硬件或外围设备,例如闪存、等同的非易失性存储器或光盘驱动器等。此外,在不偏离所公开的主题的精神和范围的情况下,说明性实施例的处理可以应用于除了先前提到的SMP系统之外的多处理器数据处理系统。
如将看到的,本文中描述的技术可以在例如图1中所示的标准客户端-服务器范例内结合地操作,其中客户端机器与在一台或多台机器的集合上执行的可通过因特网访问的基于Web的门户进行通信。终端用户操作能够访问门户并与门户进行交互的可连接因特网的设备(例如,台式计算机、笔记本计算机、支持因特网的移动设备等)。通常,每个客户端或服务器机器是诸如图2中所示的包括硬件和软件的数据处理系统,并且这些实体通过网络彼此通信,例如因特网、内联网、外联网、专用网络、或任何其他通信介质或链路。数据处理系统通常包括一个或多个处理器、操作系统、一个或多个应用以及一个或多个实用程序。数据处理系统上的应用为Web服务提供本机支持,包括但不限于对HTTP、SOAP、XML、WSDL、UDDI和WSFL等的支持。有关SOAP、WSDL、UDDI和WSFL的信息可从万维网联盟(W3C)获得,该联盟负责开发和维护这些标准;有关HTTP和XML的其他信息可从因特网工程任务组(IETF)获得。
作为附加背景,已知现代操作系统(包括但不限于Linux)实现被称为“命名空间”的特征。命名空间隔离并虚拟化用于进程集合的系统资源。特别地,名称空间是内核级特征,它将全局系统资源包装到抽象中,这样命名空间内部的进程似乎拥有自己的全局系统资源的隔离实例。命名空间内部的进程对同一命名空间内部的其他进程是可见的,但是它们对命名空间外部的进程是不透明的。Linux OS内核提供七(7)个命名空间,每个命名空间为不同的操作资源提供隔离。可以被虚拟化的资源的一些示例包括进程ID、主机名、用户ID等。一个被称为cgroup的命名空间指的是被称为cgroup的Linux内核功能,它允许对资源(CPU、存储器、块I/O、网络等)的限制和优先化。另一个被称为挂载(mount)的命名空间指的是由进程看到的文件系统挂载点。
还已知的是,提供所谓的“容器”技术,其组合操作系统内核对cgroup和命名空间的支持,从而为应用提供隔离的执行环境。因此,例如,在主机机器执行诸如Linux内核的操作系统(OS)的情况下,操作系统提供用于运行多个隔离的计算工作负载(容器)的OS级虚拟化方法。通常,该环境中的容器托管一个或多个应用。通过提供创建和输入容器的方法,操作系统为应用提供了在单独的机器上运行的幻觉,同时共享了许多底层资源。
使用基于欺骗的文件系统的完整性、防盗保护和网络欺骗
在成功的网络攻击期间,攻击者通常在防御者的系统上安装应用和/或泄露私人信息。这两个行为都涉及与被利用的计算机文件系统的交互。攻击者通常不知道这种文件系统的布局;因此,他们必须调查系统上的各种文件,以识别要移除的感兴趣数据。现在描述的方法被设计为利用攻击者的这种需求(调查文件),从而检测恶意行为并识别入侵者。为此,增强现有的基本文件系统以透明地创建一个或多个堆叠层以保护基本文件系统,特别是通过注入诱饵文件、监视文件访问、以及提供文件系统的每个进程视图来迷惑和识别潜在的攻击者。这种堆叠提供了诱饵文件系统,该诱饵文件系统通过隐藏和编辑带有诱饵的敏感文件、将诱饵注入到被提供给不受信任对象的虚假系统“视图”以及进行文件访问监视来保护基本文件系统中的底层文件。这种网络欺骗是在保持文件系统相对于合法进程的原始状态的同时执行的。
因此,代替仅仅鼓励攻击者自我揭示的方法(例如,通过与文件系统进行交互),下面描述的技术优选地将监视、诱饵文件创建和文件系统视图分离直接嵌入到文件系统中而不是外部地或通过文件本身。由此产生的可堆叠文件系统显著减少了数据盗窃并确保了文件完整性保护。
图3描绘了基本方法。被保护的文件系统被描绘为基本文件系统300,并且该文件系统可以是任何传统类型,例如,基于块的、基于网络的等。在该示例实现方式中,文件系统在计算系统302中执行,例如图2中所描绘的。计算机系统302包括操作系统(OS)内核304(例如,Linux内核),其具有对容器和命名空间的支持,例如先前描述的。根据该方法,诱饵文件系统306被配置在基本文件系统300和用户空间308之间,进程组310中的进程在用户空间308中执行。该架构允许在基本文件系统300上覆盖(即,叠加)不同的目录和文件树。为此,于是优选地以每个进程为基础部署一组文件系统覆盖312,从而为每个进程提供不同的文件系统视图。还如所描绘的,信任度可以在覆盖上变化(例如,通过增加)。因此,“覆盖2”可以被视为比“覆盖1”更受信任等。
图4更详细地描绘了诱饵文件系统406的架构概要。如上所述,该方法配置优选地以每个进程为基础部署的一组文件系统覆盖412,从而为每个进程提供不同的文件系统视图。如图所示,基本文件系统400被示为包括一组基本文件414,并且这些基本文件在每个覆盖中被镜像。然而,在覆盖内,如关键词所示,基本文件可以从进程中隐藏(由隐藏文件416表示),或者被编辑或被替换(由替换文件418表示)。该关键词还指示可以被注入到特定覆盖中的诱饵文件420的概念。如图所示,呈现给特定覆盖中的进程的“视图”可以变化并且被计算为基本文件系统400和覆盖412的“并集”。为了改变所得到的并集,并且如所指出的,每个覆盖412因此具有以下能力:(1)隐藏基本文件,(2)通过覆盖具有相同名称的不同文件(例如,被编辑或被替换的文件)来修改基本文件的内容,以及(3)注入主机系统中不存在的新诱饵文件。此外,文件写入被存储在覆盖412中,从而保护基本文件414不被覆写。因此,该方法提供了可堆叠的文件系统,其可以安装在不同的基本文件系统类型(例如,块、磁盘、网络)之上,以提供数据完整性保护和针对数据窃取攻击的增强检测。
还如图所示,诱饵文件系统优选地包括访问控制模块421、诱饵生成模块422和监视模块424。访问控制模块421控制在用户空间408中配置的一个或多个命名空间428内执行的进程426对覆盖412的访问。命名空间428是“挂载”命名空间。诱饵生成模块422生成加密文件并在覆盖中植入诱饵以替换基本文件系统中的敏感文件。监视模块424透明地监视并记录对文件的访问。基于该监视,系统可以确定进程426是否受信任。优选地,然后使用访问控制模块421,只有不受信任的进程受到隐藏和诱饵文件的影响,从而使合法用户不会产生困惑。
为了有效且安全地构造文件系统覆盖,诱饵文件系统406优选地利用操作系统内核挂载命名空间428,并且特别地,将命名空间中的基本文件系统枢转到特制的并集挂载。挂载命名空间是操作系统结构,它为驻留在特定命名空间中的每个进程提供隔离的挂载点列表;因此,命名空间内部的进程观察到与基本系统不同的文件系统。进程在创建时被移动到挂载命名空间中,优选地基于某种信任概念。优选地,诱饵文件系统内核补丁模块用于此目的。在一个实施例中,可以用于此目的的简单信任模型是基于白/黑列表的。信任模型将用户名、二进制哈希或进程名称映射到描述覆盖的一组配置。下面描述基于安全域概念的替选信任模型方法。
再次参考图4,优选地,配置还指定要在覆盖中显示哪些文件和目录,要隐藏哪些文件和目录,以及要用其他文件替换哪些文件和目录。然后,使用访问控制模块421,向受信任进程呈现文件系统的原始(未改变的)视图。
特别地,并且为了实现透明性并最小化性能开销,优选的基于Linux的实现方式利用被部署为内核热补丁430的内核修改(在内核运行时修补内核),以及实现监视、访问控制以及诱饵创建和注入功能的内核模块432的安装。如图4中所示,热补丁430修改内核的exec系列函数434以将新创建的进程放入到受诱饵文件系统保护的新挂载命名空间中。基于信任模型选择特定覆盖,并且下面描述优选的信任模型。除非信任模型另有指定,否则子进程自动继承其父命名空间。
图5中示出诱饵文件系统实现方式的其他细节。在该实施例中,使用Linux操作系统OverlayFS联合文件系统来实现诱饵文件系统,该文件系统创建上挂载和下挂载。在此上下文中,下挂载是基本文件系统,而上挂载是覆盖。图5描绘了该概念,示出了基本挂载500和覆盖挂载502,以及所得到的用作命名空间枢轴的两个挂载的并集504。此示例中的基本文件系统包括一组基本文件(文件1到文件5),并且通过示例示出了由诱饵文件系统提供的各种保护特征。因此,关于对基本文件1、2和3的各种读/写操作示出了访问控制模块操作。基本文件1在并集中可用于读取;基本文件2以修改的形式存储在覆盖中,使得来自并集的写入不影响基本文件;并且基本文件3在覆盖中被标记为已删除,因此无法写入。拒绝和欺骗功能通过关于基本文件4和5的示例来描述。因此,基本文件4在覆盖中被隐藏,因此在并集中不可用;基本文件5在覆盖中被编辑或被替换,因此仅在并集中以编辑形式可用。另外的诱饵文件516也被提供在覆盖中,因此在并集中可见,但是该诱饵不对应于任何基本文件。
因此,并且如这些非限制性示例所示,存在由诱饵文件系统实现的若干技术。为了隐藏基本文件或目录,诱饵文件系统只是在覆盖中将其标记为已删除。将诱饵文件类似地放置在上挂载内部的精心选择的位置处,并且可以替换或编辑现有文件以用于攻击者欺骗,如前所述。由被确定为不受信任的进程所做的更改不会影响基本文件系统,从而保护合法用户免于看到恶意更改,并在恶意进程启动之前立即有效地保留文件系统的未损坏副本。诱饵文件系统对进程隐藏了特定文件和目录,从而减少了敏感数据泄露。必要时,诱饵文件系统生成加密文件并在覆盖中植入诱饵,以替换基本文件系统中的敏感文件。
示例Linux实现方式使用Ubuntu 16.04LTS,利用VFS(虚拟文件系统)及其挂载命名空间实现方式。这种实现方式是有利的,因为它提供了堆叠文件系统,以用期望的拒绝和欺骗功能来增强标准文件系统(即,对不受信任进程隐藏资源,编辑或替换资产以保护敏感数据,以及注入面包屑以虚假通知(dis-inform)和误导攻击者)。VFS模块实现与传统环境的透明且轻松的集成。此外,通过使用内核热补丁将其配置到现有生产环境中,可以在不重新启动系统的情况下轻松安装文件系统。虽然上述实现方式是优选的,但并不是限制性的。最近,发布了视窗(Windows)服务器2016,具有本机命名空间支持和覆盖文件系统驱动程序,对其开源对应物进行了镜像。上述方法可以在视窗(Windows)服务器2016中实现,或者可以在支持命名空间类型构造的其他现代操作系统环境中实现。
诱饵文件系统的各种操作可以以在一个或多个硬件处理器中执行的软件来实现,通常作为一组处理。图6和图7描绘了可以与系统一起使用并且现在描述的若干附加控制处理。
图6是描绘诱饵文件系统如何策略性地将欺骗性对象(诱饵)定位在基础文件系统上的处理流。在步骤600,启动监视器(每个覆盖一个监视器)。在步骤602,选择第一覆盖。然后,在步骤604针对所选择的第一覆盖收集文件系统事件。在步骤606,例程更新正被监视的覆盖的覆盖“上下文”。在步骤608,然后基于现有信任级别和可选地一个或多个策略来重新校准(即,策略性地定位)诱饵。在步骤610,进行测试以确定是否需要监视另外的覆盖。如果是,则例程分支到步骤612以选择下一个用于监视的覆盖。然后控制返回到步骤604。当已经处理了所有覆盖时,步骤610的测试结果是否定的并且诱饵部署处理结束。
图7是描绘诱饵文件系统如何创建目标文件系统“视图”的处理流,例如,将隐藏值资源隐藏并暴露面包屑以检测对文件系统数据的故意篡改。为此,诱饵文件系统主动捕获文件系统事件并将它们与其他系统特征(例如,用户、进程名称、时间等)相关联以创建视图。因此,该处理通过启动监视器开始于步骤700。在步骤702,收集网络链接(netlink)事件。网络链接(netlink)套接字系列是用于内核和用户空间进程之间以及不同用户空间进程之间的进程间通信(IPC)的Linux内核接口。使用所收集的信息,在步骤704执行测试以确定是否发生了上下文改变。如果没有,例程循环。然而,如果步骤704的测试结果指示上下文改变,则例程在步骤706继续以确定信任级别。在步骤706,新“视图”被创建并被分配给诱饵文件系统中的覆盖。在替选实施例中,可以使用预先存在的视图。然后控制返回到步骤702以完成处理。
如上所述的可堆叠文件系统优选地通过严格地强制实施对覆盖层的所有写入来提供数据完整性。在使用写时复制写入之前,首先将对基本文件的写入复制到覆盖层。这具有保留基本文件系统的理想效果,使得由不受信任的进程所做的更改不会影响基本,从而保护合法用户免于看到恶意更改,并在恶意进程启动之前立即有效地保留文件系统的原始副本。可堆叠文件系统对进程隐藏特定文件和目录,从而减少了敏感数据泄露。此外,文件系统生成加密文件并在覆盖中植入诱饵,以遮蔽基本文件系统中的敏感文件。可堆叠文件系统还透明地监视和记录对这些文件的访问。此外,只有不受信任的进程受隐藏和诱饵文件的影响,使合法用户不会产生困惑。
总之,如上所述,使用挂载命名空间和覆盖文件系统实现进程隔离。使用扩展对内核“exec”系统调用函数进行修补,以确定应在哪个挂载命名空间中移动新进程。命名空间的选择定义了进程将要看到的内容。在启动新进程时(即,当其父进程调用“exec”系统调用时),使用策略或其他配置来确定进程是否被隔离。非隔离的进程可以访问原始(主机)文件系统。但是,隔离的进程被移动到专用挂载命名空间。然后,覆盖被安装在文件系统上。根据配置策略(用于给定对象/进程/应用的通用系统策略和/或特定策略),使用诱饵移除或覆盖敏感文件。进程被更新为在覆盖内部运行,但允许其继续正常运行。
使用特定于对象的文件系统视图来识别危害取证指标
已经描述的可堆叠文件系统架构为事后文件系统取证提供了有价值的工具。特别地,覆盖记录在执行不受信任的进程期间的所有创建、修改和删除的文件。这样的记录提供了在将攻击证据拼凑在一起时重要或可能重要的信息。为此,本公开的该部分描述了一种促进这种取证调查的技术,并且当例如检测到一个或多个危害指标时,使得系统能够无缝且有效地作出反应。
图8描绘了根据本公开的透明地跟踪进程文件写入以用于取证分析的可堆叠文件系统。如图所示,并且如上所述,文件系统包括基本文件系统800和覆盖文件系统802。在用户空间806中的一个或多个进程组804中执行的进程看到上部文件系统和下部文件系统的并集,但如上所述,进程写入仅被反映在覆盖802中。通过使用这种可堆叠方法提供文件系统的每个进程(或每个进程组)视图,然后使用取证分析器806来记录和分析对于特定进程(或进程组)的基于文件的活动,例如文件创建、文件删除、文件修改等。因此,可堆叠文件系统保持对不受信任对象的文件完整性和机密性,同时诱使攻击者访问诱饵并在文件系统上留下取证痕迹,然后这些取证痕迹由取证分析器806来检测和分析。如上所述,系统通过优选地基于每个对象创建底层文件系统的定制视图来实现这些目标。如将看到的,本文中的技术利用了如下洞察力:合法对象仅需要访问与其工作相关的目录、文件和文件类型,并且他们不需要知道系统上的其他文件。因此,当取证分析器806识别不受信任对象的这种访问时,可以识别和提取相关的危害指标,然后根据其进行操作以保护文件系统。
还如所描绘的,取证分析器806包括若干功能或操作。这些功能是分开标识的,但这不是必需的,因为可以组合功能/操作中的一个或多个。通常,取证分析器作为软件执行(即,作为在一个或多个处理器中执行的一组计算机程序指令)。操作开始于步骤808,其中分析器扫描每个覆盖中的增量810以识别文件改变。在步骤812,分析已被识别为改变(例如,自最近的扫描以来)的任何文件。为此,在步骤814提取文件特征,然后将这些特征提供给取证分析引擎816以进行分析。特别地,分析文件特征以识别危害指标(IoC),然后将这些指标输入到取证分析引擎816中。引擎816可操作以快速决定经由进程访问文件系统的对象(例如,进程、用户等)是否是恶意的。如果引擎816确定对象是恶意的,则优选地,取证分析器采取一些积极主动行动来解决攻击。因此,例如,取证分析器可以包括发出警报或通知的警报引擎820。警报引擎可以包括取证分析器的一部分,或者它可以被实现为某些其他系统的组件。除了警报之外,在检测到攻击时,系统还可以执行其他响应,例如隔离潜在攻击、阻止请求等。
在一个实施例中,如图8中所示,取证分析器806是单独的进程,但是在替选实施例中,分析器(或其组件)直接集成到文件系统中。在上述实施例中,分析器使用操作808来主动扫描文件系统;在替选方案中,文件系统向分析器通知文件变化。在优选方法中,分析器以特定间隔轮询变化。如上所述,当识别出变化时,分析器首先提取作为潜在危害指标的一组特征,然后将这些特征馈送给取证分析引擎内的适当分类器。在取证分析引擎中实现的一个或多个取证分类器是基于机器学习的、基于规则的或其某种组合。一旦取证分析引擎中的分类器做出决定(通常是对象是否是或可能是恶意的),就会制定分析器(或支持分析器的系统)的适当响应。该响应可以不同,并且包括例如发出警报,采取行动以停止或隔离机器或文件系统的某些部分,动态地重新分配信任(例如,潜在地隐藏重要文件),注入新的欺骗以识别攻击者想要什么或确认该软件确实是恶意的,收集和共享威胁情报(例如恶意软件/利用有效载荷)并使用该情报识别网络上的其他受感染机器,等等。
在其他实施例中,将取证分析器作为模块直接嵌入到覆盖文件系统中。在该实施例中,在发生某些基于文件的事件之后执行取证分析。通常,这些事件包括文件关闭、写入和删除。在该实施例中,分析器不截取文件写入,而是在文件被写入覆盖之后对文件执行其分析。将取证分析器直接嵌入到覆盖文件系统中使分析器能够更好地响应文件系统上的活动。
因此,本公开的文件系统辅助取证方法利用基于文件系统的覆盖、以及文件系统的每个进程或每个进程组视图。创建覆盖视图后,对该视图的所有文件写入都成为进程的文件写入活动的印记。作为结果,系统可以整体地分析覆盖并提取危害指标(IOC),如已经描述的那样。在操作时,系统优选地分析写入覆盖的整个文件以确定它们是否表现出恶意行为,尽管这不是必需的。
以下部分描述了可堆叠文件系统在执行取证调查时有助于发现的代表性关键危害指标(IOC)。这些指标来自ATT&CK的企业威胁模型,并且他们已经通过利用Linux恶意软件样本的实验进行了验证。使用这些IoC,取证分析器(特别是取证分析引擎)被训练以识别文件系统上的恶意模式。图9描述了每个危害指标以及取证分析器用来识别恶意活动(例如,系统上的修改文件)的特征列表,以及包含这些技术的一组示例恶意软件。以下更详细地描述这些条目。
持续存在。任何恶意软件的关键目标之一是在系统重新启动之后保持其存在。持续存在的准确机制取决于恶意软件是否具有根(root)权限。如果没有,恶意软件将修改其用户的bash配置文件(例如,修改.bash_profile文件、.profile文件或.bashrc文件),添加对恶意应用的引用。作为结果,当用户激活壳(shell)时,恶意软件在后台启动。使用升级权限运行的恶意软件通常修改系统范围的配置以便持续存在。这是通过将初始化脚本放入系统运行级目录(例如/etc/rc[0-6].d)中或通过修改/etc/rc.local以添加恶意脚本来实现的。事实上,一些恶意软件甚至安装修改的/sbin/init文件,以便在系统启动时自行启动。
账户操纵。恶意软件(如后门和远程访问终端)创建帐户,以便向系统进行身份验证、升级权限并逃避防御。这需要修改/etc/passwd文件和/etc/shadow文件,它们存储用户名和密码信息。
计划任务。此外,恶意软件可以通过创建在异常时间运行的重复任务来确保持续存在并逃避检测。在Linux上,这些任务是通过定时任务(crontab)来配置的,以及恶意软件将安装定时任务(crontab)脚本(例如,在/etc/cron.d中),或者通过编辑/etc/crontab系统文件。
库注入。某些恶意软件(如Umbreon和Jynx2)不是可执行的,而是被设计为由系统进程预加载的库。这些库替换了libc API调用,以便更改正在运行的应用的功能。通过这种方式,Apache web服务器可以变成后门,或者Bash壳(shell)可以被劫持到后台挖掘比特币。恶意软件可以为了将他们自己注入到系统应用中而将预加载条目添加到/etc/ld.so.preload中。这会强制恶意软件库将在所有其他之前加载。
二进制放入。网络犯罪正在变成商品业务,其中大型犯罪集团将大型僵尸网络的访问权出租给其他攻击者。这些僵尸被设计为下载各种恶意软件,如比特币矿机或击键记录器,以便被集团货币化。使用根(root)访问,僵尸会尝试在所有bin目录中下载恶意软件,希望防御者在检测到时会错过一个。作为结果,在文件系统上新安装的二进制下载是关键危害指标,以及我们的取证分析器会搜索所下载的ELF文件。
二进制修改和删除。除了下载新的二进制文件之外,恶意软件还可以更改现有的系统二进制文件,以使其秘密地进行恶意活动。例如,当用户运行/bin/ls时,应用可在用户不知情的情况下泄露目录中的所有文件。
隐藏的证据。通常,熟练的攻击者会试图掩盖他们的踪迹以逃避检测。这样做的一种方式是通过隐藏的文件(例如以句点开头的任何文件)来隐藏恶意软件,或修改诸如/bin/ls等程序,以便在向用户显示目录内容时忽略恶意软件文件。用于隐藏其存在的其他技术是从bash历史(例如,.bash_history)中删除条目,或删除进行防病毒扫描的定时任务(crontab)条目。最后,杀死或删除防病毒软件是用于确保恶意活动不被发现的其他机制。
文件污损。最近的勒索软件攻击利用了加密作为保持其受害者的数据以获取赎金的主要技术。此类攻击通常包括用由勒索软件生成的经加密的对应文件来替换现有文件。我们的取证分析在覆盖文件系统(例如mimetype文件)中查找加密指示,以查找文件污损的证据。
信息测量。还可以通过测量文件系统中的攻击的信息足迹来表征攻击。我们的取证分析器生成三个指标,这三个指标评估由程序引入的文件系统更改的影响:二进制差异:所复制的文件中经修改的字节的平均百分比。信息增益:所复制的文件中的平均信息增益,以基本文件和覆盖文件的熵之间的差异来测量。写入熵:覆盖文件中的平均写入熵。
通过恶意软件向对OS操作很重要并且恶意软件应用不应该访问的配置或特定系统init进行写入来识别许多上述IOC。通常,这些文件在写入后出现在覆盖上,使得取证分析器轻松识别它们。此外,由于原始系统文件也出现在基本文件系统上,因此轻松提取对文件的更改。
为了计算写入熵(当确定文件是否已被加密时),覆盖使得能够计算原始文件和覆盖上的文件之间的香农熵的差异。大的熵差异表明文件可能已被加密。
上面的危害指标列表特定于Linux OS恶意软件,因此不应该将其视为限制本公开的范围。实际上,并不要求取证分析器实施任何特定的取证分析机制或算法。相反,这里的概念是提供通用取证分析框架,该框架以所描述的方式利用可堆叠文件系统架构。此外,关于IoC的性质和细节也仅仅是代表性的。
本文中描述的方法是有利的,因为它使得能够进行取证分析而不需要文件访问仲裁,并且不进行系统事件级收集和分析,使得该方法成为轻量且非侵入式的解决方案。在这方面,本文中的方法假定这样的威胁模型,其中攻击者与文件系统进行交互,例如,执行侦察、窃取数据并且破坏其受害者的文件。还假设恶意对象可能试图从文件系统中删除讲故事(story-telling)的危害痕迹。然而,误导攻击者与隔离的覆盖进行交互的概念因此对于检测和表征攻击非常有用,并且泄露了无法从单一的文件系统中辨别出来的攻击者的策略和目标。攻击者动作通常使用根(root)权限或用户级权限进行处理。本文中的方法使得防御者能够将攻击者转移到文件系统的隔离的欺骗性视图(即,覆盖),从而使得取证分析器(或其他支持系统)能够执行信息收集和取证调查。
该架构的安全目标是提供完整性,其指的是对象不可能更改文件内容或删除底层文件系统中的文件。更具体地说,在可堆叠文件系统被初始化之后,攻击者自由地与它们的文件系统视图进行交互,读取、修改和删除文件系统对象。如上所述,可堆叠文件系统然后通过设计来强制实施文件完整性,因为在进行修改之前,首先将对基本文件的任何写入复制到覆盖层。这使得文件系统能够抵御数据损坏和破坏攻击,并且它还构成了用于创建有效恢复策略的基础。其他安全目标是机密性,其指的是攻击者不可能得知关于存储在基本文件系统中的除明确允许进入对象视图中的文件(例如,经由绑定挂载操作)以外的文件的任何信息。为了防止数据盗窃和敏感信息泄露,可堆叠文件系统实现了特殊的操作符,这些操作符解密被提供给不受信任的对象的文件系统视图:看不见(blind)对上层隐藏文件的存在,而编辑(redact)在对象的视图中一起替换敏感(分类)文件内容或整个文件。类似地,为了欺骗和误导攻击者,系统引入了将诱饵文件和诱饵无缝地插入到不受信任的文件系统视图中的工具。这使文件系统能够拒绝合法文件的可见性,同时诱使不受信任的对象揭示其意图和策略。
取证分析器可以被实现为程序代码(例如,用C编写并在具有4.10.0-27-通用内核的Linux Ubuntu 16.04上测试)。为了实现透明性并最小化性能开销,诱饵文件系统优选地在安装内核模块的同时实现对内核的小修改,该内核模块实现监视、挂载隔离、诱饵创建和注入功能。内核修改最好被部署为使用kpatch的内核热补丁(在内核运行时修补内核),其修改内核的exec系列函数,以将新创建的进程放入到受联合文件系统保护的新挂载命名空间中。替选地,文件系统可以在操作系统引导时作为内置内核模块或Linux安全模块(在Linux的情况下)启动。Linux的OverlayFS联合文件系统可用来实现可堆叠文件系统。
本文中的主题提供了其他显著优点。如所描述的,本文中的方法提供了可堆叠文件系统架构,其优选地通过将应用分组到排序的文件系统视图(即,安全域)中来减少数据被盗并确保文件完整性保护。通过将文件系统的分层架构与视图分离相结合,文件系统维持数据完整性和机密性,并使得能够进行文件系统辅助取证,而不影响如何使用底层文件系统。文件系统还阻止恶意软件进行系统级更改,例如,在重启之后持续存在或创建隐藏用户,而不管权限如何。本文中的技术易于实现。
本文中的技术提供了如下额外的优点:使得能够进行对文件系统的透明访问,同时确保数据完整性和机密性,不妨碍文件系统的正常使用,并且没有额外的读取或写入开销。
诱饵文件系统技术阻止盗窃,防止不受信任的对象(例如,应用、用户等)修改或破坏重要数据,欺骗对手,并使用文件系统辅助取证来检测生产系统上的攻击者的存在。它提供了新的文件系统范例,该文件系统范例在文件安置的地方有效地保护文件。该解决方案提供了诱饵文件系统,该诱饵文件系统透明地监视文件访问,隐藏敏感数据,创建诱饵文件,并修改现有文件以向不受信任的对象(例如,进程和用户)提供虚假的系统视图。文件系统主动捕获文件系统事件并将它们与其他系统特征(例如,用户、进程名称、时间)相关联,以创建目标文件系统视图,该目标文件系统视图隐藏高价值资产并暴露诱人的面包屑以检测对文件系统数据的故意篡改。这种上下文感知通过减少对面包屑的无意的合法访问、通过将更多“真实”的文件系统视图暴露给值得信任的进程来最小化错误警报,同时通过策略性地将欺骗性对象覆盖在基本文件系统上来最大化基于取证的攻击检测的机会。
该方法检测并抵御真正的勒索软件攻击,并且该方法防御数据窃取和文件系统篡改,而不会产生显著的开销。该方法实施文件完整性保护,而不需要文件访问仲裁。该方法还支持访问控制策略的实现,并且该方法实现了商品文件系统中诱饵注入的自动化。
此外,该方法使得能够构建要向不受信任的进程呈现的逼真但完全虚假的文件系统视图。对于在覆盖中运行的进程,似乎能够查看、提取和修改实际数据。但是,它可能正在查看诱饵文件或错过敏感文件,并且在其覆盖之外不会看到其文件修改。如上所述,该操作是透明地进行的,不会将其自身通告给不受信任的进程,并且不会影响其他合法进程。此外,为了使诱饵文件对受信任用户不太可见并且对攻击者更加可见,诱饵文件系统主动将诱饵移动到不受信任程序的位置。这意味着诱饵可以存储在远离受信任用户的地方(例如,在隐藏目录中),以及在不受信任程序的正常位置可见。
优选地,并且如上所述,由不受信任进程所做的更改当前仅对该进程可见并且在重启时消失,尽管这不是必需的。但是,系统初始化脚本永远不会看到覆盖,因此对覆盖的任何写入在重启时都不会影响OS。在不受信任的进程应该变成被信任的情况下,例如由更受信任的对象担保,这些更改可以从覆盖中复制并被合并到真实文件系统中。此外,本文中的方法支持手动创建的诱饵文件。作为其他变型,诱饵文件系统可以基于不同的格式自动创建诱饵文件,例如看似被加密的数据或包含假密钥或密码的文件。该系统还可以被配置为基于过去的进程行为来学习覆盖的内容以简化覆盖生成。
如已经描述的,本文中的方法优选地被实现为对现有文件系统的覆盖,因此不需要访问实际文件系统本身。如上所述,相反,该技术利用文件系统命名空间的概念来实现诱饵文件系统,并且这些类型的命名空间在诸如Linux、视窗(Windows)服务器2016等现代操作系统中可用。此外,通过使用内核模块来钩入并决定在哪(即,哪个命名空间)放置新分叉的进程(例如,基于信任),该方法可以与任何这样的操作系统一起使用,即使不访问实际的操作系统源代码。
本文中的技术可以与诸如图2中所示的以独立方式操作的主机机器(或一组机器,例如,运行集群)一起使用,或者在诸如云计算环境的网络环境中使用。云计算是信息技术(IT)交付模型,通过该模型,可以通过因特网向计算机和其他设备按需提供共享资源、软件和信息。通过这种方法,托管应用实例并使其可从基于因特网的资源获得,这些资源可通过传统的Web浏览器或HTTP上的移动应用来访问。云计算资源通常位于大型服务器场中,大型服务器场通常使用虚拟化架构来运行一个或多个网络应用,其中应用在虚拟服务器或所谓的“虚拟机”(VM)内部运行,虚拟服务器或所谓的“虚拟机”(VM)被映射到数据中心设施中的物理服务器。虚拟机通常在管理程序之上运行,管理程序是将物理资源分配给虚拟机的控制程序。
如前所述,上述组件通常各自被实现为软件,即,被实现为在一个或多个硬件处理器中执行的一组计算机程序指令。如已经描述的那样,组件被示出为不同的,但是如所指出的,这不是必需的,因为组件也可以整体或部分地彼此集成。一个或多个组件可以在专用位置执行,或者彼此远程执行。一个或多个组件可以具有一起执行以提供功能的子组件。不要求由如上所述的特定组件执行特定功能,因为本文中的功能(或其任何方面)可以在其他组件或系统中实现。
该方法可以由操作上述基础设施的任何服务提供商实现。它可以作为管理服务提供,例如由云服务提供。
组件可以同步地或异步地、连续地和/或周期性地实现任何处理流(或其操作)。
该方法可以与其他基于企业或网络的安全方法和系统集成,例如在SIEM等中。
本公开中描述的功能可以被整体地或部分地实现为独立方法,例如,由硬件处理器执行的基于软件的功能,或者它可以作为管理服务(包括经由SOAP/XML接口的web服务)提供。本文中描述的特定硬件和软件实现细节仅用于说明目的,并不意味着限制所描述主题的范围。
更一般地,在所公开的主题的上下文内的计算设备各自都是包括硬件和软件的数据处理系统(诸如图2中所示),并且这些实体通过诸如因特网、内联网、外联网、专用网络的网络或任何其他通信媒介或链接彼此通信。数据处理系统上的应用为Web和其他已知服务和协议提供本机支持,包括但不限于对HTTP、FTP、SMTP、SOAP、XML、WSDL、UDDI和WSFL等的支持。有关SOAP、WSDL、UDDI和WSFL的信息可从万维网联盟(W3C)获得,该联盟负责开发和维护这些标准;有关HTTP、FTP、SMTP和XML的其他信息可从因特网工程任务组(IETF)获得。假定熟悉这些已知的标准和协议。
本公开的各方面可以在各种服务器端架构中实现或与其结合实现,包括简单的n层架构、web门户、联合系统等。本文中的技术可以在松散耦合的服务器(包括基于“云”的)环境中实施。
更一般地,本文中描述的主题可以采用完全硬件实施例、完全软件实施例或包含硬件元素和软件元素两者的实施例的形式。在优选实施例中,该功能以软件实现,软件包括但不限于固件、常驻软件、微代码等。此外,如上所述,基于身份上下文的访问控制功能可以采用可从计算机可用或计算机可读介质访问的计算机程序产品的形式,该计算机可用或计算机可读介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。出于本说明书的目的,计算机可用或计算机可读介质可以是能够包含或存储程序以供指令执行系统、装置或设备使用或与其结合使用的任何装置。介质可以是电的、磁的、光的、电磁的、红外的或半导体系统(或装置或设备)。计算机可读介质的示例包括半导体或固态存储器、磁带、可移除计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘以及光盘。光盘的当前示例包括压缩盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。计算机可读介质是有形物品。
计算机程序产品可以是具有程序指令(或程序代码)以实现一个或多个所述功能的产品。在通过网络从远程数据处理系统下载之后,这些指令或代码可以存储在数据处理系统中的计算机可读存储介质中。或者,这些指令或代码可以存储在服务器数据处理系统中的计算机可读存储介质中,并且适于通过网络下载到远程数据处理系统,以在远程系统内的计算机可读存储介质中使用。
在代表性实施例中,该系统在专用计算机中实现,优选地以由一个或多个处理器执行的软件来实现。软件保存在与一个或多个处理器相关联的一个或多个数据存储装置或存储器中,并且软件可以实现为一个或多个计算机程序。总的来说,这种专用硬件和软件包括上述功能。
虽然上面的处理流程描述了由某些实施例执行的特定操作顺序,但是应当理解,这种顺序是示例性的,因为替代实施例可以以不同的顺序执行操作,组合某些操作,重叠某些操作等。说明书中对给定实施例的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以不必包括特定特征、结构或特性。
最后,虽然已经分别描述了系统的给定组件,但是普通技术人员将理解,可以在给定指令、程序序列、代码部分等中组合或共享一些功能。
本文中使用的术语也不应被视为限制。
这些技术通过提供减少数据被盗并借助欺骗确保文件完整性保护的文件系统来改进传统计算系统。通过提供诱饵文件系统来改进现有的计算技术,该诱饵文件系统透明地监视文件访问,隐藏敏感数据,创建诱饵文件,以及修改现有文件以向不受信任的对象(例如,进程和用户)提供虚假的系统视图。结合本文中的技术的计算系统透明地且无妨碍地提供这些优点,从而提高了底层文件系统的可靠性和可用性。此外,利用本文中的方法实现的计算机系统比其他方式更有效地运行并且具有更少的特定于网络安全的处理和存储要求。
已经描述了本发明,我们请求保护的如下。

Claims (10)

1.一种文件系统中的取证分析的方法,所述文件系统包括部署在可写基本文件系统之上的文件系统覆盖,所述方法包括:
当与特定文件系统覆盖相关联的对象在所述特定文件系统覆盖中执行基于文件的活动时,捕获指示所述基于文件的活动的信息,并且写入仅反映在所述特定文件系统覆盖中;
分析所捕获的信息以确定与所述基于文件的活动相关联的对象是否是恶意的;以及
在确定与所述基于文件的活动相关联的对象是恶意的情况下,采取预定动作来保护所述文件系统。
2.根据权利要求1所述的方法,其中,所述基于文件的活动是以下各项之一:文件的创建、文件的删除和文件的修改。
3.根据权利要求1所述的方法,其中,分析所捕获的信息包括:对于给定文件,确定所述给定文件是否已由于所述基于文件的活动而被修改。
4.根据权利要求3所述的方法,还包括:在确定所述给定文件已由于所述基于文件的活动而被修改的情况下,从所述给定文件中提取文件特征。
5.根据权利要求4所述的方法,还包括:使用所提取的文件特征来识别一个或多个危害指标。
6.根据权利要求5所述的方法,还包括:基于所述一个或多个危害指标确定与所述基于文件的活动相关联的对象是否是恶意的。
7.根据权利要求6所述的方法,其中,保护所述文件系统的预定动作是以下各项之一:发出警报,阻止与对象相关联的附加的基于文件的活动,隔离嫌疑者,动态地重新分配信任以隐藏某些文件,注入一个或多个新欺骗,以及收集和共享威胁情报。
8.一种计算机装置,包括:
处理器;
计算机存储器,所述计算机存储器保持由所述处理器执行的计算机程序指令,所述计算机程序指令被配置为提供文件系统中的取证分析,所述文件系统包括部署在可写基本文件系统之上的文件系统覆盖,所述计算机程序指令包括程序代码,所述程序代码被配置为执行根据权利要求1至7中任一项所述的方法的动作。
9.一种非暂态计算机可读介质,包括用来提供文件系统中的取证分析的计算机程序指令,所述文件系统包括部署在可写基本文件系统之上的文件系统覆盖,所述计算机程序指令包括程序代码,所述程序代码被配置为执行根据权利要求1至7中任一项所述的方法的动作。
10.一种计算机系统,包括用来执行根据权利要求1至7中任一项所述的方法的步骤的模块。
CN201910551713.XA 2018-06-27 2019-06-25 文件系统中的取证分析的方法、装置、介质和系统 Active CN110647744B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/019,761 US11775638B2 (en) 2018-06-27 2018-06-27 Identification and extraction of key forensics indicators of compromise using subject-specific filesystem views
US16/019,761 2018-06-27

Publications (2)

Publication Number Publication Date
CN110647744A CN110647744A (zh) 2020-01-03
CN110647744B true CN110647744B (zh) 2023-06-06

Family

ID=69008169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910551713.XA Active CN110647744B (zh) 2018-06-27 2019-06-25 文件系统中的取证分析的方法、装置、介质和系统

Country Status (2)

Country Link
US (1) US11775638B2 (zh)
CN (1) CN110647744B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11120131B2 (en) * 2018-07-30 2021-09-14 Rubrik, Inc. Ransomware infection detection in filesystems
US11516247B2 (en) * 2018-12-11 2022-11-29 Acronis International Gmbh System and method for protecting network resources
US11494505B2 (en) 2019-03-21 2022-11-08 Microsoft Technology Licensing, Llc Hiding secure area of a file storage system based on client indication
US11347881B2 (en) 2020-04-06 2022-05-31 Datto, Inc. Methods and systems for detecting ransomware attack in incremental backup
US10990675B2 (en) * 2019-06-04 2021-04-27 Datto, Inc. Methods and systems for detecting a ransomware attack using entropy analysis and file update patterns
US11616810B2 (en) 2019-06-04 2023-03-28 Datto, Inc. Methods and systems for ransomware detection, isolation and remediation
CN111274582B (zh) * 2020-01-14 2022-06-21 中国人民解放军战略支援部队信息工程大学 基于透明度的取证效果评估方法、取证分析装置及方法
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
US11995044B2 (en) * 2021-02-12 2024-05-28 Zettaset, Inc. Configurable stacking/stackable filesystem (CSF)
US20230275905A1 (en) * 2022-02-25 2023-08-31 Bank Of America Corporation Detecting and preventing botnet attacks using client-specific event payloads
US11983146B2 (en) * 2022-05-12 2024-05-14 Microsoft Technology Licensing, Llc Copy-on-write union filesystem
US12088735B1 (en) 2023-09-13 2024-09-10 Zecurity, Llc Apparatus, systems, and methods relying on non-flashable circuitry for improving security on public or private networks
US12045350B1 (en) 2023-09-13 2024-07-23 Zecurity, Llc Apparatus, systems, and methods relying on non-flashable circuitry for improving security on public or private networks
US12015719B1 (en) 2023-09-13 2024-06-18 Zecurity, Llc Apparatus, systems, and methods relying on non-flashable circuitry for improving security on public or private networks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1813253A (zh) * 2003-05-07 2006-08-02 莱万塔公司 对共享的只读文件系统中的病毒的检测和报警
CN1855110A (zh) * 2005-04-19 2006-11-01 国际商业机器公司 用于使文件系统免于恶意程序的增强安全层的系统和方法
US7197516B1 (en) * 2002-07-22 2007-03-27 Veritas Operating Corporation Method and system for an overlay filesystem

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7549164B2 (en) * 2003-06-11 2009-06-16 Symantec Corporation Intrustion protection system utilizing layers and triggers
US7165260B2 (en) * 2002-06-12 2007-01-16 Fsl, L.L.C. Layered computing systems and methods for insecure environments
US20050246529A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US20050273858A1 (en) 2004-06-07 2005-12-08 Erez Zadok Stackable file systems and methods thereof
WO2008128194A2 (en) 2007-04-12 2008-10-23 Rutgers, The State University Of New Jersey System and method for controlling a file system
US8032570B2 (en) 2007-07-26 2011-10-04 Hewlett-Packard Development Company, L.P. Efficient stacked file system and method
US8769684B2 (en) * 2008-12-02 2014-07-01 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for masquerade attack detection by monitoring computer user behavior
DE102014202953A1 (de) 2014-02-18 2015-08-20 Siemens Aktiengesellschaft Netzbasierte Kollaboration zum gesicherten Datenaustausch von Bilddatensätzen mit vertraulichen Anteilen
US10140462B2 (en) 2015-05-21 2018-11-27 Qualcomm Innovation Center, Inc. Stackable file system with user space policy management
GB2553376A (en) 2016-09-06 2018-03-07 Trustonic Ltd Future constraints for hierarchical chain of trust
US10558818B2 (en) * 2017-02-22 2020-02-11 Red Hat, Inc. Supporting security access controls in an overlay filesystem
CN107330322A (zh) 2017-06-06 2017-11-07 北京奇虎科技有限公司 文档安全防护方法、装置以及设备
US10725752B1 (en) * 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
TWI682804B (zh) 2019-02-22 2020-01-21 薩柏科技有限公司 畫框式空氣清淨機

Patent Citations (3)

* 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
CN1813253A (zh) * 2003-05-07 2006-08-02 莱万塔公司 对共享的只读文件系统中的病毒的检测和报警
CN1855110A (zh) * 2005-04-19 2006-11-01 国际商业机器公司 用于使文件系统免于恶意程序的增强安全层的系统和方法

Also Published As

Publication number Publication date
US20200004962A1 (en) 2020-01-02
CN110647744A (zh) 2020-01-03
US11775638B2 (en) 2023-10-03

Similar Documents

Publication Publication Date Title
CN110647744B (zh) 文件系统中的取证分析的方法、装置、介质和系统
CN110647754B (zh) 用于在文件系统中强制实行视图分离的方法、装置、介质及系统
US11620383B2 (en) Dynamic analysis techniques for applications
US9846776B1 (en) System and method for detecting file altering behaviors pertaining to a malicious attack
US11604878B2 (en) Dynamic analysis techniques for applications
US11163878B2 (en) Integrity, theft protection and cyber deception using a deception-based filesystem
KR101626424B1 (ko) 가상 머신 모니터 기반 안티 악성 소프트웨어 보안 시스템 및 방법
Dezfoli et al. Digital forensic trends and future
Hassan Ransomware revealed
Guido et al. Automated identification of installed malicious Android applications
WO2009032379A1 (en) Methods and systems for providing trap-based defenses
Grégio et al. Toward a taxonomy of malware behaviors
Kardile Crypto ransomware analysis and detection using process monitor
Sabharwal et al. Ransomware attack: India issues red alert
Peddoju et al. File integrity monitoring tools: Issues, challenges, and solutions
Chew et al. Real-time system call-based ransomware detection
Delosières et al. Infrastructure for detecting Android malware
Jang et al. Function‐Oriented Mobile Malware Analysis as First Aid
Taylor et al. Hidden in plain sight: Filesystem view separation for data integrity and deception
Gantikow et al. Rule-based security monitoring of containerized environments
Kharraz Techniques and Solutions for Addressing Ransomware Attacks
Dezfouli et al. Digital forensics trends and future
Major A Taxonomic Evaluation of Rootkit Deployment, Behavior and Detection
MacLennan Path-Safe: Enabling Dynamic Mandatory Access Controls Using Security Tokens
Smit Towards understanding and mitigating attacks leveraging zero-day exploits

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