CN111385249B - 一种脆弱性检测方法 - Google Patents
一种脆弱性检测方法 Download PDFInfo
- Publication number
- CN111385249B CN111385249B CN201811622270.0A CN201811622270A CN111385249B CN 111385249 B CN111385249 B CN 111385249B CN 201811622270 A CN201811622270 A CN 201811622270A CN 111385249 B CN111385249 B CN 111385249B
- Authority
- CN
- China
- Prior art keywords
- script
- test
- task
- protocol
- entering
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种脆弱性检测方法,所述方法包括:步骤S1:验证报文是否进行认证;步骤S2:验证报文是否进行加密。本发明具备强大的自主工控漏洞库,可检测配电自动化***设备及软件大量未公开“0 day”漏洞。同时,通过配置相应扫描策略,可实现“无损检测漏洞”特点;可对常用的配电101/104协议是否采取认证及加密措施进行检查,从而保证***的稳定性运行。
Description
【技术领域】
本发明属于配电自动化技术领域,尤其涉及一种脆弱性检测方法。
【背景技术】
配电自动化***脆弱性主要包括***漏洞、101/104协议安全风险等。早起已建成的配电自动化***中配电终端接入主站缺乏身份认证机制,且遥信、遥测等交互数据多为明文传输,容易造成数据泄露、篡改。如果配电自动化***中设备存在应用程序漏洞、操作***漏洞、WEB应用漏洞、数据库漏洞等,不法者更是能利用这些漏洞攻击配电自动化***,影响***稳定运行。早期已建成的配电自动化***安全防护体系制定主要参照公司《关于加强配电网自动化***安全防护工作的通知》(国家电网调[2011]168号)的要求,其中包括配电网自动化***应该支持基于非对称密钥技术的单向认证功能,主站下发的遥控命令应带有基于调度证书的数字签名,子站侧或终端侧应能够鉴别主站的数字签名,实现对主站***的控制命令和参数设置指令安全鉴别和数据完整性验证。但终端上线运行时主站对其缺乏认证机制,导致主站对终端真伪缺乏鉴别能力。且主站与终端间的遥测、遥信数据交互为明文传输,容易造成数据泄露、篡改。因此,亟需一种新的脆弱性检测方法,本发明具备强大的自主工控漏洞库,可检测配电自动化***设备及软件大量未公开“0day”漏洞。同时,通过配置相应扫描策略,可实现“无损检测漏洞”特点;可对常用的配电101/104协议是否采取认证及加密措施进行检查,从而保证***的稳定性运行。
【发明内容】
为了解决现有技术中的上述问题,本发明提出了一种脆弱性检测方法,该方法包括:
步骤S1:验证报文是否进行认证;
步骤S2:验证报文是否进行加密。
进一步的,所述步骤S1,具体为:通过主动向已确定运行协议的终端发送报文进行验证。
进一步的,所述通过主动向已确定运行协议的终端发送报文进行验证,具体为:
步骤S11:确定待验证的所述已确定运行协议的终端是否为运行特定协议的终端;如果是,则进入下一步,否则,进入步骤S1X;
步骤S12:确定是否能够和终端之间建立链接;如果是,则进入下一步,否则;进入步骤S16;
步骤S13:发送协议链路请求测试报文,如果终端返回链路测试成功报文,则进入步骤S14,否则,进入步骤S17;
步骤S14:发送协议总召测试报文,如果终端返回总召测试成功报文,则进入步骤S15,否则进入步骤S18;
步骤S15:确定协议未进行认证;
步骤S16:连接出现异常,无法测试协议认证状态;进入步骤S1X;
步骤S17:确定链路请求测试失败,进入步骤S14;
步骤S18:确定总召测试失败,进入步骤S19;
步骤S19:确定协议已进行认证;
步骤S1X:结束。
进一步的,所述步骤S2具体为:通过主动抓取运行协议的终端的端口数据包进行分析,以确定报文是否加密。
进一步的,所述通过主动抓取运行协议的终端的端口数据包进行分析,以确定报文是否加密,具体为:
步骤S21:确定终端是否为运行特定协议的终端;如果是,则进入下一步,否则进入步骤S2X;
步骤S22:实时抓取端口数据包;
步骤S23:确定数据包中是否包含特定类型的数据;
步骤S24:确定协议未进行加密,进入步骤S2X;
步骤S25:确定协议已进行加密;
步骤S2X:结束。
进一步的,通过tshark抓取2404端口数据包。
进一步的,所述特定类型为60870-5-105-Asdu数据。
进一步的,所述协议为104协议。
本发明的有益效果包括:具备强大的自主工控漏洞库,可检测配电自动化***设备及软件大量未公开“0day”漏洞。同时,通过配置相应扫描策略,可实现“无损检测漏洞”特点;可对常用的配电101/104协议是否采取认证及加密措施进行检查,从而保证***的稳定性运行。
【附图说明】
此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
图1是本发明的脆弱性检测***的结构示意图。
图2是本发明的脚本执行模块结构示意图。
图3是本发明的漏洞扫描策略示意图。
图4是本发明的协议认证测试方法示意图。
图5是本发明的协议加密测试方法示意图。
图6是本发明的漏洞检测结果示意图。
【具体实施方式】
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
如图1所示,对本发明所应用的一种脆弱性检测***进行详细说明;所述脆弱性检测***包括漏洞扫描***和配置管理模块;
漏洞扫描***和配置管理模块之间通信连接,以进行任务下发工作和结果返回;
所述漏洞扫描***包括任务分析器、脚本引擎、漏洞扫描测试脚本库;其中:任务分析器用于对配置管理模块下发的任务进行分析,脚本引擎用于加载完成所下发任务需要执行的测试脚本,对所述测试脚本进行语法分析和执行,并将测试脚本的执行结果返回给配置管理模块;
所述任务分析器用于对配置管理模块下发的任务进行分析;具体的:任务采用指令的方式下发,指令中包含任务名称和任务详情、任务数据地址等;当接收到任务数据时,解析任务详情,基于解析结果获取任务数据和创建新的测试进程进行任务处理;
配置管理模块用于下发测试任务以及接收漏洞扫描***返回的测试结果;所述测试任务中包含测试所需要的脚本名称及其参数信息;还包含任务名称和任务详情、任务数据地址;当接收到任务数据时,解析任务详情;还用于为所需要的没给测试脚本配置调度策略;所述调度策略可以是一个初始的默认调度策略;
所述基于解析结果获取任务数据和创建新的测试进程进行任务处理,具体为:解析任务详情以获取任务类型,当任务类型中脚本执行类型时,获取任务数据地址,并基于所述任务数据地址获取脚本名称及参数信息,基于所述脚本名称和参数信息创建新的测试进程,将所述脚本名称和参数信息拷贝新的测试进程的进程存储空间中;这样就能够通过进程体本身进行数据的传递,任务分析器和脚本引擎之间没有共享存储空间,避免了数据污染的可能性;
所述任务详情包含任务类型,任务可分为多种类型,主要类型如下:
CREQ_ATTACHED_FILE:收到的内容为文件类型,将对收到的文件进行存储;
CREQ_LONG_ATTACK:收到脚本执行命令,将调用指定的脚本(策略配置选取)对配置目标进行发包检测;
CREQ_PAUSE_WHOLE_TEST:向所有的测试进程发送SIGUSR1信号,以暂停所有的测试;
CREQ_PLUGIN_INFO:获取指定OID值的测试脚本信息;
CREQ_PREFERENCES:获取扫描引擎参数信息;
CREQ_RESUME_WHOLE_TEST:向所有的测试进程发送SIGUSR2信号,以恢复被暂停的测试;
CREQ_STOP_ATTACK:向指定主机的测试进程发送SIGTERM信号,以结束扫描进程;
CREQ_STOP_WHOLE_TEST:向所有主机的测试进程发送SIGTERM信号,结束所有的扫描进程;
CREQ_NVT_INFO:获得NVT脚本库信息;
CREQ_UNKNOWN:默认类型,收到的任务不合规或无法解析,不对此任务请求进行处理;
脚本引擎包括脚本调度模块和脚本执行模块、知识库;其中,脚本调度模块对需要执行的测试脚本进行选取,脚本执行模块用于执行所选取的测试脚本;
所述脚本调度模块用于读取测试脚本和完成脚本调用的初始化与序列化;所述脚本调度模块包括脚本加载模块和脚本组织模块;
所述加载模块用于根据需要执行的脚本名称及参数信息,加载相应的测试脚本,并对其进行初始化;具体的:加载所有的测试脚本,并存储为包含脚本引擎在启动、运行和结束过程中所有信息的全局变量链表;优选的:所述全局变量链表保存在测试进程的进程空间中;当控制权从任务分析器移交给脚本引擎的过程中,通过进程进行数据交换和保存;
所述组织模块用于根据脚本的调度策略以及知识库中已存储的相关调度信息,确定脚本的执行顺序,并基于所述执行顺序进行测试脚本的解释和执行;具体的;组织模块用于根据脚本的调度策略获取确定初步执行顺序;通过知识库中已存储的相关调度信息对所述初步执行顺序进行调整以获取脚本的执行顺序;基于所述执行顺序进行测试脚本的解释和执行;
优选的:每个测试脚本有其对应的调度策略,所述调度策略为配置管理模块设置;所述调度策略中包含脚本的运行状态、策略编码、优先级、超时时间、tcp端口、udp短偶,所需要的全局变量链表中节点标识、强制需要的全局变量链表中节点标识等;
所述组织模块用于根据脚本的调度策略获取确定初步执行顺序,具体为:组织模块获取所有的测试脚本,并基于所述测试脚本的调度策略获取调度策略的策略类型,并基于所述调度策略的类型获取其对应的优先级;基于所述优先级以及策略编码确定初步执行顺序;下表为策略类型及其优先级的对照表;
表1:策略类型及其优先级对照表
所述基于所述优先级以及策略编码确定初步执行顺序,具体为:将脚本策略按照优先级大小进行排序,优先级越大执行顺序越靠前,反之亦然;如果两个测试脚本的优先级大小相同,则按照策略编码进行排序,当策略编码的值越小,则执行顺序越靠前;
所述通过知识库中已存储的相关调度信息对所述初步执行顺序进行调整以获取脚本的执行顺序,具体为:基于测试脚本之间的依赖关系进行初步执行顺序的调整以得到执行顺序;
所述基于测试脚本之间的依赖关系进行初步执行顺序的调整以得到执行顺序;具体为:初步执行顺序中的两个测试脚本的执行顺序违反所述两个测试脚本之间的先后顺序要求时,将所述两个测试脚本的顺序进行调整以满足所述先后顺序要求;将满足先后顺序要求的执行顺序作为执行顺序;
所述基于所述执行顺序进行测试脚本的解释和执行,具体为:基于执行环境预断待执行测试脚本运行需求是否能够被脚本引擎的执行环境满足,如果能够满足,则继续执行所述测试脚本;否则,将所述执行脚本在执行顺序上进行推后处理;该对脚本调度的进行的优化,最为直接有效的方法是确认脚本引擎处于何种情况,而无需启动该脚本。例如,脚本需要建立到远程主机123/TCP端口的连接,如果知道这个端口已经被关闭,就没有必要再运行此脚本。对知识库中相关信息进行操作,确定脚本的调度策略;
所述将所述执行脚本在执行顺序上进行推后处理,具体为:将所述执行脚本放在不同于所述执行顺序队列的等待队列中,并定期的对执行环境进行检查,在执行环境能够满足所述测试脚本运行需求时,唤醒所述测试脚本,并将所述测试脚本放在执行顺序中的首位;
优选的:通过查询知识库和测试脚本对应的调度策略以获取测试脚本的运行需求;通过查询全局变量链表以获取执行环境信息;
优选的:脚本引擎从进程空间中获取测试任务需要完成的测试脚本及其参数信息;
***将加载所有的脚本,并存储为arglist结构,其为一个全局变量链表,包含引擎在启动、运行和结束过程中的所有信息,包含启动配置、脚本解释执行以及返回信息等,其节点的数据结构中包含节点名称、节点类型(代表所保存的信息的类型)、节点值(代表所保保存信息的内容)、节点长度、节下一节点地址、节点编号(根据哈希算法计算)等信息;脚本引擎所需要的每一种信息,比如脚本信息、目标主机信息等都包含在与其对应的一个链表中,这些链表都连接在全局变量链表上,脚本引擎启动时会初始化一个空的全局变量链表,在运行期间填写该全局变量链表;脚本引擎在运行过程中从所述全局变量链表中搜索所需要的信息;全局变量链表随着脚本引擎的运行,每个节点上的信息是实时修改的;
所述脚本引擎在运行过程中从所述全局变量链表中搜索所需要的信息,具体为:脚本引擎中保存全局变量链表摘要表;脚本引擎通过所述摘要表对全局变量链表进行搜索;所述全局变量链表摘要表中保存了节点摘要值及其类型、位置的对应关系;所述摘要值为节点的关键性信息,所述关键性信息为常见的搜索内容、键值等;脚本引擎在对全局变量链表的修改后需要实时的修改所述摘要表;
所述知识库,用于进行测试脚本的保存以及进行测试脚本信息的间交互;在脚本引擎的工作中,将脚本执行收集到的信息保存在知识库中,可有效避免重复扫描,减少不必要的资源浪费,提高工作效率;
脚本引擎维护的脚本知识库,记录了一些脚本运行后所得到的有用信息,如操作***的类型、打开的端口、提供的服务、登陆的账户等;利用知识库可以进行脚本间的信息交互,为一些脚本的运行提供基础,同时,也简化了脚本代码的编写;例如;无需在测试脚本中写明运行中需要依赖的***环境、端口状态等信息;在测试脚本在实际执行过程中,对于所依赖的***环境、端口状态等信息,通过查询知识库来做出合理的操作;例如:基于脚本的类型进行脚本相关信息的查询;脚本引擎在维护的过程中,基于脚本中的共性进行知识库的自动填充;在脚本引擎的对脚本执行完毕后,基于执行过程中的执行信息,进行知识库的填充;
如图2所示:脚本执行模块用于解释执行具体的测试脚本;脚本执行模块包含脚本解释器,脚本解释器将按照测试脚本中语句的动态顺序,逐句地进行分析解释,通过词法分析、语法分析、语义分析,结合符号表及出错处理机制,将脚本转换成内部函数及变量并执行;
优选的:在完成脚本的加载及组织后,脚本引擎将调用脚本执行模块来执行具体的测试脚本;
优选的:词法分析主要用于将NASL脚本分成类型与值的二元组,分隔出单个的单词,并填入符号表中;语法分析则是对词法分析阶段形成的字链表进行分析,识别出完整的语句,并进行语法完整性验证;在执行脚本的过程中,识别所定义的各种变量,并将变量填入符号表中;语义分析用于语法分析阶段,对形成的语法树中的每一个语句进行解析,并执行相应的语义动作;
漏洞扫描测试脚本库中保存漏洞扫描测试脚本;漏洞扫描测试脚本使用nasl语言进行编写,测试脚本包括漏洞及脚本描述部分和漏洞测试流程部分;
所述漏洞及脚本描述部分对测试脚本本身以及漏洞本身进描述,包括漏洞名称,漏洞描述,漏洞id号,漏洞cve编号,漏洞bid编号,漏洞cnvd编号,漏洞cnnvd编号,漏洞影响版本,漏洞解决方案,漏洞威胁等级,漏洞所属家族,漏洞相关链接地址,漏洞所需kb值,漏洞强制所需kb值,漏洞排除kb值,漏洞脚本扫描参数等;
所述漏洞测试流程部分为进行漏洞验证的逻辑流程,即发送数据包的方式方法,包括字符串解析、socket相关函数、文件操作相关函数等;
漏洞扫描测试可根据待测设备运行状况及扫描时间安排等,选择相应扫描策略进行漏洞检测;附图3中示出了几种漏洞扫描策略;
就具体的测试脚本的测试策略而言,早期已建成的配电自动化***安全防护体系支持基于非对称密钥技术的单向认证功能,主站下发的遥控命令应带有基于调度证书的数字签名,子站侧或终端侧应能够鉴别主站的数字签名,实现对主站***的控制命令和参数设置指令安全鉴别和数据完整性验证。但终端上线运行时主站对其缺乏认证机制,导致主站对终端真伪缺乏鉴别能力。且主站与终端间的遥测、遥信数据交互为明文传输,容易造成数据泄露、篡改。针对这种情况,利用检测***主动发包与被动截取数据包分析的方式,对配电协议安全认证及加密功能进行检测。目前配电主站与终端普遍采用101/104协议进行通信,因此,通过分析配电101/104协议规约,构造协议建连及通信数据包,主动发送至被测试目标***,通过目标***响应情况来测试其是否进行了有效的认证处理。若使用未认证数据包能顺利与目标***建立连接并通信,则表明目标***未采用认证机制。另外,通过截取101/104协议通信数据包,对其进行深度包解析,通过tshark来过滤指定目标设备IP和指定端口(2404)的数据包,然后通过tshark内置的60870-5-104-Asdu组件来分析数据包是否符合101/104规约协议,如果符合再提取数据包中的Typeid信息及功能码信息,若提取信息符合101/104标准协议规定,则认为协议未加密。
下面,以104协议为基础,详细分析其协议安全测试方法;例如:104协议安全测试是对运行104协议的配电网***进行协议安全性检查,包括验证104报文是否进行认证、104报文是否进行加密两部分;
本发明的所述脆弱性检测方法,包括如下步骤:
步骤S1:验证报文是否进行认证;具体为:通过主动向已确定运行协议的终端发送报文进行验证(如附图4所示);
步骤S11:确定待验证的所述已确定运行协议的终端是否为运行特定协议的终端;如果是,则进入下一步,否则,进入步骤S1X;
步骤S12:确定是否能够和终端之间建立链接;如果是,则进入下一步,否则;进入步骤S16;
步骤S13:发送协议链路请求测试报文,如果终端返回链路测试成功报文,则进入步骤S14,否则,进入步骤S17;
步骤S14:发送协议总召测试报文,如果终端返回总召测试成功报文,则进入步骤S15,否则进入步骤S18;
步骤S15:确定协议未进行认证;
步骤S16:连接出现异常,无法测试协议认证状态;进入步骤S1X;
步骤S17:确定链路请求测试失败,进入步骤S14;
步骤S18:确定总召测试失败,进入步骤S19;
步骤S19:确定协议已进行认证;
步骤S1X:结束;
步骤S2:验证报文是否进行加密;具体为:通过主动抓取运行协议的终端的端口数据包进行分析,以确定报文是否加密(如附图5所示);
步骤S21:确定终端是否为运行特定协议的终端;如果是,则进入下一步,否则进入步骤S2X;
步骤S22:实时抓取端口数据包;
优选的:通过tshark抓取2404端口数据包;
步骤S23:确定数据包中是否包含特定类型的数据;
优选的:所述特定类型为60870-5-105-Asdu数据;
步骤S24:确定协议未进行加密,进入步骤S2X;
步骤S25:确定协议已进行加密;
步骤S2X:结束;
如附图6所示,本发明的脆弱性检测方法能够快速的发现漏洞,附图6中示出了本发明的漏洞检测结果;
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和终端,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在不发生矛盾的情况下,上述几个实施例中的技术方案可以相互组合和替换。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。***权利要求中陈述的多个模块或装置也可以由一个模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (8)
1.一种脆弱性检测方法,对脆弱性检测方法用的***包括漏洞扫描***和配置管理模块;
漏洞扫描***和配置管理模块之间通信连接,以进行任务下发工作和结果返回;
所述漏洞扫描***包括任务分析器、脚本引擎、漏洞扫描测试脚本库;其中:任务分析器用于对配置管理模块下发的任务进行分析,脚本引擎用于加载完成所下发任务需要执行的测试脚本,对所述测试脚本进行语法分析和执行,并将测试脚本的执行结果返回给配置管理模块;
所述脚本引擎包括脚本调度模块和脚本执行模块、知识库;其中,脚本调度模块对需要执行的测试脚本进行选取,脚本执行模块用于执行所选取的测试脚本;
所述脚本调度模块用于读取测试脚本和完成脚本调用的初始化与序列化;所述脚本调度模块包括脚本加载模块和脚本组织模块;
所述加载模块用于根据需要执行的脚本名称及参数信息,加载相应的测试脚本,并对其进行初始化;具体的:加载所有的测试脚本,并存储为包含脚本引擎在启动、运行和结束过程中所有信息的全局变量链表;所述全局变量链表保存在测试进程的进程空间中;当控制权从任务分析器移交给脚本引擎的过程中,通过进程进行数据交换和保存;
所述任务分析器用于对配置管理模块下发的任务进行分析;具体的:任务采用指令的方式下发,指令中包含任务名称和任务详情、任务数据地址等;当接收到任务数据时,解析任务详情,基于解析结果获取任务数据和创建新的测试进程进行任务处理;
配置管理模块用于下发测试任务以及接收漏洞扫描***返回的测试结果;所述测试任务中包含测试所需要的脚本名称及其参数信息;还包含任务名称和任务详情、任务数据地址;还用于为所需要的每个测试脚本配置调度策略;所述调度策略是一个初始的默认调度策略;
所述基于解析结果获取任务数据和创建新的测试进程进行任务处理,具体为:解析任务详情以获取任务类型,当任务类型中脚本执行类型时,获取任务数据地址,并基于所述任务数据地址获取脚本名称及参数信息,基于所述脚本名称和参数信息创建新的测试进程,将所述脚本名称和参数信息拷贝新的测试进程的进程存储空间中;这样就能够通过进程体本身进行数据的传递,任务分析器和脚本引擎之间没有共享存储空间,避免了数据污染的可能性;
其特征在于,所述方法包括:
步骤S1:验证报文是否进行认证;
步骤S2:验证报文是否进行加密。
2.根据权利要求1所述的脆弱性检测方法,其特征在于,所述步骤S1,具体为:通过主动向已确定运行协议的终端发送报文进行验证。
3.根据权利要求2所述的脆弱性检测方法,其特征在于,所述通过主动向已确定运行协议的终端发送报文进行验证,具体为:
步骤S11:确定待验证的所述已确定运行协议的终端是否为运行特定协议的终端;如果是,则进入下一步,否则,进入步骤S1X;
步骤S12: 确定是否能够和终端之间建立链接;如果是,则进入下一步,否则;进入步骤S16;
步骤S13:发送协议链路请求测试报文,如果终端返回链路测试成功报文,则进入步骤S14,否则,进入步骤S17;
步骤S14:发送协议总召测试报文,如果终端返回总召测试成功报文,则进入步骤S15,否则进入步骤S18;
步骤S15:确定协议未进行认证;
步骤S16:连接出现异常,无法测试协议认证状态;进入步骤S1X;
步骤S17:确定链路请求测试失败,进入步骤S14;
步骤S18:确定总召测试失败,进入步骤S19;
步骤S19:确定协议已进行认证;
步骤S1X:结束。
4.根据权利要求3所述的脆弱性检测方法,其特征在于,所述步骤S2具体为:通过主动抓取运行协议的终端的端口数据包进行分析,以确定报文是否加密。
5.根据权利要求4所述的脆弱性检测方法,其特征在于,所述通过主动抓取运行协议的终端的端口数据包进行分析,以确定报文是否加密,具体为:
步骤S21:确定终端是否为运行特定协议的终端;如果是,则进入下一步,否则进入步骤S2X;
步骤S22:实时抓取端口数据包;
步骤S23:确定数据包中是否包含特定类型的数据;
步骤S24:确定协议未进行加密,进入步骤S2X;
步骤S25:确定协议已进行加密;
步骤S2X:结束。
6.根据权利要求5所述的脆弱性检测方法,其特征在于,通过tshark抓取2404端口数据包。
7.根据权利要求6所述的脆弱性检测方法,其特征在于,所述特定类型为60870-5-105-Asdu数据。
8.根据权利要求7所述的脆弱性检测方法,其特征在于,所述协议为104协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811622270.0A CN111385249B (zh) | 2018-12-28 | 2018-12-28 | 一种脆弱性检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811622270.0A CN111385249B (zh) | 2018-12-28 | 2018-12-28 | 一种脆弱性检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111385249A CN111385249A (zh) | 2020-07-07 |
CN111385249B true CN111385249B (zh) | 2023-07-18 |
Family
ID=71217993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811622270.0A Active CN111385249B (zh) | 2018-12-28 | 2018-12-28 | 一种脆弱性检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111385249B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7450514B2 (en) * | 2003-09-03 | 2008-11-11 | University-Industry Cooperation Group Of Kyunghee University | Method and device for delivering multimedia data using IETF QoS protocols |
CN102082659A (zh) * | 2009-12-01 | 2011-06-01 | 厦门市美亚柏科信息股份有限公司 | 一种面向网络安全评估的漏洞扫描***及其处理方法 |
CN103106368A (zh) * | 2013-02-26 | 2013-05-15 | 南京理工大学常熟研究院有限公司 | 一种面向等级保护的漏洞扫描方法 |
CN104200166A (zh) * | 2014-08-05 | 2014-12-10 | 杭州安恒信息技术有限公司 | 基于脚本的网站漏洞扫描方法和*** |
CN104363236A (zh) * | 2014-11-21 | 2015-02-18 | 西安邮电大学 | 一种自动化漏洞验证的方法 |
CN104583949A (zh) * | 2012-08-16 | 2015-04-29 | 高通股份有限公司 | Web浏览器中的脚本的预处理 |
CN106227668A (zh) * | 2016-07-29 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置 |
CN107094158A (zh) * | 2017-06-27 | 2017-08-25 | 四维创智(北京)科技发展有限公司 | 一种自动化内网安全脆弱分析*** |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377571A (zh) * | 2011-11-15 | 2012-03-14 | 航天科工深圳(集团)有限公司 | 一种实现iec104报文传输的方法和*** |
WO2014058971A1 (en) * | 2012-10-09 | 2014-04-17 | Huawei Technologies Co., Ltd. | Authenticated encryption support in iso/iec 23009-4 |
CN103888444B (zh) * | 2014-02-24 | 2018-07-10 | 国家电网公司 | 一种配电安全认证装置及其方法 |
CN104168288A (zh) * | 2014-08-27 | 2014-11-26 | 中国科学院软件研究所 | 一种基于协议逆向解析的自动化漏洞挖掘***及方法 |
CN105721255A (zh) * | 2016-04-14 | 2016-06-29 | 北京工业大学 | 基于模糊测试的工控协议漏洞挖掘*** |
CN106302535A (zh) * | 2016-09-30 | 2017-01-04 | 中国南方电网有限责任公司电网技术研究中心 | 电力***的攻击仿真方法、装置及攻击仿真设备 |
CN107070893A (zh) * | 2016-12-09 | 2017-08-18 | 中国电子科技网络信息安全有限公司 | 一种配电网终端iec101协议报文认证判别方法 |
CN106911514A (zh) * | 2017-03-15 | 2017-06-30 | 江苏省电力试验研究院有限公司 | 基于iec60870‑5‑104协议的scada网络入侵检测方法及*** |
-
2018
- 2018-12-28 CN CN201811622270.0A patent/CN111385249B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7450514B2 (en) * | 2003-09-03 | 2008-11-11 | University-Industry Cooperation Group Of Kyunghee University | Method and device for delivering multimedia data using IETF QoS protocols |
CN102082659A (zh) * | 2009-12-01 | 2011-06-01 | 厦门市美亚柏科信息股份有限公司 | 一种面向网络安全评估的漏洞扫描***及其处理方法 |
CN104583949A (zh) * | 2012-08-16 | 2015-04-29 | 高通股份有限公司 | Web浏览器中的脚本的预处理 |
CN103106368A (zh) * | 2013-02-26 | 2013-05-15 | 南京理工大学常熟研究院有限公司 | 一种面向等级保护的漏洞扫描方法 |
CN104200166A (zh) * | 2014-08-05 | 2014-12-10 | 杭州安恒信息技术有限公司 | 基于脚本的网站漏洞扫描方法和*** |
CN104363236A (zh) * | 2014-11-21 | 2015-02-18 | 西安邮电大学 | 一种自动化漏洞验证的方法 |
CN106227668A (zh) * | 2016-07-29 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置 |
CN107094158A (zh) * | 2017-06-27 | 2017-08-25 | 四维创智(北京)科技发展有限公司 | 一种自动化内网安全脆弱分析*** |
Non-Patent Citations (1)
Title |
---|
CPU仿真器MCS中存贮结构仿真的实现;李锋,王雷,刘又诚,周伯生;北京航空航天大学学报(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111385249A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325351B (zh) | 一种基于众测平台的安全漏洞自动化验证*** | |
CN110310205B (zh) | 一种区块链数据监控方法、装置、设备和介质 | |
CN106203113B (zh) | 安卓应用文件的隐私泄露监控方法 | |
CN109800160B (zh) | 机器学习***中的集群服务器故障测试方法和相关装置 | |
Chen et al. | Penetration testing in the iot age | |
CN111092910B (zh) | 数据库安全访问方法、装置、设备、***及可读存储介质 | |
CN113179271A (zh) | 一种内网安全策略检测方法及装置 | |
CN114679292B (zh) | 基于网络空间测绘的蜜罐识别方法、装置、设备及介质 | |
CN110276198A (zh) | 一种基于概率预测的嵌入式可变粒度控制流验证方法及*** | |
CN110022311A (zh) | 一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法 | |
CN106656927A (zh) | 将Linux账号加入AD域的方法及装置 | |
CN114500099A (zh) | 一种针对云服务的大数据攻击处理方法及服务器 | |
CN110086827A (zh) | 一种sql注入校验方法、服务器以及*** | |
Araujo Rodriguez et al. | Program-aware fuzzing for MQTT applications | |
CN115701019A (zh) | 零信任网络的访问请求处理方法、装置及电子设备 | |
CN114189383A (zh) | 封禁方法、装置、电子设备、介质和计算机程序产品 | |
CN109818972A (zh) | 一种工业控制***信息安全管理方法、装置及电子设备 | |
CN111385253B (zh) | 一种面向配电自动化***网络安全的脆弱性检测*** | |
CN112235124B (zh) | 一种皮基站配置方法、装置、存储介质和电子装置 | |
CN113591096A (zh) | 综合检测大数据漏洞和不安全配置的脆弱性扫描*** | |
CN111385249B (zh) | 一种脆弱性检测方法 | |
Li et al. | A dynamic taint tracking optimized fuzz testing method based on multi-modal sensor data fusion | |
Wang et al. | A model-based behavioral fuzzing approach for network service | |
US20230185922A1 (en) | Static-dynamic integration | |
Cheng et al. | PDFuzzerGen: Policy‐Driven Black‐Box Fuzzer Generation for Smart Devices |
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 |