CN106557696B - 用于检测恶意数据加密程序的系统和方法 - Google Patents

用于检测恶意数据加密程序的系统和方法 Download PDF

Info

Publication number
CN106557696B
CN106557696B CN201610232432.4A CN201610232432A CN106557696B CN 106557696 B CN106557696 B CN 106557696B CN 201610232432 A CN201610232432 A CN 201610232432A CN 106557696 B CN106557696 B CN 106557696B
Authority
CN
China
Prior art keywords
file
operation request
entropy
file operation
server
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
CN201610232432.4A
Other languages
English (en)
Other versions
CN106557696A (zh
Inventor
弗拉迪斯拉夫·I·奥夫查里克
奥列格·G·贝科夫
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.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
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 Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of CN106557696A publication Critical patent/CN106557696A/zh
Application granted granted Critical
Publication of CN106557696B publication Critical patent/CN106557696B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • 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/562Static detection
    • G06F21/563Static detection by source code analysis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • 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/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • 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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/542Intercept
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

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

Abstract

本发明涉及用于检测恶意数据加密程序的系统和方法,该方法包括:在服务器处拦截来自客户端的对存储在所述服务器上的文件的文件操作请求;收集至少关于所请求的文件和所请求的操作的信息;通过所述服务器的硬件处理器,基于所收集的信息确定所述文件操作请求是否来自已知的恶意加密程序;当所述文件操作请求来自未知的程序时,则在执行对所述文件所请求的操作之前和之后,通过所述硬件处理器计算所述文件的至少一部分的熵;以及通过所述硬件处理器计算所计算的熵之间的差;当所述差低于阈值时,允许对所述文件所请求的操作;以及当所述差高于所述阈值时,拒绝对所述文件所请求的操作。

Description

用于检测恶意数据加密程序的系统和方法
技术领域
本发明总体涉及计算机安全领域,更具体地涉及用于检测恶意数据加密程序的系统和方法。
背景技术
数据加密程序(加密器)已经成为普遍形式的恶意软件,当在用户的计算机上开启这些数据加密程序时,这些数据加密程序加密最重要的数据(例如通常由计算机用户使用的图像、文本文件和其它文件)。在加密之后,要求用户向黑客支付费用以得到用于解密其文件的密钥。考虑到黑客对非对称加密的日益增长的使用,实际上不可能在不知晓用于解密用户数据的私钥的情况下恢复用户的数据。这样的加密程序的示例为恶意程序CryptoLocker。
抗病毒应用程序的创建者早就知道这样的程序,并且已经开发了能够检测加密程序的多种技术。例如,公开号为No.20150058987的美国专利申请描述了用于计算熵以检测文件加密恶意软件的操作的算法。该申请同样考虑到基于文件的格式类型将文件排除在外,从而减少误报并提高操作速度。
这样的检测方法已经很好地证明了其自身能够在运行在用户的计算机上时及时地检测加密恶意软件。然而,存在与以下事实有关的问题:如果恶意加密程序正在分析用户的计算机上的驱动器时,则该恶意加密程序将加密用户的计算机上的数据,如果偶然遇到网络驱动器(其在物理上位于服务器上),则恶意程序也可以加密服务器上的数据。当然,回溯服务器上的所有文件活动将允许该问题得以解决,但这显著降低了服务器的运营生产效率,这在企业环境中通常是不可接受的。因此,需要新的用于在服务器上检测从客户端发起的恶意加密程序的解决方案。
发明内容
公开了用于检测恶意加密程序的系统和方法。在一个示例性方面中,一种用于检测恶意加密程序的方法包括:在服务器处拦截来自客户端的对存储在所述服务器上的文件的文件操作请求;收集至少关于所请求的文件和所请求的操作的信息;通过所述服务器的硬件处理器,基于所收集的信息确定所述文件操作请求是否来自已知的恶意加密程序;当所述文件操作请求来自未知的程序时,则在执行对所述文件所请求的操作之前和之后,通过所述硬件处理器计算所述文件的至少一部分的熵;以及通过所述硬件处理器计算所计算的熵之间的差;当所述差低于阈值时,允许对所述文件所请求的操作;以及当所述差高于所述阈值时,拒绝对所述文件所请求的操作。
在一个示例性方面中,拦截访问存储在所述服务器上的文件的请求包括,通过文件系统驱动器过滤器拦截所述请求。
在一个示例性方面中,拦截访问存储在所述服务器上的文件的请求包括,拦截系统函数调用以及所述调用的一个或多个参数。
在一个示例性方面中,拦截访问存储在所述服务器上的文件的请求还包括,在所述服务器处创建所请求的文件的备份副本。
在一个示例性方面中,收集关于所请求的文件和所请求的操作的信息包括,收集以下中的一者或多者:所请求的文件操作的类型、以及具有原始的文件内容和修改的文件内容的数据缓冲区。
在一个示例性方面中,当所述文件操作请求来自已知的恶意加密程序时,拒绝对所述文件所请求的操作。
在一个示例性方面中,计算所述文件的至少一部分的熵包括,在执行对所述文件所请求的操作之前和之后计算文件头的至少多个部分的熵。
在另一个示例性方面中,一种用于检测恶意加密程序的系统包括:具有硬件处理器的服务器,所述硬件处理器配置成:拦截来自客户端的对存储在所述服务器上的文件的文件操作请求;收集至少关于所请求的文件和所请求的操作的信息;基于所收集的信息确定所述文件操作请求是否来自已知的恶意加密程序;当所述文件操作请求来自未知的程序时,则在执行对所述文件所请求的操作之前和之后,计算所述文件的至少一部分的熵;以及计算所计算的熵之间的差;当所述差低于阈值时,允许对所述文件所请求的操作;以及当所述差高于所述阈值时,拒绝对所述文件所请求的操作。
以上对本发明的示例性方面的简要概述用于提供对本发明的基本理解。该概述不是对所有预期方面的广泛综述,并且既不旨在标识所有方面的关键要素或主要要素,也不旨在勾画本发明的任何方面或所有方面的范围。该概述的唯一目的是以简化的形式呈现一个或多个方面,作为随后的对本发明的更详细的描述的前奏。为了实现前述目的,本发明的一个或多个方面包括在权利要求中所描述的且特别指出的特征。
附图说明
并入本说明书中并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,以及连同详细的描述一起用来阐述这些示例性方面的原理和实现方式。
图1示出在服务器端的恶意加密程序的操作的示例。
图2示出用于检测恶意加密程序的示例性系统。
图3示出用于检测恶意加密程序的示例性方法。
图4示出根据一个示例性方面的概率函数。
图5示出可用于实施本发明的系统和方法的各个方面的计算机系统的示例。
具体实施方式
本文在用于检测恶意加密程序的系统、方法和计算机程序产品的背景下描述了本发明的示例性方面。本领域的普通技术人员将认识到,以下描述仅仅是说明性的,而不旨在以任何方式进行限制。其它方面将容易地将其自身暗示给了解本发明的优点的本领域的技术人员。现在将详细地参考如附图中所示的示例性方面的实现方式。贯穿附图和以下描述将尽可能地使用相同的附图标记来指代相同或类似的项目。
图1示出在服务器端的恶意加密程序的操作的示例。在用户的计算机120上发起恶意加密程序140。这可以由用户自身(其相信程序140是干净程序)来完成,或者程序140可以自己发起,例如在计算机120启动时通过用于自动开始的注册码而发起。如果服务器110上的网络驱动器连接到计算机120,则加密程序140也可以加密服务器110的网络驱动器上的文件130。
图2示出用于检测恶意加密程序的示例性系统。相比于图1,该系统还包括拦截器150和分析器160。在一个示例性方面中,拦截器150可以是文件过滤器驱动器,分析器160可以是抗病毒应用程序,例如Kaspersky Lab Antivirus。拦截器150拦截访问文件130的请求,并将数据发送到分析器160。在一个示例性方面中,拦截文件访问请求可以包括拦截如下这样的系统函数调用:CreateFile、ReadFile/WriteFile、DeleteFile、GetFileInformationByHandle、FindFirstFile等(这一函数列表适用于Windows操作系统)。
为了检测恶意加密程序140的实际执行,期望的是不仅拦截系统函数调用,而且还拦截该函数试图写入的替代原始文件130的数据。应当注意,恶意加密程序140通常可以根据两种用于加密文件130的算法进行工作:第一,恶意加密程序140可以创建文件130的副本并将文件130的数据加密到创建的副本中,在此之后将原始文件130删除;第二,恶意加密程序140可以直接改写文件130的数据,将原始数据读入缓冲器中、加密该数据、然后重写该数据。
在本发明的背景下,在数据被写入驱动器时计算熵的已知方法可以用于检测恶意加密程序140的执行。在伊利诺伊大学的董事会发表的文献“The Mathematical Theory ofCommunication,(с)1949”中给出了信息熵(下文简称为熵)的定义。图4示出对于同一个文件在该文件加密之前和之后计算熵的示例。沿着X轴绘制的是字节(例如字符a、b、c等),沿着Y轴绘制的是这些字节在文件中出现的概率。特征曲线(概率函数)确定字符(字节)在文件中出现的概率。熵示出需要多少个比特位来编码该信息(字符)。因此,文件中的信息越少,熵越大。例如,对于仅具有英文字符的文本文件,相比于该文本文件加密之后(加密的文本看起来像随机字符的混合体),熵将更小。
图4中的概率函数A显示未加密的文件的特征,其中一组有限的字符具有最大的出现概率,对于文本文件是这样,并且对于二进制文件的文件头也是这样,这是因为文件头描述了文件的类型(格式)。在文件被加密程序140加密之后,概率函数采用函数B的形式,其中不同数量的字符将以近似相同的频率出现。
一种已知的用于检测加密程序140的方法是计算熵的“收敛性”,即两个熵之间的差。如果“收敛性”(下文使用时不加双引号)大于某一阈值,则确定出文件已经被改变(例如被加密)。最大收敛值等于几十字节。可以使用如下公式计算收敛性:
P=||H修改-H原始||
其中,P是以字节为单位的收敛值,
H修改是改变(加密)文件之后的熵值,
H原始是改变文件之前的熵值。
图3示出用于检测恶意加密程序的示例性方法。在步骤310中,在服务器110上拦截来自用户的计算机120的文件操作(访问文件的请求)。在步骤320中,创建文件的备份副本,该备份副本经受改变。在一个示例性方面中,备份文件副本的创建可以通过将文件复制到同一目录(或用于存储备份副本的临时目录)中来实现。执行备份复制的应用程序的示例为Acronis Backup&Recovery。
在步骤330中,调度关于拦截的文件操作的信息,以供分析器160分析。数据可以包括但不限于:文件操作的类型(例如,调用的API函数)、数据缓冲区(具有原始文件内容和修改内容)、以及关于用户的计算机120的数据。在步骤340中,分析将被写入文件130中的数据的缓冲区。如果基于对数据缓冲区的分析结果确定出已知的加密程序140正在试图进行所请求的文件操作,则在步骤370中阻断或关闭用户的计算机120和服务器110之间的连接。将在下文讨论另外的步骤。
但是如果基于对数据的分析没有检测到已知的加密程序140,则在步骤350中,分析器160计算改写的文件段的熵并计算对于原始的文件段和改写的文件段的熵的收敛性。在一个示例性方面中,分析器160可以分析文件头,该文件头包括对文件130的格式(类型)的描述。当加密文件时,改写文件头,这导致文件格式的改变(文件格式的丢失)。通常,文件的前几千字节对于这样的分析而言是足够的。在步骤360中执行该分析,如果收敛性没有超过给定阈值,则在步骤365中允许在用户的计算机120的一部分上的另外的文件操作。
如果熵的收敛性超过给定阈值,则分析器160推断出加密程序140正在用户的计算机120上执行,以及在步骤370中阻断(或打破)用户的计算机120和服务器110之间的连接。在步骤380中,在服务器110上恢复(回退)文件的备份副本。
重要的是要注意,在用户的计算机120的一部分上对文件操作的执行未被阻断,并且在分析器160的一部分上无延迟地执行这些文件操作(所谓的异步操作)。在另一方面,文件操作的执行在不损失生产率的情况下发生,但这需要创建备份副本,这是因为在异步操作期间部分地改写(加密)原始文件。
在步骤390中,在分析器160和用户的计算机120之间发生交互。在该情况下,如果抗病毒应用程序(未示出)已经被安装在用户的计算机120上,则分析器160可以从该抗病毒应用程序获得关于进程的信息(进程的名称、进程工作了多久、发起进程的文件的散列和、数字签名的存在等等),该进程当前正在与文件130一起工作在服务器110上。在一个示例性方面中,通用因特网文件系统(Common Internet File System,CIFS)协议可以用于该目的。
将呈现分析器160和用户的计算机120上的抗病毒应用程序之间的交互的示例。在服务器110上由拦截器150拦截来自用户的计算机120的文件操作之后且在获得来自分析器160的关于加密程序140的实际执行的裁决之后,将关于正在加密文件130的进程的信息发送到用户的计算机120处的抗病毒应用程序。作为示例,该信息可以包括:
进程的名称:winserv.exe
数字签名的存在:否
基于获得的信息,用户的计算机120上的抗病毒应用程序开始在系统中发起的所有进程之中搜索具有指示的名称winserv.exe的进程,并且在找到该进程之后,抗病毒应用程序停止所找到的进程并将发起该进程的文件移除。
在另一个示例性方面中,文件130没有被存储在服务器110上,而是被存储在网络数据存储系统(网络附加存储器(Network Attached Storage,NAS),在图2中未示出)上,该网络数据存储系统连接到服务器110。利用网络数据存储系统进行工作的特质是,该网络数据存储系统需要在其与服务器110之间的数据交换协议的延伸(或支持)。在一个示例性方面中,可需要因特网内容修改协议(Internet Content Adaptation Protocol,ICAP)的协议延伸。
图5示出其上可实施所公开的系统和方法的通用计算机系统(其可以是个人计算机或服务器)的示例。如所示,该计算机系统包括中央处理单元21、系统存储器22和连接各种系统组件的系统总线23,各种系统组件包括与中央处理单元21相关联的存储器。系统总线23像从现有技术已知的任何总线结构一样来实现,依次包括总线存储器或总线存储器控制器、外围总线和本地总线,系统总线23能够与任何其它的总线架构交互。系统存储器包括永久性存储器(ROM)24和随机存取存储器(Random-Access Memory,RAM)25。基本输入/输出系统(Basic Input/Output System,BIOS)26包括确保在个人计算机20的元件之间的信息传输的基本程序,例如在使用ROM 24加载操作系统时的那些基本程序。
个人计算机20依次包括用于数据的读取和写入的硬盘27、用于在可移动磁盘29上读取和写入的磁盘驱动器28以及用于在可移动光盘31(例如CD-ROM、DVD-ROM和其它的光学信息媒介)上读取和写入的光盘驱动器30。硬盘27、磁盘驱动器28和光盘驱动器30分别通过硬盘接口32、磁盘接口33和光盘驱动器接口34而连接到系统总线23。驱动器和对应的计算机信息媒介为用于存储个人计算机20的计算机指令、数据结构、程序模块和其它数据的电源独立的模块。
本发明提供了使用硬盘27、可移动磁盘29和可移动光盘31的系统的实现方式,但是应当理解的是,可以采用能够以计算机可读的形式存储数据的其它类型的计算机信息媒介56(固态驱动器、闪存卡、数字盘、随机存取存储器(RAM)等等),计算机信息媒介56经由控制器55连接到系统总线23。
计算机20具有保留所记录的操作系统35的文件系统36,并且还具有额外的程序应用37、其它程序模块38和程序数据39。用户能够通过使用输入设备(键盘40、鼠标42)将命令和信息输入到个人计算机20中。可以使用其它的输入设备(未示出):麦克风、操纵杆、游戏控制器、扫描器等等。这些输入设备通常通过串行端口46插入到计算机系统20中,串行端口46转而连接到系统总线,但是这些输入设备可以以其它的方式连接,例如在并行端口、游戏端口或通用串行总线(Universal Serial Bus,USB)的帮助下得以连接。监控器47或其它类型的显示设备也可以通过接口(例如视频适配器48)连接到系统总线23。除了监控器47,个人计算机还可以装备有其它的外围输出设备(未示出),例如扬声器、打印机等等。
个人计算机20能够使用与一个或多个远程计算机49的网络连接而工作在网络环境中。一个或多个远程计算机49也是个人计算机或服务器,其具有在描述个人计算机20的性质时使用的上述元件中的大多数元件或全部元件。其它的设备也可以存在于计算机网络中,例如路由器、网站、对等设备或其它的网络节点。
网络连接可以形成局域计算机网络(Local-Area Computer Network,LAN)50和广域计算机网络(Wide-Area Computer Network,WAN)。这些网络用在企业计算机网络和公司内部网络中,并且这些网络通常有权访问因特网。在LAN或WAN网络中,个人计算机20通过网络适配器或网络接口51连接到局域网50。当使用网络时,个人计算机20可以采用调制解调器54或其它的用于提供与广域计算机网络(例如因特网)的通信的模块。调制解调器54是内部设备或外部设备,通过串行端口46连接到系统总线23。应当注意的是,网络连接仅仅是示例并且不需要描述网络的准确配置,即实际上具有通过技术通信模块建立一个计算机到另一个计算机的连接的其它方式。
在各个方面中,本文所描述的系统和方法可以以硬件、软件、固件或它们的任何组合来实施。如果以软件来实施,则上述方法可以作为一个或多个指令或代码而被存储在非易失性计算机可读媒介上。计算机可读媒介包括数据存储器。以示例性而非限制性的方式,这种计算机可读媒介可以包括RAM,ROM,EEPROM,CD-ROM,闪存或其它类型的电存储媒介、磁存储媒介或光存储媒介,或可用来携带或存储所期望的指令或数据结构形式的程序代码并可以被通用计算机的处理器访问的任何其它媒介。
在各个方面中,本发明中所描述的系统和方法可以按照模块来处理。本文所使用的术语“模块”指的是例如现实世界的设备、组件、或使用硬件(例如通过专用集成电路(Application Specific Integrated Circuit,ASIC)或现场可编程门阵列(Field-Programmable Gate Array,FPGA)实现的组件的布置,或者指的是硬件和软件的组合,例如通过微处理器系统和实现模块功能的指令组(该指令组(在被执行时)将微处理器系统转换成专用设备)来实现这样的组合。一个模块还可以被实施为两个模块的组合,其中单独地通过硬件促进某些功能,并且通过硬件和软件的组合促进其它功能。在某些实现方式中,模块的至少一部分(以及在一些情况下,模块的全部)可以被执行在通用计算机(例如上文在图5中更详细描述的通用计算机)的处理器上。因此,每个模块可以以各种适合的配置来实现,而不应受限于本文所列举的任何特定的实现方式。
为了清楚起见,本文没有公开各个方面的所有例程特征。应当领会的是,在本发明的任何实际的实现方式的开发中,必须做出许多特定实现方式的决定,以便实现开发者的特定目标,并且这些特定目标将对于不同的实现方式和不同的开发者变化。应当理解的是,这种开发努力会是复杂的且费时的,但对于了解本发明的优点的本领域的普通技术人员来说仍然是工程的例行任务。
此外,应当理解的是,本文所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文所提出的教导和指导结合相关领域技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。
本文所公开的各个方面包括本文以说明性方式所引用的已知模块的现在和未来已知的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员将显而易见的是,在不脱离本文所公开的发明构思的前提下,相比于上文所提及的内容而言的更多的修改是可行的。

Claims (10)

1.一种用于检测恶意加密程序的方法,所述方法包括:
在服务器处拦截来自客户端设备的对存储在所述服务器上的文件的文件操作请求;
响应于拦截所述文件操作请求,在所述服务器处创建并保存所述文件的备份副本;
收集至少关于所述客户端设备、所请求的文件和所述文件操作请求的信息,其中,所收集的信息包括:具有原始的文件内容的数据缓冲区以及所述文件操作请求试图写入的替代所述文件的数据;
通过所述服务器的硬件处理器,基于所收集的信息确定所述文件操作请求是来自已知的恶意加密程序还是来自未知的程序;
当所述文件操作请求来自所述已知的恶意加密程序时,拒绝对所述文件执行所述文件操作请求;以及
当所述文件操作请求来自所述未知的程序时,则
通过所述硬件处理器计算在执行所述文件操作请求之前所述文件的第一熵,并且,计算所述文件操作请求试图写入的替代所述文件的数据的第二熵;
通过所述硬件处理器计算所计算的所述第一熵和所述第二熵之间的差;
当所述差低于阈值时,允许对所述文件执行所述未知的程序的所述文件操作请求,否则阻断所述客户端设备和所述服务器之间的连接并在所述服务器上恢复所述文件的备份副本;以及
向所述客户端设备发送关于所述未知的程序的信息,所述信息包括执行所述未知的程序的进程的名称,其中所述客户端设备基于所述信息的接收而搜索和停止发起所述文件操作请求的进程。
2.如权利要求1所述的方法,其中,拦截访问存储在所述服务器上的文件的请求包括,通过文件系统驱动器过滤器拦截所述请求。
3.如权利要求1所述的方法,其中,拦截访问存储在所述服务器上的文件的请求包括,拦截系统函数调用以及所述调用的一个或多个参数。
4.如权利要求1所述的方法,其中,收集关于所请求的文件和所述文件操作请求的信息包括,收集以下中的一者或多者:所述文件操作请求的类型、以及调用的应用程序编程接口函数。
5.如权利要求1所述的方法,其中,计算所述第一熵包括计算在执行所述文件操作请求之前至少部分文件头的熵,并且计算所述第二熵包括计算所述文件操作请求试图写入的替代所述文件的数据的文件头的熵。
6.一种用于检测恶意加密程序的系统,所述系统包括:
具有硬件处理器的服务器,所述硬件处理器配置成:
拦截来自客户端设备的对存储在所述服务器上的文件的文件操作请求;
响应于拦截所述文件操作请求,创建并保存所述文件的备份副本;
收集至少关于所述客户端设备、所请求的文件和所述文件操作请求的信息,其中,所收集的信息包括:具有原始的文件内容的数据缓冲区以及所述文件操作请求试图写入的替代所述文件的数据;
基于所收集的信息确定所述文件操作请求是来自已知的恶意加密程序还是来自未知的程序;
当所述文件操作请求来自所述已知的恶意加密程序时,拒绝对所述文件执行所述文件操作请求;以及
当所述文件操作请求来自所述未知的程序时,则
计算在执行所述文件操作请求之前所述文件的第一熵,并且,计算所述文件操作请求试图写入的替代所述文件的数据的第二熵;
计算所计算的所述第一熵和所述第二熵之间的差;
当所述差低于阈值时,允许对所述文件执行所述未知的程序的所述文件操作请求,否则阻断所述客户端设备和所述服务器之间的连接并恢复所述文件的备份副本;以及
向所述客户端设备发送关于所述未知的程序的信息,所述信息包括执行所述未知的程序的进程的名称,其中所述客户端设备基于所述信息的接收而搜索和停止发起所述文件操作请求的进程。
7.如权利要求6所述的系统,其中,拦截访问存储在所述服务器上的文件的请求包括,通过文件系统驱动器过滤器拦截所述请求。
8.如权利要求6所述的系统,其中,拦截访问存储在所述服务器上的文件的请求包括,拦截系统函数调用以及所述调用的一个或多个参数。
9.如权利要求6所述的系统,其中,为了收集关于所请求的文件和所述文件操作请求的信息,所述处理器还配置成收集以下中的一者或多者:所述文件操作请求的类型、以及调用的应用程序编程接口函数。
10.如权利要求6所述的系统,其中,计算所述第一熵包括计算在执行所述文件操作请求之前至少部分文件头的熵,并且计算所述第二熵包括计算所述文件操作请求试图写入的替代所述文件的数据的文件头的熵。
CN201610232432.4A 2015-09-30 2016-04-14 用于检测恶意数据加密程序的系统和方法 Active CN106557696B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2015141551A RU2617631C2 (ru) 2015-09-30 2015-09-30 Способ обнаружения работы вредоносной программы, запущенной с клиента, на сервере
RU2015141551 2015-09-30
US14/951,970 2015-11-25
US14/951,970 US10375086B2 (en) 2015-09-30 2015-11-25 System and method for detection of malicious data encryption programs

Publications (2)

Publication Number Publication Date
CN106557696A CN106557696A (zh) 2017-04-05
CN106557696B true CN106557696B (zh) 2020-10-27

Family

ID=58409447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610232432.4A Active CN106557696B (zh) 2015-09-30 2016-04-14 用于检测恶意数据加密程序的系统和方法

Country Status (4)

Country Link
US (1) US10375086B2 (zh)
JP (1) JP6298849B2 (zh)
CN (1) CN106557696B (zh)
RU (1) RU2617631C2 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3206359B1 (en) * 2016-02-15 2019-03-06 Wipro Limited Methods and systems for performing lawful interception (li) in communication networks involving content adulteration with colluding agents
WO2017168016A1 (es) * 2016-04-01 2017-10-05 Telefonica Digital España, S.L.U. Método y sistema para proteger un archivo informático ante un eventual cifrado realizado por código malicioso
US10831893B2 (en) * 2016-07-14 2020-11-10 Mcafee, Llc Mitigation of ransomware
US10715533B2 (en) * 2016-07-26 2020-07-14 Microsoft Technology Licensing, Llc. Remediation for ransomware attacks on cloud drive folders
US10210330B1 (en) * 2016-09-13 2019-02-19 Symantec Corporation Systems and methods for detecting malicious processes that encrypt files
US10366234B2 (en) * 2016-09-16 2019-07-30 Rapid7, Inc. Identifying web shell applications through file analysis
US10289844B2 (en) * 2017-01-19 2019-05-14 International Business Machines Corporation Protecting backup files from malware
US10628585B2 (en) 2017-01-23 2020-04-21 Microsoft Technology Licensing, Llc Ransomware resilient databases
US10447671B1 (en) * 2017-03-29 2019-10-15 Symantec Corporation Systems and methods for recovering encrypted information
JP2020522808A (ja) * 2017-05-30 2020-07-30 サイエンプティブ テクノロジーズ インコーポレイテッド カーネルモードにおけるマルウェアおよびステガノグラフィのリアルタイム検出ならびにマルウェアおよびステガノグラフィからの保護
US10909239B2 (en) * 2017-06-29 2021-02-02 Webroot, Inc. Advanced file modification heuristics
CN107277037A (zh) * 2017-07-14 2017-10-20 北京安数云信息技术有限公司 基于插件的任意文件操作检测方法和装置
US10637879B2 (en) 2017-10-06 2020-04-28 Carbonite, Inc. Systems and methods for detection and mitigation of malicious encryption
JP6442649B1 (ja) * 2017-10-11 2018-12-19 株式会社オレガ ファイル・アクセス監視方法、プログラム、および、システム
WO2019073720A1 (ja) * 2017-10-11 2019-04-18 株式会社 オレガ ファイル・アクセス監視方法、プログラム、および、システム
US10733290B2 (en) * 2017-10-26 2020-08-04 Western Digital Technologies, Inc. Device-based anti-malware
US11308207B2 (en) * 2018-03-30 2022-04-19 Microsoft Technology Licensing, Llc User verification of malware impacted files
CN110502894B (zh) * 2018-05-18 2023-03-21 阿里巴巴集团控股有限公司 操作行为的识别方法、设备和系统
RU2728506C2 (ru) * 2018-06-29 2020-07-29 Акционерное общество "Лаборатория Касперского" Способ блокировки сетевых соединений
RU2708356C1 (ru) * 2018-06-29 2019-12-05 Акционерное общество "Лаборатория Касперского" Система и способ двухэтапной классификации файлов
RU2739865C2 (ru) * 2018-12-28 2020-12-29 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносного файла
US11288111B2 (en) * 2019-04-18 2022-03-29 Oracle International Corporation Entropy-based classification of human and digital entities
CN110324339B (zh) * 2019-07-02 2021-10-08 光通天下网络科技股份有限公司 基于信息熵的DDoS攻击检测方法、装置和电子设备
US11269735B2 (en) * 2020-02-28 2022-03-08 EMC IP Holding Company LLC Methods and systems for performing data backups
US11544390B2 (en) * 2020-05-05 2023-01-03 Forcepoint Llc Method, system, and apparatus for probabilistic identification of encrypted files
CN111935162A (zh) * 2020-08-14 2020-11-13 山东云海国创云计算装备产业创新中心有限公司 一种云端文件访问方法、装置及相关组件
CN112699086A (zh) * 2020-12-30 2021-04-23 北京明朝万达科技股份有限公司 一种基于Windows系统的文件操作监控方法和装置
CN112347499B (zh) * 2021-01-08 2021-04-30 北京东方通软件有限公司 一种程序自我保护的方法
GB2604903A (en) * 2021-03-18 2022-09-21 The Court Of Edinburgh Napier Univ Constituted By The Napier College Of Commerce And Technology No 2 Detection of Ransomware

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187872A (zh) * 2007-10-31 2008-05-28 白杰 基于行为的程序种类判断方法、装置和程序控制方法、装置
CN101984450A (zh) * 2010-12-15 2011-03-09 北京安天电子设备有限公司 恶意代码检测方法和系统
CN102708313A (zh) * 2012-03-08 2012-10-03 珠海市君天电子科技有限公司 针对大文件的病毒检测系统及方法
CN104036187A (zh) * 2013-03-04 2014-09-10 阿里巴巴集团控股有限公司 计算机病毒类型确定方法及其系统

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119151A (en) * 1994-03-07 2000-09-12 International Business Machines Corp. System and method for efficient cache management in a distributed file system
JP2003162439A (ja) * 2001-11-22 2003-06-06 Hitachi Ltd ストレージシステム及びその制御方法
US7150042B2 (en) 2001-12-06 2006-12-12 Mcafee, Inc. Techniques for performing malware scanning of files stored within a file storage device of a computer network
JP4389622B2 (ja) * 2004-03-24 2009-12-24 日本電気株式会社 データ監視方法、情報処理装置、プログラム及び記録媒体、並びに情報処理システム
US20060019050A1 (en) * 2004-07-23 2006-01-26 Gilmer Phyllis A Perforated adhesive label and method of making same
JP4519565B2 (ja) * 2004-08-05 2010-08-04 株式会社ニフコ 小物入れ
US7424902B2 (en) * 2004-11-24 2008-09-16 The Boeing Company In-process vision detection of flaw and FOD characteristics
US7818608B2 (en) * 2005-02-18 2010-10-19 Microsoft Corporation System and method for using a file system to automatically backup a file as a generational file
JP2006338461A (ja) * 2005-06-03 2006-12-14 Hitachi Ltd 電子的なファイルの記憶を制御するシステム及び方法
JP4675737B2 (ja) * 2005-09-29 2011-04-27 株式会社日立ソリューションズ 監査ログの出力及び管理方法並びにシステム
US8627490B2 (en) * 2005-12-29 2014-01-07 Nextlabs, Inc. Enforcing document control in an information management system
US8336107B2 (en) * 2007-04-27 2012-12-18 Angel Secure Networks, Inc. System and methods for defending against root
FR2918759B1 (fr) * 2007-07-13 2009-09-18 Eurocopter France Procede de test d'un systeme electronique
US7836174B2 (en) * 2008-01-30 2010-11-16 Commvault Systems, Inc. Systems and methods for grid-based data scanning
US9152789B2 (en) * 2008-05-28 2015-10-06 Zscaler, Inc. Systems and methods for dynamic cloud-based malware behavior analysis
WO2010107659A1 (en) * 2009-03-16 2010-09-23 Guidance Software, Inc. System and method for entropy-based near-match analysis
EP2246798A1 (en) * 2009-04-30 2010-11-03 TomTec Imaging Systems GmbH Method and system for managing and displaying medical data
CN102014145A (zh) * 2009-09-04 2011-04-13 鸿富锦精密工业(深圳)有限公司 文件传输安全管控系统及方法
US20110069089A1 (en) * 2009-09-23 2011-03-24 Microsoft Corporation Power management for organic light-emitting diode (oled) displays
CN101984550B (zh) 2010-11-24 2012-07-18 南京航空航天大学 基于柔性铰链的直线超声电机夹持定位装置
US9584877B2 (en) 2011-06-16 2017-02-28 Microsoft Technology Licensing, Llc Light-weight validation of native images
US8918878B2 (en) * 2011-09-13 2014-12-23 F-Secure Corporation Restoration of file damage caused by malware
US20140053267A1 (en) * 2012-08-20 2014-02-20 Trusteer Ltd. Method for identifying malicious executables
RU2530210C2 (ru) 2012-12-25 2014-10-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ выявления вредоносных программ, препятствующих штатному взаимодействию пользователя с интерфейсом операционной системы
GB2517483B (en) * 2013-08-22 2015-07-22 F Secure Corp Detecting file encrypting malware
US9482349B2 (en) * 2014-01-09 2016-11-01 International Business Machines Corporation Air valve for electronics enclosures
US9514309B1 (en) * 2014-04-30 2016-12-06 Symantec Corporation Systems and methods for protecting files from malicious encryption attempts
US9848005B2 (en) * 2014-07-29 2017-12-19 Aruba Networks, Inc. Client reputation driven role-based access control
US20160180087A1 (en) * 2014-12-23 2016-06-23 Jonathan L. Edwards Systems and methods for malware detection and remediation
US9465940B1 (en) * 2015-03-30 2016-10-11 Cylance Inc. Wavelet decomposition of software entropy to identify malware

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187872A (zh) * 2007-10-31 2008-05-28 白杰 基于行为的程序种类判断方法、装置和程序控制方法、装置
CN101984450A (zh) * 2010-12-15 2011-03-09 北京安天电子设备有限公司 恶意代码检测方法和系统
CN102708313A (zh) * 2012-03-08 2012-10-03 珠海市君天电子科技有限公司 针对大文件的病毒检测系统及方法
CN104036187A (zh) * 2013-03-04 2014-09-10 阿里巴巴集团控股有限公司 计算机病毒类型确定方法及其系统

Also Published As

Publication number Publication date
US20170093886A1 (en) 2017-03-30
US10375086B2 (en) 2019-08-06
RU2015141551A (ru) 2017-04-05
CN106557696A (zh) 2017-04-05
JP2017068822A (ja) 2017-04-06
RU2617631C2 (ru) 2017-04-25
JP6298849B2 (ja) 2018-03-20

Similar Documents

Publication Publication Date Title
CN106557696B (zh) 用于检测恶意数据加密程序的系统和方法
EP3479280B1 (en) Ransomware protection for cloud file storage
JP6352332B2 (ja) 変更されたデータを復元するシステム及び方法
US10193918B1 (en) Behavior-based ransomware detection using decoy files
US8863284B1 (en) System and method for determining a security status of potentially malicious files
US9648032B2 (en) System and method for blocking execution of scripts
EP3416083B1 (en) System and method of detecting anomalous events
WO2018076697A1 (zh) 僵尸特征的检测方法和装置
US9436824B1 (en) System and method for performing antivirus scans of files
Paul Joseph et al. A review and analysis of ransomware using memory forensics and its tools
Ali et al. Data loss prevention by using MRSH-v2 algorithm
Atapour et al. Modeling Advanced Persistent Threats to enhance anomaly detection techniques
Sharma et al. Ransomware detection, prevention and protection in IoT devices using ML techniques based on dynamic analysis approach
EP3151147B1 (en) System and method for detection of malicious data encryption programs
RU2622630C2 (ru) Система и способ восстановления модифицированных данных
US20230315848A1 (en) Forensic analysis on consistent system footprints
US20220058261A1 (en) System and method for identifying a cryptor that encodes files of a computer system
US11038844B2 (en) System and method of analyzing the content of encrypted network traffic
JP6911723B2 (ja) ネットワーク監視装置、ネットワーク監視方法及びネットワーク監視プログラム
CN110661766B (zh) 分析加密网络业务的内容的系统和方法
EP3961449B1 (en) System and method for identifying a cryptor that encodes files of a computer system
RU2817556C1 (ru) Способ обнаружения подозрительной активности, связанной с использованием интерпретатора командной строки
EP3462354B1 (en) System and method for detection of anomalous events based on popularity of their convolutions
US10372900B2 (en) System and method for executing calls from OS process to file system
EP3151149B1 (en) System and method for blocking execution of scripts

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