CN110647744A - 使用特定于对象的文件系统视图识别和提取关键危害取证指标 - Google Patents

使用特定于对象的文件系统视图识别和提取关键危害取证指标 Download PDF

Info

Publication number
CN110647744A
CN110647744A CN201910551713.XA CN201910551713A CN110647744A CN 110647744 A CN110647744 A CN 110647744A CN 201910551713 A CN201910551713 A CN 201910551713A CN 110647744 A CN110647744 A CN 110647744A
Authority
CN
China
Prior art keywords
file
file system
overlay
forensic
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.)
Granted
Application number
CN201910551713.XA
Other languages
English (en)
Other versions
CN110647744B (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/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
    • 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
    • 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.04 LTS,利用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 true CN110647744A (zh) 2020-01-03
CN110647744B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111274582A (zh) * 2020-01-14 2020-06-12 中国人民解放军战略支援部队信息工程大学 基于透明度的取证效果评估方法、取证分析装置及方法

Families Citing this family (8)

* 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
US11392711B2 (en) 2019-03-21 2022-07-19 Microsoft Technology Licensing, Llc Authentication state-based permission model for a file storage system
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
US11995044B2 (en) * 2021-02-12 2024-05-28 Zettaset, Inc. Configurable stacking/stackable filesystem (CSF)
US11983146B2 (en) * 2022-05-12 2024-05-14 Microsoft Technology Licensing, Llc Copy-on-write union filesystem

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030233489A1 (en) * 2002-06-12 2003-12-18 Blaser Jared Ricks Layered computing systems and methods for insecure environments
US20050257266A1 (en) * 2003-06-11 2005-11-17 Cook Randall R Intrustion protection system utilizing layers and triggers
US20050273858A1 (en) * 2004-06-07 2005-12-08 Erez Zadok Stackable file systems and methods thereof
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
US20090043823A1 (en) * 2007-04-12 2009-02-12 Liviu Iftode System and method for controlling a file system
US20100269175A1 (en) * 2008-12-02 2010-10-21 Stolfo Salvatore J Methods, systems, and media for masquerade attack detection by monitoring computer user behavior
US20160342804A1 (en) * 2015-05-21 2016-11-24 Qualcomm Innovation Center, Inc. Stackable file system with user space policy management
CN107330322A (zh) * 2017-06-06 2017-11-07 北京奇虎科技有限公司 文档安全防护方法、装置以及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050246529A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US8032570B2 (en) 2007-07-26 2011-10-04 Hewlett-Packard Development Company, L.P. Efficient stacked file system and method
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
US10558818B2 (en) * 2017-02-22 2020-02-11 Red Hat, Inc. Supporting security access controls in an overlay filesystem
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 (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030233489A1 (en) * 2002-06-12 2003-12-18 Blaser Jared Ricks Layered computing systems and methods for insecure environments
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 莱万塔公司 对共享的只读文件系统中的病毒的检测和报警
US20050257266A1 (en) * 2003-06-11 2005-11-17 Cook Randall R Intrustion protection system utilizing layers and triggers
US20050273858A1 (en) * 2004-06-07 2005-12-08 Erez Zadok Stackable file systems and methods thereof
CN1855110A (zh) * 2005-04-19 2006-11-01 国际商业机器公司 用于使文件系统免于恶意程序的增强安全层的系统和方法
US20090043823A1 (en) * 2007-04-12 2009-02-12 Liviu Iftode System and method for controlling a file system
US20100269175A1 (en) * 2008-12-02 2010-10-21 Stolfo Salvatore J Methods, systems, and media for masquerade attack detection by monitoring computer user behavior
US20160342804A1 (en) * 2015-05-21 2016-11-24 Qualcomm Innovation Center, Inc. Stackable file system with user space policy management
CN107330322A (zh) * 2017-06-06 2017-11-07 北京奇虎科技有限公司 文档安全防护方法、装置以及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111274582A (zh) * 2020-01-14 2020-06-12 中国人民解放军战略支援部队信息工程大学 基于透明度的取证效果评估方法、取证分析装置及方法
CN111274582B (zh) * 2020-01-14 2022-06-21 中国人民解放军战略支援部队信息工程大学 基于透明度的取证效果评估方法、取证分析装置及方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN110647754B (zh) 用于在文件系统中强制实行视图分离的方法、装置、介质及系统
CN110647744B (zh) 文件系统中的取证分析的方法、装置、介质和系统
US9846776B1 (en) System and method for detecting file altering behaviors pertaining to a malicious attack
US11163878B2 (en) Integrity, theft protection and cyber deception using a deception-based filesystem
CN109684832B (zh) 检测恶意文件的系统和方法
JP6370747B2 (ja) バーチャルマシーンモニタベースのアンチマルウェアセキュリティのためのシステム及び方法
Dezfoli et al. Digital forensic trends and future
US20160099960A1 (en) System and method for scanning hosts using an autonomous, self-destructing payload
US10009370B1 (en) Detection and remediation of potentially malicious files
Hassan Ransomware revealed
CN107851155A (zh) 用于跨越多个软件实体跟踪恶意行为的系统及方法
WO2009032379A1 (en) Methods and systems for providing trap-based defenses
Roseline et al. A comprehensive survey of tools and techniques mitigating computer and mobile malware attacks
Wong et al. On the security of containers: Threat modeling, attack analysis, and mitigation strategies
KR101223594B1 (ko) Lkm 루트킷 검출을 통한 실시간 운영정보 백업 방법 및 그 기록매체
Kardile Crypto ransomware analysis and detection using process monitor
Wong et al. Threat modeling and security analysis of containers: A survey
Lemmou et al. A behavioural in‐depth analysis of ransomware infection
Peddoju et al. File integrity monitoring tools: Issues, challenges, and solutions
CN108038380A (zh) 用于计算机安全的接种器和抗体
Taylor et al. Hidden in plain sight: Filesystem view separation for data integrity and deception
Kapil et al. Virtual machine introspection in virtualization: A security perspective
US11763004B1 (en) System and method for bootkit detection
Hassan et al. Ransomware overview
Kharraz Techniques and Solutions for Addressing Ransomware Attacks

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