CN109446810B - 基于请求重写的恶意文件防御方法、装置及电子设备 - Google Patents
基于请求重写的恶意文件防御方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109446810B CN109446810B CN201811292653.6A CN201811292653A CN109446810B CN 109446810 B CN109446810 B CN 109446810B CN 201811292653 A CN201811292653 A CN 201811292653A CN 109446810 B CN109446810 B CN 109446810B
- Authority
- CN
- China
- Prior art keywords
- request
- http request
- http
- rewriting
- file
- 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
Links
Images
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
- G06F21/563—Static detection by source code analysis
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种基于请求重写的恶意文件防御方法、装置及电子设备,涉及网络安全技术领域,其中,基于请求重写的恶意文件防御方法包括:接收用户上传的HTTP请求,判断该HTTP请求是否为文件上传请求,如果是,按照预设方式对HTTP请求进行重写;基于安全规则库对重写后的请求进行检测,并根据检测的结果,及安全规则库中的安全规则,执行相应的操作。本发明能够提高防御系统的安全性。
Description
技术领域
本发明涉及网络安全技术领域,尤其是涉及一种基于请求重写的恶意文件防御方法、装置及电子设备。
背景技术
安全规则库是由安全人员人为编写的一系列静态的安全规则,攻击者通过逐步攻击网站探测防御系统对攻击特征的反应,逐步获得攻击特征的信息,从而定位防御系统的漏洞,构造特定的恶意文件上传请求,绕过防御系统的安全规则库的检测,达到攻击服务器的目的。
目前,网站防御系统的文件上传请求的检测方式为:把文件上传请求放到安全规则库中进行攻击特征串比较,如果某个请求符合某个特征串,则断定为攻击。然而,由安全人员编写的众多安全规则也不可能全部都绝对的毫无破绽,一旦某个未知的安全规则库漏洞被攻击者探测到,很容易导致恶意文件上传到目标服务器,而传统防御系统在安全规则库漏洞被探测到后被动的修复安全规则,已经于事无补。
发明内容
有鉴于此,本发明的目的在于提供一种基于请求重写的恶意文件防御方法、装置及电子设备,能够提高防御系统的安全性。
第一方面,本发明实施例提供了一种基于请求重写的恶意文件防御方法,包括:
接收用户上传的HTTP请求;
判断HTTP请求是否为文件上传请求;
如果HTTP请求为文件上传请求,按照预设方式对HTTP请求进行重写;
基于安全规则库对重写后的请求进行检测,并根据检测的结果,及安全规则库中的安全规则,执行相应的操作。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,判断HTTP请求是否为文件上传请求的步骤,包括:
从HTTP请求中提取请求方法;
判断请求方法中是否包括:POST或者PUT;
如果否,则判断HTTP请求不是文件上传请求;
如果是,则根据HTTP请求的请求头,判断HTTP请求是否为文件上传请求。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,根据HTTP请求的请求头,判断HTTP请求是否为文件上传请求的步骤,包括:
判断请求头中是否包括Content-Disposition字段;
如果否,则判断HTTP请求不是文件上传请求;
如果是,则从请求头中提取Content-Disposition字段的值;
判断Content-Disposition字段的值是否包括filename;
如果是,则判断HTTP请求为文件上传请求;
如果否,则判断HTTP请求不是文件上传请求。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,按照预设方式对HTTP请求进行重写的步骤,包括:
按照预设方式对HTTP请求进行全部解析,得到解析内容;
将解析内容替代HTTP请求,作为新的请求。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,按照预设方式对HTTP请求进行重写的步骤,包括:
将HTTP请求进行逐行解析;
将解析后的内容逐行替代HTTP请求的对应部分,得到新的请求。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,判断HTTP请求是否为文件上传请求之后,还包括:
如果HTTP请求不是文件上传请求,则将HTTP请求放到防御系统的安全规则库中进行检测。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,基于安全规则库对重写后的请求进行检测,并根据检测的结果,及安全规则库中的安全规则,执行相应的操作的步骤,包括:
判断重写后的请求与安全规则库中的恶意特征串是否匹配;
如果是,则基于安全规则库的安全规则,阻断HTTP请求;
如果否,则基于安全规则库的安全规则,放行HTTP请求。
第二方面,本发明实施例还提供一种基于请求重写的恶意文件防御装置,包括:
请求接收模块,用于接收用户上传的HTTP请求;
请求判断模块,用于判断HTTP请求是否为文件上传请求;
请求重写模块,用于在请求判断模块的判断结果为是时,按照预设方式对HTTP请求进行重写;
请求检测模块,基于安全规则库对重写后的请求进行检测,并根据检测的结果,及安全规则库中的安全规则,执行相应的操作。
第三方面,本发明实施例还提供一种电子设备,包括存储器、处理器,存储器上存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面及第一方面的任一种可能的实施方式所述的方法的步骤。
第四方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行第一方面及第一方面的任一种可能的实施方式所述的方法。
在本发明实施例提供的基于请求重写的恶意文件防御方法,首先接收用户上传的HTTP请求,判断该HTTP请求是否为文件上传请求,如果是,按照预设方式对HTTP请求进行重写;基于安全规则库对重写后的请求进行检测,并根据检测的结果,及安全规则库中的安全规则,执行相应的操作。本发明能够基于客户端的文件上传请求,按照预设方式对其进行重新获取,并用获取后的请求内容重写原请求,能够防止攻击者通过逐步探测防御系统对攻击特征的反应,定位防御系统的安全规则库漏洞,构造特定的文件上传请求以绕过防御系统安全规则库的检测,提高防御系统的安全性。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于请求重写的恶意文件防御方法的流程图;
图2为本发明实施例提供的另一种基于请求重写的恶意文件防御方法的流程图;
图3为本发明实施例提供的一种基于请求重写的恶意文件防御装置的示意图;
图4为本发明实施例提供的一种电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的网站防御系统的文件上传请求的检测方式为:把文件上传请求放到安全规则库中进行攻击特征串比较,如果某个请求符合某个特征串,则断定为攻击。然而,一旦某个未知的安全规则库漏洞被攻击者探测到,很容易导致恶意文件上传到目标服务器,而传统防御系统在安全规则库漏洞被探测到后被动的修复安全规则,已经于事无补。基于此,本发明实施例提供一种基于请求重写的恶意文件防御方法、装置及电子设备,能够基于客户端的文件上传请求,按照预设方式对其进行重新获取,并用获取后的请求内容重写原请求,能够防止攻击者通过逐步探测防御系统对攻击特征的反应,定位防御系统的安全规则库漏洞,构造特定的文件上传请求以绕过防御系统安全规则库的检测,提高防御系统的安全性。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种基于请求重写的恶意文件防御方法进行详细介绍。
本发明实施例提供了一种基于请求重写的恶意文件防御方法,参见图1 所示,该方法包括以下步骤:
步骤S102,接收用户上传的HTTP请求。
HTTP请求是指从客户端到服务器端的请求消息,其包括:消息首行中,对资源的请求方法、资源的标识符及使用的协议。当用户通过浏览器向Web 服务器发出请求时,向服务器传递一个数据块,也就是请求信息,HTTP请求信息由3部分组成:(1)请求方法(2)请求头(3)请求正文。
步骤S104,判断HTTP请求是否为文件上传请求。
由于文件上传请求中,如果上传的文件是恶意文件,那么很可能会绕过防御系统的安全规则库检测,达到攻击服务器的目的,对服务器造成一定的威胁。因此,当服务器接收到用户上传的HTTP请求后,首先判断其是否是文件上传请求。具体判断方式有多种,在本实施例中不做具体限定。
如果HTTP请求是文件上传请求,则执行步骤S106。
如果HTTP请求不是文件上传请求,则将HTTP请求放到防御系统的安全规则库中进行检测。
步骤S106,如果HTTP请求为文件上传请求,按照预设方式对HTTP 请求进行重写。
在确定用户上传的HTTP请求是文件上传请求时,按照预设的方式对其进行重写,具体的重写方式有两种情况:
(1)按照预设方式对HTTP请求进行全部解析,得到解析内容;将解析内容替代HTTP请求,作为新的请求。
这种方式的请求解析,需要先把整个原始HTTP请求解析完成,然后只需简单的把请求直接重新赋值如“原始请求=新请求”即可,很多封装较多的语言本身会做好对内存等资源的的处理。而对于c/c++等底层语言,如果采用这种方式,则需先把原始请求所指向的的资源清除掉以避免内存泄漏,再将新请求赋值给原始请求,完成HTTP请求的重写。
(2)将HTTP请求进行逐行解析;将解析后的内容逐行替代HTTP请求的对应部分,得到新的请求。
这种逐步重写方式,解析和重写是同步进行的。
这个过程中最少用到3个变量:
写记录:w;解析位置记录:p;缓存空间:buf。
下面举个具体的例子进行说明,如原始请求为:
原始请求开始:
POST/upload?upload_progress_id=12344HTTP/1.1
Host:localhost:3000
Content-Length:1325
Origin:http://localhost:3000
Content-Type:multipart/form-data;boundary=----xxxxx
------xxxxx
Content-Disposition:form-data;name="uploadedfile";filename="hello.txt"; filename="attack.php"
Content-Type:application/x-object
...恶意文件内容...
------xxxxx
原始请求结束
比如现在解析完第七行之后,进行重写第七行之前:
1:w指向Content-Disposition开头。
2:p=p+本次解析内容长度,将指向第八行开头,表示下次要从这里开始解析。
3:解析完的第七行按照HTTP标准把解析内容放到buf中。
4:buf内容长度与本次解析长度可能一样,比如上述请求中有两个 filename,解析的时候全部进行解析,但是按照HTTP标准只取第一个 filename的值到buf中。buf中的内容将是
Content-Disposition:form-data;name="uploadedfile";filename="hello.txt"
5:现在执行第七行重写操作,从w开始写buf中的内容,写完w=w+buf 内容长度。
6:正常情况下执行完写操作之后,开始解析下一行之前,w与p指向的位置应该相同。但是上述请求中第二个不规范的filename="attack.php"被丢弃,从此p比w领先,当解析完第八行执行重写操作时, filename="attack.php"将被第八行Content-Type:application/x-object所覆盖。
这种重写方式减少了资源的分配与销毁。
通过上述任一种方式重写请求后,得到新的请求,如下:
POST/upload?upload_progress_id=12344HTTP/1.1
Host:localhost:3000
Content-Length:1325
Origin:http://localhost:3000
Content-Type:multipart/form-data;boundary=----xxxxx
------xxxxx
Content-Disposition:form-data;name="uploadedfile";filename=“hello.txt";
Content-Type:application/x-object
...恶意文件内容...
------xxxxx
步骤S108,基于安全规则库对重写后的请求进行检测,并根据检测的结果,及安全规则库中的安全规则,执行相应的操作。
具体的检测过程如下:
判断重写后的请求与安全规则库中的恶意特征串是否匹配;如果是,则基于安全规则库的安全规则,阻断HTTP请求;如果否,则基于安全规则库的安全规则,放行HTTP请求。
在对HTTP请求完成重写操作以后,将重写后的请求放到防御系统的安全规则库中检测,如果该请求与防御系统安全规则库中的恶意特征串匹配,则说明该请求为恶意攻击,并执行安全规则的相应动作,阻断该请求;如果该请求与防御系统安全规则库中的恶意特征串不匹配,说明该请求是安全无害的,放行请求。
本发明实施例所提供的基于请求重写的恶意文件防御方法,基于客户端的文件上传请求,按照预设方式对其进行重新获取,并用获取后的请求内容重写原请求,能够防止攻击者通过逐步探测防御系统对攻击特征的反应,定位防御系统的安全规则库漏洞,构造特定的文件上传请求以绕过防御系统安全规则库的检测,提高防御系统的安全性。
本发明实施例还提供了一种对HTTP请求是否为文件上传请求的判断方法,该方法通过HTTP请求信息中的请求方法、请求头进行,具体如下,参见图2所示:
步骤S202,从HTTP请求中提取请求方法。
步骤S204,判断请求方法中是否包括:POST或者PUT。
如果否,则执行步骤S206,判断HTTP请求不是文件上传请求。
如果是,则进一步根据HTTP请求的请求头,判断HTTP请求是否为文件上传请求,具体的过程如下:
步骤S208,判断请求头中是否包括Content-Disposition字段。
如果否,则执行步骤S206,判断HTTP请求不是文件上传请求。
如果是,则执行步骤S210,从请求头中提取Content-Disposition字段的值。
步骤S212,判断Content-Disposition字段的值是否包括filename。
如果是,则执行步骤S214,判断HTTP请求为文件上传请求。
如果否,则执行步骤S206,判断HTTP请求不是文件上传请求。
具体的,判断式为:(method=(POST or PUT))and(have Content-Dispositionand Content-Disposition value include"filename")。对应于上述方法实施方式,图3所示为一种基于请求重写的恶意文件防御装置,该装置包括:请求接收模块31、请求判断模块32、请求重写模块33和请求检测模块34。
其中,请求接收模块31,用于接收用户上传的HTTP请求;请求判断模块32,用于判断HTTP请求是否为文件上传请求;请求重写模块33,用于在请求判断模块的判断结果为是时,按照预设方式对HTTP请求进行重写;请求检测模块34,基于安全规则库对重写后的请求进行检测,并根据检测的结果,及安全规则库中的安全规则,执行相应的操作。
具体实施中,上述请求判断模块32还用于,从HTTP请求中提取请求方法;判断请求方法中是否包括:POST或者PUT;如果否,则判断HTTP 请求不是文件上传请求;如果是,则根据HTTP请求的请求头,判断HTTP 请求是否为文件上传请求。
具体实施中,上述请求判断模块32还用于,判断请求头中是否包括 Content-Disposition字段;如果否,则判断HTTP请求不是文件上传请求;如果是,则从请求头中提取Content-Disposition字段的值;判断 Content-Disposition字段的值是否包括filename;如果是,则判断HTTP请求为文件上传请求;如果否,则判断HTTP请求不是文件上传请求。
上述请求重写模块33还用于,按照预设方式对HTTP请求进行全部解析,得到解析内容;将解析内容替代HTTP请求,作为新的请求。
在另一种实施方式中,上述请求重写模块33还用于,将HTTP请求进行逐行解析;将解析后的内容逐行替代HTTP请求的对应部分,得到新的请求。
上述请求检测模块34还用于,判断重写后的请求与安全规则库中的恶意特征串是否匹配;如果是,则基于安全规则库的安全规则,阻断HTTP 请求;如果否,则基于安全规则库的安全规则,放行HTTP请求。
本实施方式所提供的装置,与前述方法实施方式具有相同的技术特征,其实现原理和前述实施方式相同,为简要描述,装置实施方式部分未提及之处,可参考前述方法实施方式中相应内容。
本发明实施例还提供一种电子设备,参见图4所示,该电子设备包括:处理器40,存储器41,总线42和通信接口43,所述处理器40、通信接口 43和存储器41通过总线42连接;处理器40用于执行存储器41中存储的可执行模块,例如计算机程序。处理器执行计算机程序时实现如方法实施例所述的方法的步骤。
其中,存储器41可能包含高速随机存取存储器(RAM, RandomAccessMemory),也可能还包括非易失性存储器 (non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口43(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线42可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器41用于存储程序,所述处理器40在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器40中,或者由处理器40实现。
处理器40可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器40中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器40可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器40读取存储器41中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的基于请求重写的恶意文件防御方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置及电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
附图中的流程图和框图显示了根据本发明的多个实施例方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (7)
1.一种基于请求重写的恶意文件防御方法,其特征在于,包括:
接收用户上传的HTTP请求;
判断所述HTTP请求是否为文件上传请求;
如果所述HTTP请求为文件上传请求,按照预设方式对所述HTTP请求进行重写;
判断所述重写后的请求与安全规则库中的恶意特征串是否匹配;
如果是,则基于所述安全规则库的安全规则,阻断所述HTTP请求;
如果否,则基于所述安全规则库的安全规则,放行所述HTTP请求;
按照预设方式对所述HTTP请求进行重写的步骤,包括:
按照所述预设方式对所述HTTP请求进行全部解析,得到解析内容;将所述解析内容替代所述HTTP请求,作为新的请求;
或者,将所述HTTP请求进行逐行解析;将解析后的内容逐行替代所述HTTP请求的对应部分,得到新的请求。
2.根据权利要求1所述的方法,其特征在于,判断所述HTTP请求是否为文件上传请求的步骤,包括:
从所述HTTP请求中提取请求方法;
判断所述请求方法中是否包括:POST或者PUT;
如果否,则判断所述HTTP请求不是文件上传请求;
如果是,则根据所述HTTP请求的请求头,判断所述HTTP请求是否为文件上传请求。
3.根据权利要求2所述的方法,其特征在于,根据所述HTTP请求的请求头,判断所述HTTP请求是否为文件上传请求的步骤,包括:
判断所述请求头中是否包括Content-Disposition字段;
如果否,则判断所述HTTP请求不是文件上传请求;
如果是,则从所述请求头中提取Content-Disposition字段的值;
判断所述Content-Disposition字段的值是否包括filename;
如果是,则判断所述HTTP请求为文件上传请求;
如果否,则判断所述HTTP请求不是文件上传请求。
4.根据权利要求1所述的方法,其特征在于,判断所述HTTP请求是否为文件上传请求之后,还包括:
如果所述HTTP请求不是文件上传请求,则将所述HTTP请求放到防御系统的安全规则库中进行检测。
5.一种基于请求重写的恶意文件防御装置,其特征在于,包括:
请求接收模块,用于接收用户上传的HTTP请求;
请求判断模块,用于判断所述HTTP请求是否为文件上传请求;
请求重写模块,用于在所述请求判断模块的判断结果为是时,按照预设方式对所述HTTP请求进行重写;
请求检测模块,判断所述重写后的请求与安全规则库中的恶意特征串是否匹配;如果是,则基于所述安全规则库的安全规则,阻断所述HTTP请求;如果否,则基于所述安全规则库的安全规则,放行所述HTTP请求;
所述请求重写模块,还用于:按照所述预设方式对所述HTTP请求进行全部解析,得到解析内容;将所述解析内容替代所述HTTP请求,作为新的请求;或者,将所述HTTP请求进行逐行解析;将解析后的内容逐行替代所述HTTP请求的对应部分,得到新的请求。
6.一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至4任一项所述的方法的步骤。
7.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811292653.6A CN109446810B (zh) | 2018-10-31 | 2018-10-31 | 基于请求重写的恶意文件防御方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811292653.6A CN109446810B (zh) | 2018-10-31 | 2018-10-31 | 基于请求重写的恶意文件防御方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109446810A CN109446810A (zh) | 2019-03-08 |
CN109446810B true CN109446810B (zh) | 2021-05-25 |
Family
ID=65549908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811292653.6A Active CN109446810B (zh) | 2018-10-31 | 2018-10-31 | 基于请求重写的恶意文件防御方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109446810B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113987521B (zh) * | 2021-12-28 | 2022-03-22 | 北京安华金和科技有限公司 | 一种数据库漏洞的扫描处理方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401863A (zh) * | 2013-07-30 | 2013-11-20 | 北京奇虎科技有限公司 | 一种基于云安全的网络数据流分析方法和装置 |
CN103701816A (zh) * | 2013-12-27 | 2014-04-02 | 北京奇虎科技有限公司 | 执行拒绝服务攻击的服务器的扫描方法和扫描装置 |
CN107370755A (zh) * | 2017-08-23 | 2017-11-21 | 杭州安恒信息技术有限公司 | 一种多维度深层次检测apt攻击的方法 |
CN108234453A (zh) * | 2017-12-12 | 2018-06-29 | 杭州安恒信息技术有限公司 | 一种基于规则的Java的web安全防御方法 |
-
2018
- 2018-10-31 CN CN201811292653.6A patent/CN109446810B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401863A (zh) * | 2013-07-30 | 2013-11-20 | 北京奇虎科技有限公司 | 一种基于云安全的网络数据流分析方法和装置 |
CN103701816A (zh) * | 2013-12-27 | 2014-04-02 | 北京奇虎科技有限公司 | 执行拒绝服务攻击的服务器的扫描方法和扫描装置 |
CN107370755A (zh) * | 2017-08-23 | 2017-11-21 | 杭州安恒信息技术有限公司 | 一种多维度深层次检测apt攻击的方法 |
CN108234453A (zh) * | 2017-12-12 | 2018-06-29 | 杭州安恒信息技术有限公司 | 一种基于规则的Java的web安全防御方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109446810A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8024804B2 (en) | Correlation engine for detecting network attacks and detection method | |
US10148689B2 (en) | Method and apparatus for monitoring malicious link injection into website source code | |
JP5382850B2 (ja) | クライアントサイド攻撃対抗フィッシング検出 | |
KR100862187B1 (ko) | 취약점 분석 및 공격방식 모델링을 이용한 네트워크기반의인터넷 웜 탐지 장치 및 그 방법 | |
JP2009527855A5 (zh) | ||
CN110808994B (zh) | 暴力破解操作的检测方法、装置及服务器 | |
CN111628990A (zh) | 识别攻击的方法、装置和服务器 | |
US10505986B1 (en) | Sensor based rules for responding to malicious activity | |
CN111835777B (zh) | 一种异常流量检测方法、装置、设备及介质 | |
CN107395650B (zh) | 基于沙箱检测文件识别木马回连方法及装置 | |
WO2019013266A1 (ja) | 判定装置、判定方法、および、判定プログラム | |
CN113055399A (zh) | 注入攻击的攻击成功检测方法、系统及相关装置 | |
CN108182360B (zh) | 一种风险识别方法及其设备、存储介质、电子设备 | |
CN109446810B (zh) | 基于请求重写的恶意文件防御方法、装置及电子设备 | |
CN109359467B (zh) | 针对未知勒索病毒的精准识别与全网联动防御方法和系统 | |
US10757118B2 (en) | Method of aiding the detection of infection of a terminal by malware | |
JP6623128B2 (ja) | ログ分析システム、ログ分析方法及びログ分析装置 | |
CN107844702B (zh) | 基于云防护环境下网站木马后门检测方法及装置 | |
US20210092130A1 (en) | Detecting malicious web pages by analyzing elements of hypertext markup language (html) files | |
US20160277430A1 (en) | System and method for detecting mobile cyber incident | |
CN115001789B (zh) | 一种失陷设备检测方法、装置、设备及介质 | |
CN107341396B (zh) | 入侵检测方法、装置及服务器 | |
CN114003907A (zh) | 恶意文件检测方法、装置、计算设备及存储介质 | |
CN106487771B (zh) | 网络行为的获取方法及装置 | |
CN114417349A (zh) | 攻击结果判定方法、装置、电子设备及存储介质 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310000 No. 188 Lianhui Street, Xixing Street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Anheng Information Technology Co.,Ltd. Address before: Zhejiang Zhongcai Building No. 68 Binjiang District road Hangzhou City, Zhejiang Province, the 310000 and 15 layer Applicant before: Hangzhou Anheng Information Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |