CN106709334A - 检测入侵脚本文件的方法、装置及系统 - Google Patents
检测入侵脚本文件的方法、装置及系统 Download PDFInfo
- Publication number
- CN106709334A CN106709334A CN201510792174.0A CN201510792174A CN106709334A CN 106709334 A CN106709334 A CN 106709334A CN 201510792174 A CN201510792174 A CN 201510792174A CN 106709334 A CN106709334 A CN 106709334A
- Authority
- CN
- China
- Prior art keywords
- file
- detected
- read
- write
- invasion
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种检测入侵脚本文件的方法、装置及系统。其中,该方法包括:拦截待检测文件,其中,待检测文件包括如下任意一种或多种类型的文件:待写入网络终端的文件和从网络终端中待读取的文件;检测待检测文件的读写参数是否满足阻断条件;在待检测文件的读写参数满足阻断条件的情况下,阻断读写待检测文件。本发明解决了有技术采用被动防护方式来检测网络服务器植入的入侵脚本文件,导致检测结果不准的技术问题。
Description
技术领域
本发明涉及互联网领域,具体而言,涉及一种检测入侵脚本文件的方法、装置及系统。
背景技术
随着互联网技术的快速发展,网络安全成为当今最主要的问题。威胁网络安全的网络攻击手段较多,常见的有Webshell攻击,其中,Webshell为黑客进行网络入侵的脚本攻击工具。利用网络站点的漏洞向被攻击站点植入php、asp或者jsp等程序后门文件,然后通过正常的网络访问方式访问这些后门文件,从而控制网络服务器,执行恶意攻击操作,比如查看数据库,执行任意程序命令等。Webshell攻击危害巨大,因此,阻止植入Webshell和快速查杀Webshell对于网络安全防护具有非常重要的意义。
为了提高网络安全,相关技术采用定时全盘扫描查杀机制,即定时扫描全盘文件,对每个文件依次进行内容特征比对,从而发现并移除Webshell文件。但是,采用定时全盘扫描查杀这种被动防护方式来检测网路服务器植入的入侵脚本文件(比如Webshell文件),将会导致检测结果不准确,具体表现在:
1、时效性差。黑客可以利用两次扫描之间的时间进行恶意攻击,在Webshell文件被扫描到之前控制网络站点和网络服务器,执行恶意操作。
2、漏杀新型Webshell文件。由于新型Webshell文件内容特征未知,采用内容特征比对的方式将不能发现Webshell文件,造成漏杀Webshell文件。
3、无主动防护能力。采用完全被动防护,进队已经存在于磁盘中的文件进行扫描,无法在Webshell文件的写入过程主动分析和防御。而且,缺乏主动触发机制,不能及时发现可疑文件并启动扫描程序。
4、灵活性差。缺乏业务定制能力,无法根据业务合法性直接识别Webshell文件。
针对有技术采用被动防护方式来检测网络服务器植入的入侵脚本文件,导致检测结果不准的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种检测入侵脚本文件的方法、装置及系统,以至少解决有技术采用被动防护方式来检测网络服务器植入的入侵脚本文件,导致检测结果不准的技术问题。
根据本发明实施例的一个方面,提供了一种检测入侵脚本文件的方法,包括:拦截待检测文件,其中,待检测文件包括如下任意一种或多种类型的文件:待写入网络终端的文件和从网络终端中待读取的文件;检测待检测文件的读写参数是否满足阻断条件;在待检测文件的读写参数满足阻断条件的情况下,阻断读写待检测文件。
根据本发明实施例的另一方面,还提供了一种检测入侵脚本文件的装置,包括:第一拦截模块,用于拦截待检测文件,其中,待检测文件包括如下任意一种或多种类型的文件:待写入网络终端的文件和从网络终端中待读取的文件;检测模块,用于检测待检测文件的读写参数是否满足阻断条件;阻断模块,用于在待检测文件的读写参数满足阻断条件的情况下,阻断读写待检测文件。
根据本发明实施例的另一方面,还提供了一种检测入侵脚本文件的系统,包括:后台服务器,用于存储用于检测入侵脚本文件的防护程序;以及网络终端,用于启动防护程序,执行以下步骤:拦截待检测文件,其中,待检测文件包括如下任意一种或多种类型的文件:待写入网络终端的文件和从网络终端中待读取的文件;检测待检测文件的读写参数是否满足阻断条件;在待检测文件的读写参数满足阻断条件的情况下,阻断读写待检测文件。
在本发明实施例中,采用拦截待检测文件,其中,待检测文件包括如下任意一种或多种类型的文件:待写入网络终端的文件和从网络终端中待读取的文件;检测待检测文件的读写参数是否满足阻断条件;在待检测文件的读写参数满足阻断条件的情况下,阻断读写待检测文件,通过在文件读写过程中主动检测文件的读写参数是否满足阻断条件,在满足阻断条件的情况下及时阻断读写该文件,以达到了及时准确地检测入侵脚本文件的目的,从而实现了提高入侵脚本文件的检测准确性,提高网络安全的技术效果,进而解决了有技术采用被动防护方式来检测网络服务器植入的入侵脚本文件,导致检测结果不准的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种检测入侵脚本文件的方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的检测入侵脚本文件的方法的流程图;
图3是根据本发明实施例的一种可选地检测入侵脚本文件的方法的流程图;
图4是根据本发明实施例的另一种可选地检测入侵脚本文件的方法的流程图;
图5是根据本发明实施例的另一种可选地检测入侵脚本文件的方法的流程图;
图6是根据本发明实施例的入侵脚本文件的检测和处理的逻辑示意图;
图7是根据本发明实施例的检测入侵脚本文件的装置的示意图;
图8是根据本发明实施例的一种可选地检测入侵脚本文件的装置的示意图;
图9是根据本发明实施例的另一种可选地检测入侵脚本文件的装置的示意图;
图10是根据本发明实施例的另一种可选地检测入侵脚本文件的装置的示意图;
图11是根据本发明实施例的另一种可选地检测入侵脚本文件的装置的示意图;
图12是根据本发明实施例的另一种可选地检测入侵脚本文件的装置的示意图;
图13是根据本发明实施例的另一种可选地检测入侵脚本文件的装置的示意图;
图14是根据本发明实施例的检测入侵脚本文件的系统的示意图;以及
图15是根据本发明实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
云主机:为电商云Linux操作系统服务器。
防护程序:为后台服务器存储的、用于检测入侵脚本文件的程序。
读写函数:包括读函数和写函数。
网络服务器:可以向发出请求的浏览器提供文档的程序。
内容特征:文件内容经过某种算法构造出的特征模块,多种Webshell文件的内容特征可以构建特征库,文件建模后与特征库比对可实现Webshell文件识别。
实施例1
根据本发明实施例,还提供了一种检测入侵脚本文件的方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种检测入侵脚本文件的方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的检测入侵脚本文件的方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的检测入侵脚本文件的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图2所示的检测入侵脚本文件的方法。图2是根据本发明实施例的检测入侵脚本文件的方法的流程图,如图2所示,该方法包括以下步骤:
步骤S22,拦截待检测文件,其中,待检测文件包括如下任意一种或多种类型的文件:待写入网络终端的文件和从网络终端中待读取的文件。
本发明实施例中的网络终端可以是云主机,也可以是其它PC实体机,其中,本发明实施例中的云主机可以是电商云Linux操作系统服务器。网络终端中可以运行至少一个服务,每个服务对应有至少一个进程和/或子进程。网络终端中存在的至少一个服务包括防护程序对应的常驻服务,该防护程序为后台服务器中存储的、用于检测入侵脚本文件的程序。
一种可选方案中,后台服务器可以通过后台通道将该防护程序下发至用户的网络终端,并作为常驻服务启动。利用该防护程序可以检索到网络终端中网络服务的所有进程和/或子进程。网络终端可以通过对网络服务的进程和/或子进程的进程空间进行分析,精确定位进程空间中读写函数的位置,通过控制进行加载库文件,强制修改进程空间数据可以将该读写函数重定向,进而可以拦截到该读写函数,利用该拦截到的读写函数可以实现对待检测文件的读写。其中,读写函数包括读函数和写函数。
具体地,在允许读写拦截到的待检测文件的情况下,利用读写函数可以实现对待检测文件的读写。当拦截到的待检测文件为待写入网络终端的文件时,如果当前拦截到的待写入网络终端的文件通过拦截条件验证之后,可以利用写函数实现将待写入网络终端的文件写入网络终端。当拦截到的待检测文件为从网络终端中待读取的文件时,如果当前拦截到的待读取的文件通过拦截条件验证之后,可以利用读函数实现从网络终端中读取待读取的文件。
在步骤S22提供的技术方案中,拦截待检测文件实质为暂时阻断待检测文件的读写操作,并获取待检测文件的过程。可选地,获取待检测文件可以通过以下任意一种方式:
第一种方式,获取待检测文件的源地址,根据源地址查找到待检测文件,进而获取待检测文件;
第二种方式,在源地址和目标地址之间设置中间地址,控制待检测文件的数据包从源地址转发至中间地址,利用中间地址获取待检测文件。
可选地,在拦截到待检测文件的同时,本发明实施例还可以获取待检测文件的读写参数。例如,当拦截到的待检测文件为待写入网络终端的文件时,读写参数可以包括如下写入参数:待写入的文件位置、待写入的文件名等。当拦截到的待检测文件为从网络终端中待读取的文件时,读写参数可以包括如下读取参数:待访问的文件位置、待访问文件名等。
待检测文件的属性可以为非入侵脚本文件,也可以为入侵脚本文件。本发明实施例对每个待写入网络终端的文件和每个从网络终端中待读取的文件均进行拦截操作,目的是为了对每个待检测文件均进行入侵检测,以提高入侵检测准确性,保证网络安全性。
步骤S24,检测待检测文件的读写参数是否满足阻断条件。
在步骤S24提供的技术方案中,对步骤S22拦截到的待检测文件进行入侵检测,对待检测文件进行入侵检测的具体过程包括:检测待检测文件的读写参数是否满足阻断条件。本发明实施例在拦截待检测文件的同时,还获取了待检测文件的读写参数,待检测文件及其读写参数可以存储在预设数据库中,以便于入侵检测时快速查找到。
本发明实施例中,可以根据待检测文件的读写参数调用对应的阻断条件。例如:
当待检测文件为待写入网络终端的文件时,其读写参数可以包括如下写入参数:待写入的文件位置、待写入的文件名等。相应地,阻断条件可以是设定了非法文件目录以及非法文件名等条件。在待写入网络终端的文件的待写入的文件位置为非法文件目录,和/或待写入的文件名为非法文件名的情况下,该待写入网络终端的文件为入侵脚本文件。
当待检测文件为从网络终端中待读取的文件时,其读写参数可以包括如下读取参数:待访问的文件位置、待访问文件名等。相应地,阻断条件可以是设定了非法文件目录以及非法文件名等条件。在从网络终端中待读取的文件的待访问的文件位置为非法文件目录,和/或待访问文件名为非法文件名的情况下,该从网络终端中待读取的文件为入侵脚本文件。
需要说明的是,在本发明实施例的检测入侵脚本文件的方法中,只要待检测文件的读写参数中的任意一个子参数满足阻断条件,则说明该待检测文件为入侵脚本文件,需要立即阻断读取待检测文件。本发明实施例通过检测待检测文件的读写参数是否满足阻断条件,可以在待检测文件读写过程中主动防御入侵脚本文件,提高了实时阻断能力,进而提高了网络安全。
步骤S26,在待检测文件的读写参数满足阻断条件的情况下,阻断读写待检测文件。
在步骤S24检测待检测文件的读写参数是否满足阻断条件之后,如果检测到待检测文件的读写参数满足阻断条件时,则执行步骤S26。在步骤S26提供的技术方案中,如果待检测文件的读写参数满足阻断条件,网络终端将立即阻断读写该待检测文件,本发明实施例在待检测文件读写过程中对待检测文件进行入侵检测,在未形成真实文件之前对其进行阻断,提高了检测入侵脚本文件的时效性和主动防护性。
作为一种可选地方案,如图3所示,在步骤S24检测待检测文件的读写参数是否满足阻断条件之后,如果检测到待检测文件的读写参数不满足阻断条件时,该实施例的检测入侵脚本文件的方法还可以执行以下步骤S28。
步骤S28,当检测到待检测文件的读写参数不满足阻断条件时,允许读写待检测文件。
在步骤S28提供的技术方案中,如果待检测文件的读写参数不满足阻断条件,网络终端将允许读写该待检测文件。本发明实施例在待检测文件读写过程中对待检测文件进行入侵检测,提高了检测入侵脚本文件的时效性和主动防护性,只有在待检测文件的读写参数不满足阻断条件时,网络终端才允许读写该待检测文件,进而提高了网络终端的安全性。
需要说明的是,只要待检测文件的读写参数中的任意一个参数或者子参数满足阻断条件,就能说明该待检测文件为入侵脚本文件,网络终端将会立即阻断读写该待检测文件。但是,只有待检测文件的读写参数中的所有参数或者子参数都不满足阻断条件时,才说明待检测文件为非入侵脚本文件,网络终端才能允许读写待检测文件。
例如,当待检测文件为待写入网络终端的文件时,其读写参数可以包括:待写入的文件位置和待写入的文件名。在待写入网络终端的文件的待写入的文件位置为非法文件目录,和/或待写入的文件名为非法文件名的情况下,可以确定该待写入网络终端的文件为入侵脚本文件;在待写入网络终端的文件的待写入的文件位置不是非法文件目录,且待写入的文件名不是非法文件名的情况下,可以确定该待写入网络终端的文件不是可疑文件。但是,该待写入网络终端的文件到底是不是入侵脚本文件,还需要进一步对其文件内容进行分析才能确定。
通过上述步骤,本发明实施例在待检测文件读写过程中对待检测文件的读写参数进行检测,检测读写参数是否满足阻断条件,在待检测文件的读写参数满足阻断条件的情况下,网络终端阻断读写待检测文件;在待检测文件的读写参数不满足阻断条件的情况下,网络终端允许读写待检测文件。通过本发明实施例,解决了有技术采用被动防护方式来检测网络服务器植入的入侵脚本文件,导致检测结果不准的技术问题,进而实现了提高入侵脚本文件的检测准确度,提高网络安全性的技术效果。
作为一种可选地实施例,图3是根据本发明实施例的一种可选地检测入侵脚本文件的方法的流程图,如图3所示,在步骤S22拦截待检测文件之前,该实施例的检测入侵脚本文件的方法还可以包括以下步骤:
步骤S202,监控网络终端中的网络服务进程的进程空间,获取进程空间中记录的文件读写函数的位置。
该实施例中的网络终端可以通过启动防护程序,利用该防护程序对网络终端中的网络服务进程的进程空间进行监控。网络终端启动防护程序可以通过以下任意一种方式:检测到存在对网络页面的操作时触发启动防护程序,或者检测到存在文件读写请求时触发启动防护程序等。
作为一种可选地方案,防护程序可以为后台服务器存储的、用于检测入侵脚本文件的程序。后台服务器可以通过后台通道将该防护程序下发至用户的网络终端作为常驻服务启动。所谓常驻服务即为网络终端每次初始化均启动的服务。
作为另一种可选地方案,防护程序可以为网络终端自身的应用程序,存储在网络终端的存储器中。当检测到存在启动防护程序的触发信号时,比如网络页面上的操作触发的信号,或者文件读写请求信号等,网络终端立即启动防护程序,利用该防护程序检测入侵脚本文件。
防护程序可以检索网络中的所有进程,并获取所有进程中每个进程的进程信息,包括进程名,进程数,进程启动参数以及进程绑定口号等。防护程序根据获取到的进行信息可以查找到网络终端中网络服务的所有进程和/或子进程,并将其作为网络服务进程。在获取到网络服务进程之后,利用该防护程序还可以监控并分析网络终端中网络服务进程的进程空间,进而精确分析出进程空间中记录的文件读写函数的位置。
步骤S204,将文件读写函数的位置进行重定向,以拦截读写函数。其中,当网络终端中的网络服务进程监测到允许读写待检测文件时,调用拦截到的读写函数来读写待检测文件。
本申请上述步骤S204中,防护程序通过控制进程加载库文件,通过强制修改进程内存空间数据,更改网络终端访问的进程文件,从而实现读写函数的重定向,以达到拦截读写函数的目的。例如,Linux平台下网络服务器可执行文件为elf格式,读写文件时使用glibc.so库,利用ptrace技术可以使其加载特定库文件,强制修改全局偏移表和过程链接表内存数据可以达到网络服务器进程读写函数重定向。需要说明的是,Windows平台下可以使用远程调用方式达到同样的目的,此处不再赘述。
通过上述步骤S202至步骤S204,可以拦截到读写函数,当网络终端中的网络服务进程监测到允许读写待检测文件时,该实施例可以调用拦截到的读写函数来读写待检测文件。例如,待检测文件(比如Webshell文件)写入网络终端(比如网络服务器)的过程实质为网络服务器调用写函数将Webshell文件的字节流写入本地磁盘的过程,Webshell文件的运行过程实质为从网络服务器中读取并执行Webshell文件的过程。网络服务器具有一定的文件读写规则,用户可以根据自己的业务逻辑限制网络服务器对特定位置、特定文件名文件的读写操作,当网络服务器读写文件超出了规则限制即为非法访问。
可选地,该实施例中网络终端的阻断规则可以支持实时更新,灵活可定制,能够根据业务合法性直接识别和阻断入侵脚本文件,具有良好的扩展性。
作为一种可选地实施例,当待检测文件为待写入网络终端的文件时,待检测文件的读写参数可以包括如下写入参数:待写入的文件位置和待写入文件名;其中,步骤S26中待检测文件的读写参数满足阻断条件可以包括以下几种条件,以及各种条件的各种可能的组合:
条件一,待写入的文件位置为非法文件目录;
条件二,待写入文件名包括非法文件名;
条件三,待写入的文件位置为非法文件目录,且待写入文件名包括非法文件名。
具体地,在满足上述三种条件中的任意一种条件的情况下,则可以确定待写入网络终端的文件为入侵脚本文件,并阻断待检测文件写入网络终端。也就是说,在待写入的文件位置为非法文件目录的情况下,或在待写入文件名包括非法文件名的情况下,或在待写入的文件位置为非法文件目录,且待写入文件名包括非法文件名的情况下,则可以确定待写入网络终端的文件为入侵脚本文件,并阻断待检测文件写入网络终端。
该实施例规定了待检测文件为待写入网络终端的文件时,阻断待检测文件写入网络终端的条件,只要待检测文件的写入参数满足上述三种条件中的任意一种条件,即可确定待检测文件为入侵脚本文件。该实施例通过检测待写入网络终端的文件的写入参数是否满足阻断条件,来判断是否阻断待检测文件写入网络终端,当待检测文件为入侵脚本文件时,在待检测文件写入网络终端之前就能将其进行阻断,使其无法形成真实文件,具有主动防护性,且在写入过程中进行实时阻断,能够加快发现可疑文件和可疑操作。
作为一种可选地实施例,当待检测文件为从网络终端中待读取的文件时,读写参数可以包括如下读取参数:待访问的文件位置和待访问文件名;其中,步骤S26中待检测文件的读写参数满足阻断条件可以包括以下几种条件,以及各种条件的各种可能的组合:
条件一,待访问的文件位置为非法文件目录;
条件二,待访问文件名包括非法文件名;
条件三,待访问的文件置为非法文件目录,且待访问文件名包括非法扩展名。
在待访问的文件位置为非法文件目录的情况下,阻断读取待检测文件;或在待访问文件名包括非法文件名的情况下,阻断读取待检测文件;或在待访问的文件置为非法文件目录,且待访问文件名包括非法扩展名的情况下,阻断读取待检测文件。
具体地,在满足上述三种条件中的任意一种条件的情况下,则可以确定从网络终端中待读取的文件为入侵脚本文件,并阻断读取待检测文件。也就是说,在待访问的文件位置为非法文件目录的情况下,或在待访问文件名包括非法文件名的情况下,或在待访问的文件置为非法文件目录,且待访问文件名包括非法扩展名的情况下,则可以确定从网络终端中待读取的文件为入侵脚本文件,并阻断读取待检测文件。
该实施例规定了待检测文件为从网络终端中待读取的文件时,阻断读取待检测文件的条件,只要待检测文件的读取参数满足上述三种条件中的任意一种条件,即可确定待检测文件为入侵脚本文件。该实施例通过检测从网络终端中待读取的文件的读取参数是否满足阻断条件,来判断是否阻断读取待检测文件,当待检测文件为入侵脚本文件时,在从网络终端中读取待检测文件之前就能将其进行阻断,有效地加快了检测入侵脚本文件的过程,同时能够提高入侵脚本文件检测的准确性,进而达到提高网络安全的目的。
需要说明的是,上述实施例中的待检测文件的读写参数仅为本发明的优选实施例,并不限定本发明实施例中的待检测文件的读写参数仅包括上述参数。
作为一种可选地实施例,当待检测文件为从网络终端中待读取的文件时,如果检测到待检测文件的读取参数满足阻断条件,网络终端将会阻断读取待检测文件。在阻断读取待检测文件之后,该实施例的检测入侵脚本文件的方法还可以包括:扫描保存待读取的文件的文件目录,查找文件目录下包含的入侵脚本文件。
例如,待检测文件位于网络服务器的第一文件目录下,当网络服务器中的网络服务进程监控到需要读取第一文件目录下的文件时,在检测到第一文件目录为非法文件目录的情况下,网络终端立即阻断读取第一文件目录下的文件,并对第一文件目录下的所有文件进行扫描,以进一步地查找到入侵脚本文件,比如Webshell文件,以达到阻断读取Webshell文件的目的。
该实施例在确定从网络终端中待读取的文件为入侵脚本文件的情况下,采取扫描并保存待读取的文件的文件目录的方式,以查找到该文件目录下包含的入侵脚本文件。该实施例通过采取在疑似文件目录中扫描文件,进一步精确查找入侵脚本文件的方式,能够精确定位入侵脚本文件所在的位置,并对其进行阻断读取操作,提高了入侵脚本文件检测的准确度,进而保障了网络安全。
作为一种可选地实施例,图4是根据本发明实施例的另一种可选地检测入侵脚本文件的方法的流程图,如图4所示,在步骤S28网络终端允许读写待检测文件之后,该实施例的检测入侵脚本文件的方法还可以包括以下步骤:
步骤S30,调用拦截到的写函数将待检测文件的字节流写入本地磁盘。
在网络终端允许读写待检测文件的情况下,利用步骤S206拦截到的读写函数可以对待检测文件进行读写操作,其中,读写函数包括读函数和写函数。待检测文件写入网络终端的过程实质为网络终端调用写函数将待检测文件的字节流写入本地磁盘的过程。待检测文件的运行过程实质为从网络终端中读取并执行待检测文件的过程。
步骤S32,在待检测文件的字节流写入本地磁盘的同时,将待检测文件的字节流与预设的任意一个或多个关键特征字符进行字符匹配。
本发明实施例在文件读取过程中,通过检测待检测文件的读写参数是否满足阻断条件,实现了粗略地检测入侵脚本文件。考虑到入侵脚本文件在实际应用中可能隐藏较深,该实施例对读写参数不满足阻断条件的待检测文件继续进行了进一步地检测。在步骤S32提供的技术方案中,在将待检测文件的字节流写入本地磁盘的同时,检测待检测文件的字节流与预设的任意一个或多个关键特征字符是否匹配。
可选地,该实施例对待检测文件的字节流中的字符逐个进行检测,以达到避免漏查、漏杀的问题。预设的任意一个或多个关键特征字符是实时更新的,确保了检测入侵脚本文件的准确性,进而提高了网络安全。
步骤S34,在待检测文件的字节流与预设的任意一个或多个关键特征字符匹配成功的情况下,在待检测文件写入完成之后即时启动对待检测文件进行入侵文件扫描,或确定待检测文件为入侵脚本文件。
在步骤S34提供的技术方案中,在检测到待检测文件的字节流与预设的任意一个或多个关键特征字符匹配成功的情况下,说明待检测文件为疑似入侵脚本文件,故该实施例将会启动对该待检测文件进行入侵文件扫描,以达到进一步检测入侵脚本文件的目的。
该实施例通过逐个检测待检测文件的字节流中的字符是否与预设的入侵脚本文件的关键特征的字符匹配,达到了进一步精确地检测入侵脚本文件的目的,进而解决了入侵脚本文件检测结果不准确的技术问题,实现了提高入侵脚本文件的检测准确性,提高网络安全的技术效果。
作为一种可选地实施例,图5是根据本发明实施例的另一种可选地检测入侵脚本文件的方法的流程图,如图5所示,步骤S34对待检测文件进行入侵文件扫描的过程可以包括以下步骤:
步骤S342,将待检测文件的文件内容与入侵文件特征数据中的特征数据进行匹配。
步骤S344,在待检测文件的文件内容与入侵文件特征数据中的任意一个或多个特征数据匹配成功的情况下,确定待检测文件为入侵脚本文件。
在对待检测文件的字节流与预设的关键特征字符进行字符匹配之后,如果字符匹配成功,该实施例将会对待检测文件进行进一步地检测过程,即检测待检测文件的文件内容与入侵文件特征数据中的特征数据是否匹配。在待检测文件的文件内容与入侵文件特征数据中的任意一个或多个特征数据匹配成功的情况下,则可以确定该待检测文件为入侵脚本文件。
该实施例通过进一步地检测待检测文件的文件内容,能够更加精确地对入侵脚本文件进行检测。可选地,入侵文件特征数据也是实时更新的,以确保入侵脚本文件的检测准确度。
需要说明的是,本发明实施例对待检测文件进行入侵检测的过程包括以下三个阶段:
第一阶段,待检测文件写入网络终端之前,本发明实施例通过检测待检测文件的读写参数是否满足阻断条件确定其是否为入侵脚本文件。其中,当待检测文件的读写参数满足阻断条件时,确定待检测文件为入侵脚本文件。
第二阶段,在待检测文件的读写参数不满足阻断条件的情况下,网络终端允许读写待检测文件。本发明实施例在待检测文件写入网络终端的同时,检测待检测文件的字节流与预设的任意一个或多个关键特征字符是否匹配。其中,当待检测文件的文件内容与入侵文件特征数据中的任意一个或多个特征数据匹配成功时,确定待检测文件为入侵脚本文件。
第三阶段,在待检测文件的字节流与预设的任意一个或多个关键特征字符匹配成功的情况下,本发明实施例在待检测文件写入完成之后即时启动对待检测文件进行入侵文件扫描,进一步地检测待检测文件的文件内容与入侵文件特征数据中的特征数据是否匹配。其中,当待检测文件的文件内容与入侵文件特征数据中的任意一个或多个特征数据匹配成功时,确定待检测文件为入侵脚本文件。
本发明实施例设计了逐层的入侵检测规则,对待检测文件进行了全面的检测,极大地提高了入侵脚本文件检测结果的准确性,进而达到了提高网络安全的技术效果。
作为一种可选地实施例,该实施例中网络终端的进程至少包括如下任意一个或多个信息:进程名、进程数、进程启动参数以及进程绑定端口号。其中,根据网络终端的所有进程的进程名、进程数、进程启动参数以及进程绑定端口号,可以查找到网络服务的所有进程和/或子进程,该网络服务的所有进程和/或子进程将会作为网络服务进程。网络终端利用防护程序可以分析网络服务进程的进程空间,可以拦截到读写函数,利用该拦截到的读写函数可以实现对待检测文件的读写操作。
以网络服务器检测Webshell文件为例:
网络服务器可以通过实时分析文件的读写参数,比如通过对文件位置、文件扩展名等进行分析能够实时发现Webshell文件,并阻断Webshell文件写入网络服务器。网络服务器还可以通过详细分析写入本地磁盘的字节流,能够快速发现疑似Webshell文件。网络服务器还可以监控自身的访问位置,实现快速判断是否已经有Webshell文件入侵。
图6是根据本发明实施例的入侵脚本文件的检测和处理的逻辑示意图,如图6所示,网络终端针对不同的文件读写动作对待检测文件采取不同的处理策略。
针对待写入网络终端的文件,网络终端将检测待写入的文件位置是否为非法文件目录,在检测到待写入的文件位置为非法文件目录的情况下,确定该文件为入侵脚本文件,并阻断该文件写入网络终端,该情况如图6所示的第一分支,针对写非法目录文件采取实时阻断处理。
针对待写入网络终端的文件,网络终端将检测待写入文件名是否为非法文件名,在检测到待写入文件名为非法文件名的情况下,确定该文件为入侵脚本文件,并阻断该文件写入网络终端,该情况如图6所示的第二分支,针对写非法扩展名文件采取实时阻断处理。
针对待写入网络终端的文件,如果文件的读写参数不满足阻断条件,在将该文件的字节流写入网络终端的同时,将其字节流与预设的任意一个或多个关键特征字符进行字符匹配。如果含有类似Webshell文件的特征信息,在将其写入网络终端后立即开启文件内容扫描,精确检测其是否为Webshell文件。该情况如图6所示的第三分支,针对内容信息可疑文件采取触发文件内容扫描处理。
针对从网络终端中待读取的文件,如果待访问的文件位置为非法文件目录,和/或待访问文件名为非法文件名,网络终端将阻断其读取过程。此时确定该非法文件目录下存在疑似Webshell文件,则需要对该非法文件目录下的所有文件进行扫描,精确查找Webshell文件。该情况如图6所示的第四分支,针对访问非法目录文件采取实时阻断,并对非法目录下的所有文件进行扫描处理。
本发明实施例的检测入侵脚本文件的方法,使用C/C++语言开发可执行文件,应用于X86-64Linux服务器能够达到最佳实施效果。本发明实施例能够达到以下技术效果:
1、时效性强,具有实时阻断能力,并能快速发现可疑文件和可疑操作。
2、能够识别利用传统的内容特征对比无法的识别新型webshell文件。网络服务器有特定访问规则,本发明实施例通过对网络服务器的文件读写合法性进行分析判断,能够阻断内容特征已知的webshell文件和内容特征未知的新型webshell文件。
3、具有主动防护性。本发明实施例在入侵脚本文件写入本地磁盘之前就能阻断其写入过程,使其无法形成真实文件。本发明实施例还可以对文件可疑字节流进行分析,在文件写入本地磁盘后立即启动文件扫描程序,提高了入侵脚本文件检测结果的准确性。本发明实施例在网络进程有可以访问行为时采取主动启动文件扫描的方式能够主动防御入侵脚本文件。
4、具有良好的扩展性。本发明实施例中的阻断规则支持实时更新,灵活可定制,能够根据业务合法性直接识别和阻断webshell文件。
5、技术手段独特,网络服务器利用拦截到的读写函数,可获取入侵脚本文件的详细参数,包括字节流信息,能够多维度地进行webshell文件的探测和处理。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述检测入侵脚本文件的方法的检测入侵脚本文件的装置,图7是根据本发明实施例的检测入侵脚本文件的装置的示意图,如图7所示,该装置包括:第一拦截模块72,检测模块74,阻断模块76。
第一拦截模块72,用于拦截待检测文件,其中,待检测文件包括如下任意一种或多种类型的文件:待写入网络终端的文件和从网络终端中待读取的文件;检测模块74,用于检测待检测文件的读写参数是否满足阻断条件;阻断模块76,用于在待检测文件的读写参数满足阻断条件的情况下,阻断读写待检测文件。
作为一种可选地方案,如图8所示,该装置还可以包括:读写模块78,用于在待检测文件的读写参数不满足阻断条件的情况下,网络终端允许读写待检测文件。
该实施例中的第一拦截模块72可以用于执行本发明实施例中的步骤S22,检测模块74可以用于执行本发明实施例中的步骤S24,阻断模块76可以用于执行本发明实施例中的步骤S26,读写模块78可以用于执行本发明实施例中的步骤S28。
第一拦截模块72中的网络终端可以是云主机,也可以是其它PC实体机,其中,本发明实施例中的云主机可以是电商云Linux操作系统服务器。网络终端中可以运行至少一个服务,每个服务对应有至少一个进程和/或子进程。网络终端中存在的至少一个服务包括防护程序对应的常驻服务,该防护程序为后台服务器中存储的、用于检测入侵脚本文件的程序。
一种可选方案中,后台服务器可以通过后台通道将该防护程序下发至用户的网络终端,并作为常驻服务启动。利用该防护程序可以检索到网络终端中网络服务的所有进程和/或子进程。网络终端可以通过对网络服务的进程和/或子进程的进程空间进行分析,精确定位进程空间中读写函数的位置,通过控制进行加载库文件,强制修改进程空间数据可以将该读写函数重定向,进而可以拦截到该读写函数,利用该拦截到的读写函数可以实现对待检测文件的读写。其中,读写函数包括读函数和写函数。
具体地,在允许读写拦截到的待检测文件的情况下,利用读写函数可以实现对待检测文件的读写。当拦截到的待检测文件为待写入网络终端的文件时,如果当前拦截到的待写入网络终端的文件通过拦截条件验证之后,可以利用写函数实现将待写入网络终端的文件写入网络终端。当拦截到的待检测文件为从网络终端中待读取的文件时,如果当前拦截到的待读取的文件通过拦截条件验证之后,可以利用读函数实现从网络终端中读取待读取的文件。
在第一拦截模块72提供的技术方案中,拦截待检测文件实质为暂时阻断待检测文件的读写操作,并获取待检测文件的过程。可选地,第一拦截模块72获取待检测文件可以通过以下任意一种方式:
第一种方式,获取待检测文件的源地址,根据源地址查找到待检测文件,进而获取待检测文件;
第二种方式,在源地址和目标地址之间设置中间地址,控制待检测文件的数据包从源地址转发至中间地址,利用中间地址获取待检测文件。
可选地,第一拦截模块72在拦截到待检测文件的同时,还可以获取待检测文件的读写参数。例如,当拦截到的待检测文件为待写入网络终端的文件时,读写参数可以包括如下写入参数:待写入的文件位置、待写入的文件名等。当拦截到的待检测文件为从网络终端中待读取的文件时,读写参数可以包括如下读取参数:待访问的文件位置、待访问文件名等。
待检测文件的属性可以为非入侵脚本文件,也可以为入侵脚本文件。第一拦截模块72对每个待写入网络终端的文件和每个从网络终端中待读取的文件均进行拦截操作,目的是为了对每个待检测文件均进行入侵检测,以提高入侵检测准确性,保证网络安全性。
在检测模块74提供的技术方案中,对第一拦截模块72拦截到的待检测文件进行入侵检测,检测模块74对待检测文件进行入侵检测的具体过程包括:检测待检测文件的读写参数是否满足阻断条件。第一拦截模块72在拦截待检测文件的同时,还获取了待检测文件的读写参数,待检测文件及其读写参数可以存储在预设数据库中,以便于入侵检测时快速查找到。
检测模块74可以根据待检测文件的读写参数调用相应的阻断条件。例如:
当待检测文件为待写入网络终端的文件时,其读写参数可以包括如下写入参数:待写入的文件位置、待写入的文件名等。相应地,阻断条件可以是设定了非法文件目录以及非法文件名等条件。在待写入网络终端的文件的待写入的文件位置为非法文件目录,和/或待写入的文件名为非法文件名的情况下,该待写入网络终端的文件为入侵脚本文件。
当待检测文件为从网络终端中待读取的文件时,其读写参数可以包括如下读取参数:待访问的文件位置、待访问文件名等。相应地,阻断条件可以是设定了非法文件目录以及非法文件名等条件。在从网络终端中待读取的文件的待访问的文件位置为非法文件目录,和/或待访问文件名为非法文件名的情况下,该从网络终端中待读取的文件为入侵脚本文件。
需要说明的是,只要待检测文件的读写参数中的任意一个子参数满足阻断条件,则说明该待检测文件为入侵脚本文件,需要立即阻断读取待检测文件。
检测模块74通过检测待检测文件的读写参数是否满足阻断条件,可以在待检测文件读写过程中主动防御入侵脚本文件,提高了实时阻断能力,进而提高了网络安全。
在阻断模块76和读写模块78提供的技术方案中,如果待检测文件的读写参数满足阻断条件,网络终端将立即阻断读写该待检测文件。如果待检测文件的读写参数不满足阻断条件,网络终端将允许读写该待检测文件。本发明实施例在待检测文件读写过程中对待检测文件进行入侵检测,在未形成真实文件之前对其进行阻断,提高了检测入侵脚本文件的时效性和主动防护性。
需要说明的是,只要待检测文件的读写参数中的任意一个参数或者子参数满足阻断条件,就能说明该待检测文件为入侵脚本文件,网络终端将会立即阻断读写该待检测文件。但是,只有待检测文件的读写参数中的所有参数或者子参数都不满足阻断条件时,才说明待检测文件为非入侵脚本文件,网络终端才能允许读写待检测文件。
例如,当待检测文件为待写入网络终端的文件时,其读写参数可以包括:待写入的文件位置和待写入的文件名。在待写入网络终端的文件的待写入的文件位置为非法文件目录,和/或待写入的文件名为非法文件名的情况下,该待写入网络终端的文件为入侵脚本文件;在待写入网络终端的文件的待写入的文件位置不是非法文件目录,且待写入的文件名不是非法文件名的情况下,该待写入网络终端的文件才不是可疑文件。但是,该待写入网络终端的文件到底是不是入侵脚本文件,还需要进一步对其文件内容进行分析才能确定。
该实施例的检测入侵脚本文件的装置,在待检测文件读写过程中对待检测文件的读写参数进行检测,检测读写参数是否满足阻断条件,在待检测文件的读写参数满足阻断条件的情况下,网络终端阻断读写待检测文件;在待检测文件的读写参数不满足阻断条件的情况下,网络终端允许读写待检测文件。通过实施例,解决了有技术采用被动防护方式来检测网络服务器植入的入侵脚本文件,导致检测结果不准的技术问题,进而实现了提高入侵脚本文件的检测准确度,提高网络安全性的技术效果。
作为一种可选地实施例,图8是根据本发明实施例的一种可选地检测入侵脚本文件的装置的示意图,如图8所示,该装置还可以包括:
监控模块702,用于监控网络终端中的网络服务进程的进程空间,获取进程空间中记录的文件读写函数的位置;第二拦截模块704,用于将文件读写函数的位置进行重定向,以拦截读写函数;其中,当网络终端中的网络服务进程监测到允许读写待检测文件时,调用拦截到的读写函数来读写待检测文件。
监控模块702中的网络终端可以通过启动防护程序,利用该防护程序对网络终端中的网络服务进程的进程空间进行监控。
作为一种可选地方案,防护程序可以为后台服务器存储的、用于检测入侵脚本文件的程序。后台服务器可以通过后台通道将该防护程序下发至用户的网络终端作为常驻服务启动。所谓常驻服务即为网络终端每次初始化均启动的服务。
作为另一种可选地方案,防护程序可以为网络终端自身的应用程序,存储在网络终端的存储器中。当检测到存在启动防护程序的触发信号时,比如网络页面上的操作触发的信号,或者文件读写请求信号等,网络终端立即启动防护程序,利用该防护程序检测入侵脚本文件。
利用防护程序可以检索网络中的所有进程,并获取所有进程中每个进程的进程信息,包括进程名,进程数,进程启动参数以及进程绑定口号等。防护程序根据获取到的进行信息可以查找到网络终端中网络服务的所有进程和/或子进程,并将其作为网络服务进程。在获取到网络服务进程之后,利用该防护程序还可以监控并分析网络终端中网络服务进程的进程空间,进而精确分析出进程空间中记录的文件读写函数的位置。
防护程序通过控制进程加载库文件,通过强制修改进程内存空间数据,更改网络终端访问的进程文件,从而实现读写函数的重定向,以达到拦截读写函数的目的。例如,Linux平台下网络服务器可执行文件为elf格式,读写文件时使用glibc.so库,利用ptrace技术可以使其加载特定库文件,强制修改全局偏移表和过程链接表内存数据可以达到网络服务器进程读写函数重定向。需要说明的是,Windows平台下可以使用远程调用方式达到同样的目的,此处不再赘述。
通过上述模块702至704,可以拦截到读写函数,当网络终端中的网络服务进程监测到允许读写待检测文件时,该实施例可以调用拦截到的读写函数来读写待检测文件。例如,待检测文件(比如Webshell文件)写入网络终端(比如网络服务器)的过程实质为网络服务器调用写函数将Webshell文件的字节流写入本地磁盘的过程,Webshell文件的运行过程实质为从网络服务器中读取并执行Webshell文件的过程。网络服务器具有一定的文件读写规则,用户可以根据自己的业务逻辑限制网络服务器对特定位置、特定文件名文件的读写操作,当网络服务器读写文件超出了规则限制即为非法访问。
可选地,该实施例中网络终端的阻断规则可以支持实时更新,灵活可定制,能够根据业务合法性直接识别和阻断入侵脚本文件,具有良好的扩展性。
作为一种可选地实施例,图9是根据本发明实施例的一种可选地检测入侵脚本文件的装置的示意图,如图9所示,阻断模块76可以包括:
第一子阻断模块761,用于在待写入的文件位置为非法文件目录的情况下,确定待写入网络终端的文件为入侵脚本文件,并阻断待检测文件写入;或第二子阻断模块763,用于在待写入文件名包括非法文件名的情况下,确定待写入网络终端的文件为入侵脚本文件,并阻断待检测文件写入;或第三子阻断模块765,用于在待写入的文件位置为非法文件目录,且待写入文件名包括非法文件名的情况下,确定待写入网络终端的文件为入侵脚本文件,并阻断待检测文件写入。
当待检测文件为待写入网络终端的文件时,待检测文件的读写参数可以包括如下写入参数:待写入的文件位置和待写入文件名;其中,待检测文件的读写参数满足阻断条件可以包括以下几种条件,以及各种条件的各种可能的组合:
条件一,待写入的文件位置为非法文件目录;
条件二,待写入文件名包括非法文件名;
条件三,待写入的文件位置为非法文件目录,且待写入文件名包括非法文件名。
具体地,在满足上述三种条件中的任意一种条件的情况下,则可以确定待写入网络终端的文件为入侵脚本文件,并阻断待检测文件写入网络终端。也就是说,在待写入的文件位置为非法文件目录的情况下,或在待写入文件名包括非法文件名的情况下,或在待写入的文件位置为非法文件目录,且待写入文件名包括非法文件名的情况下,则可以确定待写入网络终端的文件为入侵脚本文件,并阻断待检测文件写入网络终端。
该实施例规定了待检测文件为待写入网络终端的文件时,阻断待检测文件写入网络终端的条件,只要待检测文件的写入参数满足上述三种条件中的任意一种条件,即可确定待检测文件为入侵脚本文件。该实施例通过检测待写入网络终端的文件的写入参数是否满足阻断条件,来判断是否阻断待检测文件写入网络终端,当待检测文件为入侵脚本文件时,在待检测文件写入网络终端之前就能将其进行阻断,使其无法形成真实文件,具有主动防护性,且在写入过程中进行实时阻断,能够加快发现可疑文件和可疑操作。
作为一种可选地实施例,图10是根据本发明实施例的一种可选地检测入侵脚本文件的装置的示意图,如图10所示,阻断模块76可以包括:
第四子阻断模块762,用于在待访问的文件位置为非法文件目录的情况下,阻断读取待检测文件;或第五子阻断模块764,用于在待访问文件名包括非法文件名的情况下,阻断读取待检测文件;或第六子阻断模块766,用于在待访问的文件置为非法文件目录,且待访问文件名包括非法扩展名的情况下,阻断读取待检测文件。
当待检测文件为从网络终端中待读取的文件时,读写参数可以包括如下读取参数:待访问的文件位置和待访问文件名;其中,待检测文件的读写参数满足阻断条件可以包括以下几种条件,以及各种条件的各种可能的组合:
条件一,待访问的文件位置为非法文件目录;
条件二,待访问文件名包括非法文件名;
条件三,待访问的文件置为非法文件目录,且待访问文件名包括非法扩展名。
在待访问的文件位置为非法文件目录的情况下,阻断读取待检测文件;或在待访问文件名包括非法文件名的情况下,阻断读取待检测文件;或在待访问的文件置为非法文件目录,且待访问文件名包括非法扩展名的情况下,阻断读取待检测文件。
具体地,在满足上述三种条件中的任意一种条件的情况下,则可以确定从网络终端中待读取的文件为入侵脚本文件,并阻断读取待检测文件。也就是说,在待访问的文件位置为非法文件目录的情况下,或在待访问文件名包括非法文件名的情况下,或在待访问的文件置为非法文件目录,且待访问文件名包括非法扩展名的情况下,则可以确定从网络终端中待读取的文件为入侵脚本文件,并阻断读取待检测文件。
该实施例规定了待检测文件为从网络终端中待读取的文件时,阻断读取待检测文件的条件,只要待检测文件的读取参数满足上述三种条件中的任意一种条件,即可确定待检测文件为入侵脚本文件。该实施例通过检测从网络终端中待读取的文件的读取参数是否满足阻断条件,来判断是否阻断读取待检测文件,当待检测文件为入侵脚本文件时,在从网络终端中读取待检测文件之前就能将其进行阻断,有效地加快了检测入侵脚本文件的过程,同时能够提高入侵脚本文件检测的准确性,进而达到提高网络安全的目的。
需要说明的是,上述实施例中的待检测文件的读写参数仅为本发明的优选实施例,并不限定本发明实施例中的待检测文件的读写参数仅包括上述参数。
作为一种可选地实施例,图11是根据本发明实施例的一种可选地检测入侵脚本文件的装置的示意图,如图11所示,该装置还可以包括:查找模块801,用于扫描保存待读取的文件的文件目录,查找文件目录下包含的入侵脚本文件。
当待检测文件为从网络终端中待读取的文件时,如果检测到待检测文件的读取参数满足阻断条件,网络终端将会阻断读取待检测文件。在阻断读取待检测文件之后,该实施例利用查找模块801扫描保存待读取的文件的文件目录,查找文件目录下包含的入侵脚本文件。
例如,待检测文件位于网络服务器的第一文件目录下,当网络服务器中的网络服务进程监控到需要读取第一文件目录下的文件时,在检测到第一文件目录为非法文件目录的情况下,网络终端立即阻断读取第一文件目录下的文件,并对第一文件目录下的所有文件进行扫描,以进一步地查找到入侵脚本文件,比如Webshell文件,以达到阻断读取Webshell文件的目的。
该实施例在确定从网络终端中待读取的文件为入侵脚本文件的情况下,采取扫描并保存待读取的文件的文件目录的方式,以查找到该文件目录下包含的入侵脚本文件。该实施例通过采取在疑似文件目录中扫描文件,进一步精确查找入侵脚本文件的方式,能够精确定位入侵脚本文件所在的位置,并对其进行阻断读取操作,提高了入侵脚本文件检测的准确度,进而保障了网络安全。
作为一种可选地实施例,图12是根据本发明实施例的一种可选地检测入侵脚本文件的装置的示意图,如图12所示,该装置还可以包括:
调用模块802,用于调用拦截到的写函数将待检测文件的字节流写入本地磁盘;第一匹配模块804,用于在待检测文件的字节流写入本地磁盘的同时,将待检测文件的字节流与预设的任意一个或多个关键特征字符进行字符匹配;扫描模块806,用于在待检测文件的字节流与预设的任意一个或多个关键特征字符匹配成功的情况下,在待检测文件写入完成之后即时启动对待检测文件进行入侵文件扫描,或确定待检测文件为入侵脚本文件。
在网络终端允许读写待检测文件的情况下,利用拦截到的读写函数可以对待检测文件进行读写操作,其中,读写函数包括读函数和写函数。待检测文件写入网络终端的过程实质为网络终端调用写函数将待检测文件的字节流写入本地磁盘的过程。待检测文件的运行过程实质为从网络终端中读取并执行待检测文件的过程。
该实施例在文件读取过程中,通过检测待检测文件的读写参数是否满足阻断条件,实现了粗略地检测入侵脚本文件。考虑到入侵脚本文件在实际应用中可能隐藏较深,该实施例对读写参数不满足阻断条件的待检测文件继续进行了进一步地检测。在第一匹配模块804提供的技术方案中,在将待检测文件的字节流写入本地磁盘的同时,检测待检测文件的字节流与预设的任意一个或多个关键特征字符是否匹配。
可选地,该实施例对待检测文件的字节流中的字符逐个进行检测,以达到避免漏查、漏杀的问题。预设的任意一个或多个关键特征字符是实时更新的,确保了检测入侵脚本文件的准确性,进而提高了网络安全。
在扫描模块806提供的技术方案中,在检测到待检测文件的字节流与预设的任意一个或多个关键特征字符匹配成功的情况下,说明待检测文件为疑似入侵脚本文件,故该扫描模块806将会启动对该待检测文件进行入侵文件扫描,以达到进一步检测入侵脚本文件的目的。
该实施例通过逐个检测待检测文件的字节流中的字符是否与预设的入侵脚本文件的关键特征的字符匹配,达到了进一步精确地检测入侵脚本文件的目的,进而解决了入侵脚本文件检测结果不准确的技术问题,实现了提高入侵脚本文件的检测准确性,提高网络安全的技术效果。
作为一种可选地实施例,图13是根据本发明实施例的一种可选地检测入侵脚本文件的装置的示意图,如图13所示,扫描模块806还可以包括:
第二匹配模块8062,用于将待检测文件的文件内容与入侵文件特征数据中的特征数据进行匹配;确定模块8064,用于在待检测文件的文件内容与入侵文件特征数据中的任意一个或多个特征数据匹配成功的情况下,确定待检测文件为入侵脚本文件。
在对待检测文件的字节流与预设的关键特征字符进行字符匹配之后,如果字符匹配成功,该实施例将会对待检测文件进行进一步地检测过程,即检测待检测文件的文件内容与入侵文件特征数据中的特征数据是否匹配。在待检测文件的文件内容与入侵文件特征数据中的任意一个或多个特征数据匹配成功的情况下,则可以确定该待检测文件为入侵脚本文件。
该实施例通过进一步地检测待检测文件的文件内容,能够更加精确地对入侵脚本文件进行检测。可选地,入侵文件特征数据也是实时更新的,以确保入侵脚本文件的检测准确度。
需要说明的是,该实施例对待检测文件进行入侵检测的过程包括以下三个阶段:
第一阶段,待检测文件写入网络终端之前,本发明实施例通过检测待检测文件的读写参数是否满足阻断条件确定其是否为入侵脚本文件。其中,当待检测文件的读写参数满足阻断条件时,确定待检测文件为入侵脚本文件。
第二阶段,在待检测文件的读写参数不满足阻断条件的情况下,网络终端允许读写待检测文件。本发明实施例在待检测文件写入网络终端的同时,检测待检测文件的字节流与预设的任意一个或多个关键特征字符是否匹配。其中,当待检测文件的文件内容与入侵文件特征数据中的任意一个或多个特征数据匹配成功时,确定待检测文件为入侵脚本文件。
第三阶段,在待检测文件的字节流与预设的任意一个或多个关键特征字符匹配成功的情况下,本发明实施例在待检测文件写入完成之后即时启动对待检测文件进行入侵文件扫描,进一步地检测待检测文件的文件内容与入侵文件特征数据中的特征数据是否匹配。其中,当待检测文件的文件内容与入侵文件特征数据中的任意一个或多个特征数据匹配成功时,确定待检测文件为入侵脚本文件。
本发明实施例设计了逐层的入侵检测规则,对待检测文件进行了全面的检测,极大地提高了入侵脚本文件检测结果的准确性,进而达到了提高网络安全的技术效果。
作为一种可选地实施例,该实施例中网络终端的进程至少包括如下任意一个或多个信息:进程名、进程数、进程启动参数以及进程绑定端口号。其中,根据网络终端的所有进程的进程名、进程数、进程启动参数以及进程绑定端口号,可以查找到网络服务的所有进程和/或子进程,该网络服务的所有进程和/或子进程将会作为网络服务进程。网络终端利用防护程序可以分析网络服务进程的进程空间,可以拦截到读写函数,利用该拦截到的读写函数可以实现对待检测文件的读写操作。
实施例3
根据本发明实施例,还提供了一种用于实施上述检测入侵脚本文件的方法的检测入侵脚本文件的系统,图14是根据本发明实施例的检测入侵脚本文件的系统的示意图,如图14所示,该系统包括:后台服务器1402和网络终端1404。
后台服务器1402用于存储用于检测入侵脚本文件的防护程序,并将该防护程序下发至网络终端1404。网络终端1404将该防护程序作为常驻服务启动,利用该防护程序对入侵脚本文件进行检测。具体地,网络终端1404利用该防护程序可以执行以下步骤:
步骤S1002,拦截待检测文件,其中,待检测文件包括如下任意一种或多种类型的文件:待写入网络终端的文件和从网络终端中待读取的文件。
本发明实施例中的网络终端可以是云主机,也可以是其它PC实体机,其中,本发明实施例中的云主机可以是电商云Linux操作系统服务器。网络终端中可以运行至少一个服务,每个服务对应有至少一个进程和/或子进程。网络终端中存在的至少一个服务包括防护程序对应的常驻服务,该防护程序为后台服务器中存储的、用于检测入侵脚本文件的程序。
一种可选方案中,后台服务器可以通过后台通道将该防护程序下发至用户的网络终端,作为常驻服务启动。利用该防护程序可以检索到网络终端中网络服务的所有进程和/或子进程。网络终端可以通过对网络服务的进程和/或子进程的进程空间进行分析,,精确定位进程空间中读写函数的位置,通过控制进行加载库文件,强制修改进程空间数据可以将该读写函数重定向,进而可以拦截到该读写函数,利用该拦截到的读写函数可以实现对待检测文件的读写。其中,读写函数包括读函数和写函数。
具体地,在允许读写拦截到的待检测文件的情况下,利用读写函数可以实现对待检测文件的读写。当拦截到的待检测文件为待写入网络终端的文件时,如果当前拦截到的待写入网络终端的文件通过拦截条件验证之后,可以利用写函数实现将待写入网络终端的文件写入网络终端。当拦截到的待检测文件为从网络终端中待读取的文件时,如果当前拦截到的待读取的文件通过拦截条件验证之后,可以利用读函数实现从网络终端中读取待读取的文件。
在步骤S1002提供的技术方案中,拦截待检测文件实质为暂时阻断待检测文件的读写操作,并获取待检测文件的过程。可选地,获取待检测文件可以通过以下任意一种方式:
第一种方式,获取待检测文件的源地址,根据源地址查找到待检测文件,进而获取待检测文件;
第二种方式,在源地址和目标地址之间设置中间地址,控制待检测文件的数据包从源地址转发至中间地址,利用中间地址获取待检测文件。
可选地,在拦截到待检测文件的同时,本发明实施例还可以获取待检测文件的读写参数。例如,当拦截到的待检测文件为待写入网络终端的文件时,读写参数可以包括如下写入参数:待写入的文件位置、待写入的文件名等。当拦截到的待检测文件为从网络终端中待读取的文件时,读写参数可以包括如下读取参数:待访问的文件位置、待访问文件名等。
待检测文件的属性可以为非入侵脚本文件,也可以为入侵脚本文件。本发明实施例对每个待写入网络终端的文件和每个从网络终端中待读取的文件均进行拦截操作,目的是为了对每个待检测文件均进行入侵检测,以提高入侵检测准确性,保证网络安全性。
步骤S1004,检测待检测文件的读写参数是否满足阻断条件。
在步骤S1004提供的技术方案中,对步骤S1002拦截到的待检测文件进行入侵检测,对待检测文件进行入侵检测的具体过程包括:检测待检测文件的读写参数是否满足阻断条件。本发明实施例在拦截待检测文件的同时,还获取了待检测文件的读写参数,待检测文件及其读写参数可以存储在预设数据库中,以便于入侵检测时快速查找到。
本发明实施例中,可以根据待检测文件的读写参数调用对应的阻断条件。例如:
当待检测文件为待写入网络终端的文件时,其读写参数可以包括如下写入参数:待写入的文件位置、待写入的文件名等。相应地,阻断条件可以是设定了非法文件目录以及非法文件名等条件。在待写入网络终端的文件的待写入的文件位置为非法文件目录,和/或待写入的文件名为非法文件名的情况下,该待写入网络终端的文件为入侵脚本文件。
当待检测文件为从网络终端中待读取的文件时,其读写参数可以包括如下读取参数:待访问的文件位置、待访问文件名等。相应地,阻断条件可以是设定了非法文件目录以及非法文件名等条件。在从网络终端中待读取的文件的待访问的文件位置为非法文件目录,和/或待访问文件名为非法文件名的情况下,该从网络终端中待读取的文件为入侵脚本文件。
需要说明的是,在本发明实施例的检测入侵脚本文件的方法中,只要待检测文件的读写参数中的任意一个子参数满足阻断条件,则说明该待检测文件为入侵脚本文件,需要立即阻断读取待检测文件。本发明实施例通过检测待检测文件的读写参数是否满足阻断条件,可以在待检测文件读写过程中主动防御入侵脚本文件,提高了实时阻断能力,进而提高了网络安全。
步骤S1006,在待检测文件的读写参数满足阻断条件的情况下,阻断读写待检测文件。
在步骤S1004检测待检测文件的读写参数是否满足阻断条件之后,如果检测到待检测文件的读写参数满足阻断条件时,则执行步骤S1006。在步骤S1006提供的技术方案中,如果待检测文件的读写参数满足阻断条件,网络终端将立即阻断读写该待检测文件,本发明实施例在待检测文件读写过程中对待检测文件进行入侵检测,在未形成真实文件之前对其进行阻断,提高了检测入侵脚本文件的时效性和主动防护性。
作为一种可选地方案,在步骤S1004检测待检测文件的读写参数是否满足阻断条件之后,如果检测到待检测文件的读写参数不满足阻断条件时,该实施例的检测入侵脚本文件的方法还可以执行以下步骤S1008。
步骤S1008,在待检测文件的读写参数不满足阻断条件的情况下,网络终端允许读写待检测文件。
在步骤S1008提供的技术方案中,如果待检测文件的读写参数不满足阻断条件,网络终端将允许读写该待检测文件。本发明实施例在待检测文件读写过程中对待检测文件进行入侵检测,提高了检测入侵脚本文件的时效性和主动防护性,只有在待检测文件的读写参数不满足阻断条件时,网络终端才允许读写该待检测文件,进而提高了网络终端的安全性。
需要说明的是,只要待检测文件的读写参数中的任意一个参数或者子参数满足阻断条件,就能说明该待检测文件为入侵脚本文件,网络终端将会立即阻断读写该待检测文件。但是,只有待检测文件的读写参数中的所有参数或者子参数都不满足阻断条件时,才说明待检测文件为非入侵脚本文件,网络终端才能允许读写待检测文件。
例如,当待检测文件为待写入网络终端的文件时,其读写参数可以包括:待写入的文件位置和待写入的文件名。在待写入网络终端的文件的待写入的文件位置为非法文件目录,和/或待写入的文件名为非法文件名的情况下,可以确定该待写入网络终端的文件为入侵脚本文件;在待写入网络终端的文件的待写入的文件位置不是非法文件目录,且待写入的文件名不是非法文件名的情况下,可以确定该待写入网络终端的文件才不是可疑文件。但是,该待写入网络终端的文件到底是不是入侵脚本文件,还需要进一步对其文件内容进行分析才能确定。
通过该实施例的检测入侵脚本文件的系统,在待检测文件读写过程中对待检测文件的读写参数进行检测,检测读写参数是否满足阻断条件,在待检测文件的读写参数满足阻断条件的情况下,网络终端阻断读写待检测文件;在待检测文件的读写参数不满足阻断条件的情况下,网络终端允许读写待检测文件。通过本发明实施例,解决了有技术采用被动防护方式来检测网络服务器植入的入侵脚本文件,导致检测结果不准的技术问题,进而实现了提高入侵脚本文件的检测准确度,提高网络安全性的技术效果。
实施例4
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行检测入侵脚本文件的方法中以下步骤的程序代码:拦截待检测文件,其中,待检测文件包括如下任意一种或多种类型的文件:待写入网络终端的文件和从网络终端中待读取的文件;检测待检测文件的读写参数是否满足阻断条件;在待检测文件的读写参数满足阻断条件的情况下,阻断读写待检测文件。
可选地,图15是根据本发明实施例的一种计算机终端的结构框图。如图15所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器1501、存储器1503、以及传输装置1505。
其中,存储器1503可用于存储软件程序以及模块,如本发明实施例中的检测入侵脚本文件的方法和装置对应的程序指令/模块,处理器1501通过运行存储在存储器1503内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的检测入侵脚本文件的方法。存储器1503可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1503可进一步包括相对于处理器1501远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置1505用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1505包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1505为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器1503用于存储预设动作条件和预设权限用户的信息、以及应用程序。
处理器1501可以通过传输装置调用存储器1503存储的信息及应用程序,以执行下述步骤:拦截待检测文件,其中,待检测文件包括如下任意一种或多种类型的文件:待写入网络终端的文件和从网络终端中待读取的文件;检测待检测文件的读写参数是否满足阻断条件;在待检测文件的读写参数满足阻断条件的情况下,阻断读写待检测文件;在待检测文件的读写参数不满足阻断条件的情况下,网络终端允许读写待检测文件。
可选的,上述处理器1501还可以执行如下步骤的程序代码:网络终端启动防护程序;使用防护程序监控网络终端中的网络服务进程的进程空间,获取进程空间中记录的文件读写函数的位置;将文件读写函数的位置进行重定向,以拦截读写函数;其中,当网络终端中的网络服务进程监测到允许读写待检测文件时,调用拦截到的读写函数来读写待检测文件。
可选的,上述处理器1501还可以执行如下步骤的程序代码:在待写入的文件位置为非法文件目录的情况下,确定待写入网络终端的文件为入侵脚本文件,并阻断待检测文件写入;或在待写入文件名包括非法文件名的情况下,确定待写入网络终端的文件为入侵脚本文件,并阻断待检测文件写入;或在待写入的文件位置为非法文件目录,且待写入文件名包括非法文件名的情况下,确定待写入网络终端的文件为入侵脚本文件,并阻断待检测文件写入。
可选的,上述处理器1501还可以执行如下步骤的程序代码:在待访问的文件位置为非法文件目录的情况下,阻断读取待检测文件;或在待访问文件名包括非法文件名的情况下,阻断读取待检测文件;或在待访问的文件置为非法文件目录,且待访问文件名包括非法扩展名的情况下,阻断读取待检测文件。
可选的,上述处理器1501还可以执行如下步骤的程序代码:扫描保存待读取的文件的文件目录,查找文件目录下包含的入侵脚本文件。
可选的,上述处理器1501还可以执行如下步骤的程序代码:调用拦截到的写函数将待检测文件的字节流写入本地磁盘;在待检测文件的字节流写入本地磁盘的同时,将待检测文件的字节流与预设的任意一个或多个关键特征字符进行字符匹配;在待检测文件的字节流与预设的任意一个或多个关键特征字符匹配成功的情况下,在待检测文件写入完成之后即时启动对待检测文件进行入侵文件扫描,或确定待检测文件为入侵脚本文件。
可选的,上述处理器1501还可以执行如下步骤的程序代码:将待检测文件的文件内容与入侵文件特征数据中的特征数据进行匹配;在待检测文件的文件内容与入侵文件特征数据中的任意一个或多个特征数据匹配成功的情况下,确定待检测文件为入侵脚本文件。
采用本发明实施例,提供了一种检测入侵脚本文件的方案。通过在待检测文件读写过程中对待检测文件的读写参数进行检测,检测读写参数是否满足阻断条件,在待检测文件的读写参数满足阻断条件的情况下,网络终端阻断读写待检测文件;在待检测文件的读写参数不满足阻断条件的情况下,网络终端允许读写待检测文件。通过本发明实施例,解决了有技术采用被动防护方式来检测网络服务器植入的入侵脚本文件,导致检测结果不准的技术问题,进而实现了提高入侵脚本文件的检测准确度,提高网络安全性的技术效果。
本领域普通技术人员可以理解,图15所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图15其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图15中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图15所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的检测入侵脚本文件的方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:拦截待检测文件,其中,待检测文件包括如下任意一种或多种类型的文件:待写入网络终端的文件和从网络终端中待读取的文件;检测待检测文件的读写参数是否满足阻断条件;在待检测文件的读写参数满足阻断条件的情况下,阻断读写待检测文件。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:拦截待检测文件,其中,待检测文件包括如下任意一种或多种类型的文件:待写入网络终端的文件和从网络终端中待读取的文件;检测待检测文件的读写参数是否满足阻断条件;在待检测文件的读写参数满足阻断条件的情况下,阻断读写待检测文件;在待检测文件的读写参数不满足阻断条件的情况下,网络终端允许读写待检测文件。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:网络终端启动防护程序;使用防护程序监控网络终端中的网络服务进程的进程空间,获取进程空间中记录的文件读写函数的位置;将文件读写函数的位置进行重定向,以拦截读写函数;其中,当网络终端中的网络服务进程监测到允许读写待检测文件时,调用拦截到的读写函数来读写待检测文件。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在待写入的文件位置为非法文件目录的情况下,确定待写入网络终端的文件为入侵脚本文件,并阻断待检测文件写入;或在待写入文件名包括非法文件名的情况下,确定待写入网络终端的文件为入侵脚本文件,并阻断待检测文件写入;或在待写入的文件位置为非法文件目录,且待写入文件名包括非法文件名的情况下,确定待写入网络终端的文件为入侵脚本文件,并阻断待检测文件写入。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在待访问的文件位置为非法文件目录的情况下,阻断读取待检测文件;或在待访问文件名包括非法文件名的情况下,阻断读取待检测文件;或在待访问的文件置为非法文件目录,且待访问文件名包括非法扩展名的情况下,阻断读取待检测文件。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:扫描保存待读取的文件的文件目录,查找文件目录下包含的入侵脚本文件。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:调用拦截到的写函数将待检测文件的字节流写入本地磁盘;在待检测文件的字节流写入本地磁盘的同时,将待检测文件的字节流与预设的任意一个或多个关键特征字符进行字符匹配;在待检测文件的字节流与预设的任意一个或多个关键特征字符匹配成功的情况下,在待检测文件写入完成之后即时启动对待检测文件进行入侵文件扫描,或确定待检测文件为入侵脚本文件。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:将待检测文件的文件内容与入侵文件特征数据中的特征数据进行匹配;在待检测文件的文件内容与入侵文件特征数据中的任意一个或多个特征数据匹配成功的情况下,确定待检测文件为入侵脚本文件。
此处需要说明的是,上述计算机终端群中的任意一个可以与网站服务器和扫描器建立通信关系,扫描器可以扫描计算机终端上php执行的web应用程序的值命令。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (17)
1.一种检测入侵脚本文件的方法,其特征在于,包括:
拦截待检测文件,其中,所述待检测文件包括如下任意一种或多种类型的文件:待写入网络终端的文件和从所述网络终端中待读取的文件;
检测所述待检测文件的读写参数是否满足阻断条件;
在所述待检测文件的读写参数满足所述阻断条件的情况下,阻断读写所述待检测文件。
2.根据权利要求1所述的方法,其特征在于,在拦截待检测文件之前,所述方法还包括:
监控所述网络终端中的网络服务进程的进程空间,获取所述进程空间中记录的文件读写函数的位置;
将所述文件读写函数的位置进行重定向,以拦截所述读写函数;
其中,当所述网络终端中的所述网络服务进程监测到允许读写所述待检测文件时,调用拦截到的所述读写函数来读写所述待检测文件。
3.根据权利要求1或2所述的方法,其特征在于,当所述待检测文件为所述待写入所述网络终端的文件时,所述读写参数包括如下写入参数:待写入的文件位置和待写入文件名;
其中,在所述待检测文件的读写参数满足所述阻断条件的情况下,阻断读写所述待检测文件的步骤包括:
在所述待写入的文件位置为非法文件目录的情况下,确定所述待写入所述网络终端的文件为所述入侵脚本文件,并阻断所述待检测文件写入;或
在所述待写入文件名包括非法文件名的情况下,确定所述待写入所述网络终端的文件为所述入侵脚本文件,并阻断所述待检测文件写入;或
在所述待写入的文件位置为所述非法文件目录,且所述待写入文件名包括所述非法文件名的情况下,确定所述待写入所述网络终端的文件为所述入侵脚本文件,并阻断所述待检测文件写入。
4.根据权利要求1或2所述的方法,其特征在于,当所述待检测文件为从所述网络终端中待读取的文件时,所述读写参数包括如下读取参数:待访问的文件位置和待访问文件名;
其中,在所述待检测文件的读写参数满足所述阻断条件的情况下,阻断读写所述待检测文件的步骤包括:
在所述待访问的文件位置为非法文件目录的情况下,阻断读取所述待检测文件;或
在所述待访问文件名包括非法文件名的情况下,阻断读取所述待检测文件;或
在所述待访问的文件置为所述非法文件目录,且所述待访问文件名包括所述非法扩展名的情况下,阻断读取所述待检测文件。
5.根据权利要求4所述的方法,其特征在于,在阻断读取所述待检测文件之后,所述方法还包括:
扫描保存所述待读取的文件的文件目录,查找所述文件目录下包含的入侵脚本文件。
6.根据权利要求1或2所述的方法,其特征在于,在所述待检测文件的读写参数不满足所述阻断条件的情况下,所述网络终端允许读写所述待检测文件,且在所述网络终端允许读写所述待检测文件之后,所述方法还包括:
调用拦截到的写函数将所述待检测文件的字节流写入本地磁盘;
在所述待检测文件的字节流写入所述本地磁盘的同时,将所述待检测文件的字节流与预设的任意一个或多个关键特征字符进行字符匹配;
在所述待检测文件的字节流与所述预设的任意一个或多个关键特征字符匹配成功的情况下,在所述待检测文件写入完成之后即时启动对所述待检测文件进行入侵文件扫描,或确定所述待检测文件为所述入侵脚本文件。
7.根据权利要求6所述的方法,其特征在于,对所述待检测文件进行入侵文件扫描包括:
将所述待检测文件的文件内容与入侵文件特征数据中的特征数据进行匹配;
在所述待检测文件的文件内容与所述入侵文件特征数据中的任意一个或多个特征数据匹配成功的情况下,确定所述待检测文件为所述入侵脚本文件。
8.根据权利要求2所述的方法,其特征在于,所述网络终端的进程至少包括如下任意一个或多个信息:进程名、进程数、进程启动参数以及进程绑定端口号,其中,根据所述网络终端的所有进程的进程名、进程数、进程启动参数以及进程绑定端口号,查找所述网络服务的所有进程和/或子进程作为所述网络服务进程。
9.一种检测入侵脚本文件的装置,其特征在于,包括:
第一拦截模块,用于拦截待检测文件,其中,所述待检测文件包括如下任意一种或多种类型的文件:待写入网络终端的文件和从所述网络终端中待读取的文件;
检测模块,用于检测所述待检测文件的读写参数是否满足阻断条件;
阻断模块,用于在所述待检测文件的读写参数满足所述阻断条件的情况下,阻断读写所述待检测文件。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
监控模块,用于监控所述网络终端中的网络服务进程的进程空间,获取所述进程空间中记录的文件读写函数的位置;
第二拦截模块,用于将所述文件读写函数的位置进行重定向,以拦截所述读写函数;
其中,当所述网络终端中的所述网络服务进程监测到允许读写所述待检测文件时,调用拦截到的所述读写函数来读写所述待检测文件。
11.根据权利要求9或10所述的装置,其特征在于,当所述待检测文件为所述待写入所述网络终端的文件时,所述读写参数包括如下写入参数:待写入的文件位置和待写入文件名;
其中,所述阻断模块包括:
第一子阻断模块,用于在所述待写入的文件位置为非法文件目录的情况下,确定所述待写入所述网络终端的文件为所述入侵脚本文件,并阻断所述待检测文件写入;或
第二子阻断模块,用于在所述待写入文件名包括非法文件名的情况下,确定所述待写入所述网络终端的文件为所述入侵脚本文件,并阻断所述待检测文件写入;或
第三子阻断模块,用于在所述待写入的文件位置为所述非法文件目录,且所述待写入文件名包括所述非法文件名的情况下,确定所述待写入所述网络终端的文件为所述入侵脚本文件,并阻断所述待检测文件写入。
12.根据权利要求9或10所述的装置,其特征在于,当所述待检测文件为从所述网络终端中待读取的文件时,所述读写参数包括如下读取参数:待访问的文件位置和待访问文件名;
其中,所述阻断模块包括:
第四子阻断模块,用于在所述待访问的文件位置为非法文件目录的情况下,阻断读取所述待检测文件;或
第五子阻断模块,用于在所述待访问文件名包括非法文件名的情况下,阻断读取所述待检测文件;或
第六子阻断模块,用于在所述待访问的文件置为所述非法文件目录,且所述待访问文件名包括所述非法扩展名的情况下,阻断读取所述待检测文件。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
查找模块,用于扫描保存所述待读取的文件的文件目录,查找所述文件目录下包含的入侵脚本文件。
14.根据权利要求9或10所述的装置,其特征在于,所述装置还包括:
读写模块,用于在所述待检测文件的读写参数不满足所述阻断条件的情况下,所述网络终端允许读写所述待检测文件;
调用模块,用于调用拦截到的写函数将所述待检测文件的字节流写入本地磁盘;
第一匹配模块,用于在所述待检测文件的字节流写入所述本地磁盘的同时,将所述待检测文件的字节流与预设的任意一个或多个关键特征字符进行字符匹配;
扫描模块,用于在所述待检测文件的字节流与所述预设的任意一个或多个关键特征字符匹配成功的情况下,在所述待检测文件写入完成之后即时启动对所述待检测文件进行入侵文件扫描,或确定所述待检测文件为所述入侵脚本文件。
15.根据权利要求14所述的装置,其特征在于,所述扫描模块包括:
第二匹配模块,用于将所述待检测文件的文件内容与入侵文件特征数据中的特征数据进行匹配;
确定模块,用于在所述待检测文件的文件内容与所述入侵文件特征数据中的任意一个或多个特征数据匹配成功的情况下,确定所述待检测文件为所述入侵脚本文件。
16.一种检测入侵脚本文件的系统,其特征在于,包括:
后台服务器,用于存储用于检测入侵脚本文件的防护程序;以及
网络终端,用于启动所述防护程序,执行以下步骤:拦截待检测文件,其中,所述待检测文件包括如下任意一种或多种类型的文件:待写入网络终端的文件和从所述网络终端中待读取的文件;检测所述待检测文件的读写参数是否满足阻断条件;在所述待检测文件的读写参数满足所述阻断条件的情况下,阻断读写所述待检测文件。
17.根据权利要求16所述的系统,其特征在于,所述网络终端还用于在所述待检测文件的读写参数不满足所述阻断条件的情况下,所述网络终端允许读写所述待检测文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510792174.0A CN106709334A (zh) | 2015-11-17 | 2015-11-17 | 检测入侵脚本文件的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510792174.0A CN106709334A (zh) | 2015-11-17 | 2015-11-17 | 检测入侵脚本文件的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106709334A true CN106709334A (zh) | 2017-05-24 |
Family
ID=58932198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510792174.0A Pending CN106709334A (zh) | 2015-11-17 | 2015-11-17 | 检测入侵脚本文件的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106709334A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109905396A (zh) * | 2019-03-11 | 2019-06-18 | 北京奇艺世纪科技有限公司 | 一种WebShell文件检测方法、装置及电子设备 |
CN109936528A (zh) * | 2017-12-15 | 2019-06-25 | 阿里巴巴集团控股有限公司 | 监测方法、装置、设备及系统 |
WO2021129201A1 (zh) * | 2019-12-26 | 2021-07-01 | 中科信息安全共性技术国家工程研究中心有限公司 | 一种基于Linux主机的入侵检测方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013445A (zh) * | 2007-02-14 | 2007-08-08 | 白杰 | 一种目标文件的确定方法和装置 |
CN101556608A (zh) * | 2009-02-27 | 2009-10-14 | 浙大网新科技股份有限公司 | 一种基于事件监控机制的文件系统操作拦截方法 |
CN102902909A (zh) * | 2012-10-10 | 2013-01-30 | 北京奇虎科技有限公司 | 一种防止文件被篡改的系统和方法 |
CN102982279A (zh) * | 2012-11-07 | 2013-03-20 | 北京奇虎科技有限公司 | 计算机辅助设计病毒感染防止系统和方法 |
CN103679031A (zh) * | 2013-12-12 | 2014-03-26 | 北京奇虎科技有限公司 | 一种文件病毒免疫的方法和装置 |
CN103716354A (zh) * | 2012-10-09 | 2014-04-09 | 苏州慧盾信息安全科技有限公司 | 一种信息系统的安全防护系统和方法 |
-
2015
- 2015-11-17 CN CN201510792174.0A patent/CN106709334A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013445A (zh) * | 2007-02-14 | 2007-08-08 | 白杰 | 一种目标文件的确定方法和装置 |
CN101556608A (zh) * | 2009-02-27 | 2009-10-14 | 浙大网新科技股份有限公司 | 一种基于事件监控机制的文件系统操作拦截方法 |
CN103716354A (zh) * | 2012-10-09 | 2014-04-09 | 苏州慧盾信息安全科技有限公司 | 一种信息系统的安全防护系统和方法 |
CN102902909A (zh) * | 2012-10-10 | 2013-01-30 | 北京奇虎科技有限公司 | 一种防止文件被篡改的系统和方法 |
CN102982279A (zh) * | 2012-11-07 | 2013-03-20 | 北京奇虎科技有限公司 | 计算机辅助设计病毒感染防止系统和方法 |
CN103679031A (zh) * | 2013-12-12 | 2014-03-26 | 北京奇虎科技有限公司 | 一种文件病毒免疫的方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109936528A (zh) * | 2017-12-15 | 2019-06-25 | 阿里巴巴集团控股有限公司 | 监测方法、装置、设备及系统 |
CN109936528B (zh) * | 2017-12-15 | 2022-08-05 | 阿里巴巴集团控股有限公司 | 监测方法、装置、设备及系统 |
CN109905396A (zh) * | 2019-03-11 | 2019-06-18 | 北京奇艺世纪科技有限公司 | 一种WebShell文件检测方法、装置及电子设备 |
WO2021129201A1 (zh) * | 2019-12-26 | 2021-07-01 | 中科信息安全共性技术国家工程研究中心有限公司 | 一种基于Linux主机的入侵检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110677408B (zh) | 攻击信息的处理方法和装置、存储介质及电子装置 | |
CN107888554B (zh) | 服务器攻击的检测方法和装置 | |
CN105825129B (zh) | 一种融合通信中恶意软件鉴别方法和系统 | |
CN107612924B (zh) | 基于无线网络入侵的攻击者定位方法及装置 | |
CN107332811A (zh) | 入侵检测的方法、装置和系统 | |
CN102571812B (zh) | 一种网络威胁的跟踪识别方法及装置 | |
CN107579997A (zh) | 无线网络入侵检测系统 | |
CN103888459B (zh) | 网络内网入侵的检测方法及装置 | |
CN107465702B (zh) | 基于无线网络入侵的预警方法及装置 | |
CN112751864B (zh) | 网络攻击反制系统、方法、装置和计算机设备 | |
CN105302707B (zh) | 应用程序的漏洞检测方法和装置 | |
CN108183900A (zh) | 一种挖矿脚本检测的方法、服务器、客户端及系统 | |
CN110336835A (zh) | 恶意行为的检测方法、用户设备、存储介质及装置 | |
CN105227387A (zh) | 网页漏洞的检测方法、装置及系统 | |
CN106709334A (zh) | 检测入侵脚本文件的方法、装置及系统 | |
CN114157450B (zh) | 基于物联网蜜罐的网络攻击诱导方法及装置 | |
CN107566401A (zh) | 虚拟化环境的防护方法及装置 | |
CN105187224B (zh) | 入侵检测方法和装置 | |
CN108965251A (zh) | 一种云端结合的安全手机防护系统 | |
CN104537304A (zh) | 文件查杀方法、装置及系统 | |
CN107330331A (zh) | 识别存在漏洞的系统的方法、装置和系统 | |
CN107509200A (zh) | 基于无线网络入侵的设备定位方法及装置 | |
CN108182360A (zh) | 一种风险识别方法及其设备、存储介质、电子设备 | |
CN114531258B (zh) | 网络攻击行为的处理方法和装置、存储介质及电子设备 | |
CN113645242B (zh) | 一种蜜罐溯源方法、装置及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170524 |
|
RJ01 | Rejection of invention patent application after publication |