CN111090857B - 防御恶意软件攻击文件的方法、计算机系统以及记录介质 - Google Patents

防御恶意软件攻击文件的方法、计算机系统以及记录介质 Download PDF

Info

Publication number
CN111090857B
CN111090857B CN201811344705.XA CN201811344705A CN111090857B CN 111090857 B CN111090857 B CN 111090857B CN 201811344705 A CN201811344705 A CN 201811344705A CN 111090857 B CN111090857 B CN 111090857B
Authority
CN
China
Prior art keywords
file
attribute
specific
request
program
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
CN201811344705.XA
Other languages
English (en)
Other versions
CN111090857A (zh
Inventor
林立志
庄般若
黄莉婷
王子夏
卓传育
阙志克
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.)
Industrial Technology Research Institute ITRI
Original Assignee
Industrial Technology Research Institute ITRI
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 Industrial Technology Research Institute ITRI filed Critical Industrial Technology Research Institute ITRI
Publication of CN111090857A publication Critical patent/CN111090857A/zh
Application granted granted Critical
Publication of CN111090857B publication Critical patent/CN111090857B/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/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
    • 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/54Monitoring 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 adding security routines or objects to programs
    • 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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

一种用于防御恶意软件攻击计算机系统的文件的方法,包括以下步骤。确认输入/输出(I/O)请求所对应的特定文件的文件类型是否为需备份的文件类型,需备份的文件类型属于易受恶意软件攻击的多个预设的文件类型中的一个。当特定文件的文件类型为需备份的文件类型时,检查特定文件的文件内容标签结构中的已完成备份标签。当已完成备份标签显示特定文件尚未完成备份时,对特定文件进行备份程序。

Description

防御恶意软件攻击文件的方法、计算机系统以及记录介质
技术领域
本公开是有关于一种用于防御恶意软件攻击计算机系统的文件的方法与计算机系统以及对应的非暂时性计算机可读记录介质。
背景技术
随着社交网络(Social Network)与云端服务(Cloud Services)的普及应用,国人仰赖网络资源并享受其便利性的同时,也将自身的隐私曝露于未经保护的网络环境中。个人隐私与个人财务信息等高度潜在价值的数据开始诱使大批犯罪者进行窃取与攻击,例如僵尸网络(Botnet)、勒索软件(Ransomware)、隐私数据窃取、分布式阻断攻击(DistributedDenial of Service,DDoS)与进阶持续性渗透攻击(Advanced Persistent Threat,APT)等攻击行为与日俱增。其中勒索软件通过电子邮件、网页浏览与系统漏洞快速散布,将受感染主机内用户的重要数据加密以索取高昂赎金,如今已对网络世界造成重大灾情。因此,如何能够正确并较有效地检测恶意软件的攻击行为,并且对于计算机系统中的文件、数据或是文件等重要数据进行保护,以降低计算机系统因为被恶意软件攻击时,造成文件被删除、修改内容、更名、加密而无法使用等影响与危害,实是现今亟待解决的问题。
发明内容
根据本公开的一实施例,提出一种用于防御恶意软件攻击计算机系统的文件的方法,包括以下步骤。确认输入/输出(I/O)请求所对应的特定文件的文件类型是否为需备份的文件类型,需备份的文件类型属于易受恶意软件攻击的多个预设的文件类型中的一个。当特定文件的文件类型为需备份的文件类型时,检查特定文件的文件内容标签结构中的已完成备份标签。当已完成备份标签显示特定文件尚未完成备份时,对特定文件进行备份程序。
根据本公开的另一实施例,提出一种用于防御恶意软件攻击计算机系统的文件的计算机系统,此计算机系统包括存储装置及处理器。存储装置用以存储特定文件,I/O请求对应至特定文件。处理器执行存储于该存储装置中的多个指令,以确认I/O请求所对应的特定文件的文件类型是否为需备份的文件类型,需备份的文件类型属于易受恶意软件攻击的多个预设的文件类型中的一个,当特定文件的文件类型为需备份的文件类型时,检查特定文件的文件内容标签结构中的已完成备份标签,当已完成备份标签显示特定文件尚未完成备份时,对特定文件进行备份程序。
根据本公开的再一实施例,提出一种非暂时性计算机可读记录介质,非暂时性计算机可读记录介质存储多个指令,多个指令可供处理器执行,以使包括处理器的计算机系统执行上述的用于防御恶意软件攻击计算机系统的文件的方法。
为了对本公开的上述及其他方面有更佳的了解,下文特举实施例,并配合所附附图详细说明如下:
附图说明
图1示出本实施例所使用的于核心模式下的系统的架构图的一例。
图2示出为图1的系统架构所使用的计算机系统的方块图。
图3示出依照本公开的实施例,在计算机系统的核心模式中,用于防御恶意软件攻击计算机系统的文件的方法的流程图。
图4A及图4B示出依照本公开的另一实施例的用于防御恶意软件攻击计算机系统的文件的方法的流程图。
具体实施方式
本公开提供一种用于防御恶意软件攻击计算机系统的文件的方法,包括以下步骤。确认输入/输出(Input/Output,I/O)请求(Request)所对应的特定文件的文件类型是否为需备份的文件类型,此需备份的文件类型属于易受恶意软件攻击的多个预设的文件类型中的一个。当此特定文件的文件类型为需备份的文件类型时,检查此特定文件的文件内容(File Context)标签结构(Tag Structure)中的“已完成备份标签(Backup AlreadyTag)”。当此“已完成备份标签”显示此特定文件尚未完成备份时,对此特定文件进行备份程序。“文件内容”让驱动程序可以存放“自定义数据结构”附加在文件开启期间,文件内容建立于系统接收到“开启文件(FileOpen)”后,而释放于系统接收到“关闭文件(FileClose)”时。此“已完成备份标签”为本公开所自定义的数据结构之一。
于确认此I/O请求所对应的此特定文件的文件类型是否为此需备份的文件类型之前,此方法更可包括确认此特定文件的文件大小是否大于0,若是,则执行确认此I/O请求所对应的此特定文件的文件类型是否为需备份的文件类型的步骤;若否,则于此I/O请求的类型为建立文件的I/O请求的情况下,建立新文件。
于检查此特定文件的此文件内容标签结构中的此“已完成备份标签”之后,此方法还包括检查此特定文件的此I/O请求的I/O属性,以判断此I/O属性是否为对于此特定文件为安全的属性,若否,则启动备份程序。其中,当此I/O属性为建立文件属性、写入文件属性、及设定文件数据属性三者之一时,此I/O属性为针对此特定文件为非安全的属性。
而于检查此特定文件的此文件内容标签结构中的此“已完成备份标签”之后,此方法更可包括检查此特定文件的此I/O请求的I/O属性,并于判断此I/O属性是否为对此特定文件为非安全的属性之后,检查此特定文件的扩展文件属性(Extended File Attributes,EA)。当此扩展文件属性显示前一次修改此特定文件的先前程序与此I/O请求所对应的目前程序不同时,则启动备份程序。“扩展文件属性”让程序可以存放元数据(或称中介数据)(Metadata)在文件中,允许程序将文件与未被文件系统所解释的文件相关数据(也就是元数据)关联起来,譬如说:名称、主题、范畴、批注、关键词等等。
于检查此特定文件的此I/O请求的此I/O属性之后,此方法更可包括判断此特定文件是否为诱饵文件,若是,则发出此特定文件可能受到病毒攻击的警示信息。
上述的方法更可包括检查于此特定文件产生异动时,是否有用户的输入,若否,则启动备份程序。上述的方法更可判断执行备份程序的文件备份数量是否大于特征临界值,若是,则发出此特定文件可能受到病毒攻击的警示信息。兹将上述方法进一步说明如下。
为降低计算机系统遭受恶意软件的攻击,本公开利用操作系统开始即启动(Launch at Startup)的功能,将驱动程序利用位于硬件底层的核心模式(Kernel Mode)来执行,以维护计算机系统的权限控制。
视窗(Windows)操作系统提供了一种过滤器管理单元(Filter Manager)的架构(Framework)。过滤器管理单元随着视窗操作系统而安装,且当有微过滤器驱动程序(Driver)被加载时才会致动。
请参照图1,其示出本实施例所使用的于核心模式下的系统的架构图之一例。于核心模式下的系统100具有I/O管理单元(I/O Manager)102、过滤器管理单元(FilterManager)104、文件系统驱动器(File System Driver)106、第一微过滤器108、第二微过滤器110、第三微过滤器112、及存储驱动器堆栈(Storage Driver Stack)114。第一微过滤器108、第二微过滤器110、第三微过滤器112例如可由驱动程序来实现。
I/O管理单元(I/O Manager)102用以接收I/O请求(Request)R。第一微过滤器108、第二微过滤器110、第三微过滤器112藉由向过滤器管理单元104注册欲监控的I/O操作(I/Ooperation)类型,选择所需过滤的I/O操作类型,例如开启文件、读取、写入。第一微过滤器108、第二微过滤器110、第三微过滤器112并间接地依附于文件系统堆栈(File SystemStack)。亦即,各硬件装置于核心层有其驱动器堆栈,过滤器管理单元104实际依附于文件系统的驱动器堆栈,而第一微过滤器108、第二微过滤器110、第三微过滤器112则是通过过滤器管理单元104间接依附于文件系统的驱动器堆栈。在用户模式(User Mode)中,当有I/O请求R(例如是文件输入/输出的用户请求(User Request for File I/O))时,即进入核心模式(Kernel Mode),并由I/O管理单元102将I/O请求R所对应的I/O请求包(I/O RequestPacket,IRP)传送至过滤器管理单元104。其中,上述的“用户请求”是指所有根据操作系统分层概念中,来自“用户层”(或称“应用层”)的所有程序的I/O请求。再由过滤器管理单元104将I/O请求包分配给第一微过滤器108、第二微过滤器110、第三微过滤器112。其中,第一微过滤器10对文件系统的I/O操作进行监控、第二微过滤器110对文件系统的I/O操作进行防毒、第三微过滤器112对文件系统的I/O操作进行复制。
微过滤器被赋予特定的顺序,此顺序由所谓的海拔(Altitude)的值所决定。微过滤器的海拔是过滤器管理单元104用以决定呼叫微过滤器处理I/O请求的顺序。例如假设第一微过滤器108具有海拔365000、第二微过滤器110具有海拔325000、及第三微过滤器112具有海拔305000。假定这三个微过滤器均向过滤器管理单元104注册相同的I/O操作,过滤器管理单元104将依据三个微过滤器的海拔由高至低(以第一至第三微过滤器的顺序)依序呼叫微过滤器来进行预操作回传例程(Preoperation Callback Routines),并将I/O请求转送至下一个较低海拔的值的微过滤器。而当过滤器管理单元104接收到I/O请求已完成的信息时,则依据微过滤器的海拔的值反向地(例如以第三至第一微过滤器的顺序)呼叫微过滤器,以进行后操作回传例程(Postoperation Callback Routines)。亦即,海拔的值越低的微过滤器对于I/O请求越具有决定性的权限。本公开即是在计算机系统的核心模式中自行设计并安装加载如第三过滤器112具有低海拔的值的微过滤器以提供防御恶意软件攻击计算机系统的文件的方法。然本公开并不限于只能使用低海拔的值的微过滤器,亦可使用其他海拔的值的微过滤器。
上述的海拔值可视为微过滤器向操作系统(例如是微软(Microsoft)操作系统)申请海拔值时,将根据由操作系统的定义的分层来分派海拔值,也方便申请者根据需求在申请时自行提出海拔值以供操作系统审核。其中,越低的海拔值越属于最终修改者,其修改的内容将经手越少的微过滤器的个数,所以越适合做对硬件装置的保护。越高的海拔值越能接收来自应用层的I/O,越能够反馈应用层的I/O,适合处理监控用户行为。若以Microsoft操作系统为例,上述的高低不同的海拔值例如分别对应至监控层(Monitor layer)、防毒层(Anti-Virus layer)、备份层(Replication layer)。低海拔值是对应至备份层的层级。
藉由上述的微过滤器的架构,可在核心模式中紧系住(Hook)所有对于文件的存储装置的I/O请求,并拥有以驱动过程控制其他硬件装置的功能。利用微过滤器以终止有疑虑的程序(Process),例如是用以防止病毒入侵,以及利用微过滤器扫描存储装置(例如是硬盘)中的所有文件,并将需要被隔离的组件进行隔离(Detach)。
请参照图2,其示出为图1的系统架构所使用的计算机系统的方块图。计算机系统200至少包括处理器202、存储装置204、及输入装置206。存储装置204及输入装置206与处理器202电性连接,并由处理器202所控制。图1的I/O管理单元102、过滤器管理单元104、文件系统驱动器106、第一微过滤器108、第二微过滤器110、第三微过滤器112及存储驱动器堆栈114例如是通过处理器202执行相关软件或程序的指令来达成。而存储装置204用以存储至少一文件以及完成处理器202所传递欲执行的指令。存储装置204例如是硬盘、存储器、存储卡、USB存储装置等。输入装置206例如是键盘或鼠标,以供用户操作以控制计算机系统200或对存储装置204中所存储的至少一文件进行操作。
请参照图3,其示出依照本公开的一实施例,在计算机系统的核心模式中,利用微过滤器进行预操作回传例程,以用于防御恶意软件攻击计算机系统的文件的方法的流程图。图3所示的方法主要是藉由进行文件备份来达到防御恶意软件攻击计算机系统的文件的目的。
当计算机系统200有I/O请求R(例如是文件输入/输出的用户请求)产生时,计算机系统200即进入核心模式。在核心模式下的过滤器管理单元104将呼叫本公开的如第三微过滤器112的海拔微过滤器,由本公开的如第三微过滤器112的海拔微过滤器执行图3所示的步骤以进行预操作回传。
于I/O请求R产生时,进入步骤302,确认I/O请求R所对应的特定文件的文件大小(Check File Size)是否大于0,若是,则进入步骤306。若否,则进入步骤304,判断I/O请求R的类型是否为建立文件(IRP_MJ_CREATE)。I/O请求R所对应的特定文件是指I/O请求R所指示的欲写入或读取的特定文件。于步骤304判断为否的情况下(亦即于文件大小为0且I/O请求的类型不为建立文件的I/O请求),则代表不需进行文件备份,而进入步骤316,直接释放I/O请求R。于步骤304判断为是的情况下,亦即若文件大小为0且I/O请求的类型为建立文件的I/O请求时,则进入步骤305,释放I/O请求R(亦即允许I/O请求R通过系统100)。
释放后的I/O请求R将会于步骤307中被执行,例如I/O请求R是经由过滤器管理单元104、文件系统驱动器106、存储驱动器堆栈114而传送至存储装置204且被执行,并且由处理器202于后续操作中(例如是于后操作回传例程(Postoperation Callback Routines)中)监控由存储装置204返还的I/O请求R是否指示成功建立新文件,如步骤309所示。而于步骤309中,若成功建立新文件,则将进一步于步骤311中,设立新文件的扩展文件属性(Extended File Attributes,EA),并于扩展文件属性中设置当下发送此I/O请求R的程序为建立者(Creator Process)的元数据。
于步骤306中,确认I/O请求R所对应的特定文件的文件类型是否为需备份的文件类型(Check File Type),需备份的文件类型属于易受恶意软件攻击的多个预设的文件类型中的一个。若是,则进入步骤308;若否,则进入步骤316,释放I/O请求R,释放后的I/O请求R将会于步骤318中被执行。确认特定文件的文件类型是否为需备份的文件类型例如可藉由确认文件类型是否为预设的目标文件类型(Target File Type)来进行确认。目标文件类型例如是常受恶意软件所攻击的文件类型或是常受恶意软件所异动的文件类型。目标文件类型可以用列表(List)的方式,表列出多个常受恶意软件所攻击的文件类型与常受恶意软件所异动的文件类型。例如,可以利用文件的扩展名,来判断此文件类型是否为常受恶意软件所攻击的文件类型,或是常受恶意软件所异动的文件类型。以勒索软件而言,勒索软件常对扩展名为doc、txt、xls、mpg、mp4、jpg、bmp、pdf等的文件,进行修改内容、更名、加密等。可将doc、txt、xls、mpg、mp4、jpg、bmp、pdf等扩展名所对应的文件类型,设定为目标文件类型。若特定文件的文件类型属于目标文件类型的话,则将此特定文件视为需备份的文件类型。倘若特定文件的文件类型不属于目标文件类型的话,则不需进行文件备份而允许此I/O请求R的执行,而可进入步骤316与318,来进行对应的I/O操作。
而于步骤308,检查此特定文件的文件内容(File Context)标签结构。当于步骤306中判断出特定文件的文件类型为需备份的文件类型时,则于步骤308检查特定文件的文件内容标签结构中的“已完成备份标签(Backup_Already Tag)”,并且判断此“已完成备份标签”是否显示为否(False)。若显示为否(亦即是步骤308判断的结果为“是”的情况),则代表此特定文件尚未完成备份,而可进入步骤310。若步骤308的判断为否的话,则进入步骤316。
其中,文件内容标签结构是微过滤器依需求针对被开启的文件而做的随档记录,文件内容标签结构于文件关闭后消除。此文件内容标签结构存在于文件被开启期间内,是根据微过滤器程序开发者自定义的结构(Structure)以标签(Tag)形式存在。例如记录文件大小为100MB(兆字节),而其中有多少字节被更改或删除等。当文件内容标签结构记录了此特定文件属于已完成备份的文件的话,则不需进行备份,直接进入步骤316释放此I/O请求R。倘若不存在文件内容标签结构,则此特定文件属于新开启的文件,则对此特定文件设定(Set)文件内容标签结构,例如对文件内容标签结构中的“文件大小标签”及“已完成备份标签”进行设定,其中“已完成备份标签”例如预设为否(False)。设置“已完成备份标签”可避免在同一文件开启期间,有多个I/O操作触动备份机制,而造成多个差异不大的备份文件产生。
倘若前述的内容标签结构已存在或设置完成,且“已完成备份标签”为否(False),则进入步骤310,检查此特定文件的I/O请求R的I/O属性,以判断此I/O属性是否为对于此特定文件为安全的属性。若是,则进入步骤316,若否,则进入步骤312。此I/O属性记录于I/O请求R的包的头部(Header)中,例如是以标记的方式来呈现。例如,当此I/O属性中,为属于无恶意疑虑的I/O操作时(亦即非以下陈述的三种需启动备份的标记),则此I/O属性为对于此特定文件为安全的属性,而不需启动备份,且可允许硬件组件进行I/O操作。倘若此I/O属性包括以下三种需启动备份的标记时,则代表此I/O属性为对于此特定文件为不安全的属性,则须进一步进入步骤312来检查文件的扩展文件属性(Extended File Attributes,EA)。
上述的三种需启动备份的标记为建立文件(Create)属性、写入文件(Write)属性、设定文件数据(Set Information)属性。建立文件属性例如是文件属于覆盖(Overwrite)属性、条件覆盖(Overwrite_If)属性、取代(Supersede)属性时,为需启动备份的标记。其中,覆盖属性例如是当文件已存在,另以所提供的文件(Given File)进行覆盖。若文件不存在,则不进行操作。条件覆盖属性例如是当文件已存在,另以所提供的文件(given file)进行覆盖。若文件不存在,则以所提供的文件建立新文件。亦即,不论文件是否存在,都会进行覆盖或建立文件。取代属性例如是当文件已存在,另以所提供的文件进行置换(Replace)。若文件不存在,则以所提供的文件建立新文件。
写入文件(Write)属性为当内容标签结构中记录的起始字节偏移(Byte Offset)标签小于文件大小(File Size)标签时,为需启动备份的标记。设定文件数据属性为当用户对文件进行删除、更名、或置换时,此属于设定文件数据,为需启动备份的标记。
于步骤312中,检查此特定文件的扩展文件属性(Extended File Attributes,EA)。当此扩展文件属性显示前一次修改此特定文件的先前程序与I/O请求R所对应的目前程序不同时,则启动备份程序并进入步骤314。若否,则进入步骤316。
文件的扩展文件属性用以减少硬件的备份负担。在文件结构定义之中,原本就存在属于文件系统可以利用的空区域,用以让应用程序对文件填入元数据(Metadata)。以视窗操作系统的浏览器(Explore)应用程序为例,即可在文件之中加入标题(Title)、主旨(Subject)、标签(Tags)、分类(Categories)、批注(Comments)等的元数据。本公开则在文件的扩展文件属性中加入新设定值,例如,“建立者程序”(Creator Process)的元数据,用以记录建立此文件的程序。亦可在扩展文件属性数据中设定“前次修改者程序”(LastModifier Process)的元数据,用以代表前次修改此文件的程序。当扩展文件属性的“前次修改者程序”的元数据显示前一次修改此特定文件的先前程序与I/O请求R所对应的目前程序相同时,则不需进行备份而可直接进入步骤316。当扩展文件属性的“建立者程序”的元数据显示此特定文件的文件建立者与I/O请求R所对应的目前程序相同时,亦不需进行备份而可直接进入步骤316。倘若在元数据中不存在“前次修改者程序”的元数据时,则对此特定文件进行设定,以目前要对此特定文件进行修改的程序设定为扩展文件属性的”前次修改者程序”的元数据的内容。
于步骤314中,将执行文件备份。之后,则进入步骤316,允许I/O请求R通过,以让I/O请求R所对应的I/O操作可由对应的硬件来执行。此以本公开的如第三微过滤器112的低海拔驱动程序实现送予步骤424文件已备份的信息后,将I/O请求R的预操作回传给过滤器管理单元104,然后存储装置204接受并执行I/O请求R。
此外,备份文件所放置的备份文件夹(Backup Folder)本身是受到保护的,不能被执行会启动备份机制的操作(例如,因拷贝备份文件以进行文件还原不影响文件内容,属被允许的操作)。因此,于一实施例中,若有任何I/O请求使得必须对备份文件进行备份的操作的话,则将拒绝执行此I/O请求。
请参照图4A及图4B,其示出依照本公开的另一实施例的用于防御恶意软件攻击计算机系统的文件的方法的流程图。图4A及图4B所示的方法可进行文件备份并检测恶意软件,图4A及图4B是参照图3以进行文件备份,并加入检测恶意软件的步骤。其中,图4A及图4B的步骤402至418与图3的步骤302至318相同,于此不予赘述。然而,于步骤410的检查此特定文件的I/O请求R的I/O属性,以判断此I/O属性是否为对于此特定文件为安全的属性时,当检查出此特定文件的I/O属性非为安全的属性而为需启动备份的标记时,可进一步进入步骤420,判断此特定文件是否为诱饵(Decoy)文件。若是,则进入步骤422,发出此特定文件可能受到病毒攻击的警示信息,以对用户发出提醒。若否,则进入步骤412,回到前述检查文件的扩展文件属性的步骤。诱饵文件为埋入于计算机文件系统中的文件,且处于隐蔽且不常更改的文件夹位置,并且设置为隐藏。其中,如果设置越多的分散于文件系统中的诱饵文件,则可以提升检测出异常状况的速率,但同时也提高诱饵文件被用户误删,而错误地发出警示信息的可能。
另外,在步骤414由本公开的如第三微过滤器112的具有低海拔的驱动程序送出已备份文件的信息之后,亦可执行步骤424至436,以进一步检测是否有恶意软件被执行。于步骤424,检查于此特定文件产生异动时,程序是否有接收用户的输入。若否,则进入步骤430,保留备份文件,并继续进行恶意行为检测判断。若是,则进入步骤426。于步骤424中,藉由检测此文件备份信息的原发送I/O请求的程序,以比对监测输入装置206的数据,判断是否是因为用户的输入所造成的文件异动并因此启动备份程序。例如判断此程序是否有来自鼠标或键盘的输入。若有来自于来自鼠标或键盘的用户的输入,则进入步骤426以检测此程序是否被终止。若否,则回到步骤424,若是,则进入步骤428。于步骤426中,倘若程序未终止,则在保留备份文件后继续等待步骤414完成以执行步骤424,以持续检测备份机制被启动时,程序是否有来自于用户的输入的检查流程。于步骤426中,倘若程序终止时所有该程序所造成备份皆来自用户造成,则于程序终止时交予步骤428删除备份文件。其中,于步骤430的保留备份文件的步骤中,由于备份操作已于步骤414中完成,故步骤430为保留备份文件的步骤。并于每次收到步骤414的已备份的信息时,同时执行步骤424与进行步骤432与步骤434的判断。
其中,于步骤424中,以程序为基准来对备份文件做区分。如果同一程序于步骤424中有备份变动,然此程序并无接收来自用户的输入,则整组此程序造成的备份都将于步骤430中进行备份保留,以于后续的步骤434中参考特征临界值(恶意临限值)进行判断。例如,始终来自文档操作软件Word的修改皆有用户的输入,然而,其中有一个被更改的文件并无用户介入,则此被更改的文件有可能是来自于文档操作软件Word的宏类型的勒索软件的攻击。如此,于文档操作软件Word的此次软件激活之后所有的文件备份都将全部于步骤434中参考特征临界值(恶意临限值)来进行判断,判断是否有恶意软件的攻击。
当于步骤424之后的步骤430的备份保留时,若检测出同一程序有任何一次产生文件备份的程序并无来自于用户的输入,却仍有文件产生变动的进行的话,则此文件异动即可能是由恶意软件所造成。亦即,更改此特定文件的程序将有可能是恶意软件。该程序所造成的所有无论有无用户输入造成之备份文件都将保留备份,保留之后的操作将分别以步骤432与步骤434同时进行。
于步骤432中,判断可疑程序在无用户输入所造成的备份数量尚未达特征临限值(例如是恶意临界值),则判断备份文件保留天数是否大于N天,其中N为用户设定的保留天数。若是,则进入步骤428,删除备份文件。若否,则持续保存备份文件并回到步骤424等待来自步骤414的备份成功的信息。
于步骤434中,判断执行备份程序的文件备份数量是否大于特征临界值(恶意临界值)。若是,则进入步骤436,发出此特定文件可能受到病毒攻击的警示信息。于步骤434中,若到达特征临界值(恶意临界值),则可判断其为恶意软件所为。其中,特征临界值的大小的设定,例如可以考虑以下特征来进行计数并设定加权评估,以判断是否为恶意软件所为。
第一、依据研究指出,在单一程序中被修改的文件类型的种类越多,即越有可能是受到恶意软件攻击的情况。
第二、依据存于元数据中所记载的修改时间久远来加权计数判断,倘若旧文件被修改,则比新文件被修改还要可能属于受到恶意软件的攻击。
第三、依据造成的备份文件的数量来判断,大量文件被修改的情况,将比少量文件被修改的情况更可能属于受到恶意软件攻击的情况。
第四、依据用户输入比对信息,若有大量的无用户输入所产生的备份文件的情况,将比少量的无用户输入所产生的备份文件的情况更可能属于受到恶意软件攻击的情况。
也就是说,例如可以使用以下五个特征所对应的特征临界值,来进行判断。此五个特征为产生备份的文件类型(File Types)的数量、产生备份的旧文件(Old Files)的数量、产生备份的备份文件的数量(Backup Files Amount),有用户输入(User’s Inputs)的备份文件的数量、是否为诱饵文件(Decoys)。这些特征都是在产生备份文件时可以提取的特征。并可针对前四个特征分别给予不同的权重值,来进行计算,得到一个加权后计算值,以与特征临界值进行比较,来判断是否有受到恶意软件攻击。而此特定文件是否为诱饵文件则是可以独立地被使用,以判断是否有受到恶意软件的攻击。
本公开更提出一种用于防御恶意软件攻击计算机系统的文件的计算机系统,包括存储装置与处理器。存储装置用以存储特定文件,I/O请求对应至特定文件。处理器则是执行存储于该存储装置中的多个指令,用以确认I/O请求所对应的特定文件的文件类型是否为需备份的文件类型,需备份的文件类型属于易受恶意软件攻击的多个预设的文件类型中的一个,当特定文件的文件类型为需备份的文件类型时,检查特定文件的文件内容标签结构中的“已完成备份标签”,当“已完成备份标签”显示特定文件尚未完成备份时,对特定文件进行备份程序。处理器还可用以执行图3或图4A及图4B所示的步骤。
本公开还提出一种非暂时性计算机可读记录介质。此非暂时性计算机可读记录介质存储多个指令,此多个指令可供处理器202执行,以使包括处理器202的计算机系统200执行如图3或图4A及图4B所示的用于防御恶意软件攻击计算机系统的文件的方法。
本公开利用计算机系统的核心模式来对文件数据的I/O请求进行文件备份并检测是否有属于恶意软件攻击的异常行为出现,以发出警示信息。对于用户常使用的文档编辑文件如扩展名为doc文件、txt文件、xls文件,及影音文件如mpg文件、mp4文件,及图片、照片文件如jpg文件、bmp文件等,当发现文件的数据被修改、更名、删除、加密等异动时,判断文件的异动范围、是否已完成备份、文件的I/O属性及扩展文件属性是否属于需进行备份的文件、以及是否属于用户的正常行为,进而监控并分析文件的异动行为是否起因于恶意软件的攻击,以维护计算机系统于恶意攻击中,仍可藉由适时地系统自动进行备份,以确保文件、数据等重要数据不被破坏。并且能够检测出恶意软件的攻击行为的发生,进而发出警示信息,以让用户尽速得知计算机系统可能已经被恶意软件攻击的情形,而得以快速采取适当的响应操作。
综上所述,虽然本公开已以实施例公开如上,然其并非用以限定本公开。本公开所属技术领域中具有通常知识者,在不脱离本公开的精神和范围内,当可作各种的更改与润饰。因此,本公开的保护范围当视后附的权利要求保护范围所界定者为准。
【符号说明】
102:I/O管理单元
104:过滤器管理单元
106:文件系统驱动器
108:第一微过滤器
110:第二微过滤器
112:第三微过滤器
114:存储驱动器堆栈
202:处理器
204:存储装置
206:输入装置
302~318、402~436:流程步骤

Claims (19)

1.一种用于防御恶意软件攻击计算机系统的文件的方法,包括:
确认输入/输出(I/O)请求所对应的特定文件的文件类型是否为需备份的文件类型,该需备份的文件类型属于易受恶意软件攻击的多个预设的文件类型中的一个;
当该特定文件的文件类型为该需备份的文件类型时,检查该特定文件的文件内容标签结构中的已完成备份标签,该文件内容标签结构是被开启的该特定文件的随档记录;
当该已完成备份标签显示该特定文件尚未完成备份时,根据前一次修改该特定文件的先前程序与该I/O请求所对应的目前程序不同以对该特定文件进行备份程序。
2.如权利要求1所述的方法,该方法还包括:
确认该特定文件的文件大小是否大于0,若是,则执行确认该I/O请求所对应的该特定文件的文件类型是否为该需备份的文件类型的步骤,若否,则于该I/O请求的类型为建立文件的I/O请求的情况下,建立新文件;
其中,若成功建立该新文件,则设立该新文件的扩展文件属性,并于该扩展文件属性中设置当下发送该I/O请求的程序为建立者的元数据。
3.如权利要求1所述的方法,于检查该特定文件的该文件内容标签结构中的该已完成备份标签时,该方法还包括:
检查该特定文件的该I/O请求的I/O属性,以判断该I/O属性是否为对于该特定文件为安全的属性,若否,则启动备份程序。
4.如权利要求3所述的方法,于检查该特定文件的该I/O请求的该I/O属性之后,该方法还包括:
判断该特定文件是否为诱饵文件,若是,则发出该特定文件可能受到病毒攻击的警示信息。
5.如权利要求3所述的方法,其中,当该I/O属性为建立文件属性、写入文件属性、及设定文件数据属性三者之一时,该I/O属性为对于该特定文件为非安全的属性。
6.如权利要求1所述的方法,于检查该特定文件的该文件内容标签结构中的该已完成备份标签之后,该方法还包括:
检查该特定文件的该I/O请求的I/O属性,并于判断该I/O属性是否为对该特定文件为非安全的属性之后,检查该特定文件的扩展文件属性;以及
当该扩展文件属性显示前一次修改该特定文件的该先前程序与该I/O请求所对应的目前程序不同时,则启动备份程序。
7.如权利要求6所述的方法,其中,该扩展文件属性包括前次修改者程序的元数据,用以代表前一次修改该特定文件的该先前程序;
其中,倘若在该扩展文件属性中不存在该前次修改者程序的元数据时,则对该特定文件进行设定,以目前要对该特定文件进行修改的程序设定为该扩展文件属性的该前次修改者程序的元数据的内容。
8.如权利要求1所述的方法,还包括:
检查于该特定文件产生异动时,程序是否有接收用户的输入,若否,则保留备份文件。
9.如权利要求1所述的方法,还包括:
判断执行备份程序的文件备份数量是否大于特征临界值,若是,则发出该特定文件可能受到病毒攻击的警示信息。
10.一种用于防御恶意软件攻击计算机系统的文件的计算机系统,包括:
存储装置,用以存储特定文件,I/O请求对应至该特定文件;以及
处理器执行存储于该存储装置中的多个指令,用以确认该I/O请求所对应的该特定文件的文件类型是否为需备份的文件类型,该需备份的文件类型属于易受恶意软件攻击的多个预设的文件类型中的一个,当该特定文件的文件类型为需备份的文件类型时,检查该特定文件的文件内容标签结构中的已完成备份标签,该文件内容标签结构是被开启的该特定文件的随档记录,当该已完成备份标签显示该特定文件尚未完成备份时,根据前一次修改该特定文件的先前程序与该I/O请求所对应的目前程序不同以对该特定文件进行备份程序。
11.如权利要求10所述的计算机系统,其中,该处理器还用以确认该特定文件的文件大小是否大于0,若是,则确认该I/O请求所对应的该特定文件的文件类型是否为该需备份的文件类型,若否,则于该I/O请求的类型为建立文件的I/O请求的情况下,建立新文件;
其中,若成功建立该新文件,则该处理器还用以设立该新文件的扩展文件属性,并于该扩展文件属性中设置当下发送该I/O请求的程序为建立者的元数据。
12.如权利要求10所述的计算机系统,其中,该处理器还用以于检查该特定文件的该文件内容标签结构中的该已完成备份标签之后,检查该特定文件的该I/O请求的I/O属性,以判断该I/O属性是否为对于该特定文件为安全的属性;
其中,当判断该I/O属性为对于该特定文件为非安全的属性时,该处理器还用以启动备份程序。
13.如权利要求12所述的计算机系统,其中,该处理器还用以于检查该特定文件的该I/O请求的该I/O属性之后,判断该特定文件是否为诱饵文件;
其中,当判断该特定文件为该诱饵文件时,该处理器还用以发出该特定文件可能受到病毒攻击的警示信息。
14.如权利要求12所述的计算机系统,其中,当该I/O属性为建立文件属性、写入文件属性、及设定文件数据属性三者之一时,该I/O属性为对于该特定文件为非安全的属性。
15.如权利要求10所述的计算机系统,其中,该处理器还用以于检查该特定文件的该文件内容标签结构中的该已完成备份标签之后,检查该特定文件的该I/O请求的I/O属性,并于判断该I/O属性是否为对该特定文件为非安全的属性之后,检查该特定文件的扩展文件属性,并当该扩展文件属性显示前一次修改该特定文件的该先前程序与该I/O请求所对应的目前程序为不同时,启动备份程序。
16.如权利要求15所述的计算机系统,其中,该扩展文件属性包括前次修改者程序的元数据,用以代表前一次修改该特定文件的该先前程序;
其中,倘若在该扩展文件属性中不存在该前次修改者程序的元数据时,则该处理器还用以对该特定文件进行设定,以目前要对该特定文件进行修改的程序设定为该扩展文件属性的该前次修改者程序的元数据的内容。
17.如权利要求10所述的计算机系统,其中,该处理器还用以检查于该特定文件产生异动时,程序是否有接收用户的输入,若没有接收用户的输入,则保留备份文件。
18.如权利要求10所述的计算机系统,其中,该处理器还用以判断执行备份程序的文件备份数量是否大于特征临界值,若是,则发出该特定文件可能受到病毒攻击的警示信息。
19.一种非暂时性计算机可读记录介质,该非暂时性计算机可读记录介质存储多个指令,该多个指令可供处理器执行,以使包括该处理器的计算机系统执行如权利要求1至9项中任一所述的用于防御恶意软件攻击计算机系统的文件的方法。
CN201811344705.XA 2018-10-23 2018-11-13 防御恶意软件攻击文件的方法、计算机系统以及记录介质 Active CN111090857B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW107137386 2018-10-23
TW107137386A TWI691860B (zh) 2018-10-23 2018-10-23 用於防禦惡意軟體攻擊電腦系統之檔案的方法與電腦系統以及對應之非暫態電腦可讀取儲存媒體

Publications (2)

Publication Number Publication Date
CN111090857A CN111090857A (zh) 2020-05-01
CN111090857B true CN111090857B (zh) 2022-05-31

Family

ID=70279222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811344705.XA Active CN111090857B (zh) 2018-10-23 2018-11-13 防御恶意软件攻击文件的方法、计算机系统以及记录介质

Country Status (3)

Country Link
US (1) US11113391B2 (zh)
CN (1) CN111090857B (zh)
TW (1) TWI691860B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10824719B1 (en) * 2017-08-01 2020-11-03 Rodney E. Otts Anti-malware computer systems and method
TWI691860B (zh) * 2018-10-23 2020-04-21 財團法人工業技術研究院 用於防禦惡意軟體攻擊電腦系統之檔案的方法與電腦系統以及對應之非暫態電腦可讀取儲存媒體
US11347849B2 (en) * 2020-04-03 2022-05-31 International Business Machines Corporation Ransomware detection and prevention

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1906613A (zh) * 2003-11-26 2007-01-31 维瑞泰斯操作公司 产生可扩展的文件系统元数据和文件系统内容处理的系统和方法
CN1315048C (zh) * 2004-07-06 2007-05-09 天津百维软件科技有限公司 一种节省存储空间的多台计算机系统共享备份方法
CN103824031A (zh) * 2014-02-28 2014-05-28 江苏敏捷科技股份有限公司 使用电子文件安全标签保证电子文件安全的方法及系统
CN106484570A (zh) * 2016-10-28 2017-03-08 福建平实科技有限公司 一种针对防御勒索软件文件数据的备份保护方法和系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814554B1 (en) * 2003-11-06 2010-10-12 Gary Dean Ragner Dynamic associative storage security for long-term memory storage devices
US20070078914A1 (en) * 2005-09-30 2007-04-05 International Business Machines Corporation Method, apparatus and program storage device for providing a centralized policy based preallocation in a distributed file system
CN101231682B (zh) * 2007-01-26 2011-01-26 李贵林 计算机信息安全的方法
US8055613B1 (en) * 2008-04-29 2011-11-08 Netapp, Inc. Method and apparatus for efficiently detecting and logging file system changes
TW201118642A (en) * 2009-11-24 2011-06-01 Videace Technology Co Computer system for rapid scanning or treatment of malicious software and method thereof
US8548944B2 (en) * 2010-07-15 2013-10-01 Delphix Corp. De-duplication based backup of file systems
US9317686B1 (en) 2013-07-16 2016-04-19 Trend Micro Inc. File backup to combat ransomware
GB2532199B (en) * 2014-11-05 2018-10-03 F Secure Corp Determining malware status of file
US10311234B2 (en) 2015-06-26 2019-06-04 Quick Heal Technologies Private Limited Anti-ransomware
US10083299B2 (en) * 2015-12-16 2018-09-25 Carbonite, Inc. Systems and methods for automatic snapshotting of backups based on malicious modification detection
TW201814577A (zh) * 2016-10-06 2018-04-16 網擎資訊軟體股份有限公司 用於防止計算機系統中數據惡意更改的方法和系統
US10867040B2 (en) * 2016-10-17 2020-12-15 Datto, Inc. Systems and methods for detecting ransomware infection
US20180146009A1 (en) * 2016-11-18 2018-05-24 Brad Austin Primm Computer network security system for protecting against malicious software
EP3568791B1 (en) * 2017-01-11 2021-10-20 Morphisec Information Security 2014 Ltd. Early runtime detection and prevention of ransomware
CN106951781A (zh) 2017-03-22 2017-07-14 福建平实科技有限公司 勒索软件防御方法和装置
CN107506642A (zh) 2017-08-10 2017-12-22 四川长虹电器股份有限公司 防止文件被恶意操作行为损坏的方法与系统
CN107391315A (zh) * 2017-08-15 2017-11-24 北京北信源软件股份有限公司 一种备份系统文件的方法及装置
US11055417B2 (en) * 2018-04-17 2021-07-06 Oracle International Corporation High granularity application and data security in cloud environments
TWI691860B (zh) * 2018-10-23 2020-04-21 財團法人工業技術研究院 用於防禦惡意軟體攻擊電腦系統之檔案的方法與電腦系統以及對應之非暫態電腦可讀取儲存媒體

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1906613A (zh) * 2003-11-26 2007-01-31 维瑞泰斯操作公司 产生可扩展的文件系统元数据和文件系统内容处理的系统和方法
CN1315048C (zh) * 2004-07-06 2007-05-09 天津百维软件科技有限公司 一种节省存储空间的多台计算机系统共享备份方法
CN103824031A (zh) * 2014-02-28 2014-05-28 江苏敏捷科技股份有限公司 使用电子文件安全标签保证电子文件安全的方法及系统
CN106484570A (zh) * 2016-10-28 2017-03-08 福建平实科技有限公司 一种针对防御勒索软件文件数据的备份保护方法和系统

Also Published As

Publication number Publication date
TWI691860B (zh) 2020-04-21
US20200125723A1 (en) 2020-04-23
CN111090857A (zh) 2020-05-01
US11113391B2 (en) 2021-09-07
TW202016785A (zh) 2020-05-01

Similar Documents

Publication Publication Date Title
US10789361B2 (en) Ransomware attack remediation
JP6352332B2 (ja) 変更されたデータを復元するシステム及び方法
US7784098B1 (en) Snapshot and restore technique for computer system recovery
US9306956B2 (en) File system level data protection during potential security breach
US20190158512A1 (en) Lightweight anti-ransomware system
US11227053B2 (en) Malware management using I/O correlation coefficients
US7673324B2 (en) Method and system for tracking an operating performed on an information asset with metadata associated therewith
US20100306851A1 (en) Method and apparatus for preventing a vulnerability of a web browser from being exploited
CN111090857B (zh) 防御恶意软件攻击文件的方法、计算机系统以及记录介质
US9053321B2 (en) Antivirus system and method for removable media devices
US10783041B2 (en) Backup and recovery of data files using hard links
US20180276384A1 (en) Secure document importation via portable media
WO2006137657A1 (en) Method for intercepting malicious code in computer system and system therefor
US9659182B1 (en) Systems and methods for protecting data files
Yun et al. CLDSafe: an efficient file backup system in cloud storage against ransomware
CN114417326A (zh) 异常检测方法、装置、电子设备及存储介质
US12001555B1 (en) System, method, and apparatus for preventing ransomware
US7447850B1 (en) Associating events with the state of a data set
WO2023124041A1 (zh) 一种勒索病毒检测方法以及相关系统
US20230315855A1 (en) Exact restoration of a computing system to the state prior to infection
US11983272B2 (en) Method and system for detecting and preventing application privilege escalation attacks
CN111158937B (zh) 基于内核驱动的软件核心文件内生防护方法及装置
CN109472140B (zh) 基于窗体标题校验阻止勒索软件加密的方法及系统
CN109492400B (zh) 对计算机硬件固件进行安全检测和防护的方法及装置
RU2802539C1 (ru) Способ выявления угроз информационной безопасности (варианты)

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