CN105528546B - 一种挖掘漏洞的方法、装置及电子设备 - Google Patents
一种挖掘漏洞的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN105528546B CN105528546B CN201510996365.9A CN201510996365A CN105528546B CN 105528546 B CN105528546 B CN 105528546B CN 201510996365 A CN201510996365 A CN 201510996365A CN 105528546 B CN105528546 B CN 105528546B
- Authority
- CN
- China
- Prior art keywords
- data
- fuzzy
- server
- run time
- script
- 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
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明的实施例公开一种挖掘漏洞的方法、装置及电子设备。方法包括:在服务器的数据接收接口注入预先设置的数据截获处理脚本;运行已注入的数据截获处理脚本,以使所述数据截获处理脚本截获发送至所述服务器的数据接收接口的数据;对截获的数据进行模糊处理,调用所述服务器的数据接收接口提交所述经模糊处理的数据;运行所述经模糊处理的数据,获取运行结果信息,并基于所述运行结果信息判断所述服务器是否存在漏洞。应用本发明,降低漏洞检测成本、提升漏洞挖掘效率。
Description
技术领域
本发明涉及计算机漏洞挖掘技术,尤其涉及一种挖掘漏洞的方法、装置及电子设备。
背景技术
随着计算机网络技术的高速发展,互联网络已逐渐成为人们工作生活中不可或缺的一部分。但由于互联网络应用环境的复杂性以及互联网络应用程序的多样性,电子设备中的应用程序容易受到电脑病毒、木马等网络漏洞攻击和威胁。其中,漏洞是指应用程序中存在的功能性或安全性逻辑缺陷,而利用漏洞挖掘技术,可以及时挖掘并修补应用程序中存在的漏洞或潜在漏洞,对保护互联网络用户的个人信息安全、财产安全有着积极的促进作用。
目前,在进行包含有网络协议的漏洞挖掘时,对于客户端中存在的漏洞,开发者可以通过将编辑的漏洞扫描检测代码设置在客户端,从而实现对客户端的漏洞扫描获取各应用程序中的漏洞,而对于服务器中存在的漏洞,需要构建包括客户端和服务器的漏洞挖掘系统,即采用双机远程连接的客户端/服务器(C/S,Client/Server)方式,通过在客户端构造包含预定格式并采用网络协议封装的模糊(Fuzzing)数据,提交至服务器,服务器运行接收的模糊数据,通过设置在服务器中的异常监控应用程序,监控服务器对本次接收的模糊数据处理是否产生异常,获取监控结果后,再通知客户端提交下一轮模糊数据,其中,通过分析服务器的监控结果,可以确定服务器是否存在漏洞,在存在漏洞的情形下,可以依据监控结果进行分析,形成应用程序补丁或对应用程序进行代码编辑以避免该漏洞。
但该漏洞挖掘方法,由于需要在客户端与服务器之间构建网络连接,并且需要在客户端中配置与服务器中相同的网络协议,使得检测服务器中的漏洞的成本较高,而如果网络连接出现故障或异常,将使得漏洞挖掘不能进行,导致漏洞挖掘效率较低。
发明内容
有鉴于此,本发明实施例提供一种挖掘漏洞的方法、装置及电子设备,降低漏洞检测成本、提升漏洞挖掘效率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供一种挖掘漏洞的方法,包括:
在服务器的数据接收接口注入预先设置的数据截获处理脚本;
运行已注入的数据截获处理脚本,以使所述数据截获处理脚本截获发送至所述服务器的数据接收接口的数据;
对截获的数据进行模糊处理,调用所述服务器的数据接收接口提交所述经模糊处理的数据;
运行所述经模糊处理的数据,获取运行结果信息,并基于所述运行结果信息判断所述服务器是否存在漏洞。
可选的,在服务器的数据接收接口注入预先设置的数据截获处理脚本之前,所述方法还包括:
获取操作系统的根权限;
调用Windows操作系统的SetWindowsHookEx接口,设置用于监测和处理数据接收进程操作的数据截获处理脚本。
可选的,所述在服务器的数据接收接口注入预先设置的数据截获处理脚本包括:
在所述服务器的数据接收接口对应的应用程序中写入预先设置的数据截获处理脚本中的监测及数据模糊处理模块,以在所述应用程序中增加所述监测及数据模糊处理模块;
监测到所述应用程序启动并配置进程,在配置的进程中启动写入在所述应用程序中的所述监测及数据模糊处理模块。
可选的,所述在所述服务器的数据接收接口对应的应用程序中写入预先设置的数据截获处理脚本中的监测及数据模糊处理模块包括:
将所述监测及数据模糊处理模块的内存变量对应的代码写入动态链接库中,利用操作系统中的windows钩子技术,将写入动态链接库中的内存变量代码映射到所述应用程序中。
可选的,所述对截获的数据进行模糊处理包括:
解析截获的数据的内容,得到解析的报文头以及报文体,依据所述解析的报文头判断客户端和服务器之间进行请求-响应时的方式:
如果所述客户端和服务器之间进行请求-响应时的方式为get方式,编辑报文体的统一资源定位符中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据;
如果所述客户端和服务器之间进行请求-响应时的方式为post方式,编辑报文体的包中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据。
可选的,所述对截获的数据进行模糊处理包括:
解析截获的数据的格式,得到数据块,调用预先设置的模糊配置数据,对所述数据块进行模糊配置,生成针对每一模糊配置的多个模糊数据。
可选的,所述运行所述经模糊处理的数据,获取运行结果信息包括:
按照预先设置的时间周期数,获取各进程分别在各时间周期内的进程运行时间;
统计各进程在每一时间周期内的进程运行时间的总和,得到总进程运行时间;
提取运行所述经模糊处理的数据的目标进程在每一时间周期内的目标进程运行时间,计算所述目标进程运行时间在所述总进程运行时间的占比;
统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标进程在所述时间周期数内的运行信息。
可选的,所述按照预先设置的时间周期数,获取各进程分别在各时间周期内的进程运行时间包括:
设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触发调用预先设置的进程运行时间获取函数;
所述进程运行时间获取函数遍历操作系统记录的进程列表,获取各进程分别在所述时间周期内的进程运行时间信息;
所述计数器对所述定时器的触发次数进行计数,在计数达到预先设置的时间周期数后,通知所述进程运行时间获取函数将获取的所述进程运行时间信息打包输出,并对计数值进行清零处理。
可选的,所述方法还包括:
结束所述经模糊处理的数据的运行;
判断当前运行的所述经模糊处理的数据是否为最后一模糊数据,如果是,结束所述目标进程;如果不是,在所述目标进程中运行下一模糊数据。
第二方面,本发明实施例提供一种挖掘漏洞的装置,包括:注入模块、数据截获模块、模糊处理模块以及漏洞分析模块,其中,
注入模块,用于在服务器的数据接收接口注入预先设置的数据截获处理脚本;
数据截获模块,用于运行已注入的数据截获处理脚本,以使所述数据截获处理脚本截获发送至所述服务器的数据接收接口的数据;
模糊处理模块,用于对截获的数据进行模糊处理,调用所述服务器的数据接收接口提交所述经模糊处理的数据;
漏洞分析模块,用于运行所述经模糊处理的数据,获取运行结果信息,并基于所述运行结果信息判断所述服务器是否存在漏洞。
可选的,所述装置还包括:权限获取模块以及脚本设置模块,其中,
权限获取模块,用于获取操作系统的根权限;
脚本设置模块,用于调用Windows操作系统的SetWindowsHookEx接口,设置用于监测和处理数据接收进程操作的数据截获处理脚本。
可选的,所述注入模块包括:脚本写入单元以及脚本启动单元,其中,
脚本写入单元,用于在所述服务器的数据接收接口对应的应用程序中写入预先设置的数据截获处理脚本中的监测及数据模糊处理模块,以在所述应用程序中增加所述监测及数据模糊处理模块;
脚本启动单元,用于在监测到所述应用程序启动并配置进程后,在配置的进程中启动写入在所述应用程序中的所述监测及数据模糊处理模块。
可选的,所述脚本写入单元包括:写入子单元以及映射子单元,其中,
写入子单元,用于将所述监测及数据模糊处理模块的内存变量对应的代码写入动态链接库中;
映射子单元,用于利用操作系统中的windows钩子技术,将写入动态链接库中的内存变量代码映射到所述应用程序中。
可选的,所述模糊处理模块包括:内容解析单元、请求响应判断单元、第一编辑单元、第二编辑单元以及调用单元,其中,
内容解析单元,用于解析截获的数据的内容,得到解析的报文头以及报文体;
请求响应判断单元,用于依据所述解析的报文头判断客户端和服务器之间进行请求-响应时的方式:如果所述客户端和服务器之间进行请求-响应时的方式为get方式,通知第一编辑单元;如果所述客户端和服务器之间进行请求-响应时的方式为post方式,通知第二编辑单元;
第一编辑单元,用于编辑报文体的统一资源定位符中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据,输出至调用单元;
第二编辑单元,用于编辑报文体的包中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据,输出至调用单元;
调用单元,用于调用所述服务器的数据接收接口,提交接收的数据。
可选的,所述模糊处理模块包括:格式解析单元、模糊配置单元以及数据调用单元,其中,
格式解析单元,用于解析截获的数据的格式,得到数据块;
模糊配置单元,用于调用预先设置的模糊配置数据,对所述数据块进行模糊配置,生成针对每一模糊配置的多个模糊数据;
数据调用单元,用于调用所述服务器的数据接收接口,提交模糊配置单元生成的模糊数据。
可选的,所述漏洞分析模块包括:进程运行时间获取单元、总进程运行时间计算单元、占比计算单元、运行信息导出单元以及漏洞分析单元,其中,
进程运行时间获取单元,用于按照预先设置的时间周期数,获取各进程分别在各时间周期内的进程运行时间;
总进程运行时间计算单元,用于统计各进程在每一时间周期内的进程运行时间的总和,得到总进程运行时间;
占比计算单元,用于提取运行所述经模糊处理的数据的目标进程在每一时间周期内的目标进程运行时间,计算所述目标进程运行时间在所述总进程运行时间的占比;
运行信息导出单元,用于统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标进程在所述时间周期数内的运行信息;
漏洞分析单元,用于基于所述运行结果信息判断所述服务器是否存在漏洞。
可选的,所述进程运行时间获取单元包括:参数设置子单元、进程运行时间获取子单元以及计数处理子单元,其中,
参数设置子单元,用于设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触发调用预先设置的进程运行时间获取函数;
进程运行时间获取子单元,用于通过所述进程运行时间获取函数遍历操作系统记录的进程列表,获取各进程分别在所述时间周期内的进程运行时间信息;
计数处理子单元,用于利用所述计数器对所述定时器的触发次数进行计数,在计数达到预先设置的时间周期数后,通知所述进程运行时间获取函数将获取的所述进程运行时间信息打包输出,并对计数值进行清零处理。
可选的,所述装置还包括:
异常处理模块,用于结束所述经模糊处理的数据的运行;
判断当前运行的所述经模糊处理的数据是否为最后一模糊数据,如果是,结束所述目标进程;如果不是,在所述目标进程中运行下一模糊数据。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一所述的挖掘漏洞的方法。
本发明实施例提供的挖掘漏洞的方法、装置及电子设备,在服务器的数据接收接口注入预先设置的数据截获处理脚本;运行已注入的数据截获处理脚本,以使所述数据截获处理脚本截获发送至所述服务器的数据接收接口的数据;对截获的数据进行模糊处理,调用所述服务器的数据接收接口提交所述经模糊处理的数据;运行所述经模糊处理的数据,获取运行结果信息,并基于所述运行结果信息判断所述服务器是否存在漏洞。这样,通过截获发送至服务器的数据接收接口的数据,进行模糊处理后输入服务器,发送至服务器的数据接收接口的数据可以通过外接存储设备实现,从而避免构建服务器与客户端之间的网络连接,降低了检测服务器中漏洞的成本;同时也避免了网络连接出现故障或异常使得漏洞挖掘不能进行的缺陷,提升了漏洞挖掘效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例挖掘漏洞的方法流程示意图;
图2为本发明实施例运行所述经模糊处理的数据,获取运行结果信息的流程示意图;
图3为本发明实施例挖掘漏洞的装置结构示意图;
图4为本发明实施例的漏洞分析模块结构示意图;
图5为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例挖掘漏洞的方法流程示意图。参见图1,该方法包括:
步骤11,在服务器的数据接收接口注入预先设置的数据截获处理脚本;
本步骤中,在服务器的数据接收接口(例如,recv接口)注入预先设置的数据截获处理脚本,是为了使注入的数据截获处理脚本能够监测并截获从外部发送至服务器的的数据接收接口的数据以进行后续处理,使接收的数据暂缓通过数据接收接口发送至服务器进行相应处理。其中,数据截获处理脚本为根据本发明实施例的漏洞挖掘方法编写的程序代码段,其中,程序代码段可以采用超级文本预处理语言(PHP,Hypertext Preprocessor)、C、C++、Linux等语言进行编写,关于依据本发明实施例方法编写程序代码段为公知技术,在此略去详述。
由于不同的用户,对操作系统进行操作的权限可能不同,每一操作权限对应一可操作的应用程序组。本发明实施例中,考虑到不同的操作权限虽然将用户对操作系统的操作限制在相应的操作权限内,但由于各操作权限之间并不相互独立,都依赖于同样的指令完成权限操作。因而,可以利用提升权限(Adjust Token Privilege),例如,钩子(Hook)的方法提升用户访问的操作权限,其中,提升权限是指程序员或相关技术人员利用各种操作系统漏洞,突破操作系统指派的操作权限级别,将自己当前的操作权限提高一个或多个级别,从而使程序员或相关技术人员获取更多对操作系统进行操作的权限,例如,通过提升权限的方法,可以使程序员或相关技术人员获取原先未曾拥有的对系统文件的删、增、加载、改等权限,例如,通过提升权限的方法,可以使得用户获取注入脚本的权限。
所应说明的是,本发明实施例中,所述的注入是指将预先编写的脚本、模块或应用程序,通过远程注入或其他方案,映射进其它应用程序或接口的地址空间,使得用户可以拥有操作其他应用程序或接口的高级权限。本发明实施例中的注入仅是示例性的,本领域普通技术人员可以采用其他的技术来完成注入流程,例如,在操作系统启动后,调用SetWindowsHookEx接口向Windows操作系统注册本发明实施例的数据截获处理脚本,用于在数据接收接口监测和处理数据接口进程操作事例,本发明实施例不再一一例举。
本步骤中,数据截获处理脚本是Windows操作系统中用于监测和处理进程操作的钩子程序。通过在数据接收接口中设置数据截获处理脚本,可以使得数据截获处理脚本获取处理发送至数据接收接口的数据的优先处理权。因而,作为一可选实施例,在服务器的数据接收接口注入预先设置的数据截获处理脚本之前,该方法还可以包括:
获取操作系统的根(Root)权限;
调用Windows操作系统的SetWindowsHookEx接口,设置用于监测和处理数据接收进程操作的数据截获处理脚本。
本步骤中,通过预先获取操作系统的Root权限,从而可以实现提升权限。其中,Root是Linux操作系统、Windows操作系统和Unix操作系统中的超级管理员用户账户,如果获得Root权限,表示已经获取操作系统的最高权限。这样,可以对操作系统中的任何文件(包括操作系统文件)执行增、删、改、查等操作。
本发明实施例中,作为一可选实施例,在服务器的数据接收接口注入预先设置的数据截获处理脚本包括:
在所述服务器的数据接收接口对应的应用程序中写入预先设置的数据截获处理脚本中的监测及数据模糊处理模块,以在所述应用程序中增加所述监测及数据模糊处理模块;
监测到所述应用程序启动并配置进程,在配置的进程中启动写入在所述应用程序中的所述监测及数据模糊处理模块。
本步骤中,作为一可选实施例,在所述服务器的数据接收接口对应的应用程序中写入预先设置的数据截获处理脚本中的监测及数据模糊处理模块包括:
将所述监测及数据模糊处理模块的内存变量对应的代码写入动态链接库中,利用操作系统中的windows钩子技术,将写入动态链接库中的内存变量代码映射到所述应用程序中。
步骤12,运行已注入的数据截获处理脚本,以使所述数据截获处理脚本截获发送至所述服务器的数据接收接口的数据;
本步骤中,在外部数据发送至服务器的数据接收接口后,数据截获处理脚本截获该数据,即优先对数据进行处理后,才交由数据接收接口发送至服务器。其中,外部数据可以是客户端发送至服务器的数据,也可以是在服务器中设置并发送至自身的数据。
步骤13,对截获的数据进行模糊处理,调用所述服务器的数据接收接口提交所述经模糊处理的数据;
本步骤中,作为一可选实施例,对截获的数据进行模糊处理包括:
解析截获的数据的内容,得到解析的报文头以及报文体,依据所述解析的报文头判断客户端和服务器之间进行请求-响应时的方式:
如果所述客户端和服务器之间进行请求-响应时的方式为get方式,编辑报文体的统一资源定位符中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据;
如果所述客户端和服务器之间进行请求-响应时的方式为post方式,编辑报文体的包中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据。
本步骤中,客户端和服务器之间进行请求-响应时的方式包括:get方式以及post方式,其中,get方式用于从指定的资源(例如,服务器)请求数据,post方式用于向指定的资源提交要被处理的数据。
本发明实施例中,作为一可选实施例,报文体包括:统一资源定位符(URL,UniformResource Locator)以及包,对于get方式,请求参数以及请求参数对应的请求参数值包含在统一资源定位符中;对于post方式,请求参数以及请求参数对应的请求参数值包含在包中。
本发明实施例中,通过依据预先设置的策略修改请求参数值,可以为服务器自动生成数量众多的输入数据。
作为另一可选实施例,对截获的数据进行模糊处理包括:
解析截获的数据的格式,得到数据块,调用预先设置的模糊配置数据,对所述数据块进行模糊配置,生成针对每一模糊配置的多个模糊数据。
本步骤中,作为一可选实施例,利用模糊配置数据(Fuzzing-Data)生成器生成模糊配置数据。其中,模糊配置数据生成器利用模糊技术生成数据,可以向目标应用程序提供预先构造的无效的、非预期或者是随机的模糊配置数据,用于对目标内容进行模糊处理,得到用于进行漏洞挖掘的模糊数据,从而可以得到批量的包含各漏洞挖掘目标的模糊数据。
本发明实施例中,模糊技术(Fuzzing)是一种基于缺陷注入的自动测试技术,通过设置模糊配置数据,用以向目标应用程序提供依据模糊配置数据进行填充的预定形式的模糊入数据,并通过日志方式记录目标应用程序运行模糊数据的响应,以挖掘目标应用程序中的潜在漏洞。
作为一可选实施例,模糊配置数据生成器基于格式分析和目标应用程序解析相结合的方法生成模糊配置数据。关于利用模糊配置数据生成器生成模糊配置数据为公知技术,在此略去详述。
作为一可选实施例,模糊配置数据的格式采用偏移-长度-数据类型(pos-len-data)格式。
本发明实施例中,通过解析截获的数据的格式,识别出该截获的数据包含的一个或多个数据块。
作为一可选实施例,对应于模糊配置数据,每一数据块也采用偏移-长度-数据类型(pos-len-data)三元组的形式来表示。然后,针对每一数据块进行模糊(Fuzz)配置处理,生成相应的模糊数据,即经模糊处理的数据。
步骤14,运行所述经模糊处理的数据,获取运行结果信息,并基于所述运行结果信息判断所述服务器是否存在漏洞。
本步骤中,作为一可选实施例,图2为本发明实施例运行所述经模糊处理的数据,获取运行结果信息的流程示意图。参见图2,该流程包括:
步骤21,按照预先设置的时间周期数,获取各进程分别在各时间周期内的进程运行时间;
本步骤中,按照预先设置的时间周期数,获取各进程分别在各时间周期内的进程运行时间包括:
设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触发调用预先设置的进程运行时间获取函数;
所述进程运行时间获取函数遍历操作系统记录的进程列表,获取各进程分别在所述时间周期内的进程运行时间信息;
所述计数器对所述定时器的触发次数进行计数,在计数达到预先设置的时间周期数后,通知所述进程运行时间获取函数将获取的所述进程运行时间信息打包输出,并对计数值进行清零处理。
步骤22,统计各进程在每一时间周期内的进程运行时间的总和,得到总进程运行时间;
步骤23,提取运行所述经模糊处理的数据的目标进程在每一时间周期内的目标进程运行时间,计算所述目标进程运行时间在所述总进程运行时间的占比;
步骤24,统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标进程在所述时间周期数内的运行信息。
本发明实施例中,作为一可选实施例,在导出所述目标进程在所述时间周期数内的运行信息之后,该方法还可以包括:
结束所述经模糊处理的数据的运行;
判断当前运行的所述经模糊处理的数据是否为最后一模糊数据,如果是,结束所述目标进程;如果不是,在所述目标进程中运行下一模糊数据。
本发明实施例中,通过在服务器的数据接收接口注入预先设置的数据截获处理脚本;运行已注入的数据截获处理脚本,以使数据截获处理脚本截获发送至所述服务器的数据接收接口的数据;对截获的数据进行模糊处理,调用所述服务器的数据接收接口,将经模糊处理的数据提交至所述服务器;运行所述经模糊处理的数据,获取运行结果信息,并基于所述运行结果信息判断所述服务器是否存在漏洞。这样,通过截获发送至服务器的数据接收接口的数据,进行模糊处理后输入服务器,发送至服务器的数据接收接口的数据可以通过外接存储设备实现,例如,U盘,从而避免构建服务器与客户端之间的网络连接,降低了检测服务器中漏洞的成本;也避免了网络连接出现故障或异常使得漏洞挖掘不能进行的缺陷,提升了漏洞挖掘效率。进一步地,对截获的数据自动利用模糊技术生成多个模糊数据作为服务器的输入,可以有效缩短服务器漏洞扫描所需的时间,从而提升漏洞扫描效率。
图3为本发明实施例挖掘漏洞的装置结构示意图。参见图3,该装置包括:注入模块31、数据截获模块32、模糊处理模块33以及漏洞分析模块34,其中,
注入模块31,用于在服务器的数据接收接口注入预先设置的数据截获处理脚本;
本发明实施例中,在服务器的数据接收接口(例如,recv接口)注入预先设置的数据截获处理脚本。作为一可选实施例,注入模块31包括:脚本写入单元以及脚本启动单元(图中未示出),其中,
脚本写入单元,用于在所述服务器的数据接收接口对应的应用程序中写入预先设置的数据截获处理脚本中的监测及数据模糊处理模块,以在所述应用程序中增加所述监测及数据模糊处理模块;
本发明实施例中,程序代码段可以采用超级文本预处理语言、C、C++、Linux等语言进行编写。作为一可选实施例,脚本写入单元包括:写入子单元以及映射子单元,其中,
写入子单元,用于将所述监测及数据模糊处理模块的内存变量对应的代码写入动态链接库中;
映射子单元,用于利用操作系统中的windows钩子技术,将写入动态链接库中的内存变量代码映射到所述应用程序中。
脚本启动单元,用于在监测到所述应用程序启动并配置进程后,在配置的进程中启动写入在所述应用程序中的所述监测及数据模糊处理模块。
数据截获模块32,用于运行已注入的数据截获处理脚本,以使所述数据截获处理脚本截获发送至所述服务器的数据接收接口的数据;
本发明实施例中,在外部数据发送至服务器的数据接收接口后,数据截获处理脚本截获该数据,即优先对数据进行处理后,才交由数据接收接口发送至服务器。其中,外部数据可以是客户端发送至服务器的数据,也可以是在服务器中设置并发送至自身的数据。
模糊处理模块33,用于对截获的数据进行模糊处理,调用所述服务器的数据接收接口提交所述经模糊处理的数据;
本发明实施例中,作为一可选实施例,模糊处理模块33包括:内容解析单元、请求响应判断单元、第一编辑单元、第二编辑单元以及调用单元(图中未示出),其中,
内容解析单元,用于解析截获的数据的内容,得到解析的报文头以及报文体;
请求响应判断单元,用于依据所述解析的报文头判断客户端和服务器之间进行请求-响应时的方式:如果所述客户端和服务器之间进行请求-响应时的方式为get方式,通知第一编辑单元;如果所述客户端和服务器之间进行请求-响应时的方式为post方式,通知第二编辑单元;
第一编辑单元,用于编辑报文体的统一资源定位符中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据,输出至调用单元;
第二编辑单元,用于编辑报文体的包中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据,输出至调用单元;
调用单元,用于调用所述服务器的数据接收接口,提交接收的数据。
作为另一可选实施例,模糊处理模块33包括:格式解析单元、模糊配置单元以及数据调用单元,其中,
格式解析单元,用于解析截获的数据的格式,得到数据块;
模糊配置单元,用于调用预先设置的模糊配置数据,对所述数据块进行模糊配置,生成针对每一模糊配置的多个模糊数据;
本发明实施例中,利用模糊配置数据生成器生成模糊配置数据。作为一可选实施例,模糊配置数据生成器基于格式分析和目标应用程序解析相结合的方法生成模糊配置数据,模糊配置数据的格式采用偏移-长度-数据类型格式。
数据调用单元,用于调用所述服务器的数据接收接口,提交模糊配置单元生成的模糊数据。
漏洞分析模块34,用于运行所述经模糊处理的数据,获取运行结果信息,并基于所述运行结果信息判断所述服务器是否存在漏洞。
本发明实施例中,作为一可选实施例,图4为本发明实施例的漏洞分析模块结构示意图。参见图4,该漏洞分析模块包括:进程运行时间获取单元41、总进程运行时间计算单元42、占比计算单元43、运行信息导出单元44以及漏洞分析单元45,其中,
进程运行时间获取单元41,用于按照预先设置的时间周期数,获取各进程分别在各时间周期内的进程运行时间;
本发明实施例中,作为一可选实施例,进程运行时间获取单元包括:参数设置子单元、进程运行时间获取子单元以及计数处理子单元(图中未示出),其中,
参数设置子单元,用于设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触发调用预先设置的进程运行时间获取函数;
进程运行时间获取子单元,用于通过所述进程运行时间获取函数遍历操作系统记录的进程列表,获取各进程分别在所述时间周期内的进程运行时间信息;
计数处理子单元,用于利用所述计数器对所述定时器的触发次数进行计数,在计数达到预先设置的时间周期数后,通知所述进程运行时间获取函数将获取的所述进程运行时间信息打包输出,并对计数值进行清零处理。
总进程运行时间计算单元42,用于统计各进程在每一时间周期内的进程运行时间的总和,得到总进程运行时间;
占比计算单元43,用于提取运行所述经模糊处理的数据的目标进程在每一时间周期内的目标进程运行时间,计算所述目标进程运行时间在所述总进程运行时间的占比;
运行信息导出单元44,用于统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标进程在所述时间周期数内的运行信息;
漏洞分析单元45,用于基于所述运行结果信息判断所述服务器是否存在漏洞。
本发明实施例中,作为一可选实施例,该装置还可以包括:权限获取模块35以及脚本设置模块36,其中,
权限获取模块35,用于获取操作系统的根权限;
脚本设置模块36,用于调用Windows操作系统的SetWindowsHookEx接口,设置用于监测和处理数据接收进程操作的数据截获处理脚本。
作为另一可选实施例,该装置还可以包括:
异常处理模块37,用于结束所述经模糊处理的数据的运行;
判断当前运行的所述经模糊处理的数据是否为最后一模糊数据,如果是,结束所述目标进程;如果不是,在所述目标进程中运行下一模糊数据。
本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。
图5为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-4所示实施例的流程,如图5所示,上述电子设备可以包括:壳体51、处理器52、存储器53、电路板54和电源电路55,其中,电路板54安置在壳体51围成的空间内部,处理器52和存储器53设置在电路板54上;电源电路55,用于为上述电子设备的各个电路或器件供电;存储器53用于存储可执行程序代码;处理器52通过读取存储器53中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的挖掘漏洞的方法。
处理器52对上述步骤的具体执行过程以及处理器52通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-4所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (19)
1.一种挖掘漏洞的方法,其特征在于,该方法包括:
在服务器的数据接收接口注入预先设置的数据截获处理脚本;
运行已注入的数据截获处理脚本,以使所述数据截获处理脚本截获发送至所述服务器的数据接收接口的数据;
对截获的数据进行模糊处理,调用所述服务器的数据接收接口提交经模糊处理的数据;
运行所述经模糊处理的数据,获取运行结果信息,并基于所述运行结果信息判断所述服务器是否存在漏洞。
2.根据权利要求1所述的方法,其特征在于,在服务器的数据接收接口注入预先设置的数据截获处理脚本之前,所述方法还包括:
获取操作系统的根权限;
调用Windows操作系统的SetWindowsHookEx接口,设置用于监测和处理数据接收进程操作的数据截获处理脚本。
3.根据权利要求2所述的方法,其特征在于,所述在服务器的数据接收接口注入预先设置的数据截获处理脚本包括:
在所述服务器的数据接收接口对应的应用程序中写入预先设置的数据截获处理脚本中的监测及数据模糊处理模块,以在所述应用程序中增加所述监测及数据模糊处理模块;
监测到所述应用程序启动并配置进程,在配置的进程中启动写入在所述应用程序中的所述监测及数据模糊处理模块。
4.根据权利要求3所述的方法,其特征在于,所述在所述服务器的数据接收接口对应的应用程序中写入预先设置的数据截获处理脚本中的监测及数据模糊处理模块包括:
将所述监测及数据模糊处理模块的内存变量对应的代码写入动态链接库中,利用操作系统中的windows钩子技术,将写入动态链接库中的内存变量代码映射到所述应用程序中。
5.根据权利要求1所述的方法,其特征在于,所述对截获的数据进行模糊处理包括:
解析截获的数据的内容,得到解析的报文头以及报文体,依据所述解析的报文头判断客户端和服务器之间进行请求-响应时的方式:
如果所述客户端和服务器之间进行请求-响应时的方式为get方式,编辑报文体的统一资源定位符中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据;
如果所述客户端和服务器之间进行请求-响应时的方式为post方式,编辑报文体的包中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据。
6.根据权利要求1所述的方法,其特征在于,所述对截获的数据进行模糊处理包括:
解析截获的数据的格式,得到数据块,调用预先设置的模糊配置数据,对所述数据块进行模糊配置,生成针对每一模糊配置的多个模糊数据。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述运行所述经模糊处理的数据,获取运行结果信息包括:
按照预先设置的时间周期数,获取各进程分别在各时间周期内的进程运行时间;
统计各进程在每一时间周期内的进程运行时间的总和,得到总进程运行时间;
提取运行所述经模糊处理的数据的目标进程在每一时间周期内的目标进程运行时间,计算所述目标进程运行时间在所述总进程运行时间的占比;
统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标进程在所述时间周期数内的运行信息。
8.根据权利要求7所述的方法,其特征在于,所述按照预先设置的时间周期数,获取各进程分别在各时间周期内的进程运行时间包括:
设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触发调用预先设置的进程运行时间获取函数;
所述进程运行时间获取函数遍历操作系统记录的进程列表,获取各进程分别在所述时间周期内的进程运行时间信息;
所述计数器对所述定时器的触发次数进行计数,在计数达到预先设置的时间周期数后,通知所述进程运行时间获取函数将获取的所述进程运行时间信息打包输出,并对计数值进行清零处理。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
结束所述经模糊处理的数据的运行;
判断当前运行的所述经模糊处理的数据是否为最后一模糊数据,如果是,结束所述目标进程;如果不是,在所述目标进程中运行下一模糊数据。
10.一种挖掘漏洞的装置,其特征在于,该装置包括:注入模块、数据截获模块、模糊处理模块以及漏洞分析模块,其中,
注入模块,用于在服务器的数据接收接口注入预先设置的数据截获处理脚本;
数据截获模块,用于运行已注入的数据截获处理脚本,以使所述数据截获处理脚本截获发送至所述服务器的数据接收接口的数据;
模糊处理模块,用于对截获的数据进行模糊处理,调用所述服务器的数据接收接口提交经模糊处理的数据;
漏洞分析模块,用于运行所述经模糊处理的数据,获取运行结果信息,并基于所述运行结果信息判断所述服务器是否存在漏洞。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:权限获取模块以及脚本设置模块,其中,
权限获取模块,用于获取操作系统的根权限;
脚本设置模块,用于调用Windows操作系统的SetWindowsHookEx接口,设置用于监测和处理数据接收进程操作的数据截获处理脚本。
12.根据权利要求11所述的装置,其特征在于,所述注入模块包括:脚本写入单元以及脚本启动单元,其中,
脚本写入单元,用于在所述服务器的数据接收接口对应的应用程序中写入预先设置的数据截获处理脚本中的监测及数据模糊处理模块,以在所述应用程序中增加所述监测及数据模糊处理模块;
脚本启动单元,用于在监测到所述应用程序启动并配置进程后,在配置的进程中启动写入在所述应用程序中的所述监测及数据模糊处理模块。
13.根据权利要求12所述的装置,其特征在于,所述脚本写入单元包括:写入子单元以及映射子单元,其中,
写入子单元,用于将所述监测及数据模糊处理模块的内存变量对应的代码写入动态链接库中;
映射子单元,用于利用操作系统中的windows钩子技术,将写入动态链接库中的内存变量代码映射到所述应用程序中。
14.根据权利要求10所述的装置,其特征在于,所述模糊处理模块包括:内容解析单元、请求响应判断单元、第一编辑单元、第二编辑单元以及调用单元,其中,
内容解析单元,用于解析截获的数据的内容,得到解析的报文头以及报文体;
请求响应判断单元,用于依据所述解析的报文头判断客户端和服务器之间进行请求-响应时的方式:如果所述客户端和服务器之间进行请求-响应时的方式为get方式,通知第一编辑单元;如果所述客户端和服务器之间进行请求-响应时的方式为post方式,通知第二编辑单元;
第一编辑单元,用于编辑报文体的统一资源定位符中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据,输出至调用单元;
第二编辑单元,用于编辑报文体的包中的请求参数值,每一对应修改的请求参数值对应一经模糊处理的数据,输出至调用单元;
调用单元,用于调用所述服务器的数据接收接口,提交接收的数据。
15.根据权利要求10所述的装置,其特征在于,所述模糊处理模块包括:格式解析单元、模糊配置单元以及数据调用单元,其中,
格式解析单元,用于解析截获的数据的格式,得到数据块;
模糊配置单元,用于调用预先设置的模糊配置数据,对所述数据块进行模糊配置,生成针对每一模糊配置的多个模糊数据;
数据调用单元,用于调用所述服务器的数据接收接口,提交模糊配置单元生成的模糊数据。
16.根据权利要求10至15任一项所述的装置,其特征在于,所述漏洞分析模块包括:进程运行时间获取单元、总进程运行时间计算单元、占比计算单元、运行信息导出单元以及漏洞分析单元,其中,
进程运行时间获取单元,用于按照预先设置的时间周期数,获取各进程分别在各时间周期内的进程运行时间;
总进程运行时间计算单元,用于统计各进程在每一时间周期内的进程运行时间的总和,得到总进程运行时间;
占比计算单元,用于提取运行所述经模糊处理的数据的目标进程在每一时间周期内的目标进程运行时间,计算所述目标进程运行时间在所述总进程运行时间的占比;
运行信息导出单元,用于统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标进程在所述时间周期数内的运行信息;
漏洞分析单元,用于基于所述运行结果信息判断所述服务器是否存在漏洞。
17.根据权利要求16所述的装置,其特征在于,所述进程运行时间获取单元包括:参数设置子单元、进程运行时间获取子单元以及计数处理子单元,其中,
参数设置子单元,用于设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触发调用预先设置的进程运行时间获取函数‘
进程运行时间获取子单元,用于通过所述进程运行时间获取函数遍历操作系统记录的进程列表,获取各进程分别在所述时间周期内的进程运行时间信息;
计数处理子单元,用于利用所述计数器对所述定时器的触发次数进行计数,在计数达到预先设置的时间周期数后,通知所述进程运行时间获取函数将获取的所述进程运行时间信息打包输出,并对计数值进行清零处理。
18.根据权利要求16所述的装置,其特征在于,所述装置还包括:
异常处理模块,用于结束所述经模糊处理的数据的运行;
判断当前运行的所述经模糊处理的数据是否为最后一模糊数据,如果是,结束所述目标进程;如果不是,在所述目标进程中运行下一模糊数据。
19.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一权利要求1-9所述的挖掘漏洞的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510996365.9A CN105528546B (zh) | 2015-12-25 | 2015-12-25 | 一种挖掘漏洞的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510996365.9A CN105528546B (zh) | 2015-12-25 | 2015-12-25 | 一种挖掘漏洞的方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105528546A CN105528546A (zh) | 2016-04-27 |
CN105528546B true CN105528546B (zh) | 2018-09-25 |
Family
ID=55770766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510996365.9A Active CN105528546B (zh) | 2015-12-25 | 2015-12-25 | 一种挖掘漏洞的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105528546B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107515820B (zh) * | 2016-06-17 | 2021-02-05 | 阿里巴巴集团控股有限公司 | 服务器监测方法及装置、检测服务器 |
CN106326113B (zh) * | 2016-08-16 | 2018-10-23 | 腾讯科技(深圳)有限公司 | 一种游戏数据监控方法和装置 |
CN106294166B (zh) * | 2016-08-16 | 2018-07-06 | 腾讯科技(深圳)有限公司 | 一种游戏数据监控方法和装置 |
CN110471830B (zh) * | 2018-05-10 | 2022-06-21 | 武汉斗鱼网络科技有限公司 | 一种程序测试方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101588247A (zh) * | 2008-05-22 | 2009-11-25 | 吉市有限公司 | 用于检测服务器的漏洞的系统和方法 |
CN104834588A (zh) * | 2014-02-11 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 检测常驻式跨站脚本漏洞的方法和装置 |
-
2015
- 2015-12-25 CN CN201510996365.9A patent/CN105528546B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101588247A (zh) * | 2008-05-22 | 2009-11-25 | 吉市有限公司 | 用于检测服务器的漏洞的系统和方法 |
CN104834588A (zh) * | 2014-02-11 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 检测常驻式跨站脚本漏洞的方法和装置 |
Non-Patent Citations (2)
Title |
---|
Web服务器的安全漏洞和攻击防范;严双林;《计算机与网络》;20050912;全文 * |
基于DNS服务器漏洞攻击的防范;厉阳春;《咸宁学院学报》;20101215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105528546A (zh) | 2016-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104268055B (zh) | 一种程序异常的监控方法和装置 | |
CN105528546B (zh) | 一种挖掘漏洞的方法、装置及电子设备 | |
CN105956474B (zh) | Android平台软件异常行为检测系统 | |
CN106294102B (zh) | 应用程序的测试方法、客户端、服务器及系统 | |
CN105590063B (zh) | 一种挖掘漏洞的方法、装置及电子设备 | |
KR100962532B1 (ko) | 부하 테스트를 위한 패킷의 부하 재생성 시스템 및 그 방법 | |
CN105512045B (zh) | 一种应用程序的测试方法、装置及测试设备 | |
CN104392177A (zh) | 基于安卓平台的病毒取证系统及其方法 | |
EP2479698A1 (en) | Systems and methods for detecting fraud associated with systems application processing | |
CN103971056B (zh) | 一种防止操作系统中应用程序被卸载的方法和装置 | |
CN104281520A (zh) | 跟踪和调试的方法、装置及系统 | |
CN105844146B (zh) | 一种保护驱动程序的方法、装置及电子设备 | |
CN106202722B (zh) | 大型电网信息物理实时仿真平台 | |
CN107096220A (zh) | 一种客户端外挂检测与自动封停的系统和方法 | |
CN110716872B (zh) | 电能计量自动化设备的漏洞挖掘系统及方法 | |
Merlo et al. | Measuring and estimating power consumption in android to support energy-based intrusion detection | |
CN104156481A (zh) | 基于动态链接库注入的Android加密通信检测装置和方法 | |
CN107315952A (zh) | 用于确定应用程序可疑行为的方法和装置 | |
CN107426231A (zh) | 一种识别用户行为的方法及装置 | |
CN114327803A (zh) | 区块链访问机器学习模型的方法、装置、设备和介质 | |
CN106330599A (zh) | Android应用程序网络流量多线程采集系统及方法 | |
CN108964993A (zh) | 基于动态代理的故障模拟方法、装置、设备及可读存储介质 | |
CN108337266A (zh) | 一种高效的协议客户端漏洞发掘方法与系统 | |
CN107168844B (zh) | 一种性能监控的方法及装置 | |
Tabrizi et al. | A model-based intrusion detection system for smart meters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190117 Address after: 519031 Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Patentee after: Zhuhai Leopard Technology Co.,Ltd. Address before: 100085 East District, Second Floor, 33 Xiaoying West Road, Haidian District, Beijing Patentee before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd. |